C语言预备知识

1.cpu 内存条 硬盘 显卡 主板 显示器之间的关系

我们运行程序是由操作系统把硬盘中的数据调入内存条中,再由CPU去调用内存中的数据进行运算。

主板:是把上面的模块有效的组织在一起(CPU,内存条,显卡,声卡,网卡等等)

2.Hello World程序是如何运行的

我们通过把源文件编译(compile),链接(build)。生成后缀为.exe的可执行文件,执行是通过操作系统和硬件(CPU,内存条,硬盘)通信来执行,我们通过图来说明

1,我们在vc++6.0中编写好源代码

 

2,点击编译按钮,来执行编译(红色框起来的地方)

3,点击链接按钮,来执行链接操作(绿色框起来的地方)

 

点击链接以后会在新建的目录中生成一个.exe的文件

4,点击执行按钮,来运行.exe文件(黑色框起来的地方)

    

3.什么是数据类型

对数据进行分类,我举个例子平时我们放水的容器,木桶放的水,水壶放的水,杯子放的水,它们之间放的都是水,但能容得下水的体积不一样,木桶放的水就比其他两样容器放得多。同理我们不同的数据要放在不同的数据类型中

c语言有两种数据类型:

1,基本数据类型

   整数

      短整型 --> short  占2个字节

      整型   -->  int  占4个字节

      长整型 -->  long 占8个字节

     1字节(byte)  =  8位(bit)

   浮点数

       单精度浮点数 -->  float   占4个字节

       双精度浮点数 -->  double   占8个字节

   字符

      单个字符 --> char  占1个字节

      字符串 -->  

2,复合数据类型(把基本数据类型拼凑在一块)

    结构体

    枚举

4.什么是变量

1 #include <stdio.h>
2
3  int main(void)
4 {
5 int TuDou;//TuDou和内存中的一个空闲空间产生关联
6  
7 TuDou = 4; //最终是存放在内存中,程序关闭以后4所占的空间被释放掉
8   printf("TuDou = %d;\n",TuDou);
9 }

 变量就是内存中的一段存储空间

5.cpu 内存条 vc++6.0 操作系统之间的关系

    vc软件向操作系统发出请求,操作系统和硬件进行通信,在内存条中给变量分配一块内存空间,变量名和内存空间的地址发生一个关联。

6.变量为什么必须初始化

     所谓初始化就是赋值的意思

1 #include<stdio.h>
2
3  int main(void)
4 {
5 int i;
6
7 printf("i = %d;\n",i);
8
9 return 0;
10 }

编译时会出现警告:local variable 'i' used without having been initialized(局部变量 'i' 使用没初始化 )

如图

    软件运行与内存关系(垃圾数据)

         内存是在操作系统的统一管理下使用的

         1,软件在运行前需要向操作系统申请内存空间,在内存空闲空间足够时,操作系统将分配一段内存空间并将硬盘中的数据调入内存空间中,并启动软件运行。

         2,在软件运行期间,该软件所占内存空间不再分配给其他软件。

         3,当软件运行完毕后,操作系统将回收该内存空间(注意:操作系统并不清空该内存空间中遗留下来的数据)所以在分配内存空间时,变量要初始化。

          综上所述,一个软件所分配到的空间极有可能存在着以前其他软件使用过后的残留数据,这些数据被称为垃圾数据。所以通常情况下我们为一个变量,为一个数组分配存储空间之后都要对该内存空间初始化。

7.如何定义变量

     数据类型 变量名 = 要赋的值;

     %d表示以十进制输出

     %x或%X表示以十六进制输出

     %f表示浮点数输出

8.什么是二进制

     十进制:逢十进一

     二进制:逢二进一

     一周七天:七进制

     一年十二个月:十二进制

     一小时六十分钟:六十进制

     电脑只能用0,1表示数据:二进制

     C语言规定八进制前加0,十六进制前加0x,十进制前什么都不加

     在汇编中;数字后加字母B表示二进制数,加字母O表示八进制,加字母D表示十进制数,加字母H表示六进制数。

     例如:1011B为二进制数

            1357O为八进制数

            2049D为十进制数

            3FB9H为十六进制数

      什么叫n进制

      十进制:十个基数,逢十进一,基数:0,1,2,3,4,5,6,7,8,9

      二进制:二个基数,逢二进一,基数:0,1

      八进制:八个基数,逢八进一,基数:0,1,2,3,4,5,6,7

      十六进制:十六个基数,逢十六进一,基数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

      进制表示的都是一个数,只是表示方法不一样,例如:5用二进制表示101  十六进制表示5

      因为在冯诺依曼体系中的计算机不能直接使用十进制表示,那么就把5转换为二进制(0,1)来表示

9.常量在C语言中如何表示

     常量就是不变的量

     整数

          十进制:传统写法

          十六进制:前面加0x

     浮点数

           传统的写法

                   float x =6.6F;

           科学计数法

                   float x =6.6e3;

     字符

         单个字符用单引号括起来

         字符串用双引号括起来

10.常量以什么样的二进制的代码存储在计算机

         整数是以补码的形式转换为二进制代码存储在计算机中的

         浮点数是以IEEE754标准转化为二进制代码存储在计算机中

         字符也是以补码的方式转换为二进制代码存储在计算机中

         ASCII是A用哪个整数表示,B用哪个整数表示  例如A用整数表示是65

         

12,什么是字节

     字节就是存储数据的单位,并且是硬件所能访问的最小单位

     

   1字节=8位

   1k = 1024byte

   1m = 1024k

   1g = 1024m

   例如:1.5G的硬盘它可以存多少位 1.5x1024x1024x1024x8

13,不同类型数据之间的相互转换问题

14,什么是 ASCII码

ASCII码不是一个值,而是一种规定。

ASCII规定了不同的字符使用对应的整数值去表示

例如:A = 65  B = 66  a = 97  b = 98  0 = 48

posted @ 2011-03-23 22:37  mxcode  阅读(157)  评论(0)    收藏  举报