格式化输出函数教学教学课件.pptx

上传人:春哥&#****71; 文档编号:12723297 上传时间:2022-04-25 格式:PPTX 页数:21 大小:4.35MB
返回 下载 相关 举报
格式化输出函数教学教学课件.pptx_第1页
第1页 / 共21页
格式化输出函数教学教学课件.pptx_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《格式化输出函数教学教学课件.pptx》由会员分享,可在线阅读,更多相关《格式化输出函数教学教学课件.pptx(21页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Teacher teaching designCONTENTS 目 录数据的输出函数输出函数格式说明符明确考点 交流提升案例分析 仿真演练数据的输出函数PART 01数据的输出函数printf函数(称为格式输出函数)printf函数所以称为格式输出函数,按用户指定的格式,把数据输出到显示器屏幕上。其关键字最末一个字母f是format的缩写,即为“格式” 的意思。 1) printf函数调用的一般形式:printf(“格式控制字符串”,输出表列)功能:按“格式控制字符串”的指定格式,输出对应的变量 。说明: (1)格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串(普通字符)

2、两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:“%d”表示按十进制整型输出;“%ld”表示按十进制长整型输出;“%c”表示按字符型输出等。(2)非格式字符串在输出时原样照印,在显示中起提示作用。(3)输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该从左到右一一对应。数据的输出函数2)输出表列(1)变量输出表属于可选内容。如果输出的数据多于1个,相邻之间用逗号分隔。如: printf(How do you do !n); printf(a=%d b=%dn, a, b); (2)变量输出表内容可以是表达式

3、:如: 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中较短的输出宽度输出单、双

4、精度实数c输出单个字符s输出字符串格式说明符printf 附加格式说明字符 (如 %m.nf和 %m.ns等):标 志意 义-结果左对齐,右边填空格m( 正整数) 数据最小宽度n( 正整数) 对实数表示输出n位小数,对字符串表示截取的字符个数字母l用于长整型整数,可以加在格式符d,o,x,u前面。 #对c,s,d,u类无影响;对o类,在输出时加前缀0;对x类,在输出时加前缀0 x;对e,g,f 类当结果有小数时才给出小数点空格输出值为正时表示以空格,为负时加以负号明确考点 交流提升PART 03明确考点 交流提升(1)格式字符d以带符号的十进制整数形式输出允许形式:%d 、%md、%-md 、

5、%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=%2dn,n1,n1,n1,n1); printf(n2=%ld,n2=%9ld,n2=%2ldn,n2,n2,n2); pr

6、intf(n1=%ldn,n1); 运行结果:n1=111,n1=111,n1=111,n1=111n2=222222,n2=222222,n2=222222请思考为什么产生这样的结果?整数还有下面的输出形式:%o(小写字母o )-整数八进制无符号形式输出;%x -整数十六进制无符号形式输出。%u-对于unsigned型数据,以十进制无符号形式输出。明确考点 交流提升(2)、格式字符f以小数形式,输出单精度和双精度实数允许形式:%f、%m.nf、%-m.nf 、%mf、%.nf等。%f - 按系统默认宽度输出实数:整数部分全部输出,小数部分输出6位。单精度变量的输出有效位是7位;双精度变量的输

7、出有效位是16位。%-m.nf - m是正整数,表示数据最小宽度;n是正整数,表示小数位数,m和负号的用法与前面相同。%g - 让系统根据数值的大小,自动选择%f或%e格式、且不输出无意义的零。 【例2】 输出实数的有效位。 main( ) float x=11111.111,y=33333.333; printf(x+y=%fn,x+y); 程序运行结果 : x+y=44444.443359,但有效数字只有7位:44444.44。双精度变量的输出与此类似,只是有效位是16位。明确考点 交流提升【例3】 思考题:以下输出语句的结果:printf( %fn,12.3); 12.300000pri

