赞
踩
在学习C语言时,常用到printf(),这里先学习下。
1 一般格式
printf(格式控制,输出表列)
例如:printf("i=%d,ch=%c\n",i,ch);
说明:
(1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:
①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。
②普通字符,即需要原样输出的字符。
(2)“输出表列”是需要输出的一些数据,可以是表达式
(3) printf函数的一般形式可以表示为
printf(参数1,参数2,……,参数n)
功能是将参数2~参数n按参数1给定的格式输出
2.格式符号说明
格式字符 | 说明 |
%a(%A) | 浮点数、十六进制数字和p-(P-)记数法(C99) |
%c | 输出一个字符 |
%d | 有符号十进制整数数据的实际长度输出(正数不输出符号) |
%f | 浮点数(包括float和doulbe),以小数形式输出 |
%e(%E) | 浮点数指数输出[e-(E-)记数法] |
%g(%G) | 浮点数不显无意义的零"0",它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种) |
%i | 有符号十进制整数数据的实际长度输出(与%d相同)(正数不输出符号) |
%u | 无符号十进制整数 |
%o | 以八进制无符号形式输出整数(不输出前导符0) |
%x(%X) | 以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出,用X时,则以大写字母输出 |
%p | 指针 |
%s | 字符串 |
%% | "%" |
在格式说明中,在%和上述格式字符可以插入以下几种附加符号(又称修饰符)
字符 | 说明 |
字母l | 用于长整型整数,可加在格式符d,o,x,u前面 |
M(代表一个正整数) | 数据最小宽度 |
N(代表一个正整数) | 对实数,表示输出n位小数;对字符串,表示截取的字符个数 |
+ | 输出的数字或字符在域内向右靠 |
- | 输出的数字或字符在域内向左靠 |
# | 对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x |
说明
(1)除了X、E、G(用大写字母表示)外,其他格式字符必须用小写字母;
(2)“格式控制”字符串内可以包含转义字符;
(3)如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示,如:
printf("%f%%",1.0/3); 显示 0.3333333%
(4)上面字符用在%后面就作为格式符号,一个格式符是以%开头的,中间可以插入附加符号(又称修饰符).
如:printf("%4d,%4d",123,12345) 显示 空格123,12345
位数小于M(最小宽度)前面补空格。如果大于最小宽度以实际值输出。
(5)在浮点数中,修饰符的表达方式是%m.ne.
如:
命令 | 显示 | 列数 |
Printf(“%e”,123.456) | 1.234560e+002 | 13 |
Printf(“%10e”,123.456) | 1.234560e+002 | 13 |
Printf(“%10.2e”,123.456) | 空格1.23e+002 | 10 |
Printf(“%.2e”,123.456) | 1.23e+002 | 9 |
Printf(“%-10.2e”,123.456) | 1.23e+002空格 | 10 |
3. printf的格式控制的完整格式:
% - 0 m.n l或h 格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。