- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章顺序结构剖析
在输入数据时要注意以下几点: 1.输入数据分隔处理 当输入多个数据项时,可以采用以下3种方式分隔输入的数据,以便使变量获得准确数据。 ① 格式控制字符串之间有空白字符或无任何间隔,输入数据时必须用空格、Tab键或回车来分隔。 例如:假设要给整型变量a、b赋值给25、-50,scanf()函数格式如下: scanf(%d︼%d,a,b); /* 数据间有一个空格作为分隔 */ 或 scanf(%d%d,a,b); /* 数据间无任何间隔 */ 则用以下3种方式输入数据都是合法的: 20︼-50↙ /* 数据间用空格作为分隔 */ 20 ↙ /* 数据间用回车作为分隔 */ -50↙ 20(按Tab键)-50↙ /* 数据间用Tab键作为分隔 */ 3.2 数据的输入和输出 * ②如果在“格式控制字符串”中有普通字符,则在输入数据时应输入与这些字符相同的字符。例如: scanf(%d,%d,a,b); 输入数据时,数据之间必须输入一个逗号。应输入: 100,-50↙ scanf(x=%d,y=%d,x,y);应输入:x=100,y=-50 ↙ 可以通过指定输入数据的宽度分隔输入数据。用十进制整数指定输入数据的宽度,表示该输入项最多可输入的字符个数。如遇空格或不可转换的字符,读入的字符将减少。 scanf(%4d%3d%4d,a,b,c); 如果执行时从键盘上输入:200808082008 ↙ 则把2008赋给a,把080赋给b,把8200赋给c。 3.2 数据的输入和输出 * 如果在%后面有一个“*”,表示本项输入,但并不赋值给相应的变量 scanf(%d,%*d,%d,x,y); 输入:100,45,567↙ 系统将 100 赋给x,567 赋给 y,也就是说第二个数据 45 被跳过。在利用现成的一批数据时,有时不需要其中某些数据,可用此法跳过它们。 3.2 数据的输入和输出 * 2.输入数据结束处理 在输入数据时,遇到以下情况时认为此数据输入结束。 ①遇到空格、或者按回车键、Tab键。 ②遇到指定的宽度结束。例如“%3d”,只取3位。 ③遇到非法输入。例如,在输入数值数据时,遇到字母等非数值符号。 例如: scanf(%3d%d%c%f,x,y,s,z); 假如输入:12345g678o.98 按照规定的宽度将123赋给整型变量x,将整数45赋给整型变量y,将字符g赋给字符型变量s,由于z为单精度实型变量,因此本应按规定将678o.98赋给实型变量z,但因678之后出现了字母‘o’,因此就认为该数据到此结束,所以将678赋给变量z。 3.2 数据的输入和输出 * 3 3. 几点说明和注意事项 ① 在编写程序时,往往先用printf( )函数在屏幕上输出提示,告诉要输入的信息项。 【例3.12】提示输入的信息项。 3.2数据的输入和输出 程序运行结果: please input a,b,c: 100,200,300↙ a=100,b=200,c=300 3.2 数据的输入和输出 # include stdio.h void main( ) { int a,b,c; printf(please input a,b,c:\n); scanf(%d,%d,%d,a,b,c); printf(a=%d,b=%d,c=%d,a,b,c); } * ②输入实数时不能规定精度。 例如:scanf(%4.1f,f);是非法的,不能企图输入12.1。 3 ③长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度实数(如%lf),h表示输入短整型数据。注意,与输出的情况不同,输入数据时长度格式符不能省略,如输入double 型数据必须使用%lf或%le。例如,假设x、y为double 型变量,则用scanf( )函数赋值时,必须写为: scanf(%lf,%lf,x,y); ④ 在用“%c”格式输入字符时, 所有输入的字符(包括空格字符和转义字符)都作为有效字符。 例如: scanf(%c%c%c,x,y,z); 若输入:a︼b︼c↙ 则把字符 a 赋给变量 x,把空格字符赋给变量y,把字符b赋给变量z。 若输入 :\101 ↙ 则把字符 \赋给变量 x,把字符1赋给变量y,把字符0赋给变量z。 注意:在格式控制中尽量不要出现普通字符,也不要用’\n’,’\t’等转义字符。 Scanf(“%d,%f\n”,a,b); //语法上可以,
您可能关注的文档
- 第3章能量流系统设计.ppt
- 第3章空气净化和调节设备.ppt
- 第3章燃气轮机热力循环-4.ppt
- 第3章结构构造.ppt
- 第3章表的创建与使用1.ppt
- 第3章网络通信介质及通信设备.ppt
- 第3章计算机数据表示.ppt
- 古建基础知识【古建专家精心整理】(三).pptx
- 第3章营销策划创意.ppt
- 第3章轨迹规划.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)