C语言教程—第6章_循环
《新编C语言程序设计教程》课件第6章
第 6章 循环结构程序设计
6.1 while语句 6.2 do-while语句 6.3 for语句 6.4 终止循环语句 6.5 多重循环 6.6 程序设计举例
第 6章 循环结构程序设计
6.1 while语句
格式: while (条件表达式)
其中,条件表达式描述进行循环的条件,语句描述要反复执行 的操作,称为循环体。
for(i=1;;i++) sum+=i
第 6章 循环结构程序设计
(4) 表达式3也可省略,分号也不能省,此时循环体中应有改 变循环条件的语句。例如:
for(i=1;i<=100;) {sum+=i;i++;}
(5) 当缺省表达式1、表达式2、表达式3中的一个、二个或全 部,或当采用逗号表达式时,可产生for语句的多种变化形式。
第 6章 循环结构程序设计
6.2 do-while语句
do–while语句是while语句的倒装形式。 格式:
do 语句 while (条件表达式)
功能:先执行循环,再计算条件表达式的值。当条件表达式的 值为真时,代表循环的条件成立,则继续执行循环。当条件表达 式的值为假,代表循环的条件不成立,则退出循环,执行循环的 下一条语句。
do–while语句反复执行循环,直到循环的条件不成立时为止。
第 6章 循环结构程序设计
说明:
(1) do–while语句是先执行,后判断。如果循环的条件一开始 就不成立,循环也将执行一次。
(2) 与while语句一样,循环体中同样必须有改变循环条件的语 句,否则循环将不能终止,形成无限循环。
(3) 循环体为多条语句时必须采用复合语句。 (4) 当循环条件为永真条件时,将变成无限循环。
C语言课件教学第6章循环
{…
{…
{
while( )
do
for(;;)
{…}
{… }
{… }
}
while( );
}
} while( );
6.6 循环的嵌套
(4) while( ) (5) for(;;)
{…
{…
do{…}
while( )
while( )
{}
{…}
…
}
}
(6) do {… for(;;){ } … } while( )
一般形式: for(表达式1;表达式2;表达式3) 语句
6.5 用for 语句实现循环
for语句的执行过程: (1) 先求解表达式1。 (2) 求解表达式2,若其值为真(值为非0),则执
行for语句中指定的内嵌语句,然后执行下 面第(3)步。若为假(值为0),则结束循环, 转到第(5)步。 (3) 求解表达式3。 (4) 转回上面第(2)步骤继续执行。 (5) 循环结束,执行for语句下面的一个语句
6.1 概述
什么是循环?
100
问题1:y n
为什么要使用循环?
n1
问题2:求学生平均成绩 分数相加后除以课数
在许多问题中需要用到循环控制。循环结构是结构化 程序设计的基本结构之一,它和顺序结构、选择结构 共同作为各种复杂程序的基本构造单元。
6.2 goto语句以及用goto语句构成循环
goto语句——无条件转向语句 goto 语句标号;
6.5 用for 语句实现循环
执行表达式1
循环初始条件
表达式2? 不成立
成立
执行语句 执行表达式3
执行for循环之后的语句
循环控制条件
C语言程序设计实用教程_第6章循环语句
2010-10
6.4 break和continue语句
语句的语法格式与执行过程 break和continue语句是用关键字break或continue加上分号构成 的语句,例如: break; 可以在循环体中可以使用break语句和continue语句。 ◆如果在某次循环中执行了break语句,那么整个循环语句就结束。 ◆如果在某次循环中执行了continue语句,那么本次循环就结束,即不再 执行本次循环中循环体里continue语句后面的语句,而转入进行下一次循 环。 例子13(example6_13.c) 完成使用continue语句输出了英文字母表中除了字母a,m和z的全部字母。 完成在while语句中使用break语句计算了满足1+2+…+n<=1931918的最大整 数n。
2010-10
9
2010-10
ห้องสมุดไป่ตู้
4
6.2 do-while循环语句
语句的语法格式与执行流程 while语句的语法格式: do { 若干语句 } while(表达式); 该语句的格式中包括三部分: ◆ do关键字。 ◆ do之后的一条复合语句,称做do-while语句 的循环体。循环体只有一条语句时,大括号{}可 以省略,但最好不要省略,以便增强程序的可读 性。 ◆ while 后 面 一 对 小 括 号 中 的 表 达 式 , 称 为 while语句的循环条件(注意,小括号后面有分 号)。 例子9(example6_9.c)完成猜数字游戏 。
《C语言程序设计实用教程》
第6章
循环语句
Power point 制作:耿祥义 张跃平
2010-10
1
主要内容及难点
2010-10
C语言课件 第6章 循环结构
本例的特点是: 虽然“循环次数事先不确定”,但已知“循环结 束的条件”,因此采用“结束标志控制法”来 控制循环的进行。 程序中用-1作为结束标志,当读取到该数时,循 环体中的if语句的条件成立,便结束循环。 结论:此处break语句作用是提前结束它所在的循 环。即在循环条件成立的情况下跳出循环。通 常与if语句连用,即当满足某条件时,结束循环。 而且break语句只能用在switch 和循环语句 (while、do_while、for)中。
Break语句:用于结束循环
main() /*例6.5可改用以下程序实现*/ { float score,sum=0; int n=0; while(1) /*无条件循环:表达式永为“真”*/ { printf("\n enter a score(-1 for end):"); scanf("%f",&score); if(score== -1) break; /*利用break语句跳出该循环*/ else { sum+=score; n++;} } printf("\n n=%d,aver=%f",n,sum/n); }
6.2 while语句
While 语句的一般格式: while( 表达式) /*表达式为循环条件*/ 循环体语句 其中,循环体语句可以是简单语句、复合语句或空语句。 如本例中循环体为复合语句{ p=p*k; k++; } 分析例6.3,可得while语句的执行过程为: ① 计算while后条件表达式的值。 ② 若表达式的值为真,则执行循环体语句,然后转①; 否则,退出循环,即结束while语句。 流程图(见下页)
start
C语言(谭浩强版)第6章循环控制ppt课件
main() { int i,sum=0;
for(i=1;i<=100;i++) sum+=i;
printf("%d",sum); }
. 11.08.2020 11.08.2020
expr1; while(expr2) {
循环体语句; expr3; }
C语言程序设计
条件表达式不成立(为零) 循环体内遇break,return,goto
❖无限循环: while(1)
循环体;
. 11.08.2020 11.08.2020
100
例 用while循环求
n
n 1
#include <stdio.h>
void main()
{ int i,sum=0;
循环初值
i=1;
while(i<=100)
}
.
11.08.2020 11.08.2020
C语言程序设计
循环条件
sum=0+1 sum=1+2=3 sum=3+3=6 sum=6+4 …… sum=4950+100=5050 循环终值
循环体
C语言程序设计
例 从键盘输入一组数据,以0结束输入,求数据和
#include <stdio.h>
void main()
i++; } }
. 11.08.2020 11.08.2020
运行结果: 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100
c语言第六章总结
c语言第六章总结
c语言第六章主要讲解了循环结构,循环结构是程序中最常用的控制结构之一,它可以重复执行一段代码,直到满足某个条件才停止。
循环结构有三种:while循环、do-while循环和for循环。
while循环先判断条件是否成立,如果成立则执行循环体中的代码,执行完后再判断条件是否成立,如果成立则继续执行,直到条件不成立为止。
do-while循环与while循环相似,但是它先执行一遍循环体中
的代码,然后再判断条件是否成立,如果成立则继续执行,直到条件不成立为止。
for循环是最常用的循环结构,它由三部分组成:循环变量的初始化、循环条件和循环变量的修改。
它先执行一遍循环变量的初始化,然后判断循环条件是否成立,如果成立则执行循环体中的代码,执行完后再执行循环变量的修改,再判断循环条件是否成立,如此反复执行,直到条件不成立为止。
除了以上三种循环结构,还有一种特殊的循环结构——无限循环,在循环体中使用break语句可以退出循环。
循环结构的运用可以让程序更加灵活,可以重复执行一些操作,减少代码冗余,提高代码的效率。
同时,循环结构也需要谨慎使用,如果循环条件不当或者循环体中的代码不正确,就会导致程序出错或者死循环的情况发生。
在使用循环结构时,需要注意一些问题,如循环变量的初始化、
循环条件的设置、循环变量的修改、循环体中的代码等,只有掌握了这些问题,才能写出正确的循环结构。
C语言程序设计教程 第6章
模块设计的原则
模块独立
规模适当
层次分明
2017/8/21
功能专一
12
独立性原则表现在模块完成独立的功能 , 和其它模块间的关系简单 , 各模块可以单独调 试。修改某一模块 , 不会造成整个程序的混乱。
每个模块有特定功能
每个模块完成一个相对独立的特定子功能。在对任务逐步 分解时,要注意对问题的综合。例如, 一些模块的相似的 子任务,可以把它们综合起来考虑,找出它们的共性,把它 们做成一个完成特定任务的单独模块。
返回值
另外请注意这样的判断,如写成‘ 最好只使用局部变量,这样将方便调试。 如果不需返回则可 调用函数时输入参数的格式要与之相同 return 0; A‟<capital<„Z‟是不行 注意不要与已有库函数重名 的 2017/8/21
24
“函数”的主要知识点
函数的定义 函数的参数和返回值 函数的调用 嵌套和递归 变量的作用域
2017/8/21
18
例6.2 设计算法:找出a,b两数中的较大者,并输出
分析: 这个问题分三个步骤: • 输入两个数; • 找出其中的大数; • 输出大数。
2017/8/21
19
开始
输入a,b
0 a<b 非0 交换a,b 输出a
结束
2017/8/21
图6.3 找出a,b两数中的较大者算法流程图
2017/8/21
34
函数返回值
函数返回值通过return语句获得 函数返回值的类型就是函数的类型 return y; 将变量y的值返回给调用者 return y+3; 将表达式的值返回给调用者
2017/8/21 35
return 的数据类型与函数的类型矛盾时,自动 将数据转换成函数的类型
C程序课件第6章循环
3/20/2021
17
构成此循环的N-S图如下所示:
0 => a ,输入n的值
a+2=> a a+1=> a 直到n<=0为止
3/20/2021
18
对于do-while语句还应注意以下几点: 1)在if语句,while语句中,表达式后面 都不能加分号,而在 do-while语句的表达 式后面则必须加分号。
do-while语句和while语句的区别在于 do-while是先执行后判断,因此dowhile至少要执行一次循环体。而while 是先判断后执行,如果条件不满足,则 一次循环体语句也不执行。
3/20/2021
16
while语句和do-while语句一般都可以 相互改写。
例EX6_3_2 用do-while改写EX6_3 void main() { int a=0,n; printf("Input n:\n"); scanf("%d",&n); do { printf("%d ",a++*2); } while (--n); }
32
(3) while( ) {… for( ) {…} … }
(4) for( ) {… for( ) {…} … }
除了以上几种形式外,还有其他形 式,不一一列举。
3/20/2021
33
例EX6_8 应用循环嵌套打印图形 void main() { int i,j,k; for(i=1;i<=3;i++) { for(j=1;j<=3-i+5;j++) printf(" "); for(k=1;k<=2*i-1+5;k++) { if(k<=5) printf(" "); else printf("*"); } printf("\n"); } }
C语言程序设计PPT课件第6章 循环控制结构
猜数游戏用到的库函数
每次运行程序时计算机所“想”的数都是一样的, 这是什么原因呢? – 函数rand()产生的只是伪随机数 随机函数srand – 为函数rand()设置随机数种子来实现对函数rand所产
生的伪随机数的 “随机化”
通过输入随机数种子,产生[0,100]之间的随机数
循环条件第一次就为假(如 输入-1)时会怎样?
16/63
【例6.1】计算并输出1+2+3+…+n的值
条 件P
真 假 假
当 型 循 环
A
2018/12/11 Testing Condition First
17/63
【例6.1】计算并输出1+2+3+…+n的值
A
假
条 件P
真
直 到 型 循 环
2018/12/11
使用了6个不同的变量 start Input n1 Input n2 Input n3 input n4 input n5 sum ← n1+n2+n3+n4+n5
n1
n2
2
3
n3
n4 n5
sum
4
5
6
20
output sum
2018/12/11
end
4/63
6.1循环控制结构与循环语句
如何对循环进行控制呢?
第6章 循环控制结构
本章学习内容
计数控制的循环 条件控制的循环 for语句,while语句,do-while语句 continue语句,break语句 嵌套循环 结构化程序设计的基本思想 程序调试与排错
c语言循环知识点总结
c语言循环知识点总结1. for循环for循环是C语言中最常见的循环结构之一,它的语法格式如下:```cfor (初始化表达式; 循环条件表达式; 循环控制表达式) {// 循环体}```其中,初始化表达式用于初始化循环变量,循环条件表达式用于判断是否继续执行循环,循环控制表达式用于更新循环变量的值。
在执行for循环时,首先执行初始化表达式,然后进行循环条件判断,如果循环条件为真,则执行循环体,并且在执行完循环体后执行循环控制表达式,然后再次进行循环条件判断,依次循环下去,直到循环条件为假为止。
例如,下面的代码展示了一个简单的for循环的例子:```cfor (int i = 0; i < 5; i++) {printf("Hello, world!\n");}```这段代码的输出结果是打印5次"Hello, world!"。
在使用for循环时需要注意以下几点:- 初始化表达式、循环条件表达式和循环控制表达式都可以是多个表达式,用逗号隔开。
- 循环体可以是一个语句块,用花括号括起来。
- 循环条件表达式的值必须是一个逻辑表达式,其值为真时循环继续执行,为假时循环结束。
- for循环的三个表达式都可以省略,但是分号必须保留,如for (;;) {},这样的for循环将会成为一个无限循环。
2. while循环while循环是另一种常用的循环结构,它的语法格式如下:```cwhile (循环条件表达式) {// 循环体}```在执行while循环时,首先对循环条件表达式进行判断,如果为真则执行循环体,然后再次对循环条件表达式进行判断,依次循环下去,直到循环条件为假为止。
例如,下面的代码展示了一个简单的while循环的例子:```cint i = 0;while (i < 5) {printf("Hello, world!\n");i++;}```这段代码的输出结果和上面for循环的例子是一样的。
c语言课件第6章_循环_2007
循环结构的术语
1. 循环条件 是循环结构中的测试表达式. 循环条件: 是循环结构中的测试表达式. 如:while(i<=10) 2. 循环体 是在每个循环周期均要执行一次的语 循环体:是在每个循环周期均要执行一次的语 语句可以是任何语句,简单语句, 句.语句可以是任何语句,简单语句, 复合语句,空语句均可以. 复合语句,空语句均可以.
执行过程: 执行过程:
求出表达式1的值 的值, ⑴ 求出表达式 的值, 若表达式1是逗号表达 (若表达式 是逗号表达 则依次计算); 式,则依次计算); 表达式2"进行判断 进行判断, ⑵ 对"表达式 进行判断, 为假退出循环,否则转⑶ 为假退出循环,否则转⑶; ⑶执行循环体中语句; 执行循环体中语句; ,(若 ⑷执行"表达式3",(若 执行"表达式 ,( 表达式3是逗号表达式 是逗号表达式, 表达式 是逗号表达式, 则依次计算). 则依次计算). 转向⑵ ⑸ 转向⑵.
6.3 while循环语句 while循环语句
一般形式: 一般形式: 执行过程: 执行过程: ⑴ 先计算表达式的值 ; ⑵若表达式的值为真(非0) 若表达式的值为真 非 时执行循环体中的语 句,然后重复上面步骤. 然后重复上面步骤. 若表达式的值为假(0) 若表达式的值为假 , 则结束循环. 则结束循环. while (表达式 语句 表达式) 表达式
第六章 循环控制 (Cycle Control)
了解goto语句和 语句构成的循环. 了解goto语句和if 语句构成的循环. 语句和if 熟练掌握for 循环语句 while循环语句 熟练掌握 for循环语句 , while 循环语句 循环语句, 和 do-while 循环语句 , 以及 break语句 , do-while循环语句 以及break 语句 循环语句, 语句, continue语句的使用 continue语句的使用. 语句的使用.
C语言程序设计 第3版 第6章 循环结构程序设计
运行结果: 1↙ sum=55 再一次运行: 11↙
sum=11
C语言程序设计
3. for语句
语句介绍 简单应用
for语句的格式:
for(初始值;条件;增量) {
循环体; }
执行描述:
(1)计算初始值(只执行一次)。 (2)判断条件,如果值为真,则执行步骤(3),否则跳出循环体,继续执行
真 i≤100
假
}
运行结果
sum=5050
C语言程序设计
2. while与do while语句
while do while 语句比较
while语句和do while语句的比较 :
两个程序运行结果在输入i=1的时候结果相同,因 为第一次判断条件表达式符合要求;在输入i=11的 时候结果不相同,因为第一次判断条件表达式就不 符 合 要 求 , while 语 句 没 有 执 行 循 环 体 , 而 do while语句至少执行一次循环体。
执行描述:
(1)计算while后面的表达式值,如果值为真,则执行步骤(2),否则跳出循环
体,继续执行该结构后面的语句。
(2)执行循环体语句。(3)Fra bibliotek复执行步骤(1)。
C语言程序设计
2. while与do while语句
while do while 语句比较
流程图:
假 表达式
真 语句
注意说明:
(1)循环的结束由while后面的表达式控制,循环体 中必须有改变循环控制变量值的语句,使循环倾向于结 束,否则出现死循环,无法结束。 (2)循环体如果有一条以上的语句,应该用大括号括 起来,如果只有一条语句,大括号可以省略。
c语言循环课件资料
例:求100 ~200之间的全部素数。 算法:枚举100 ~200之间的素数。
#include <stdio.h> int main() { int i,m; for(m=101; m<200; m=m+2) for (i=2 ; i<=m-1 ; i++) if (m % i==0) break; if (i==m) printf("Yes\n"); else printf("No\n"); return 0; }
使用说明:
1)循环变量应该在循环体外初值;
2)在while的循环体中一定要有改变循环变量的 值以使循环条件为假的语句,否则将形成死循 环;
1)循环变量、累加变量、累乘变量都 要在循环体外初值; 2)在循环体中要有改变循环变量的值 的语句。
例:累加
求:1+22+32+……+102 的值 #include "stdio.h" int main()
计算下一项t
pi=pi*4 输出pi
#include "math.h" int main( ) { int s; float n, t, pi; n=1.0; s=1; t=1.; pi=0; { pi=pi+t; n=n+2.0; s=-s; t=s/n; } printf("PI=%10.6f\n", pi*4); return 0; }
例3.14 5 6 7 8 9 10 for (x=0; x<=20; x++) for (y=0; y<=33; y++) { z=100-x-y; if (z%3==0 && 5*x+3*y+z/3==100)
C语言第四版课件第6章-循环控制
源程序: #include<stdio.h> void main( ) { int sum=0,i;
scanf(“%d”,&i); do { sum=sum+i;
i=i+1;} while ( i<=100 ); printf(“sum=%d\n”,sum); }
2021/8/2
14
while和do while循环
一般形式:do
语句; while(表达式)
#include <stdio.h> main() { int i,sum=0;
i=1; do { sum=sum+i;
i=i+1; } while(i<=100); printf("%d",sum); }2021/8/2
执行流程:
do
循环体
真(非0)
while expr
循环变量增值
i++;
goto loop;
}
printf("%d",sum);
}
循环条件 循环变量初值 循环变量终值
循环体
2021/8/2
6
循环的概念
循环程序设计:在满足循
环条件时,反复执行循环体 中的语句。
循环的特点:
循环体中的语句,在条件 满足的情况下,可反复执 行
循环构成:
1循环条件(循环变量)
goto 语句标号; ……
标号:语句;
#include <stdio.h> main() { int i,sum=0;
i=1; loop: sum+=i;
❖功能:无条件转移语句
❖作用:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章要点
循环的基本概念 不同形式的循环控制 多重循环问题
主要内容
6.1 概述 goto语句以及用goto语句构成循环 语句以及用goto 6.2 goto语句以及用goto语句构成循环 6.3 用while语句实现循环 while语句实现循环 do-while语句实现循环 6.4 用do-while语句实现循环 6.5 用for 语句实现循环
语句和goto语句构成循环,求1到100的和 语句构成循环, 例6.1 用if语句和 语句和 语句构成循环 到 的和 void main( ) { int i, sum=0; i=1; loop: if(i<=100) { sum=sum+i; i++; goto loop; 说明: } 说明:这里用的是“当型”循环 printf("%d\\n″,sum); 结构,当满足“i<=100” 时 } 执行花括弧内的循环体。
C语言程序设计(第三版) 语言程序设计 第三版)
17
§ 6.5 用for 语句实现循环
执行表达式1 执行表达式 表达式2? 表达式
成立 不成立
循环初始条件 循环控制条件
执行语句 语句 执行表达式3
循环体 for语句等价于下列语句: 语句等价于下列语句: 语句等价于下列语句 表达式1; 表达式 ; while (表达式 ) 表达式2) { 语句; 语句; 表达式3; 表达式 ; }
C语言程序设计(第三版) 语言程序设计 第三版)
21
§ 6.5 用for 语句实现循环 说明: 说明:
(3) 表达式3也可以省略,但此时程序设计者应另外设 法保证循环能正常结束。如: 如 for(i=1;i<=100;) {sum=sum+i;i++;} 在上面的for语句中只有表达式1和表达式2,而没有 表达式3。i++的操作不放在for语句的表达式3的位置 处,而作为循环体的一部分,效果是一样的,都能使 循环正常结束。
C语言程序设计(第三版) 语言程序设计 第三版)
16
§ 6.5 用for 语句实现循环
for语句的执行过程: for语句的执行过程: 语句的执行过程
(1) 先求解表达式1。 (2) 求解表达式2,若其值为真(值为非0),则执 行for语句中指定的内嵌语句,然后执行下 面第(3)步。若为假(值为0),则结束循环, 转到第(5)步。 (3) 求解表达式3。 (4) 转回上面第(2)步骤继续执行。 (5) 循环结束,执行for语句下面的一个语句
(1) 与if语句一起构成循环结构; (2) 从循环体中跳转到循环体外。
但是这种用法不符合结构化原则,一般不宜采 用,只有在不得已时(例如能大大提高效率)才使 用.
C语言程序设计(第三版) 语言程序设计 第三版)
7
100
∑n
n =1
运行结果: 运行结果:5050
C语言程序设计(第三版) 语言程序设计 第三版) 15
§ 6.5 用for 语句实现循环
C语言中的for语句使用最为灵活,不仅可以用于 循环次数已经确定的情况,而且可以用于循环次 数不确定而只给出循环结束条件的情况,它完全 可以代替while语句。 一般形式: 一般形式: for(表达式1;表达式2;表达式3) 语句 for
C语言程序设计(第三版) 语言程序设计 第三版) 22
§ 6.5 用for 语句实现循环 说明: 说明:
(4) 可以省略表达式1和表达式3,只有表达式2,即只 给循环条件。如: 如 for(;i<=100;) while(i<=100) {sum=sum+i; 相当于 {sum=sum+i; i++;} i++;} 在这种情况下,完全等同于while语句。可见for语句 比while语句功能强,除了可以给出循环条件外,还可 以赋初值,使循环变量自动增值等。
C语言程序设计(第三版) 语言程序设计 第三版) 23
§ 6.5 用for 语句实现循环 说明: 说明:
主要内容
6.6 循环的嵌套 6.7 几种循环的比较 6.8 break语句continue和语句 break语句continue和语句 语句continue 6.9 程 序 举 例
§6.1 概述
问题1 y 问题1: =∑ n
n=1 100
什么是循环? 什么是循环? 为什么要使用循环? 为什么要使用循环?
C语言程序设计(第三版) 语言程序设计 第三版) 19
§ 6.5 用for 语句实现循环 说明: 说明:
(1) for语句的一般形式中的“表达式1”可以省略,此 时应在for语句之前给循环变量赋初值。注意省略表 达式1时,其后的分号不能省略。如 for(;i<=100;i++) sum=sum+i; ; 执行时,跳过“求解表达式1”这一步,其他不变。
运行结果: 运行结果:5050 例6.3 求1到100的和 到 的和 #include <stdio.h> void main() { int i,sum=0; i=1; do {sum=sum+i; i++; } while(i<=100); printf("%d\\n″,sum); }
C语言程序版) 语言程序设计 第三版) 8
§6.3 用while语句实现循环 while语句实现循环 while语句用来实现“当型”循环结构。
一般形式: 一般形式:
(表达式 表达式) while (表达式) 语句 当表达式为非0值时,执行while语 句中的内嵌语句。其特点是:先判断表 达式,后执行语句。
C语言程序设计(第三版) 语言程序设计 第三版)
20
§ 6.5 用for 语句实现循环 说明: 说明:
(2) 如果表达式2省略,即不判断循环条件,循环无终 止地进行下去。也就是认为表达式2始终为真。 例如:for(i=1; ;i++) sum=sum+i; 例如: 表达式1是一个赋值表达式,表达式2空缺。它相当于: i=1; while(1) 图6.7 {sum=sum+1;i++;}
C语言程序设计(第三版) 语言程序设计 第三版)
6
§6.2
goto语句以及用goto语句构成循环 goto语句以及用goto语句构成循环 语句以及用goto
结构化程序设计方法主张限制使用goto语句,因 为滥用goto语句将使程序流程无规律、可读性差. 一般来说,可以有两种用途:
C语言程序设计(第三版) 语言程序设计 第三版)
14
100
∑n
n =1
例6.4 while和do-while循环的比较 和 循环的比较 运行结果: 运行结果: (1) #include <stdio.h> (2) #include <stdio.h> 运行结果: 运行结果: void main ( ) void 1↙ ) main( 1↙ 1↙ 1↙ {int sum=0,i; {int sum=0,i; sum=55 sum=55 scanf(“%d″,&i); scanf(”%d″,&i); 再运行一次: while (i<=10) do再运行一次: 再运行一次: 再运行一次: {sum=sum+I; { sum=sum+i; 11↙ 11↙ 11↙ 11↙ i++; i++; sum=11 sum=0 } while (i<=10); 说明: 说明 printf(“sum=%d\\n″ :(1)当while后面的表达式的 ,sum); 第一次的值为“真”时,两种循 } printf(“sum=%d\\n”,sum); 环得到的结果相同。否则,二者 } 结果不相同。
C语言程序设计(第三版) 语言程序设计 第三版)
11
§6.4 用do-while语句实现循环 do-while语句实现循环
do-while语句的特点:先执行循环体,然后判断循环条件 是否成立。 一般形式: 一般形式:
do 循环体语句 while (表达式);
5
§6.2
goto语句以及用goto语句构成循环 goto语句以及用goto语句构成循环1 语句以及用goto语句构成循环1
goto语句为无条件转向语句,它的一般形式 为 语句标号; goto 语句标号; 语句标号用标识符表示,它的定名规则与变 量名相同,即由字母、数字和下划线组成, 其第一个字符必须为字母或下划线。 例如: 例如:goto label_1; 合法; goto 123; 不合法.
§6.4 用do-while语句实现循环 do-while语句实现循环
while语句和用do-while语句的比较: while语句和用do-while语句的比较: 语句和用do 语句的比较 在一般情况下,用while语句和用do-while语 句处理同一问题时,若二者的循环体部分是一 样的,它们的结果也一样。但是如果while后面 的表达式一开始就为假(0值)时,两种循环的结 果是不同的。
10
运行结果: 运行结果:5050
§6.3
用while语句实现循环 while语句实现循环
注意: 注意:
(1) 循环体如果包含一个以上的语句,应该用 花括弧括起来,以复合语句形式出现。 (2) 在循环体中应有使循环趋向于结束的语句 。如果无此语句,则i的值始终不改变, 循环永不结束。
问题2:求学生平均成绩 问题2:求学生平均成绩 分数相加后除以课数 2: 在许多问题中需要用到循环控制。循环结构 是结构化程序设计的基本结构之一,它和顺序 结构、选择结构共同作为各种复杂程序的基本 构造单元。