限定符 | 含义 |
---|---|
extern | 声明一个变量,extern声明的变量没有建立存储空间。 extern int a;//变量在定义的时候创建存储空间 |
const | 定义一个常量,常量的值不能修改。 const int a = 10; |
Volatile | 防止编译器优化代码 |
register | 定义寄存器变量,提高效率。register是建议型的指令,而不是命令型的指令,如果CPU有空闲寄存器,那么register就生效,如果没有空闲寄存器,那么register无效。 |
字符串格式化输出和输入
字符串常量
字符串常量与字符常量的不同:
每个字符串的结尾,编译器会自动的添加一个结束标志位'\0',即 "a" 包含两个字符'a'和’\0’。
十进制 | 以正常数字1-9开头,如123 |
---|---|
八进制 | 以数字0开头,如0123 |
十六进制 | 以0x开头,如0x123 |
二进制 | C语言不能直接书写二进制数 |
printf是输出一个字符串,putchar输出一个char。
printf格式字符:
打印格式 | 对应数据类型 | 含义 |
---|---|---|
%d | int | 接受整数值并将它表示为有符号的十进制整数 |
%hd | short int | 短整数 |
%hu | unsigned short | 无符号短整数 |
%o | unsigned int | 无符号8进制整数 |
%u | unsigned int | 无符号10进制整数 |
%x,%X | unsigned int | 无符号16进制整数,x对应的是abcdef,X对应的是 ABCDEF |
%f | float | 单精度浮点数 |
%lf | double | 双精度浮点数 |
%e,%E | double | 科学计数法表示的数,此处"e"的大小写代表在输出 时用的 "e"的大小写 |
%c | char | 字符型。可以把输入的数字按照ASCII码相应转 换’对应的字符 |
%s | char * | 字符串。输出字符串中的字符直至字符串中的空字符 (字符串以'\0‘结尾,这个'\0'即空字符) |
%p | void * | 以16进制形式输出指针 |
%% | % | 输出一个百分号 |
%d 整形 int
%f 浮点型 float
%c 字符型 char
%hd 短整型 short
%ld 长整形 long
%lld 长长整形 long long
//sizeof 计算数据类型在内存中占的字节(BYTE)大小
//sizeof(数据类型) sizeof(变量名) sizeof 变量名
printf附加格式:
字符 | 含义 |
---|---|
l(字母l) | 附加在d,u,x,o前面,表示长整数 |
- | 左对齐 |
m(代表一个整数) | 数据最小宽度 |
0(数字0) | 将输出的前面补上0直到占满指定列宽为止不可以搭配使用- |
m(代表一个整数) | m指域宽,即对应的输出项在输出设备上所占的字符数。n指精度,用于说明输出的实型数的小数位数。 对数值型的来 说,未指定n时,隐含的精度为n=6位。 |