- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例5-11 译密码 例如: Hello,world! 译成密码:Lipps,asvph! #include stdio.h void main() { char c; c=getchar(); while(c!=\n) { if((c=ac=z)||(c=Ac=Z)) { c=c+4; if(cZc=Z+4||cz) c=c-26; } printf(%c,c); c=getchar(); } } * * * * * * * * * * * * * * * * * * * * * 1. 条件语句用:if(cZ || cz) c=c-26; 不对,因为所有小写字母均满足cZ 2. 对小写字母不用条件:cz c=z+4 因为若cz+4,则原字母一定 z,不满足 第一个 if条件 第5章 循环结构程序设计 问题: 输入50个学生的成绩; 分别统计50个学生的平均成绩; 实现办法: 先编写求一个学生平均成绩的程序段; 重复再写49个同样程序段。( ……) 5.1 为什么需要循环控制 scanf(%f,%f,%f,%f,%f,s1,s2,s3,s4,s5); aver=(s1+s2+s3+s4+s5)/5; printf(aver=%7.2f\n,aver); 问题: 输入50个学生的成绩; 分别统计50个学生的平均成绩; 改进,用循环实现: i=1; while(i=50) { scanf(%f,%f,%f,%f,%f,s1,s2,s3,s4,s5); aver=(s1+s2+s3+s4+s5)/5; printf(aver=%7.2f\n,aver); i++; } 5.1 为什么需要循环控制 循环结构: 当型循环结构 直到型循环结构 P A 假 真 当P为真 A A P 假 真 A 直到P为假 注:A可以是一个简单语句,也可以是一个基本结构 C语言可实现循环结构的语句: 用goto 和 if 构成循环(×) while 语句 do ~ while 语句 for 语句 5.2 用while语句实现循环 i=50 i=i+1 假 真 求一个学生平均成绩 i=1 输入一个学生成绩 输出一个学生平均成绩 While循环结构 循环体 一般形式: while(表达式) 循环体语句 执行流程: 表达式 循环体语句 假(0) 真(非0) 此处无; 当表达式为真 循环体语句 特点:先判断表达式,后执行循环体语句(当型) 特点:先判断表达式,后执行循环体(当型) 说明: 循环体有可能一次也不执行 循环体可为任意类型语句 下列情况,退出while循环: 条件表达式不成立(为零) 循环体内遇break,return,goto 无限循环: while(1) 循环体; #include stdio.h void main() { int i,sum=0; i=1; while( ) { sum=sum+i; i++; } printf(%d\n,sum); } 例5.1 用while循环求1+2+3+……+100,即 循环变量 赋初值 循环变量 值修改 循环条件 循环体 循环变量 终止值 i= 分析: 重复进行100次加法运算,每次加一个数:可用循环结构实现; 每次累加的数是前一个累加的数加1:加完i后,使i++。 10 100 循环的几个关键要素: 循环变量: 赋初值、 终止值、 修改其值 循环条件 循环体 sum=0; i=1; sum=sum+i; i=i+1; 当i=100 一般形式: do 循环体语句 while(表达式); 执行流程: do 循环体语句 表达式 假(0) 真(非0) while 5.3 用do-while语句实现循环 此处有; 循环体语句 直到表达式为假 特点:先执行循环体,后判断表达式(直到型) 说明:至少执行一次循环体 例 用do~while循环求 #include stdio.h void main() { int i,sum=0; i=1; do { sum+=i; i++; } while(i=100); printf(%d,sum); } 例 while和do~while比较 #in
文档评论(0)