第4章 循环结构ppt课件.ppt

第4章 循环结构ppt课件.ppt

ID:59017526

大小:269.00 KB

页数:33页

时间:2020-09-26

第4章 循环结构ppt课件.ppt_第1页
第4章 循环结构ppt课件.ppt_第2页
第4章 循环结构ppt课件.ppt_第3页
第4章 循环结构ppt课件.ppt_第4页
第4章 循环结构ppt课件.ppt_第5页
资源描述:

《第4章 循环结构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.5整数的位数例4.9输入一个整数n(int范围内),输出n的位数。4.5.1程序解析方法1:n最多是一个10位数,用10个分支的elseif语句不推荐!没有循环和结构化变量的程序不值得编写思路分析:反复除以10取整,看看多少次之后n变成0,n就有多少位。digits=0;//位数初始化为0当n非0,重复如下操作{n=n/10;//扔掉n的个位数字digits++;//位数加1}例4.9参考程序#includeintmain(){intn,digits;scanf("%d",&n);digits=0;//位数初始化为0while(n!=0)//当n非0,重复如下操

2、作{n=n/10;//扔掉n的个位数字digits++;//位数加1}printf("%d",digits);return0;}while循环:当n!=0为真时,重复执行循环体本程序有bug。考虑:如果输入0,输出什么?if(n==0)digits=1;4.5.2while语句while(表达式)循环体语句;功能:表达式为真时,重复执行循环体语句真假while下一条语句表达式循环体语句while(n!=0)//当n非0{n=n/10;//扔掉n的个位数字digits++;//位数加1}n!=0n=n/10;digits++;课堂练习:以下程序段的运行结果?(1)i=0;while

3、(i<5){printf("i=%d",i);i++;}i=0i=1i=2i=3i=4请用for循环改写这个程序段:for(i=0;i<5;i++){printf("i=%d",i);}课堂练习:以下程序段的运行结果?(2)i=k=1;while(i<5){k+=i;printf("i=%d,k=%d",i,k);}i=1,k=2i=1,k=3i=1,k=4i=1,k=5i=1,k=6……死循环!i<5永真课堂练习:以下程序段的运行结果?(3)i=0;while(i=4){printf("**");i+=2;}******……死循环!无论i值在循环体中如何变化,赋值表

4、达式i=4为永真,是死循环。课堂练习:以下程序段的运行结果?(4)i=0;while(i==4){printf("i=%d"i);i+=2;}无输出进入循环时首先测试i==4的值为假,结束循环。循环体一次也不执行,无输出。while语句和for语句表达式1;while(表达式2){for的循环体语句;表达式3;}把for语句改写成while语句for(表达式1;表达式2;表达式3)循环体语句while语句和for语句for(i=1;i<=10;i++)sum=sum+i;i=1;//循环变量赋初值while(i<=10){//循环条件sum=sum+i;i++;//循环变量的改变

5、}把for语句改写成while语句模仿练习输入一个正整数n,逆序输出n的各位数字,用空格隔开。4.5.3求若干学生的总成绩4-10从键盘输入一批学生的成绩,计算平均分。输入负数表示输入结束。问题分析:求累加和确定循环条件:不知道输入数据的个数,无法事先确定循环次数用一个特殊的数据(比如一个负数)作为正常输入数据的结束标志。思路分析:(1)定义变量score,sum;(2)读入一个成绩score;(3)while(score>=0),做{把成绩累加到sum上;读下一个学生成绩;}(4)输出总成绩sum为什么要先读入一个成绩?因为进入while循环首先先进行score>=0的判断读入下一

6、个成绩,为下一次循环做准备参考程序//计算总成绩#includeintmain(void){doublescore,sum;sum=0;scanf("%lf",&score);while(score>=0){sum=sum+score;scanf(“%lf”,&score);}printf(“%.2f",sum);return0;}//计算总成绩,逗号表达式#includeintmain(void){doublescore,sum;sum=0;while(scanf(“%lf”,&score),score>=0){sum=sum+score;}

7、printf(“%.2f",sum);return0;}while中的表达式是一个逗号表达式,先执行scanf,读入一个实数存入score,然后判断score>=0,并将其值作为逗号表达式的值例4.11输入一行字符,以回车结束。统计其中英文字母、数字字符和其他字符的个数。4.5.4字符的分类统计思路分析:(1)定义相关变量i,letter,digit,other,ch,并初始化(2)当读入的字符ch不是回车符{if(ch是字母)letter增1else

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。