当前位置:文档之家› C语言:第六章 循环控制

C语言:第六章 循环控制

}
循环结构的程序流程是:
在满足给定条件时,反复执行某个程序段。
C语言中可以用以下语句来实现循环:
⑴ 用goto语句和 if 语句构成循环; ⑵用while语句; ⑶用do_while语句; ⑷用for语句。
6.2 goto语句和goto语句构成的循环
一、 goto 语句(Goto Sentence)
//用while循环语句 void main() {
int i=1; long int sum=1; while (i<=10) {
sum=sum*i; i++; } printf(“10do-while循环语句 void main() {
{ y=y*x; count++;
} …
6.4 do-while循环语句
一般形式: do
语句 while(表达式);
执行过程:
分号不能少
⑴执行循环体中的语句;
⑵计算表达式,测试循环 条件,为真(非0)则重复 上面步骤,为假(0)结束循 环。
例:将上面计算10!并输出结果的程序用do-while语 句写出:
如:上例while语句中用花括号括起来的复合语句。
3. 循环控制变量:在循环条件中控制测试条件为 真或为假的变量。
如:上例while语句中使用的变量 i 。
注意:
⑴循环条件中的表达式一般是逻辑表达式或关系 表达式,也可以是算术表达式(非0为真,0为 假)。一般表达式中应含有循环控制变量。
while (3)
如: √ goto label_1; ╳ goto 123;
说明:
⑴ C语言允许在任何语句前加一个语句标号,作为 goto语句的目标。给语句加标号的形式:
语句标号:语句
⑵ goto语句是一种非结构化语句,结构化程序设 计方法不提倡使用goto语句,因为滥用goto语句 将使程序流程无规律,可读性差。但也不是绝对 禁止使用,只有在能够大大提高程序效率时才使 用。
goto 语句为无条件转向语句,其作用为: 使程序的执行无条件地转移到指定处。
一般形式: goto 语句标号;
执行过程:执行语句时,程序转移到以标号 (定名规则与变量相同)为前缀的语句处继续 执行。
如:向前跳 goto label; …… …… label:语句;
向后跳 label:语句; …… …… goto label;
{
int i=1;
long int sigma=1;
sigma=1*2*3*4*5*6*7*8*9*10;
while (i<=10)
{
sigma=sigma*i;
sigma
i++;
10!=3628800
}
printf(“10!=%ld\n”, sigma); 思考:如果不使用long int,还可
以使用什么变量类型定义sigma
例:计算y=x^n
void main() {
int count=1,n; float x,y=1.0; printf(“Enter the value of x and n : ”); scanf(“%f %d”,&x,&n); while(count<=n)//测试表达式 {
y=y*x; count++; } printf(“\nx = %f; n = %d; x to power n = %f\n”,x,n,y); }
第六章 循环控制 (Cycle Control)
• 了解goto语句和if 语句构成的循环。 • 熟练掌握for循环语句、while循环语句和
do-while 循 环 语 句 , 以 及 break 语 句 、 continue语句的使用。
• 熟练掌握循环结构程序设计的概念及其
程序编制技术。
void main()
一般形式: while (表达式) 语句
执行过程:
⑴ 先计算表达式的值 ; ⑵若表达式的值为真(非0)
时执行循环体中的语 句,然后重复上面步骤。 若表达式的值为假(0) , 则结束循环。
例:将上面计算10!并输出结果的程序用 while语句写出:
//用goto语句
void main() {
int i=1; long int sum=1; loop: if (i<=10)
while (0)
虽然从程序设计的角度上说是不合理的,但却是 合法的。
while (3) 语句 表示无限循环 while (0) 语句 表示不进入循环体
⑵要写出一个正确的循环结构,对控制变量要
做三方面工作:
①控制变量赋初值;
②把控制变量写入正确的循环条件(测试表达式);
③控制变量的更新、调整。 int count=1; … while(count<=n)//测试表达式
Enter the value of x and n : 2.5 4 x = 2.500000; n = 4; x to power n = 39.062500
循环结构的术语
1. 循环条件: 是循环结构中的测试表达式。
如:while(i<=10)
2. 循环体:是在每个循环周期均要执行一次的语 句。循环体可以是任何语句,简单语 句、复合语句、空语句均可以。
void main() { int i=1; long sum=1; loop: if (i<=10)
{ sum=sum*i; i++; goto loop;
} printf(“10!=%ld\n”,sum); }
运行结果:10!=24320 本应是:10!=3628800
6.3 while循环语句
切记:不要从循环体外跳到循环体内!
二、用goto语句和 if 语句构成循环
例:计算10!并输出结果。
void main() { int i=1, sum=1; loop: if (i<=10)
{ sum=sum*i; i++; goto loop;
} printf(“10!=%d\n”,sum); }
{ sum=sum*i; i++; goto loop;
} printf(“10!=%ld\n”,sum); }
//用while循环语句
void main() {
int i=1; long int sum=1; while (i<=10) {
sum=sum*i; i++; } printf(“10!=%ld\n”,sum); }
相关主题