C语言一周学习内容总结

来源:互联网 发布:重庆大学软件工程学院 编辑:程序博客网 时间:2024/06/05 05:21

1.宏定义只是简单的替换,它 不进行类型检查,只是在预编译的时候将宏名替换为宏体。系统是不会为宏开辟内存空间的。所以不能对宏进行递增递减的算数运算,也不能对红宏进行取地址的操作。例如:#define PI 3.14 .

2.而由const 定义的常变量则是一个完全不同的概念。常变量是一个数值不可改变的变量。它是在程序编译的时候进行处理的,编译系统会为常便变量分配内存空间。例如:const int  max=12 ;

3.枚举的量只能是整形量。枚举和宏定义不能进行自加、自减操作。它们的数学操作受限。它们没有空间可言,只是进行简单的替换。例如:enum {max=12};

4.编译器会为基本数据类型之间进行隐式类型转换,隐式转换只适合基本数据类型。而其他数据类型间则必须进行类型强转。并且只有参与运算的两个数据才进行类型转换。进行隐式数据类型转换时,当表示范围小的数据类型往表示范围大的数据类型转换时,就要进行扩充,有符号的数进行扩充时,扩充的是它的符号位。无符号数进行扩充时,扩充的是0.这种扩充只和它本身的数据类型有关,和它要扩充成的目标无关。当大的数据类型向小的数据类型进行转换时,将发生截断,截取数据的低位数据。

5.编译器的编译过程是按照文本文件中的内容一条一条进行编译的。它不是按照程序的执行顺序进行编译的。

6.宏定义后面一般是不加东西的,宏的参数具有副作用(形参的改变会带动实参的改变)。

7.在所有的,都只有字符串有以‘\0’作为结束标志。

8.在sizeof中 数组名代表整个数组的大小。在sizeof以外,数组名代表数组首元素的地址。

9.strlen计算数组长度是以‘\0’ 作为结束符。

10.#include<stdio.h>是一个静态链接库文件。

11.C语言能够分配的内存大小只能到达字节。

12.在输入法中,半角表示输入的是ASCII字符,占一个字节。全角则表示输入的是两个字节。

13.每一位16进制对应4个bit位,每两位16进制对应一个存储单元(一个字节)。

14.CPU中的标志寄存器psw占32bit,四个字节。

15.格式控制符不具有类型强转的功能。

16.凡是内置类型产生的临时空间都具有常性。

17.取模运算,第一个数的符号位决定了取值的正负。

18.临时变量实在CPU的eax寄存器中存放的。

19.良好的编程习惯:任何比较都不要直接和数字进行比较,要用宏将数字替换掉。

20.int main表示main函数可以给调用它的函数返回一个整形值,且不从调用它的函数那里获得任何信息。