第五章循环结构程序设计
1
循环结构Loop Iteration Repetition
循环:就是在给定的条件成立时反复执行 某一程序段,被反复执行的程序段 称为循环体。
C语言中用以下三种语句结构来实现循环:
1、用while语句("当"循环)
2、用do-while语句("直到"循环)
3、用for语句("计数"循环)
2
通过与if语句的对比可准确理解while循环语句
int x=1;
if(x<6){
printf("%d\t",x);
x++;
}
int x=1;
while(x<6){
printf("%d\t",x);
x++;
}
不同点:
只要条件为真, if语句就执行主体语句一次。
只要条件为真, while语句就一直重复执行主体语句。
3
while语句
1、while 语句常称为“当型”循环语句。
循环体
!0
0
表达式
4
2 、while 语句的形式:
while (表达式)
{ 循环体;}
特点:先判断表达式,后执行语句。
说明: ●循环体有可能一次也不执行 ●循环体可为任意类型语句 ●下列情况,退出while循环
条件表达式不成立(为零)
循环体内遇break,return,goto
无限循环:
while(1) { 循环体; }
5
main(){
int i=1,sum=0;
while(i<=100){
sum+=i;
i++;
}
printf("%d",sum);
getch();
}
例: 求1+2+3+4+5+···+100。
循环初值
循环终值
循环条件
循环体
循环变量增值
6
例: 一分数序列 2/1,3/2,5/3,8/5,13/8,……
求出这个数列的前20项之和。
分析:a0=2,b0=1;a1=a0+b0,b1=a0=a1-b0 得算法为:a=a+b; b=a-b;
main(){
int i=1;
float a=,b=,sum=;
while(i<=20){
printf("%.0f/%.0f + ",a,b);
sum+=a/b;
a=a+b;
b=a-b;
i++;
}
printf("\n= %f",sum);
getch();
}
运行结果:
7
do-while语句
1、do-while语句常称为"直到型"循环语句
循环体
!0
0
表达式
8
2、do--while的形式:
do {
循环体;
}while (表达式);
特点:先执行,后判断。
说明:
至少执行一次循环体
do~while可转化成while结构
例:用do~while求1+2+3+4+5+···+100
main(){
int i=1,sum=0;
do{
sum+=i;
i++;
}while(i<=100);
printf("sum=%d",sum);
getch();
}
9
1. 循环体应该用花括号括起来,以复合语句形式出现。
2. 循环体中应有使循环趋于结束的语句。
例:分析下列二个程序段
使用循环结构要注意:
int i=1;
while(i<=10){
putchar('*');
i++;
}
int i=1;
while(i<=10)
putchar('*');
i++;
10
c5第五章 循环结构程序设计(2011) 来自淘豆网m.daumloan.com转载请标明出处.