第二章笔记(chapter 2 note

变量的类型决定了为它分配多少个字节。
=========
变量名可以包含的字符数取决于编译器,遵循c语言标准的编译器,至少支持31个字符,只要不超过这个长度就没问题。
=========
转换说明符总是以%字符开头,以便printf ()函数识别出它们。控制字符串中的%总是表示转换说明符的开头,所以如果要输出%字符,就必须用转义序列%%
=========
在执行除法运算时, 如果操作数不同号, 结果就是负数. So, 表达式-45/7和45/-7结果相同都是-6. 如果操作数同号, 都是正数或都是负数, 结果就是正数. 因此45/7和-45/-7结果都是6. 模数运算, 不管操作数是否同号, 其结果总是和左操作数的符号相同. 因此45%-7=3,-45%7=-3, -45%-7也等于-3
=========
一个字节能存储-128-+127的整数, int和long int 都是4个字节,long long int是8个字节,short int是2个字节
=========
整数变量有不同的类型, 常量也有. Eg,如果将整数写成100, 它的类型就是int. 如果要确保它是long类型, 就必须在这个数值的后面加上一个大写L或小写l. 所以, long类型的整数100应写为100L. 虽然写为100l也是合法的, 但应尽量避免, 因为小写字幕l与数字1很难辨别.. 
将常量指定为无符号类型时, 应添加U, 如下所示: unsigned int count=100U;
=========
以0开头的整数常量, 例如014, 会被编译器看做八进制数. 因此, 014等价于十进制的12,而不是十进制的14. 所以不要在整数中加上前导0.
=========
浮点数通常表示为一个小数值乘以10的次方. Eg:1.6可以表示为:0.16*10^1,在C语言中可以写成0.16*E1
=========

 

=========
下图来自维基百科: 

=========
浮点数0表示为尾数和指数的所有位都是0, 所以实际指数为-127时, 不能用于其他值.
=========
正数除以0, 结果为正无穷, 第一位是0, 指数为全1, 尾数全0, 即0 11111111 000 0000 0000 0000 0000 0000; 负数除以0, 结果为负无穷, 第一位为1, 指数全为1, 尾数全0, 即1 11111111 000 0000 0000 0000 0000 0000.. 该段个人理解
=========
NaN: 0/0的结果, 这个保留值的所有数位是1, 尾数的首位是1或者0, 这取决于NaN只是一个NaN, 允许继续执行, 还是一个发出信号的NaN, 在代码中生成一个可中断执行的异常. 即: 1 11111111 AXX XXXX XXXX XXXX.. 其中A是1或0, X不能全为0.. 参考自维基的个人理解
=========
任何数, 只要有小数点, 就是double类型, 除非加了f, 使它变为float类型, 当用E或者e指定指数值时, 这个常量就不需要包含小数点. 例如1E3f是float类型, 3E8是double类型. 
 
=========
=========
注意小数的精确位数只是一个大约的数, 因为浮点数在内部是以二进制方式存储的, 十进制的浮点数在二进制中并不总是有精确地表示形式.
=========
#define PI 3.1415//C语言通用的约定: #define语句中的标识符都是大写
=========

posted on 2019-02-25 16:37  鸣动我心  阅读(223)  评论(0编辑  收藏  举报