C语言printf格式化输出汇总

之前用格式化输出时,只记住了常用的几个。其实printf的格式化输出有很多,这里分享给大家:

printf函数

头文件
#include
函数原型
int printf( const char *format, ... );
你可能只用过%d,%f,不同的"%-codes"表示不同的变量类型, 也可以限制变量的长度.

常用%格式

short   %hd:输出短整数 (h表示短整数)
unsigned short     %hu
long       %ld
unsigned long   %lu
int           %d
unsigned int    %u
float       %f和%g
double     %lf和%lg

%c 字符
%d 带符号整数
%i 带符号整数
%e 科学计数法, 使用小写"e" (保留小数点后6位)
%E 科学计数法, 使用大写"E"
%f 十进制浮点数 (单、双精度)
%g 使用%e或%f中较短的一个 (至多6位有效数字,去除多余的0。当指数大于等于6或小于等于-5时,使用%e)
%G 使用%E或%f中较短的一个
%o 八进制
%s 一串字符
%u 无符号整数
%x 无符号十六进制数, 用小写字母表示
%X 无符号十六进制数, 用大写字母表示
%p 一个指针
%n 参数是一个指向一个整数的指针,指向的是字符数放置的位置
%% 一个’%'符号

示例

scanf("%d",&a) —> cin >> a
scanf("%d , %d",&a,&b);两个%d之间是一个空格 一个逗号 一个空格!
%a,%A 读入一个浮点值(仅C99有效)   
%c 读入一个字符   
%d 读入十进制整数   
%i 读入十进制,八进制,十六进制整数   
%o 读入八进制整数   
%x,%X 读入十六进制整数   
%s 读入一个字符串,遇空格、制表符或换行符结束。   
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针   
%u 读入一个无符号十进制整数   
%n 至此已读入值的等价字符数   
%[] 扫描字符集合   
%% 读%符号
%g 自动选择合适的表示法
%0 无符号以八进制表示的整数
%e 指数形式的浮点数
%ld 输出长整型

printf("%d",a) ------> cout< 左对齐:"-" 比如:"%-20s"
右对齐:"+" 比如:"%+20s"
printf("% 6.2f" ,a) 输出宽度为6带两位小数点的a
printf("%o\n",a);//八进制输出
printf("%#o\n",a);//八进制前面加0输出
printf("%X\n",a);//十六进制大写输出
printf("%x\n",a);//十六进制小写输出
printf("%#X\n",a);//十六进制前面加0X输出(大写)
printf("%#x\n",a);//十六进制前面加0x输出(小写)

你可能感兴趣的:(C/C++,c语言,c++,开发语言)