当前位置:文档之家› 全国计算机等级考试2C课程第5讲 循环结构程序设计.ppt

全国计算机等级考试2C课程第5讲 循环结构程序设计.ppt


{
b+=a;
a+=2;
}
printf(“%d,%d\n”,a,b);
}
程序运行后的输出结果是
A)9,18
B)8,11C)7,11
D)10,14
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
14
循环的嵌套
while循环、do while循环、for循环可以互相嵌套, 且层数不限。
(1) while() { …… while() { …… } …... }
100
n
n 1
#include <stdio.h>
main()
{ int i,sum=0;
i=1;
do
{ sum+=i;
i++;
}while(i<=100);
printf("%d",sum);
}
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
7
while和do~while比较
例 while和do~while比较
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
11
for循环
For循环和while循环的比较
for语句最简单的使用,例如:
for(i=1;i<=100;i++) sum=sum+i;
如果用while循环表示,如下所示:
i=1; while(i<=100) { sum=sum+i;
i++; }
if(x>0&&x>max) max=x; } if(max!=-1) printf(“max=%d”,max); }
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
27
利用循环处理素数问题
例程:求100~200间的全部素数。
语句组 break;
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
19
辅助控制语句——break
Break语句举例: 小写字母转换成大 写字母,直至输入非 字母字符
#include <stdio.h> main() { char c;
while(1) { scanf(“%c%*c”,&c);
无限循环: while(1)
2020/8/16
循环体;
作者:张旭仟 版权所有 欢迎盗版
while 假(0)
expr 真(非0)
循环体
3
while循环
例程:用while循环求
100
n
n 1
#include <stdio.h>
循环条件
main()
{ int i,sum=0;
循环初值
i=1;
while(i<=100)
26
利用循环寻找最大数问题
例如:从输入的若干个大于0的数中选出最大值。输-1结束
main() { int x,max,i;
printf(“Enter x(-1 to end): ”); do
scanf("%d",&x); while(x<0&&x!=-1); max=x; while(x!=-1) { scanf("%d",&x);
if(c>='a' && c<='z') putchar(c-'a'+'A');
else if(c>='A' && c<= 'Z') putchar(c);
else break;
} }
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
20
小练习:
有以下程序(2010年3月)
#include<stdio.h>
(2) do { …… do { …… }while( ); …... }while( );
(3) while() { …… do { …… }while( ); ……. }
(4) for( ; ;) { …… do { …… }while(); …… while() { …… } …...
}
2020/8/16
……
23
辅助控制语句—— continue
注意:continue语句只结束本 次循环,而不终止整个循环的 执行,如有下面程序片段:
while(表达式1) {…
if(表达式2) continue; … }
其流程如右图所示:
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
24
辅助控制语句—— continue
while(m!=n)
{
while(m>n) m=m-n;
while(m<n) n=n-m;
}
printf(“%d\n”,m);
}
程序运行后,当输入14 63 <回车> 时,输出结果是 【1】 。
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
5
do~while循环
do~while语句
一般形式:
作者:张旭仟 版权所有 欢迎盗版
2
while循环
while语句
一般形式:
执行流程:
while(表达式) 循环体语句;
特点:先判断表达式,后执行循环体
说明:
循环体有可能一次也不执行
下列情况,退出while循环
条件表达式不成立(为零)
循环体内遇break,return,goto等语句
21
辅助控制语句—— continue
continue语句
功能:结束本次循环,跳过循环体中尚未执行的语句, 进行下一次是否执行循环体的判断
说明: continue语句仅用于循环语句中 一般形式:
continue;
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
22
辅助控制语句—— continue
for语句既可以用于循环次数已经确定 执行流程:
的情况,也可以用于循环次数不确定 而只给出循环结束条件的情况,它完
for
全可以代替while语句 一般形式:
for([expr1]; [expr2] ;[ expr3])
expr1
假(0) expr2
真(非0)
循环体语句;
循环体
说明:
for语句中expr1, expr2 ,expr3 的类型可以 使任意的,也可省略,但分号” ;”不可省
全国计算机等级考试 2C课程
第五讲 循环结构程 序设计
概述
什么是循环?
循环结构是结构化程序设计的基本结构之一,它和顺序 结构、选择结构共同作为各种复杂程序的基本构造单元。
C语言可实现循环的语句:
while 语句 do ~ while 语句 for 语句 goto 语句(不考)
2020/8/16
注意:break语句则是结束整 个循环过程,不再判断执行 循环的条件是否成立,如有 下面程序片段:
while(表达式1) {…
if(表达式2) break;
… }
其流程如右图所示:
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
25
小练习:
有以下程序 (2008年4月)
#include <stdio.h>
显然,用for语句更简单、方便。
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
12
for循环
For循环的用法非常灵活
例如:要使用for循环输出10个字母可以有多种写法:
#include<stdio.h> main( ) { int i;
for(i=0;i<10;i++) putchar(‘a’+i);
}while(i<=10); 句 它处 们理 的同 结一 果问 也题 一p时 样ri, 。nt若 但f("二 是%者如d循果",s环whu体imle一)后;样面,的则
printf("%d",sum)表; 达式一开始}就为假(0值)时,两种循环的
}
结果是不同的。
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
{ sum=sum+i;
循环变量增值
i++; }
循环终值
printf(“ sum=%d\n",sum);
}
循环体
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
4
小练习:
有以下程序(2010年3月)
#include <stdio.h>
main()
{
int m,n;
scanf("%d%d",&m,&n);
真(非0)
while
expr
假(0)
2020/8/16
作者:张旭仟 版权所有 欢迎盗版
18
辅助控制语句——break
break语句使用的场合
switch
expr
case 1
case case 2
case n
default
语句组1 break;
语句组2 …... break;
语句组n break;
#include <stdio.h>
main()
main()
{ int i,sum=0;
相关主题