数据类型:
unsigned char 1个字节
signed char 1个字节
unsigned int 4个字节
short int 2个字节
int 4个字节
long int 4个字节
long long int 8个字节
double 8个字节
float 4个字节
long double 8个字节
Printf函数:
printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。
格式:
字符 | 对应数据类型 | 含义 |
d / i | int | 接受整数值并将它表示为有符号的十进制整数,i是老式写法 |
o | unsigned int | 无符号8进制整数(不输出前缀0) |
u
| unsigned int | 无符号10进制整数 |
x / X
| unsigned int | 无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x) |
f(lf)
| float(double) | 单精度浮点数用f,双精度浮点数用lf(尤其scanf不能混用) |
e / E
| double | 科学计数法表示的数,此处"e"的大小写代表在输出时用的“e”的大小写 |
g / G
| double | 有效位数,如:%.8g表示单精度浮点数保留8位有效数字。双精度用lg |
c
| char | 字符型。可以把输入的数字按照ASCII码相应转换为对应的字符 |
s / S
| char * / wchar_t * | 字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符) |
p
| void * | 以16进制形式输出指针 |
n | int * | 到此字符之前为止,一共输出的字符个数,不输出文本 |
%
| 无输入 |
不进行转换,输出字符‘%’(百分号)本身
|
m | 无 | 打印errno值对应的出错内容,(例: printf("%m\n"); ) |
flags 规定输出样式,取值和含义如下:
字符
| 字符名称 | 说明 |
- | 减号 | 左对齐,右边填充空格(默认右对齐) |
+
| 加号 | 在数字前增加符号 + 或 - |
0
| 数字零 | 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用“-”) |
空格 | 输出值为正时加上空格,为负时加上负号 | |
#
| 井号 |
type是o、x、X时,增加前缀0、0x、0X
type是e、E、f、g、G时,一定使用小数点
type是g、G时,尾部的0保留
|
这些转义序列在字符串中会被自动转换为相应操作命令表示
符号
|
意义
|
符号
|
意义
|
\a
|
铃声(提醒)
|
\b
|
Backspace
|
\f
|
换页
|
\n
|
换行
|
\r
|
回车
|
\t
|
水平制表符
|
\v
|
垂直制表符
|
\’
|
单引号
|
\”
|
双引号
|
\\
|
反斜杠
|
\?
|
文本问号
|
\ ooo (例如\024)
|
ASCII字符(OCX)
|
\xhh (例如:\x20)
|
ASCII字符(HEX)
|
\xhhhh
|
宽字符(2字节HEX)
|
例子:
%08x表示含义:
%x代表16进制输出的字母符号为小写
08指定数据的最小输出位数为8,若不够8位,则补零,若大于8位,则按照原位数输出;