




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章键盘输入和屏幕输出,本章学习内容,字符常量与转义字符字符输出函数putchar()字符输入函数getchar()数据的格式化输出函数printf()数据的格式化输入函数scanf(),字符常量,字符常量是用单引号括起来的一个字符a是字符常量,而a则是一个标识符3表示一个字符常量,而3则表示一个整数转义字符(EscapeCharacter)一些特殊字符(无法从键盘输入或者另有他用)用转义字符表示,字符型变量的取值范围取决于计算机系统所使用的字符集ASCII(美国标准信息交换码)字符集规定了每个字符所对应的编码一个字符以其对应的ASCII码的二进制形式存储在内存中一个字节,保存一个字符(英文字母、数字、符号)字符常数就是一个普通整数,也可参与各种数学运算每个字符具有一个0255之间的数值,可从ASCII表查出注意:5和整数5的区别5的ASCII码值是53,字符常量,4.1单个字符的输入/输出,通过调用标准库函数来实现#include字符输出函数putchar(ch)输出一个字符ch字符输入函数getchar()无参数函数值为从输入设备接收的字符,【例4.1】大小写英文字母转换,PressakeyandthenpressEnter:Bb,4.2数据的格式化屏幕输出,格式printf(格式控制字符串,输出项表列);printf(a=%db=%f,a,b);可以输出若干任意类型的数据,函数名,可选输出表列,普通字符,%ccharacter以字符形式输出单个字符%sstring输出一个字符串%ddecimal以带符号十进制整数输出%ffloat以小数形式输出浮点数(6位小数)%eexponent以标准指数形式输出(6位小数)%g选用%f,%e中输出宽度较小的一种格式%ooctal以八进制无符号整数输出(无前导0)%xhex以十六进制无符号整数输出(无前导0 x)%uunsigned以十进制无符号整数输出,printf()格式字符,【例4.2】大小写英文字母转换,PressakeyandthenpressEnter:Bb,98,m表示数据占用的最小宽度数据宽度大于m,按实际宽度输出数据宽度小于m时,补空格n对实数表示输出n位小数对字符串表示最多输出的字符个数l长整型整数,加在d、o、x、u前Llongdouble型数,加在f、e、g前+/-/#标志,printf()的格式修饰符,一般形式:%标志输出最小宽度.精度长度说明:(1)中的内容为可选项(2)标志:为+或-、#等,含义如下:+或-:输出符号如:i=3;printf(“%+dn”,i);#:对c、s、d、u无影响,对o类型输出时加前缀0对x类型输出时加前缀0 x,对e、g、f类型当结果有小数时才给出小数点。如:i=0 xf0;printf(“%#xn”,i);,printf()的格式修饰符,(3)输出最小宽度(域宽m,m必须是整数),域宽m是输出项在输出设备上所占的列数。若m是正整数当实际位数多于定义宽度m,则按实际位数输出;若实际位数少于定义宽度,则在域内向右对齐,左边多余位补以空格;若m有前导0,则左边多余位补0。若m是负整数则输出数据在域内向左对齐,如:inta=23,b=4;printf(“%5d,%5d”,a,b);,结果:_23,4_,(4)精度.n(n为正整数),对于浮点数,表示输出的小数的位数;若实际位数大于所定义的精度数,则四舍五入后,截去超过的部分。对于字符串,指定从字符串左侧所截取的子串字符的个数;,输出结果:65.68输出结果:Hello,(5)长度,长度格式符为h、l、L。h表示按短整型量输出;l加在d、o、x、u前,表示按长整型数据输出;l加在f、e、g前,表示按double型数据输出;L加在f、e、g前,表示按longdouble型数据输出,printf()的格式修饰符,Formatforfloat:%fGeneralformat:%.f,Example:printf(Valueis:%10.4f,32.6784728);,Valueis:32.6785,printf()的格式修饰符,Example:printf(Valueis:%10f,32.6784728);,Valueis:32.678473,Example:printf(Valueis:%.3f,32.6784728);,Valueis:32.678,printf()的格式修饰符,Inputr:5.3printfWITHOUTwidthorprecisionspecifications:circumference=33.300854,area=88.247263printfWITHwidthandprecisionspecifications:circumference=33.30,area=88.25,【例4.3】计算圆的周长和面积,4.3数据的格式化键盘输入,格式scanf(格式控制字符串,地址表列);scanf(%d,%f,c以字符形式输入单个字符s输入字符串,以非空字符开始,遇第一个空白字符结束d以带符号十进制形式输入整型数据f以小数形式输入浮点数e以标准指数形式输入o以八进制无符号形式输入(无前导0)x以十六进制无符号形式输入(无前导0 x),scanf()的格式字符,m表示数据占用的宽度l加在d、o、x、u前:输入长整型加在f、e前:输入双精度型L加在f、e前:输入longdouble型h加在d、o、x前:输入短整型*本输入项在读入后不赋给相应的变量,scanf()的格式修饰符,一般格式:%*输入数据宽度长度,说明:(1)“*”号:表示该输入项读入后,不赋予相应的变量,即跳过该输入值。如:scanf(%d%*d%d”,当输入123时,1a3b,2被跳过,scanf()的格式修饰符,(2)输入数据宽度:用十进制整数指定输入的宽度。如:scanf(“%5d”,输入12345678后仅把12345赋予a,其余截去。,又如:scanf(“%4d%4d”,输入12345678后1234赋予a,5678赋予b,按宽度自动截取。,(3)长度长度格式符l表示长整型和双精度浮点数;h表示短整型数据;L表示长双精度浮点数。longli;doubled;longdoubleld;scan(“%ld%lf%Lf”,使用scanf()函数需注意:,(1)scanf()函数中没有精度控制。如:scanf(“%4.2f”,对,(3)输入多个数据时,格式控制串中没有非格式字符,则输入时数据间的分隔符可用空格、TAB键、回车键。,(4)输入字符数据时,若格式控制符中无非格式符,则认为所有输入的字符均为有效字符。scanf(“%c%c%c”,输入:A,B,C输出:a=A,b=,c=B,(5)如果格式控制字符串中有非格式字符,则输入时也要输入非格式字符。,scanf(“%d,%d,%d”,输入应为:a=5,b=6,c=7,如:,(6)输入、输出格式符不相符,则输出数据错误。inti;floatf;doubled;scanf(“%f”,#includemain()inta,b;printf(Pleaseinputaandb:);scanf(%2d%*2d%2d,Pleaseinputaandb:,a=12,b=56,a+b=68,123456,跳过一个输入项,输入数据的格式控制,#includemain()inta,b;scanf(%d%d,问题1:当要求程序输出结果为a=12,b=34时,用户应该如何输入数据?,1234,输入数据的格式控制例4.4,#includemain()inta,b;scanf(%d%d,问题2:当限定用户输入数据以逗号为分隔符,即输入数据格式为:12,34时,应修改程序中的哪条语句?怎样修改?,输入数据的格式控制例4.4,#includemain()inta,b;scanf(%d%d,问题3:语句scanf(%d%d,时,用户应该如何输入数据?,a=12,b=34,输入数据的格式控制例4.4,#includemain()inta,b;scanf(%d%d,问题4:限定用户输入数据为以下格式1234同时要求程序输出结果为a=12,b=34,%2d%2d,输入数据的格式控制例4.4,#includemain()inta,b;scanf(%d%d,问题5:限定用户输入数据为以下格式1234同时要求程序输出结果为a=12,b=34,%d,b=%d,输入数据的格式控制例4.4,#includemain()inta,b;scanf(%d%d,问题6:设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其他)作为分隔符进行数据的输入,输入数据的格式控制例4.4,#includemain()inta,b;scanf(%d%d,问题7:输入123456时程序的输出结果是什么?,输入数据的格式控制例4.4,a=12,b=56,#includemain()inta,b;scanf(%d%d,问题8:如果用户输入了非法字符,例如输入了123a,那么程序运行结果如何?,输入数据的格式控制例4.4,123aa=12,b=3,#includemain()inta,b;scanf(%d%d,问题9:如果用户输入的是123a,那么结果又会如何呢?,输入数据的格式控制例4.4,123aa=123,b=-858993460,#includemain()inta,b;scanf(%d%d,问题10:如果程序第5行语句修改为.,那么结果又会如何呢?,输入数据的格式控制例4.4,#includemain()intdata1,data2,sum;charop;printf(Pleaseentertheexpressiondata1+data2n);scanf(%d%c%d,Pleaseentertheexpressiondata1+data2,第1次测试,12+3,124199288=4199300,C格式符的问题及解决例4.5,#includemain()intdata1,data2,sum;charop;printf(Pleaseentertheexpressiondata1+data2n);scanf(%d%c%d,Pleaseentertheexpressiondata1+data2,第2次测试,123,123=15,C格式符的问题及解决例4.5,#includemain()intdata1,data2,sum;charop;printf(Pleaseentertheexpressiondata1+data2n);scanf(%d%c%d,Pleaseentertheexpressiondata1+data2,第3次测试,12+3,12+3=15,C格式符的问题及解决例4.5,#includemain()inta;charb;floatc;printf(Pleaseinputaninteger:);scanf(%d,Pleaseinputaninteger:,希望得到的运行结果,12,Pleaseinputancharacter:,a,Pleaseinputafloatnumber:,3.5,integer:12,character:a,floatnumber:3.500000,C格式符的问题及解决例4.6,#includemain()inta;charb;floatc;printf(Pleaseinputaninteger:);scanf(%d,Pleaseinputaninteger:,结果好像很奇怪呀!,12,Pleaseinputancharacter:,a,Pleaseinputafloatnumber:,3.5,integer:12,floatnumber:3.500000,C格式符的问题及解决例4.6,#includemain()inta;charb;floatc;printf(Pleaseinputaninteger:);scanf(%d,Pleaseinputaninteger:,程序修改后得到的运行结果,12,Pleaseinputancharacter:,a,Pleaseinputafloatnumber:,3.5,integer:12,character:a,floatnumber:3.500000,C格式符的问题及解决例4.6,#includemain()inta;charb;floatc;printf(Pleaseinputaninteger:);scanf(%d,C格式符的问题及解决例4.6,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年手工艺外贸专员笔试模拟题库
- 2025年宠物摄影宠物肖像题集
- 2025年安全生产安全操作测试题及解析
- 2025年美容美发设计师资格认证考试试题及答案解析
- 2025年路桥工程施工监理专业资格考试试卷及答案解析
- 2025年景观设计硕士研究生入学考试试题及答案解析
- 2025年财务总监竞聘笔试模拟试卷答案解析集
- 2025年教育心理咨询师专业技能考试试题及答案解析
- 2025年建筑施工钢结构工程师执业资格考试试题及答案解析
- 2025年环境工程师职业资格综合考试试题及答案解析
- 2025年安顺西秀区招聘城市社区工作者考试笔试试题(含答案)
- 2025-2026秋“1530”安全教育记录表
- 催乳相关培训知识课件
- 2025汽车智能驾驶技术及产业发展白皮书
- 2025年幼儿园食堂从业人员培训测试题(含答案)
- 会计档案培训课件
- 施工临时用水用电方案(3篇)
- 2025福建漳州市交通发展集团有限公司招聘试题及答案
- 2025年职业卫生技术服务专业技术人员考试(放射卫生检测与评价)历年参考题库含答案详解(5卷)
- PE管道铺设质量检测方案
- 审计管理岗面试题及答案
评论
0/150
提交评论