C 语言的转换说明
整数
转换说明 | 含义 | 举例 |
---|---|---|
%d | 以十进制显示整数 | |
%o | 以八进制显示整数 | |
%x | 以十六进制显示整数 | |
%u | 打印 unsigned int 类型的值 |
浮点数
转换说明 | 含义 | 举例 |
---|---|---|
%f | 打印十进制记数法的 float 和 double 类型浮点数 | |
%e | 打印指数记数法的 float 和 double 类型浮点数 | |
%.2f | 打印输出的浮点数只显示小数点后两位 |
可以用十六进制打印浮点数,书中内容有点模糊,没看懂 :(
添加#
前缀显示各进制
转换说明 | 含义 | 举例 |
---|---|---|
%#o | 显示前缀 0 八进制的整数 | 0144 |
%#x | 显示前缀 0x 十六进制的整数 | 0x64 |
%#X | 显示前缀 0X 十六进制的整数 | 0X64 |
添加 l
前缀表示 long 类型
转换说明 | 含义 | 举例 |
---|---|---|
%ld | 打印 long 类型的值 |
添加 h
前缀表示 short 类型
转换说明 | 含义 | 举例 |
---|---|---|
%hd | 以十进制显示 short 类型的整数 | |
%ho | 以八进制显示 short 类型的整数 |
示例代码
#include <stdio.h> int main(void) { int x = 100; printf("dec = %d; octal= %o; hex= %x\n",x,x,x); printf("dec = %d; octal= %#o; hex= %#x\n",x,x,x); printf("dec = %d; octal= %#o; hex= %#X\n",x,x,x); printf("----------\n"); unsigned int un = 3000000000000; short end = 200; long big =65537; long long varybig = 12345678901234; printf("un = %u and not %d\n",un,un); printf("end = %hd and %d\n",end,end); printf("big = %ld and not %hd\n",big,big); printf("verybig = %lld and not %ld\n",varybig,varybig); return 0; }
dec = 100; octal= 144; hex= 64 dec = 100; octal= 0144; hex= 0x64 dec = 100; octal= 0144; hex= 0X64 ---------- un = 2112827392 and not 2112827392 end = 200 and 200 big = 65537 and not 1 verybig = 12345678901234 and not 12345678901234
C 语言中允许使用大写或小写的常量后缀,但转换说明中只能用小写。
基本数据类型由 11 个关键字组成:int、long、short、unsigned、char、float、double、signed、_Bool、_Complex 和_Imaginary。