c语言健盘输入与屏幕输出.ppt

上传人:tia****nde 文档编号:11495307 上传时间:2020-04-25 格式:PPT 页数:38 大小:1.01MB
返回 下载 相关 举报
c语言健盘输入与屏幕输出.ppt_第1页
第1页 / 共38页
c语言健盘输入与屏幕输出.ppt_第2页
第2页 / 共38页
c语言健盘输入与屏幕输出.ppt_第3页
第3页 / 共38页
点击查看更多>>
资源描述
本章学习内容,字符输出函数putchar()字符输入函数getchar()数据的格式化输出函数printf()数据的格式化输入函数scanf(),第4章键盘输入和屏幕输出,4.1单个字符的输入/输出,通过调用标准库函数来实现#include字符输出函数putchar(ch)输出一个字符ch字符输入函数getchar()无参数函数值为从输入设备接收的字符,【例4.1】大小写英文字母转换,PressakeyandthenpressEnter:Bb,printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。printf()函数的一般格式:printf(格式控制字符串,输出项表);,4.2数据的格式化屏幕输出,1格式控制字符串。可以包含以下三种字符:(1)输出项的格式说明。格式说明的一般形式如下:%FlagsWidth.prech|L格式指示符,Flags为选择的标志字符。常用的有:-:为左对齐,否则右对齐+:正数输出+,负数输出-空格:正数输出空格,负数输出-,Width为宽度指示符。用十进制数来设置输出值的最少输出位数。数据宽度大于Width,按实际宽度输出数据宽度小于Width时,补空格,.prec为精度指示符。用小数点加十进制正整数构成,用来限制输出数的精度。,h|L为长度修饰符:h短整型数据的值L长整型数据的值,格式指示符:用来进行格式转换,(2)转义字符(3)普通字符除格式指示符和转义字符之外的其它字符。格式字符串中的普通字符,原样输出。2输出项表输出项表是可选的。如果要输出的数据不止1个,相邻2个之间用逗号分开。下面的printf()函数都是合法的:(1)printf(Iamastudent.n);(2)printf(%d,3+2);(3)printf(a=%fb=%5dn,a,b);必须强调:“格式字符串”中的格式指示符,必须与“输出项表”中、输出项的数据类型一致,否则会引起输出错误。,【例4.2】大小写英文字母转换,PressakeyandthenpressEnter:Bb,98,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】计算圆的周长和面积,在程序中给变量提供数据,可以用赋值语句,也可以用输入函数。scanf()函数的作用:通过键盘输入,同时提供一个或多个任意类型的数据。scanf()函数的一般格式:scanf(“格式控制字符串”,输入项首地址表);1、格式控制字符串:包含3种类型的字符(1)格式说明:格式说明的一般形式为:%*宽度h|l类型字符*本输入项在读入后不赋给相应的变量宽度n该项输入数据所占列数为n。,4.3数据的格式化键盘输入,换句话说,读取输入数据中相应的n位,但按需要的位数赋给相应的变量,多余部分被舍弃。例如,scanf(%3c%3c,假设输入“1234567”,则系统将读取12赋给变量ch1;将读取345赋给变量ch2,所以printf()函数的输出结果为:ch1=12,ch2=345。类型修饰符h、l。其含义与printf()中的一样,分别为短整型和长整型(双精度)。,格式指示符格式指示符是必须的,表示输入后转换的数据类型。与printf函数格式中的格式指示符相同。,(2)空白字符:(空格、Tab键和回车键):作为相邻2个输入数据的缺省分隔符;(3)非空白字符(又称普通字符):普通字符不是显示的而是规定在输入有效数据时,必须原样一起输入的字符。如:scanf(“ch=%d,f=%fn,若要使ch值为3,f的值为56.6,则应怎样输入?,2、输入项首地址表由若干个表示内存首地址的项组成,相邻2个项之间,用逗号分开。内存首地址,可以是变量的首地址,也可以是字符数组名或指针变量。变量首地址的表示方法: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;charop;printf(Pleaseentertheexpressiondata1+data2n);scanf(%d%c%d,Pleaseentertheexpressiondata1+data2,第1次测试,12+3,124199288=4199300,C格式符的问题及解决例4.5,#includemain()intdata1,data2;charop;printf(Pleaseentertheexpressiondata1+data2n);scanf(%d%c%d,Pleaseentertheexpressiondata1+data2,第2次测试,123,123=15,C格式符的问题及解决例4.5,#includemain()intdata1,data2;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:,character:,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,使用空白字符(空格属于空白字符)会使scanf()函数在读操作中略去输入中的一个或多个空白字符,#includemain()intdata1,data2;charop;printf(Pleaseentertheexpressiondata1+data2n);scanf(%d%c%d,12+3,12+3,12+3,再回头来看例4.5如何以任意分隔符输入加法算式?,格式输入函数常见错误,scanf(%d,%fn,几点忠告不要拘泥于细节不要死记硬背在使用中慢慢掌握,注意!,Questionsandanswers,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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