第5章 控制结构-循环控制

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf ("我能行!"); i ++;
}
特点:先判断,再执行
编码规范:缩进、换行
循环条件 真 循环操作

6
怎样使用while循环3-1.p77-80
如何用程序描述下面这个故事呢?
循环条件 为了备战,令狐冲锲而不舍地练习,盈盈严格把关… “盈盈,怎么样,可以了吗?” “不行,高音部分唱得还不是很好,钢琴还要继续练啊 !” 没有听到“很棒”的评价,看来革命尚未成功, 令狐冲并不气馁: 早上5点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。 循环操作
16
【课堂练习】华氏和摄氏温度的转换公式为C=5/9*(F32),其中C表示摄氏温度,F表示华氏温度。要求从华 氏0度到华氏300度,每隔20度输出一个华氏温度所对 应的摄氏温度值。 #include <stdio.h> int main() { float F=0,C; while( F<=300 ① ) { C=5.0/9*(F-32) ________________ ② ; printf(“4.0f\t%6.1f\n:,F,C); ③ ; F=F+20 } return 0; }
10000米赛跑
锲而不舍地学习
旋转的车轮
循环结构的特点
循环结构 循环条件 循环操作
根据条件重复的做 相同或相似的事情
5
while循环(当型循环).p77-80
符合条件,循环继续执 行;否则,循环退出
while ( 循环条件 ) {
循环操作 } 循环中被重复 执行的操作
int i = 1; while ( i <= 30 ) {
for ( int i = 0 ; i < 100 ; i++ ) { printf ("我最棒"); } 代码规范:格式对齐、代码的缩进
29
条件为true 2 条件判断 ; 表达式 ; 2 循环操作 ; 循环体被执行
4 更新循环变量 表达式3
){
如何使用for循环. p83-86
循环录入某学生第一期的5门课成绩,计算平 均分
使用while循环的步骤
1、分析循环条件和循环操作 2、套用while语法写出代码 3、检查循环是否能够退出
7
怎样使用while循环3-2 .p77-80
比较两个char类型的 值是否相等 char answer; printf("表演得怎么样 ?(y/n):"); answer=getchar(); 循环条件 while (answer!='y') { printf("早上5点开始练声 !\n"); printf("上午练习钢琴 !\n"); printf("下午到声乐老师家练习唱歌 !\n"); printf("晚上练习舞蹈基本功!\n"); printf("表演得怎样 ?(y/n):"); getchar(); answer=getchar(); } printf("圆满完成 !\n");
int i=0; while(i<100) { printf ("我最棒"); i++;
for(int i=0;i<100;i++)
{
printf ("我最棒");
}
}
for比while更简洁
28
什么是for循环. p83-86
for循环的语法和执行顺序 1 for( 参数初始化 表达式1 3 }
循环操作
8
求自然数1到100的和.p77-80
解:1.分析问题
step1: 设两个加数变量 int sum=0,i=1; sum=0,i=1; 0 重复做两个数的加法运算 0 + 1 = 1 1 step2: 当 i<=100 时 1 + 2 3 while(i<=100) 1 2 = { 3 + 3 3 = 6 重复 (循环)做sum+i 6 sum=sum+i; 6 + 4 4 = 10 10+… 其中 sum=前一个sum+i …=最终结果 i=i+1; 10 i =前一个i+1; } step3:第二个加数有规律 输出循环后的结果 :1,2,3 … printf(―和 =%d‖,sum);
printf("我是最棒的!"); printf("我是最棒的!"); printf("我是最棒的!"); printf("我是最棒的!"); printf("我是最棒的!"); printf("我是最棒的!"); …… printf("我是最棒的!");
4
什么是循环
生活中的循环
打印50份试卷
25
#include ―stdio.h‖ int main() { n=101; do { printf(―n=%d\n‖,n); }while(n<100); return 0; }
25
结果分别是多少?
代码填空: 实现整数反转
#include<stdio.h> void main( ) { int val = 12345; int r_digit; printf ("反转后的整数是:"); while(_______){ while(val!=0){ _____________________; r_digit = val %10; _____________________; printf(“%d”,r_digit); _____________________; val = val /10; }} } }
个表达式,运算顺序从左到右
for(i = 0, j = val; i<=val; i++, j-- ){ printf( “%d + %d=%d “,i,j,i+j); }
而第一个加数都是前一个运算的结果
while循环常见问题3-1 .p77-80
//打印4次“欢迎同学” void main(){ int i = 0; while (i < 4 ){ printf(“欢迎同学"); i ++ ; } }
循环一直执行,不会退 出,哪里出错了?
永远都不会退出的循环称为死循环 循环的次数原则上应该是有穷的,也就是说,循环要有出 口,否则成为死循环
do { while循环先判断,再执行 不适合描述此故事 循环操作 }while ( 循环条件 );
18
什么是do-while循环. p80-83
do { 先执行一遍循环操作
循环操作
循环操作

} while ( 循环条件 ); 符合条件,循环继续执行; 否则,循环退出
循环条件 假
特点:先执行,再判断
20
练习
有以下程序段 D int n,t=1,s=0; scanf(“%d”,&n); do{s=s+t;t=t-2;}while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数 据应该是( ) A.任意正奇数 B.任意负偶数 C.任意正偶数 D.任意负奇数
21
练习
2. 若变量已正确定义,有以下程序段: i=0; do printf(“%d,”,i); while(i++); printf(”%d\n”,i); 其输出结果是( ) A.0,0 B.0,1 C.1,1 循环
10
while循环常见问题3-2 .p77-80
/* 打印4次“欢迎同学” */ void main(){ int i= 1; while ( i i<= <4 4 ){ printf (“欢迎同学学员"); i ++; } }
只打印了三 次 ,哪里出 错了?
注意检查循环次数是否满足需求
11
while循环常见问题3-3 .p77-80
使用for循环结构的步骤
1、分析循环条件和循环操作 结合问题1 2、套用for语法写出代码 3、检查循环是否能够退出
循环次数:5 循环条件:循环的次 数不足5,继续循环 循环操作:录入成绩, 计算成绩之和
30
如何使用for循环. p83-86
输出如图所示加法表
1、循环初始化:i = 0;j = 输入值 2、循环条件:i<=输入值 3、循环操作:计算i+j 表达式 4、循环变量的改变:i++ ,j-- 3可以是用“,”隔开的多
26
练习
为什么使用for循环2-1 .p83-86
回顾问题1:令狐冲说一百遍“我最棒” 回顾问题2:根据人数和成绩,计算平均成绩
共同点:确定的循环次数 更优解决 : for 循环结构 解决: 使用 while 循环
27
为什么使用for循环2-2 . p83-86
while循环结构 for循环结构
第五章 控制结构-循环结构
目标
理解为什么使用循环结构 熟练掌握while循环的使用 熟练掌握do-while循环的使用 理解while 和 do-while 循环的区别 熟练使用for循环 理解 break 和 continue 语句的用法 熟练使用嵌套循环
2
为什么需要循环2-1
14
练习
选择题。在while(x)语句中的x与下面的 条件表达式等价的是________。 A. x==0 B. x==1 C. x!=1 D. X!=0 x!=0
15
练习
有以下程序 main() { int y=10; while(y--); printf(“y=%d\n”,y); } 程序执行后的输出结果是( ) B.y=-1 A.y=0 C.y=1 D.while构成无限循环
/* 打印4次“欢迎同学” */ void main(){ int i = 0; while ( i < > 5 ){ printf("欢迎欢迎同学"); i ++; } } 一次都没有打 印,哪里出错 ห้องสมุดไป่ตู้?
注意:如果一开始条件就不满足,while循环一次都不执行
12
练习
[课堂练习]找出100以内的奇数。
#include <stdio.h> int main() { int sum=0,i=1; while(i<=100) { sum=sum+i; i=i+2; } return 0; }
13
练习
2006年在校学生1万人,每年增长25%, 请问按此增长速度,到哪一年在校学生 人数将达到10万人?
提示: 1、循环条件和循环操作分别是什么? 2、int year = 2006; double students = 10000; while … 3、2007年在校学生数量 = 10000 * (1 + 0.25 )
初始情况不满足循环条件时
while循环一次都不会执行 do-while循环不管任何情况都至少执行一次
24
比较while和do-while
[注]通常情况while,do—while可互换,但以下情况例外
#include ―stdio.h‖ int main() { n=101; while(n<100) { printf(―n=%d\n‖,n); } return 0; }
17
练习
do-while循环(直到型循环).p80-83
如何用程序讲述下面的故事?
苦练半年,眼看大赛在即, 盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排, 直到现场表现让她满意为止! 他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?……
while (循环条件){ 循环操作 }
盈盈为了考验令狐冲夺冠的决心,要他说一百遍 “我能行!”
printf("第1次说:我能行!"); 100条 printf("第2次说:我能行!"); …… printf("第100次说:我能行!");
盈盈要他说10000遍“我是最棒的!”,怎么办?
3
为什么需要循环2-2
没有使用循环结构 使用while循环 int i = 1; while ( i<=10000 i <= 100 ) { printf(" 我能行! "); "); "我是最棒的! i ++; }
19
怎样使用do-while循环. p80-83
先执行一遍循环操作
char answer; do { printf("唱歌 !\n"); printf("演奏肖邦钢琴曲 !\n"); printf("可以了吗 ?(y/n):"); answer=getchar(); } while (answer!='y' ) ; 循环条件 printf("大功告成 !\n");
B
D. 程序进入死
22
练习
输入一行字符,分别统计字母、数字、和其 它字符的个数。
23
比较while和do-while
while循环和do-while循环的区别
语法不同
先执行,再判断
while ( 循环条件 ) {
循环操作 } 先判断,再执行
do { 循环操作 } while( 循环条件 );
相关文档
最新文档