1.1 常用的printf格式代码:
| 格式代码 | 含义 |
|---|
| %d | 以十进制形式打印一个整型值 |
| %o | 以八进制形式打印一个整型值 |
| %x | 以十六进制形式打印一个整型值 |
| %g | 打印一个浮点值 |
| %c | 打印一个字符 |
| %s | 打印一个字符串 |
| n | 换行 |
1.2 整形变量的最小范围:
| 类型 | 最小范围 |
|---|
| char | 0~127 |
| signed char | -127~127 |
| unsigned char | 0~255 |
| short int | -32767~32767 |
| unsigned short int | 0~65535 (16bit) |
| int | -32767~32767 |
| unsigned int | 0~65535 |
| long int | -2147483647~2147483647 |
| unsigned long int | 0~4294967295 (32bit) |
1.3 操作符的优先级:
lexp标识左值表达式;L-R表示从左到右依次求值。
| 操作符 | 描述 | 用法示例 | 结果类型 | 结合性 | 是否控求值顺序 |
|---|
| () | 聚组 | (表达式) | 同表达式 | N/A | N |
| () | 函数调用 | rexp(rexp1,……,rexpn) | rexp | L-R | N |
| [] | 下标引用 | rexp[rexp1] | lexp | L-R | N |
| . | 访问结构成员 | lexp.name | lexp | L-R | N |
| -> | 访问结构指针成员 | rexp->name | lexp | L-R | N |
| ++ | 后缀自增 | lexp++ | rexp | L-R | N |
| – | 后缀自减 | lexp++ | rexp | L-R | N |
| ! | 逻辑反 | !rexp | rexp | R-L | N |
| ~ | 按位取反 | ~rexp | rexp | R-L | N |
| + | 单目,正值 | +rexp | rexp | R-L | N |
| - | 单目,负值 | -rexp | rexp | R-L | N |
| ++ | 前缀自增 | ++lexp | rexp | R-L | N |
| – | 前缀自减 | –lexp | rexp | R-L | N |
| * | 间接访问 | *rexp | rexp | R-L | N |
| & | 取地址 | &lexp | lexp | R-L | N |
| sizeof | 求字节长度 | sizeof( 类型 || rexp ) | rexp | R-L | N |
| (类型) | 强制转换 | (类型) rexp | rexp | R-L | N |
| * | Mul | | rexp | L-R | N |
| / | div | | rexp | L-R | N |
| % | 取余 | | rexp | L-R | N |
| + | add | | rexp | L-R | N |
| - | sub | | rexp | L-R | N |
| << | sl | | rexp | L-R | N |
| >> | sr | | rexp | L-R | N |
| > | g | | rexp | L-R | N |
| >= | geq | | rexp | L-R | N |
| < | l | | rexp | L-R | N |
| <= | leq | | rexp | L-R | N |
| == | eq | | rexp | L-R | N |
| != | neq | | rexp | L-R | N |
| & | 与 | | rexp | L-R | N |
| ^ | 异或 | | rexp | L-R | N |
| | | 或 | | rexp | L-R | N |
| && | 逻辑与 | | rexp | L-R | Y |
| || | 逻辑或 | | rexp | L-R | Y |
| ?: | 条件操作符 | | rexp | N/A | Y |
| = | 赋值 | | rexp | R-L | N |
| += | | | rexp | R-L | N |
| -= | | | rexp | R-L | N |
| *= | | | rexp | R-L | N |
| /= | | | rexp | R-L | N |
| %= | | | rexp | R-L | N |
| <<= | | | rexp | R-L | N |
| >>= | | | rexp | R-L | N |
| &= | | | rexp | R-L | N |
| ^= | | | rexp | R-L | N |
| |= | | | rexp | R-L | N |
| , | 逗号操作符 | | rexp | L-R | Y |
| 算术转化”优先级“ |
|---|
| Long double |
| double |
| float |
| unsigned long int |
| long int |
| unsigned int |
| int |
1.3 字符函数
| 函数 | 满足条件则该函数返回真 |
|---|
| iscntrl | 如果是任何控制字符 |
| isspace | 空白字符:空格’ ’ , 换页’f’ , 换行’n’ , 回车’r’ , 制表符’t’ , 垂直制表符’v’ |
| isdigit | 十进制数字:0~9 |
| isxdigit | 十六进行数字:09,af , A~F |
| islower | 小写字母:a~z |
| isupper | 大写字母:A~Z |
| isalpha | 字母:a~z 或 A~Z |
| isalnum | 字母(isalpha)或十进制数字(isdigit) |
| ispunct | 表达符号,任何不属于数字或者字母的图形符号(可打印的符号) |
| isgraph | 任何图形符号 |
| isprint | 任何可打印符号,包括图形字符和空白字符 |
1.4 预处理器符号
| 符号 | 示例值 | 含义 |
|---|
| __FILE__ | “name.c” | 进行编译的源文件名–调试有用 |
| __LINE__ | 23 | 文件当前行号–调试有用 |
| __DATE__ | “jan 22 2022” | 文件被编译的日期 |
| __TIME__ | “20:31:12” | 文件被编译的时间 |
| __STDC__ | 1 | 编译器遵循 ANSI C 其值就是1 否则未定义 |