跳转至

知识碎屑

静态局部变量 static

生命周期贯穿整个程序执行过程(这点和全局变量一样),但作用域仅局限于定义它的局部范围(如函数内部)。

实数数据的存储

规格化数的形式是为 1.M × 2^e,但 E 有下限,所以还会有非规格化数 0.M × 2^e。

IEEE 754 标准的浮点数:符号位(S) + 指数位(E,= 实际指数 e + 偏移量) + 尾数位(M,不含小数点前的 1)。

科学计数法的小数部分(不含小数点前的 1)。

  • 单精度(32 位):1 位符号位 + 8 位指数位(范围 0~255。偏移量为 127,实际指数范围为 -126 ~ +127) + 23 位尾数位(实际有效数字是 1.M,共 24 位:1 位隐含的 1 + 23 位存储的 M)
  • 双精度(64 位):1 位符号位 + 11 位指数位(范围 0~2047。偏移量为 1023,实际指数范围为 -1022 ~ +1023) + 52 位尾数位(实际有效数字是 1.M,共 53 位:1 位隐含的 1 + 52 位存储的 M)

转义字符

\n\t\\\"\'

\ddd 1~3 位八进制整数所代表的字符(如 \102 表示 ASCII 码是八进制数 102 的字符)

\xhh 1~2 位十六进制整数所代表的字符(如 \x41 表示 ASCII 码是十六进制数 41 的字符)

输入输出

整型:

  • 十进制:int %d,long %ld,unsigned %u,unsigned long %lu

    八进制:%o%lo%o%lo

    十六进制:%x%lx%x%lx

    指定输出宽度为 m(若实际位数 <m,左端补空格;若实际位数 ≥ m,按实际位数):%md

实型:

  • 小数形式:float %f,double %lf

    指数形式:%e%le

    指定输出宽度为 m(左端补空格)、保留 n 位小数:%m.nf

类型转换

非赋值运算的类型转换

短 → 长,有符号 → 无符号

运算符优先级和结合性