C语言常用的格式控制完整格式
符号 | 说明 |
% | 表示格式说明的起始符号,不可缺少 |
- | 有-表示左对齐输出(如:右补空格),如省略表示右对齐输出(如:左补空格) |
0 | 有0表示指定空位填0,如省略表示指定空位不填,如"%05d" |
m.n | m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度,用于说明输出的实型数的小数位数。不指定n时,精度默认为6位 |
l或h | l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型 |
C语言常用的格式符如下
格式符 | 功能 |
%o | 读取int型数据,以8进制的形式输出 |
%x | 读取int型数据,以16进制的形式输出 |
%d | 读取int型数据,以10进制的形式输出(带符号格式输出,但正数不输出+) |
%md | 输出共占m列。如果数据的位数小于m,则左端补以空格,否则按实际位数输出 |
%-md | 输出共占m列。如果数据的位数小于m,则右端补以空格,否则按实际位数输出 |
%c | 输出一个字符 |
%s | 输出一个或多个字符 |
%ms | 输出共占m列,如字符串本身长度大于m,原样输出;若小于m,则左补空格。 |
%-ms | 输出共占m列,如字符串本身长度大于m,原样输出;若小于m,则右补空格。 |
%m.ns | 输出共占m列,但只取字符串中左端n个字符。m<=n原样输出,m>n左补空格 |
%-m.ns | 输出共占m列,但只取字符串中左端n个字符。m<=n原样输出,m>n右补空格 |
%f %lf | 以小数形式输出单、双精度数,默认输出6位小数 |
%.nf %.nlf | n表示输出小数位数 |
%m.nf %m.nlf | 输出共占m列(包括小数点),其中有n位小数,如果数值宽度(包括小数点)小于m左端补空格,否则原样输出 |
%-m.nf %-m.nlf | 输出共占m列(包括小数点),其中有n位小数,如果数值宽度(包括小数点)小于m右端补空格,否则原样输出 |
%% | 输出一个% |
%p | 打印变量地址,如:printf("%p\n",&a); |
下面是int型数据的一些格式控制符小结
%d 读取int型数据,以10进制形式输出
%o 读取int型数据,以8进制形式输出
%x 读取int型数据,以16进制形式输出
%hd short 读取2个字节
%ld long 32位操作系统读取4个字节,64位操作系统读取8个字节(OSX和IOS都是64位的)
%lld long long 读取8个字节
%u unsigned 读取4个字节
%hu unsigned short 读取2个字节
%lu unsigned long 32位操作系统读取4个字节,64位操作系统读取8个字节(OSX和IOS都是64位的)
%llu unsigned long long 读取8个字节
注意:short、long、long long能只修饰int类型的数据
signed(默认)、unsigned只能修饰int和char类型的数据
C语言常用的转义字符如下
转义字符 | 功能 | ASCII码表(十进制) |
\n | 换行 | 010 |
\0 | 空字符(null) | 000 |
\t | 水平制表(null) | 009 |
\\ | 反斜杠 | 092 |
\? | 问号字符 | 063 |
\' | 单引号字符 | 039 |
\" | 双引号字符 | 034 |
\b | 退格 | 008 |
\f | 换页 | 012 |
\ddd | 任意字符 | 三位八进制 |