欢迎来到天天文库
浏览记录
ID:50320661
大小:1.58 MB
页数:22页
时间:2020-03-08
《C语言程序设计基础 教学课件 作者 马华 李玉娟 第4章 循环结构程.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章循环结构程序设计学习目标掌握while语句的格式和执行流程掌握do_while语句的格式和执行流程掌握for语句的格式和执行流程掌握多重循环的格式和执行流程掌握break、continue语句的作用内容组织4.1蜡烛燃烧之谜——while语句4.2口令程序——do-while语句4.3阶乘问题——for语句4.4杨辉三角形问题——多重循环4.5综合应用4.1蜡烛燃烧之谜苏联著名数学家R.H.别莱利曼在他的书中记录了一道题目:蜡烛燃烧之谜。题目是这样的:房间里电灯突然熄灭:保险丝烧断了!我点燃了书桌上备用的两支蜡烛,在烛光下继续工作,直到电灯修好。第二
2、天,需要确定昨晚断电共有多长时间。我当时没有注意昨晚断电的时间,也没有注意什么时间来的电。我也不知道蜡烛的原始长度。我只记得两支蜡烛是一样长的,但粗细不同,其中粗的一支能用5小时(完全用完),细的一支能用4小时。两支蜡烛都是经我点燃的新烛。我没有找到蜡烛的剩余部分,家里人把它扔掉了。“残烛几乎都烧光了,不值得保留”。家里人这样回答。“你还记得残余部分有多长吗?”“两支残烛不一样。一支残烛的长度等于另一支的4倍。”我无法知道得更多了,只好根据以上资料,推算出停电的时间。4.1.2while语句格式1:while(循环条件)循环体;格式2:while(循环条件
3、){循环体;}执行流程例4.1编写程序计算前100个自然数的和:1+2+3+…+100。#includeintmain(void){intj=1,sum=0;while(j<=100){sum=sum+j;j++;}printf("sum=%d",sum);return0;}4.1.3程序解析(1)变量名作用类型值x燃烧时间float从0递增a剩余粗烛长度float从1到1-x/5b剩余细粗长度float从4到1-x/4表4-2变量表4.1.3程序解析(2)定义double型变量x=0,a,b;a=1-x/5;b=1-x/4;输出x的
4、值x=x+0.0001;a=1-x/5;b=1-x/4;a<4*b流程图4.1.3程序解析(3)#includeintmain(void){doublex=0,a,b;a=1-x/5;b=1-x/4;while(a<4*b){x=x+0.0001;a=1-x/5;b=1-x/4;}printf("停电时间:%f小时。",x);return0;}4.2口令程序问题描述:用户进入某系统,有3次键盘回答口令的机会。3次中任何一次回答正确均可进入系统(显示“Youarewellcome!”),否则不能进入系统(显示“Sorry!”)。(本例设
5、口令是6位自然数123456)涉及知识点do-while语句(直到型循环),break语句。4.2.2do-while语句格式:do{循环体;}while(循环条件);循环体循环条件执行过程4.3.4转移语句break语句格式:break;功能:break语句放在switch语句或循环体中可以立即终止本循环的执行,而转去执行循环结构的下一语句处。说明:break语句只用于循环语句或switch语句中。循环语句可以嵌套使用,break语句只能跳出(终止)其所在的循环,而不能一下子跳出多层循环。例4.9从键盘上连续输入字符,并统计其中大写字母的个数,直到输入“
6、换行”字符时结束。#includeintmain(void){charch;intsum=0;printf("Input1linecharacters:");while(1){ch=getchar();if(ch=='')break;if(ch>='A'&&ch<='Z')sum++;}printf("Uppercharactershave:%d",sum);return0;}4.3.4转移语句continue语句格式:continue;功能:结束本次循环。即跳过本层循环体中余下尚未执行的语句,接着再一次进行循环条件的判定。说
7、明:执行continue语句并没有使整个循环终止。例4.11从键盘输入30个字符,并统计其中数字字符的个数。#include"stdio.h"intmain(void){intsum=0,i;charch;for(i=0;i<30;i++){ch=getchar();if(ch<'0'
8、
9、ch>'9')continue;/*终止本轮循环,但未跳出循环结构*/sum++;}printf("sum=%d",sum);return0;}4.2.3程序解析(1)变量名作用类型值password用户每次回答的口令long键盘输入i回答口令的次数inti++fla
10、g口令正误标志int0或1表4-3变量表4.2.3程序解析(2)定
此文档下载收益归作者所有