




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章键盘输入和屏幕输出,哈尔滨工业大学计算机科学与技术学院苏小红sxh,本章学习内容,字符常量与转义字符字符输出函数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()的格式修饰符,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】计算圆的周长和面积,#includemain()constdoublepi=3.14159;doubler,circum,area;printf(Inputr:);scanf(%lf,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()的格式修饰符,#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格式符的问题及解决例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年Z世代消费趋势下的新消费品牌市场拓展策略创新报告
- 历史(湖北卷)2025年中考考前押题最后一卷
- 制造业供应链优化
- 过敏性结膜炎自救指南2025
- 基于DeepSeek大模型的景区AI智能安防应用方案
- 湖南师范大学附属医院 消除艾滋病、梅毒和乙肝母婴传播工作考试试卷及答案
- 铣工多选试题及答案
- 五年级综合试题及答案
- 河南省新乡市2023-2024学年高一下学期期末测试英语试卷(含答案无听力原文及音频)
- 2025年辽宁省鞍山市立山区中考道德与法治三模试卷(含答案)
- 建筑施工安全技术统一规范
- 甲酸钙生产工艺
- 建设工程施工安全技术操作规程完整
- 送医护人员锦旗用语16字
- 装配作业指导书
- 法律诊所完整版教学ppt课件全套教程
- 四年级奥数举一反三用假设法解题PPT学习教案
- 学校内控制度及手册
- 新人教版九年级物理全册习题
- 修改版鸟儿之最 PPT
- 华为MA5608T配置指导
评论
0/150
提交评论