下列标识符被保留作为关键字,且不能用于其他用途:
关键字 | 关键字 | 关键字 | 关键字 |
---|---|---|---|
auto | double | int | struct |
break | else | long | switch |
case | enum | register | typedef |
char | extern | return | union |
const | float | short | unsigned |
continue | for | signed | void |
default | goto | sizeof | volatile |
do | if | static | while |
某些实现还把 fortran 和 asm 保留为关键字。
运算符 | 结合性 |
---|---|
() [] -> . |
从左至右 |
! ~ ++ -- + - * (type) sizeof |
从右至左 |
* / % |
从左至右 |
+ - |
从左至右 |
<< >> |
从左至右 |
< <= > >= |
从左至右 |
== != |
从左至右 |
& |
从左至右 |
^ |
从左至右 |
| |
从左至右 |
&& |
从左至右 |
|| |
从左至右 |
?: |
从右至左 |
= += -= /= ^= &= ^= |= <<= >>= |
从右至左 |
, |
从右至左 |
ANSI C语言的全部转义字符序列如下所示:
转义字符 | 含义 |
---|---|
\a |
响铃符 |
\b |
回退符 |
\f |
换页符 |
\n |
换行符 |
\r |
回车符 |
\t |
横向制表符 |
\v |
纵向制表符 |
\\ |
反斜杠 |
\? |
问号 |
\' |
单引号 |
\" |
双引号 |
\ooo |
八进制数 |
\xhh |
十六进制数 |
格式化字符串由两种类型的对象组成:普通字符(它们被拷贝到输出流)与转换规格说明(它们决定变元的转换和输出格式)。每个转换规格说明均以字符 %
开头,以转换字符结束。在 %
与转换字符这二者之间依次可以有以下转换字符:
格式码 | 变元类型:转换效果 |
---|---|
d , i |
int: 有符号十进制表示法 |
o |
int;无符号八进制表示法(无前导 0) |
x , X |
int;无符号十六进制表示法(无前导0X 和0x ),对0x 用abcdef,对0X 用ABCDEF |
u |
int;无符号十进制表示法 |
c |
int;单个字符,转换为 unsigned char 类型后 |
s |
char *;输出字符串直到遇到 \0 或者已达到由精度指定的字符数 |
f |
double;形如[-] mmm.ddd 的十进制浮点数表示法,d的数目由精度确定。缺省精度为6位,精度为0时不输出小数点 |
e , E |
double;形如[-]m.d ddddde±xx 或[-] m .dddd ddE±xx 的十进制表示法。d的数目由精度确定,缺省精度为6位。精度为0时不输出小数点 |
g , G |
double;当指数值小于-4或大于等于精度时,采用 %e 或%E 格式;否则采用 %f 的格式。尾部的0与小数点不打印 |
p |
void *;输出指针值(具体表示与实现有关) |
n |
int *;到目前为止以此格式调用 printf 输出的字符的数目将被写入到相应变元中。 |
% |
不进行变元转换不进行变元转换;输出符号 % |