【学习笔记】C语言:做题注意事项(仅做题)

由于太久不学C语言了,一些东西都忘完了,写一些做题时遇到的注意事项

1、

8进制定义为 int x = 010;即前面加个0 ;

16进制为int x = 0x10;

没有二进制的定义规范;

2、for(;;)在无约束条件时,默认为ture

3、转义字符有三种形式:

1. 8进制 \加8进制数字
2. 16进制 \x加16进制数字
3. 特殊转义字符 \加有特殊意义的符号

在使用数学转义时,是获取其相对应的ASCII编码

4、对于数组的定义,只要不超过数组的上限,随意写内容 越靠前的维数代表的{}越内 注意可以缺维写内部数据

eg:int y[1][4] = {1,2,3,4}

5、&&与&是有很大区别的(||与|同理),

1.&的优先级要比&&高

2.&&只要第一个前面的为0,则直接跳过后面的计算,&则会把所有都计算完

3.||只要第一个为1,则直接跳过后面的运输,|则会把所有都计算完

6、关于union共用体的注意项

1.共用体并非以前理解的静态对象,而是动态的

2.共用体中的内存是被所有变量共用的,即改变共用体任意一个成员都是在改变所有成员

3.共用体的内存大小应该为 其最大成员所占内存X>8?(x加上可被4整除的内存):8

7、关于变量的存储类型

1.auto类型是指自动存储,会在当前语句块执行结束后自动释放,一般定义在函数与语句块之内的变量都遵循该原则(即默认带auto)但函数外的全局变量加上auto不知道有什么用(也许是以文件为单位来释放内存?)

2.register类型是将变量放入寄存器中来达到快速访问的目的,由于将变量放置在寄存器中,所以register有很多限制,首先不能定义过多的register型变量(因为寄存器有限),然后register必须是寄存器(CPU)所能支持的类型(非自己定义的)然后,register的长度必须在(0-FFFF)之间(不能使用double long),不能被修饰为静态变量,没有地址(因为在寄存器中)

3.extern是函数的隐含存储类别,即不做设置的话,每个函数都是extern的,他的作用是声明函数全局,一般的用处可能是在一些对象中使用?

8、逗号是个运算符,其返回的结果是最后一个表达式 a = (b,c,d,e);结果a=e,其优先级是所有运算符中最低的

9、函数在未加显式声明的时候,有个隐含类型int

猜你喜欢

转载自blog.csdn.net/h2809871142/article/details/79386948