8、ntf( %2fn,12.3); 12.300000printf( %10fn,12.3); 12.300000printf( %.3fn,12.3); 12.300printf( %10.3fn,12.34567); 12.346 printf( %5.3fn,12.3) 12.300printf( %10.3fn,12.3); 12.300printf( %5.3fn,12.34444); 12.344明确考点 交流提升(3)、格式字符e以指数形式输出实数允许形式:%e、%m.ne、%-m.ne 、%me、%.ne等m限定输出实型数据的总宽度,n-1限定输出的小数位数。 %e -以标准指数

9、形式输出:尾数中的整数部分大于等于1、小于10,小数点占一位,尾数中的小数部分占5位;指数部分占4位,其中e占一位,指数符号占一位,指数占2位,共11位(不同系统的规定略有不同)。如,3.33333e-03。【例4】思考题:以下%e的输出格式事例,思考以下输出语句的结果:printf( %en,12.3); 1.23000e+01printf( %2en,12.3); 1.23000e+01printf( %15en,12.3); 1.23000e+01printf( %.3en,12.3); 1.23e+01printf( %15.3en,12.3); 1.23e+01 printf( %5

10、.3en,12.3); 1.23e+01printf( %15.3en,12.345); 1.23e+01 明确考点 交流提升4、格式字符c输出一个字符 允许形式:%mc %c -以字符形式输出一个字符。【例5】字符和整数的输出。 main() char ch=a; int i=97;printf(ch=%c,ch=%cn, ch,i); /*c,i以字符形式输出*/printf( i=%d,i=%dn, ch,i); /*c,i以整数形式输出*/printf( ch=%2cn, ch);/* m限定输出字符的总宽度,m大于字符宽度则字符左端填充空格*/ 程序运行结果 :ch=a, ch=ai

11、=97,i=97ch= a明确考点 交流提升5、格式符s输出一个字符串允许形式:%s、%m.ns %s-输出一个字符串。%m.ns-m是正整数,表示允许输出的字符串宽度;n是正整数,表示对字符串截取的字符个数。【例6】输出字符串。 main() printf(%s,%3s,%-9sn,student, student , student ); printf(%8.3s,%-8.3s,%3.4sn,student ,student ,student ); 运行结果 :student, student, studentstu, stu, stud说明: 如果想输出字符 % ,可以在“格式控制字符串

12、“中连续用两个%表示,如, printf(“%5.2f%”,1.0/2); 输出结果为:50.00%。仿真演练 体验探索PART 04案例分析 仿真演练1、以下程序运行后的输出结果是( )。 main() int x=0210; printf(%Xn,x); 2、以下程序运行后的输出结果是 ( ) 。 main() char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf(%d %fn,n,x); 3、有以下程序运行后的输出结果是( ) main() int m=0256,n=256; printf(%o %on,m,n);

13、 A)0256 0400 B)0256 256 C)256 400 D)400 400 4、有以下程序运行后的输出结果是( ) main() int a=666,b=888; printf(%dn,a,b); A)错误信息 B)666 C)888 D)666,888 5、以下程序段的输出结果是( )main() int i=9; printf(%on,i); 6、以下程序运行后的输出结果是 ( ) main() int a,b,c; a=25; b=025; c=0 x25; printf(%d %d %dn,a,b,c); 案例分析 仿真演练案例分析 仿真演练7、有以下程序执行后输出结果是(

14、 )main( ) int x=102,y=012; printf(%2d,%2dn,x,y); A) 10,01 B) 02,12 C) 102,10 D) 02,108、已知字符A的ACSII码值为65,以下语句的输出结果是( ) main( ) char ch=B; printf(“%c %dn”,ch,ch); 9、 有以下程序语句 main() int n1=10,n2=20; printf( ,n1,n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=20案例分析 仿真演练10、有以下程序运行后的输出结果是( )main() int a,b,d=25; a=d/10%9; b=a&(-1); printf(%d,%dn,a,b);A)6,1B)2,1C)6,0 D)2,011、有以下程序运行后的输出结果是( )main() int c=35; printf(%dn,c&c); A)0B)70C)35D)112、若有以下程序段运行后的输出结果是( ) main() int a=2,b=5; printf(a=%d,b=%dn,a,b); A)a=%2,b=%5 B)a=2,b=5 C)a=%d,b=%d D)a=%d,b=%d

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com