内容正文:
YCF
正版可修改PPT
(中职)C语言程序设计案例教程 1.3 格式化输出函数ppt课件
1
格式化输出函数
Teacher teaching design
CONTENTS
目 录
数据的输出函数
输出函数格式说明符
明确考点 交流提升
案例分析 仿真演练
数据的输出函数
PART 01
数据的输出函数
printf函数(称为格式输出函数)
printf函数所以称为格式输出函数,按用户指定的格式,把数据输出到显示器屏幕上。其关键字最末一个字母f是format的缩写,即为“格式” 的意思。
1) printf函数调用的一般形式:printf(“格式控制字符串”,输出表列)
功能:按“格式控制字符串”的指定格式,输出对应的变量 。
说明: (1)格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串(普通字符)两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。
如:
“%d”表示按十进制整型输出;
“%ld”表示按十进制长整型输出;
“%c”表示按字符型输出等。
(2)非格式字符串在输出时原样照印,在显示中起提示作用。
(3)输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该从左到右一一对应。
数据的输出函数
2)输出表列
(1)变量输出表属于可选内容。如果输出的数据多于1个,相邻之间用逗号分隔。如:
printf("How do you do !
");
printf("a=%d b=%d
", a, b);
(2)变量输出表内容可以是表达式:如: printf("%d",3*a+5);
(3)“格式控制字符串”中的格式字符,必须与“输出表列”中输出项的数据类型 一致,否则会引起输出错误。如初学者会无意间出现如下的错误,看着莫名其妙的程序结果却不知道是怎么回事:
int a=10; printf("%f",a);
输出函数格式说明符
PART 02
格式说明符
格式字符 意 义
d 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀0)
x,X 以十六进制形式输出无符号整数(不输出前缀Ox)
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e,E 以指数形式输出单、双精度实数
g,G 以%f或%e中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符串
格式说明符
printf 附加格式说明字符 (如 %m.nf和 %m.ns等):
标 志 意 义
- 结果左对齐,右边填空格
m( 正整数) 数据最小宽度
n( 正整数) 对实数表示输出n位小数,对字符串表示截取的字符个数
字母l 用于长整型整数,可以加在格式符d,o,x,u前面。
# 对c,s,d,u类无影响;对o类,在输出时加前缀0;对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点
空格 输出值为正时表示以空格,为负时加以负号
明确考点 交流提升
PART 03
明确考点 交流提升
(1)格式字符d──以带符号的十进制整数形式输出
允许形式:%d 、%md、%-md 、%ld等。
%d—按整型数据的实际长度输出;
%md ---m是正整数,表示输出数据宽度,若m小于数据的实际位数,m不起作用;
%-md---数据宽度小于m时,负号”-”要求结果左对齐,右边填空格;
%md---数据宽度小于m时,结果右对齐,左边填空格;
%ld---字母l用于长整型数据输出,还可以加在格式符o,x,u前面。
明确考点 交流提升
【例1】格式符d的使用。
main()
{ int n1=111;
long n2=222222;
printf("n1=%d,n1=%4d,n1=%-4d,n1=%2d
",n1,n1,n1,n1);
printf("n2=%ld,n2=%9ld,n2=%2ld
",n2,n2,n2);
printf("n1=%ld
",n1);
}
运行结果:
n1=111,n1=□111,n1=111□,n1=111
n2=222222,n2=□□□222222,n2=222222
请思考为什么产生这样的结果?
整数还有下面的输出形式:
%o(小写字母o )----整数八进制无符号形式输出;
%x ---整数十六进制无符号形式输出。
%u---对于unsigned型数据,以十进制无符号形式输出。
明确考点 交流提