类型 | 符合 | 关键字 | 所占位数 | 表示范围 |
整型 | 有 | (signed)int | 32 | -2147483648~2147483647 |
整型 | 有 | (signed)short | 16 | -32768~32767 |
整型 | 有 | (signed)long | 32 | -2147483648~2147483647 |
整型 | 无 | unsigned int | 32 | 0~4294967295 |
整型 | 无 | unsigned short | 16 | 0~65535 |
整型 | 无 | unsigned long | 32 | 0~4294967295 |
实型 | 有 | float | 32 | 3.4e-38~3.4e+38 |
实型 | 有 | double | 64 | 3.4e-308~3.4e+308 |
字符型 | 有 | char | 8 | -128~127 |
字符型 | 无 | unsigned char | 8 | 0~255 |
类型 | 十六进制 | 八进制 | 十进制 |
char | \0x41 | \0101 | N.A. |
int | 0x41 | 0101 | 65 |
unsigned int | 0x41u | 0101u | 65u |
long | 0x41L | 0101L | 65L |
unsigned long | 0x41UL | 0101UL | 65UL |
long long | 0x41LL | 0101LL | 65LL |
unsigned long long | 0x41ULL | 0101ULL | 65ULL |
整型常量(整常数)
三种形式:
十进制整数:由数字0~9和正负号表示。例:12,-74
八进制整数:由数字0开头,后跟数字0~7表示。
十六进制整数:由0x开头,后跟0~9,a~f,A~F表示。
实型常量(实数或浮点数)
表示形式:
十进制数形式:(必须有小数点)。例:0.464,56.0
指数形式:(e或E之前必须有数字;指数必须为整数)。例:12.6e4,1.63e-2
d,i | 十进制整数 int a = 123; printf(“%d”,a); 123 |
x,X | 十六进制无符号整数 int b =236; printf(“%x”,b); ec |
o | 八进制无符号整数 int c = 796; printf(“%o”,a); 1434 |
u | 不带符号十进制整数 int d = 321; printf(“%u”,d); 321 |
c | 单一字符 char e = 66; printf(“%c”,e); B |
s | 字符串 printf(“%s”,”ZSDY”); ZSDY |
f | 小数形式浮点小数 float f =327.793; printf(“%f”,f); 327.793000 |
e,E | 指数形式浮点小数 float g=327.793; printf(“%e”,g); 3,277930e+002 |
g,G | e和f中较短一种 float h=327.793; printf(“%g”,h); 327.793000 |
%% | 百分号本身 printf(“%%”); % |
d
%d 按整型数据的实际长度输出;
%md m为指定的输出字段的宽度,如数据的位数小于m,则左端补以空格,如大于m,则按实际位数输出;
%ld 对长整形数据进行输出
f
%f 整数部分全部输出,并输出6位小数;
%m.nf 指定占m列,其中有n位小数,如数值长度小于m,则左补空格。
s
%ms 输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出,如串长小于m,则左补空格;
%m.ns 输出占m列,但仅取字符串中左端n个字符,这n个字符输出在m列的右侧,左补空格。
注:
(1)printf()可以输出常量、变量和表达式的值。但格式控制中的格式说明符,必须按从左到右的顺序,与输出项表中的每个数据一一对应。
(2)格式字符x、e、g可以用小写字母,也可以用大写字母。使用大写字母时,输出数据中包含的字母也大写。除了x、e、g格式字符外,其它格式字符必须用小写字母。
(3)格式字符紧跟在“%”后面就作为格式字符,否则将作为普通字符使用(原样输出)。