第04章基本输入、输出和顺序程序设计讲解.ppt

第04章基本输入、输出和顺序程序设计讲解.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用scanf函数注意事项 (1) 如果相邻两个格式控制符之间,不指定数据分隔符(如逗号、冒号等),则相应的两个输入数据之间,至少用一个空格分隔,或者用Tab键分隔,或者输入一个数据后,按回车,然后再输入下一个数据。 (2) 格式控制字符串中出现的常规字符(包括转义字符),务必原样输入。 (3) 为改善人机交互性,同时简化输入操作,在设计输入操作时,一般先用printf( )函数输出一个提示信息,再用scanf( )函数进行数据输入 。 (4) 当格式控制字符串中指定了输入数据的域宽width时,将读取输入数据中相应的width位,但按需要的位数赋给相应的变量,多余部分被舍弃。 例如: scanf (%d%d, num1, num2); 假设给num1输入12,给num2输入36,则正确的输入操作为: 12□36↙ 或者 12↙ 36↙ 使用“↙”符号表示按回车键操作,在输入数据操作中的作用是,通知系统输入操作结束。 例如: scanf (%d:%d:%d, h, m, s); 假设给h输入12,给m输入30,给s输入10,正确的输入操作为: 12:30:10↙ 例如: scanf (num1=%d, num2=%d\n, num1, num2); 假设给num1输入12,给num2输入36,正确的输入操作为: num1=12,num2=36\n↙ 例如: 将scanf (num1=%d, num2=%d\n, num1, num2); 改为: printf (num1=); scanf (%d, num1); printf (num2=); scanf (%d, num2); 例如: scanf (%3c%3c, ch1, ch2); 假设输入abcdefg↙,则系统将读取的“abc”中的a赋给变量ch1;将读取的def中的d赋给变量ch2。 使用scanf函数注意事项 (5) 当格式控制字符串中含有抑制符‘*’时,表示本输入项对应的数据读入后,不赋给相应的变量(该变量由下一个格式指示符输入)。 (6) 使用格式控制符%c输入单个字符时,空格和转义字符均作为有效字符被输入。 (7) 输入数据时,遇到以下情况,系统认为该数据结束: 遇到空格,或者回车键,或者Tab键。 遇到输入域宽度结束。例如“%3d”,只取3列。 遇到非法输入。比方说,在输入数值数据时,遇到字母等非数值符号。 (8) 当一次scanf调用需要输入多个数据项时,如果前面数据的输入遇到非法字符,并且输入的非法字符不是格式控制字符串中的常规字符,那么,这种非法输入将影响后面数据的输入,导致数据输入失败。 例如: scanf (%2d%*2d%3d, num1, num2); printf (num1=%d, num2=%d\n, num1, num2); 假设输入123456789↙ 输出结果为:num1=12, num2=567。 例如: scanf (%c%c%c, ch1, ch2, ch3); 假设输入:A□B□C↙,则系统将字母A赋值给ch1,空格□赋值给ch2,字母B赋值给ch3。 例如: scanf (%d, a); 如果输入为:12a3↙,a的值将是12。 例如: scanf (%d,%d, a, b); 如果输入为:12a34↙,那么a的值将是12,b的值将无法预测。 正确的输入是:12,34↙ 【例】数据的格式化输入 输入一学生的学号(8位数字)、生日(年-月-日)、性别(M:男,F:女)及三门功课(语文、数学、英语)的成绩,现要求计算该学生的总分和平均分,并将该学生的全部信息输出(包括总分、平均分)。 #include stdio.h void main ( ) { unsigned long no; //学号 unsigned int year, month, day; //生日(年、月、日) unsigned char sex; //性别 float chinese, math, english;

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档