第五章:循环结构(一)

合集下载

第5章 循环结构1

第5章 循环结构1

说明:
(3)最简单的应用形式: for(循环变量赋初值;循环条件;循环变量增值) 例如:for(i=1;i<=10;i++) sum=sum+i; (4)三个表达式均可缺省,但起分割作用的两个分号 不可省略。 例如:for( ; ; ) i=1;for(;i<=10;i++) sum=sum+i; 或 for(i=1;i<=10;) {sum=sum+i;i++;} • 表达式1省略,应在for之前对循环变量赋初值 • 表达式2省略,则不判断条件,循环无终止进行下去 • 表达式3省略,则应另设法保证循环的结束
5.4
循环的嵌套
一个循环体内又包含另一个完整的循环结构称为循 环的嵌套。
① while() {… while() {…} } ② do {… do {…} while(); } while() ; ③ for(;;) { for(;;) {…} }
5.4
④ while() {… do {…} while(); … } 说明:
在许多问题中都需要用到循环结构,如
要求计算全校每个学生的平均成绩,计算两 个正整数的最大公约数和最小公倍数等都需
要用到循环控制。C语言中有三种循环语句, 分别是while语句、do…while语句和for语 句。
5.1 while循环语句
while循环语句是用来实现“当型”循环结构的。 它的特点是先判断表达式,后执行语句。 格式: while(表达式) 语句; 该语句的执行顺序是:先计算表达式的值,再判 断其值是否为“真”(即非0)。若结果为“真”, 则执行语句;此过程重复执行,直到表达式的值为 “假”(即为0)时,结束循环。其流程图和N-S图 分别如图5-1和5-2所示。

C语言第5章循环结构PPT课件

C语言第5章循环结构PPT课件
格式:while (条件1)
3. 用for 语句实现循环 4. 循环的嵌套
5. break语句和continue语句 6. 几种循环的比较 7. 程 序 举 例
第2页/共63页
一、循环概述
3
第3页/共63页
在很多实际问题中会遇到有规律性的重复运算,因 此在程序中就需要将某些语句重复执行。 • 一组被重复执行的语句称为循环体; • 每重复一次,都必须作出是继续还是停止循环的决 定,这个决定所依据的条件称为循环条件;
do {
......
for(;;) { ......
}while();
}
47
第47页/共63页
例7. 打印乘法“九九表”
1 2 3 4 56 7 89 11 22 4 33 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81
循环的概念 用while语句和do-while语句实现循环
用for 语句实现循环 循环的嵌套
break语句和continue语句 几种循环的比较 程序举例
第44页/共63页
循环的嵌环中还可以嵌套循环,这就是多重循环。
循环1
循环2
28
第28页/共63页
29
第29页/共63页
(2):从高位到低位求每一位。
30
第30页/共63页
(3):从低位到高位求每一位。
31
第31页/共63页
循环结构程序设计
1. 循环的概念 2. 用while语句和do-while语句实现循环

C语言程序设计:第5章 循环结构

C语言程序设计:第5章 循环结构
执行过程: 先执行循环体语句,再检查 循环条件表达式的值是否为真, 如果为真则继续执行循环体语句, 否则结束循环。
12
do...while语句(cont...)
课堂练习: 1.输出1---n之间的数,其中n从键盘输入。
int main(void) {
//1.定义变量i和n //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:输出i的值 return 0; }
} 相当于 while(1) {
}
26
小结
❖for(i=m;i<n;i++)//循环次数:n-m次 ❖for(i=m;i<=n;i++)//循环次数:n-m+1次
27
循环语句的练习
课堂练习: 1.输出n---1之间的数,其中n>1且n从键盘输入。 2.计算1*2*3*...*n的值(n的阶乘n!), 其中n从键盘输入。 3.计算10- 1/2 - 1/3 -....1/n的值 以上练习分别以while、do...while、for语句实现
int main(void) {
//1.定义变量i,n,sum //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:累加i的值 //7.输出计算结果 return 0; }
24
for语句(cont...)
{
sum = sum + i;
if(sum > 100)break;

Python语言程序设计第五章循环结构程序设计

Python语言程序设计第五章循环结构程序设计

14
第5章
循环结构程序设计
5.2 for语句 结构
1. for语句一般形式: for 目标变量 in 序列对象: 循环体语句 说明:
for语句的首行定义了目标变量和遍历的序 列对象,后面是需要重复执行的语句块。语 句块中的语句要向右缩进,且缩进量要一致。
15
第5章
循环结构程序设计
注意:
(1)for语句是通过遍历任意序列的元素来建立 循环的。 (2)for 语句也支持一个可选的else块,一般格 式如下: for 目标变量 in序列对象: 语句块 else: 语句
5
第5章
循环结构程序设计
在while语句中使用else子句
while exp: 循环体 else: 语句
Python可以在循环语句中使用else子句,即构 成了while.......else循环结构。
6
第5章
循环结构程序设计
例 :求

100
n 1
n
开始 sum,n=0,1 n<=100
1)问题分析:
29
第5章
循环结构程序设计
5.4 循环控制语句
有时候我们需要在循环体中提前跳 出循环,或者在某种条件满足时,不执行 循环体中的某些语句而立即从头开始新的 一轮循环,这时就要用到循环控制语句 break、continue和pass语句。
30
第5章
循环结构程序设计
(1) break语句
一般格式 break 功能
371printdddijk40728python语言程序设计第5章循环结构程序设计第5章循环结构程序设计循环结构程序设计51while语句当型循环52for语句结构53循环的嵌套54循环控制语句55循环结构程序举例2第5章循环结构程序设计循环结构的基本类型exptaf

C语言第5章循环结构程序设计1

C语言第5章循环结构程序设计1

(2)在循环体中应有使循环趋向于结束的语句。 比如上例中,循环结束的条件是“score>=0”, 那么当我们把这个班的成绩全部输入完后, 一定要输入一个负数,才能使程序往下执行。 (3)循环体语句有可能一次也不执行。比如说上 例中,当第一次输入的分数就为负数时,则 循环体一次也不执行。
§5.3 do …while语句
① ② ④ ③
for(i=1; i<100; i++) s=s+i; printf(″s=%d″, s); }
/*循环体语句*/
对于for循环,有一点非常重要,即条件测 试永远是在循环开始时进行,如果在循环开 始时条件为假,那么循环体语句就不会被执 行。如: int i=10; for (k=10;k!=i;k++) printf(″%d″,k); printf(″%d″,k);
2、循环控制变量必须在循环体内有所改变,才 能使while和do-while语句的循环控制条件表达 式的值不断改变,直至循环结束。否则会造 成死循环。例如: i=1; while(i<=100) putchar(′*′); i++; 这个循环永远不会结束,因为“i++;”语句 不属于循环体中的语句,循环控制变量i没有 在循环体内被改变。 程序应该作如下改变:
在使用while语句的时候,我们要注意以下 两个问题: (1)循环体如果包含一个以上的语句,应该用花 括号括起来,以复合语句的形式出现。如果 不加花括号,则while语句的范围只到while后 面的第一个分号处。比如上例中,while语句 中如无花括号,则while语句范围只到 “average+=score;”。
#include <stdio.h> main() {int i,n;long fac; Scanf(―%d‖,&n); i=1 while (i<=n) fac=fac*i; i++; } Printf(―%d!=%ld‖,n,fac); }

第五章 循环

第五章 循环

第5章循环结构(一)本章学习的目的和要求(二)本章学习的重点(三)复习题1.1单选题1.以下说法正确的是( )。

A.不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为假时结束循环D.do-while语句构成的循环,当while语句中的表达式值为真时结束循环C语言支持的循环语句有:()A for循环B while循环C do while循环D以上都是1.2多选题1.3判断题1.continue语句用于循环语句内部中。

当遇到continue语句之后,循环体中continue语句后面的语句将被跳过,计算机将接着开始执行下一次循环。

()2.for(表达式1;表达式2;表达式3){},其中表达式1只执行一次。

3.若int i=0,k=8;while(i=8) i=k--;则while循环体的执行次数为0.4.多重循环是指循环语句的循环体中,又嵌套了另一个或多个循环语句,多个内层循环可以相互交叉嵌套。

5.在复合语句中定义的变量可在该复合语句所在的函数的其它地方使用。

6.在函数体内定义的变量称全局变量,可以被程序中的所有函数引用。

7.continue语句用在循环体中,可使整个循环不结束。

8.continue语句可以用于switch结构中。

9.break语句只能用于循环语句中。

10.do......while循环语句至少要执行一次循环体。

11.语句while(!E);中的条件!E等价于E==0。

12.语句for(;;){循环体}和while(1){循环体}是等价的。

13.在C语言中,for语句既可以用于计数类型循环又可以用于条件类型循环。

14.在while循环中允许使用嵌套循环,但只能是嵌套while循环。

15.在实际编程中,do-while循环完全可以用for循环替换。

16.continue语句只能用于三个循环语句中。

第5章 循环结构程序设计

第5章 循环结构程序设计

运行结果:
printf("%d\n",sum);
sum = 5050
}
while语句和用do-while语句的比较:
一般情况,用while循环语句和用do -while循环语句处理问 题时,若循环体部分一样,结果也一样。但是如果while循 环语句循环条件一开始为“假”,则循环结果不同。while 循环语句一次也不执行,而do -while循环语句不论条件是 否成立,先执行一次循环体语句。
循环变量不增值。无终止地执行循环体。
例5-7用for语句求1 + 2 + 3 + … + 100
#include <stdio.h> void main() {
int i,sum=0; /*将累加器sum初始化为0*/ for(i=1; i<=100; i++) sum += i;/*实现累加*/ printf("sum=%d\n",sum); } 程序运行的结果为: sum=5050 解析:先执行变量赋初值,然后判定循环继续条件, 如果为“真”,执行循环体语句,i 为运算项目和循 环变量,执行完一次,增加一次,最后累加和。
if(n%3!=0) /*循环体*/
printf("%5d",n);
}
§5.4 多重循环
• 当循环中的内嵌语句是循环语句时,称为循 环的嵌套使用。内嵌的循环中嵌套循环,称 为多重循环。
C语言程序设计技术基础
第5章 循环结构程序设计
第5章 循环结构程序设计
5.1 while 循环语句 5.2 do while循环语句 5.3 for循环语句 5.4 多重循环 5.5 break语句与continue语句 5.6 几种循环语句的比较 5.7 循环结构程序举例

5.循环结构

5.循环结构

补充说明: 补充说明: (2) 如果表达式2省略,即不判断循环条件,循环无终 止地进行下去.也就是认为表达式2始终为真. 例如: 例如:for(i=1; ;i++) sum=sum+i; 表达式1是一个赋值表达式,表达式2空缺.它相当于: i=1; while(1) {sum=sum+1;i++;}
补充说明: 补充说明: (7) 表达式一般是关系表达式(如i<=100)或逻辑表达式 (如a<b && x<y),但也可以是数值表达式或字符表达 式,只要其值为非零,就执行循环体.
5.5 用for 语句实现循环
补充说明: 补充说明: ① for(i=0;(c=getchar())!=′\n′;i+=c); 在表达式2中先从终端接收一个字符赋给c,然后判 断此赋值表达式的值是否不等于′\n′(换行符),如 果不等于′\n′,就执行循环体.即不断输入字符, 将它们的ASC∏码相加,直到输入一个"换行"符为止. . 注意: 注意:此for语句的循环体为空语句,把本来要在循环 体内处理的内容放在表达式3中,作用是一样的.可见 for语句功能强,可以在表达式中完成本来应在循环体 内完成的操作.
5-5. 用for 语句实现循环
补充说明: 补充说明: (5) 3个表达式都可省略,如: 如 for(; ;) 语句 相当于 while(1) 语句 即不设初值,不判断条件(认为表达式2为真值), 循环变量不增值.无终止地执行循环体.
5-5. 用for 语句实现循环
补充说明: 补充说明: (6) 表达式1可以是设置循环变量初值的赋值表达式, 也可以是与循环变量无关的其他表达式.如: 如 for (sum=0;i<=100;i++) sum=sum+i; 表达式3也可以是与循环控制无关的任意表达式.

第5章 循环 fortran

第5章 循环 fortran

例5-2 使用循环来计算2+4+6+8+10 PROGRAM EX0502 IMPLICIT NONE INTEGER, PARAMETER :: LIMIT=10 ! 计数器的上限 INTEGER COUNTER ! 计数器 INTEGER :: ANS = 0 ! 拿来累加使用 DO COUNTER=2, LIMIT, 2 ANS = ANS + COUNTER END DO WRITE(*,*) ANS ! STOP END

1.确定性循环
(1)变量用来控制循环次数,一般称为循环变量; (2)表达式1 代表循环变量的初值; (3)表达式2 代表循环变量的终值; (4)表达式3 代表循环变量的步长,缺省步长为1。 (5)循环次数的计算按下面公式:
MAX ((表达式2 - 表达式1+ 表达式 3)/表达式3,0)

例5-3 DO 循环的嵌套使用
PROGRAM EX0503 IMPLICIT NONE INTEGER I, J DO I=1, 3 DO J=1, 3 WRITE ( *, "(I2, I2)" ) I, END DO WRITE (*,*) "ANOTHER CYCLE" END DO END 显式循环(DO END DO)

第三节 循环结构
署名的循环
例5-8
功能是循环时能明确地知道END DO这个描述的位置是否正确 。
PROGRAM EX0508 IMPLICIT NONE INTEGER :: I, J OUTER: DO I=1, 3 ! 循环取名为OUTTER INNER: DO J=1, 3 ! 循环取名为INNER WRITE ( *, " ('( ',I2,' ,' ,I2, ') ') " ) I,J END DO INNER ! 结束INNER这个循环 END DO OUTER ! 结束OUTTER这个循环 !STOP END

C08第5章 循环结构

C08第5章 循环结构

return
新编C语言程序设计教程
5.2.2 for循环结构用法
输出100以内奇数之和与偶数之和。 100以内奇数之和与偶数之和 例5-6 输出100以内奇数之和与偶数之和。
新编C语言程序设计教程
例5-7 输入两个正整数m和n , 求它们的最小公倍数。
分析:用穷举法。循环变量i的可能取值为: 分析:用穷举法。循环变量i的可能取值为:m, 2*m, n*m。 3*m, ..., n*m。
新编C语言程序设计教程
清华大学出版社
周二强
zeq@ 软件学院
计算机科学与工程系
配套视频: 配套视频: 博客: 博客:/stunt
第5章 循环结构
while循环结构 5.1 while循环结构
5.1.1 while循环结构分析 5.1.2 while循环结构用法
return
新编C语言程序设计教程
break语句和continue语句 语句和continue 5.3 break语句和continue语句
程序5 程序5-7出现逻辑错误的原因在于找到最小公倍数后没 有及时终止循环。 有及时终止循环。循环执行期间当满足了某种条件需要立 即终止循环的执行时可以采用多种方法,其中使用break 即终止循环的执行时可以采用多种方法,其中使用break 语句最方便。break语句在前面用来终止switch结构的执 语句最方便。break语句在前面用来终止switch结构的执 语句在前面用来终止switch 行,当循环执行到break语句时循环结构也将立即退出执 当循环执行到break语句时循环结构也将立即退出执 break 行。 在程序5 的循环结构中加一条break语句就可以排除逻 在程序5-7的循环结构中加一条break语句就可以排除逻 break 辑错误。 辑错误。

第5章 循环结构

第5章 循环结构

第5章循环结构1、有以下程序#include <stdio.h>main(){ int y=10;while(y--); printf("y=%d\n", y);}程序执行后的输出结果是A) y=0B) y=-1C) y=1D) while构成无限循环参考答案:B【解析】执行y - -直到值为0,由于y - -是先用再减,所以退出循环时,y的值为-1。2、有以下程序#include <stdio.h>main(){ int k=5;while(--k) printf("%d",k -= 3);printf("\n");}执行后的输出结果是A) 1B) 2C) 4D) 死循环参考答案:A【解析】--k先自减在使用,所以第一次判断条件即为while(4),条件为真执行打印k的值k=4-3,结果为1,第二次判断条件即为while(0),条件为假,结束循环,打印回车换行符。所以选择A选项。3、关于"while(条件表达式)循环体",以下叙述正确的是A) 循环体的执行次数总是比条件表达式的执行次数多一次B) 条件表达式的执行次数总是比循环体的执行次数多一次C) 条件表达式的执行次数与循环体的执行次数一样D) 条件表达式的执行次数与循环体的执行次数无关参考答案:B【解析】while循环是先判断条件,满足条件后执行循环体,执行完后接着判断条件,执行,直到最后一次判断条件后不成立,跳出循环,所以最后一次执行了条件表达式,但是没有执行循环体,所以选择B选项。4、设有以下代码do {while (条件表达式1)循环体A;} while (条件表达式2);while (条件表达式1){do {循环体B;} while (条件表达式2);}其中,循环体A与循环体B相同,以下叙述正确的是A) 循环体A与循环体B的执行次数相同B) 循环体A比循环体B的执行次数多一次C) 循环体A比循环体B的执行次数少一次D) 循环体A与循环体B的执行次数不确定参考答案:A【解析】while循环语句一般形式为:while(表达式){循环体},执行过程为:首先判断表达式,成立(非0)则执行循环体,不成立(0)则退出循环。

C语言循环结构

C语言循环结构
3
例5.1编写程序,求1+2+3+···+100的值 5.1编写程序,求1+2+3+···+100的值 main( ) { int i,sum; i=1; sum=0; while (i<=100) { sum=sum +i; i++;} printf(“ printf(“ sum=%d \n” ,sum); }
15
5-2有以下程序 main() { int i, s=0; for (i=0;i<10;i+=2) s+=i+1; printf (“%d\n”,s); (“%d\ } 程序执行后的结果是 A.自然数1-9的累加和 A.自然数1 B.自然数1-10和的累加 B.自然数1 10和的累加 C.自然数1-9中奇数之和 C.自然数1 D.自然数1-10中偶数之和 D.自然数1 10中偶数之和
16
5-3要求以下程序的功能是计算: s=1+1/2+1/3+···+1/10。 s=1+1/2+1/3+···+1/10。 main() { int n; float s; s=1.0; for (n=10; n>1; n--) n--) s=s+1/n; printf(“%6.4f\ printf(“%6.4f\n”,s); } 程序运行后出现结果错误,导致错误结果的程序 行是 A. s=1.0; B. for (n=10; n>1; n--) n--) C. s=s+1/n; D. printf(“%6.4f\n”,s); pr循环结构的嵌套 在一个循环体内又完整地包含了另一个循环, 称为循环嵌套。前面介绍的三种类型的循环都可 以互相嵌套,循环的嵌套可以多层,但每一层循 环在逻辑上必须是完整的。 例5.5使用双层for循环打印下面的图形 5.5使用双层for循环打印下面的图形 **** **** ****

c语言 第5章循环结构(while do-while for)

c语言  第5章循环结构(while do-while for)

第1次运行: Input data: 11 22 33 44 55 66 77 88 99 0 1 2 11 22 33 44 55 66 77 88 99 0 sum=495 第1次运行: Input data: 0 0 sum=0 sum的初值与0的和
5.4 for语句
#include <stdio.h> int main() { int i=1,sum=0; while (i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); return 0; for (i=1;i<=100;i++) } #include <stdio.h> int main() { int i=1,sum=0; do { sum=sum+i; i++; }while(i<=100); printf("sum=%d\n",sum); return 0; }
i++ for ( i = 1; i <= 100; i = i + 1 ) printf ( “**********\n” );
语句是?
【例1】在3~100之间所有3的倍数中,找出个位 数为2的数。
编程点拨 3~100内3的倍数有3 6 9 … 99 for ( i=3; i<=100; i=i+3 )
第1次运行: Input data: 11 22 33 44 55 66 77 88 99 0 1 2 11 22 33 44 55 66 77 88 99 sum=495 第2次运行: Input data: 0 (空一行) sum的初值 sum=0

第五章 循环结构

第五章 循环结构
2018/Байду номын сангаас1/19
甘肃联合大学 数字媒体学院 兰州文理学院 电信学院 曹晓丽 曹晓丽
第九章 数组 迄今为止,我们所接触的数据都属于 基本类型,如整型、实型、字符型、指针 型等,他们的特点是一个数据即为一个整 体,不能再分解。C语言还允许使用构造 类型的数据,构造类型的数据是由基本类 型数据按一定规律组合而成的,它们是数 组、结构体、共用体、枚举等类型。数组 是一种最简单的构造类型。
2018/11/19
兰州文理学院 数字媒体学院 曹晓丽
第一节 一维数组的定义和数组元素的引用
for(i=0;i<M;i++) {printf("%4d",s[i]); if((i+1)%10==0) printf("\n"); } printf("\nInvert Output:\n"); for(i=M-1;i>=0;i--) printf((i%10==0)?“%4d\n”:“%4d”,a[i]); printf("\n"); }
a[0] a[1] a[2] a[3] a[4] a[5] a[6]
2018/11/19 兰州文理学院 数字媒体学院 曹晓丽
a[7]
第一节 一维数组的定义和数组元素的引用 2.说明:
①所赋初值放在赋值号后面的一对花括号中,初 值间用逗号隔开, 初值的数据类型应该和数组的 类型一致,赋值顺序是按照数组元素的存储先 后顺序(既从下标为0的元素开始)逐一赋值 (即不能跳过某个元素而给其后的元素赋初 值)。 int a[8]={0,1,2,3,4,5,6,7};
2018/11/19 兰州文理学院 数字媒体学院 曹晓丽

《C语言程序设计》课件 《C语言程序设计》课件 第5章-循环结构程序设计

《C语言程序设计》课件 《C语言程序设计》课件 第5章-循环结构程序设计

Page 28
参考代码
#include<stdio.h> void main() {
char ch; int char_num=0,int_num=0,other_num=0; while((ch=getchar())!=‘\n’) //回车键结束输入 {
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z') char_num++;
printf("************\n ");
printf("************\n ");
printf("************\n ");
printf("************\n "); printf("************\n "); 等价 for(int i=1;i<=8;i++)
{ s=s+i;
i++; //表达式3移至循环体末尾
}
printf("s=%d",s);
}
<<C语言程序设计>>
Page 19
随堂练习
例 编程计算n的阶乘。
n!=1 2 3 ……〔n-1〕 n
思路:
类似于累加求和,每一次循环乘上一个数字,求和 将和初始化为0,这里应把积初始化为?
<<C语言程序设计>>
#include "stdio.h" void main( ) { int i,sum=0;

c5第五章 循环结构1

c5第五章 循环结构1
16
(3)表达式3也可以省略,但此时保证循环能正常结束。
如:for(sum=0,i=1;i<=100;) { sum=sum+i; i++; }
(4) 可以省略表达式1和表达式3,只有表达式2。
如:i=1; sum=0; for (;i<=100;) { sum=sum+i; i++; }
i=1;sum=0; while (i<=100) { sum=sum+i; i++; }
21
循环终止条件的种类:
1.关系表达式: 如前几例 2.逻辑表达式: for (; a>b && x<y ;) 3.字符表达式: for (; (c=getchar()) != „\n‟;) printf(“%c”,c); (cal8.c;totl5f.c;cent.c)
22
[例] 统计选票。现有选票如下 3,1,2,1,1,3,3,2,1,2,3,3,2,1,1, 3,2,0,1,4,-1. -1是结束标志。设1选李, 2选张,3选王, 0和4为废票,谁会当选? 解题思路 1. 每当我们读入一张选票,只有6种 情况,将它们加到相应的人选上。 2. -1结束循环 3. case语句作为开关。
对for语句,循环体为空语句的一般形式为:
for (表达式1;表达式2;表达式3) ;
如:for(sum=0,i=1;i<=100;sum+=i, i++) ; 又如: 要在显示器上复制输入的字符,输入的字符为‘.‟时, 结束循环。
while(putchar(getchar( ) )!=‟.‟ ) ;
输入abcdefg.输出abcdefg.

C语言程序设计教程(第4版)_第5章_循环结构

C语言程序设计教程(第4版)_第5章_循环结构

void main()
{ int i,sum=1,n;
printf("please input the value of n:");
scanf("%d:",&n);
if (n>=0)
{ i=1;
while(i<=n)
{sum=sum*I; i++;}
printf("%d\n",sum);}
else
printf("wrong\n"); }
5.2 while语句
例6:编写程序,从键盘输入一个正整
数n,求n!。
分析:n!=n*(n−1)*(n−2)*…*2*1 (约定:n≥0,0!=1) 用i代表循环变量,s代表n!的结
果值,则循环计算表达式:s=s*i, 即可求得n!。 思考:能否用for循环实现?
#include<stdio.h>
2.判断<条件表达式>的值。该表达式就是循环条件, 若该表达式的值为“真”,则执行<循环体语句>; 若该表达式的值为“假”,则退出循环,执行循环结 构外的语句。
3.计算<循环表达式>的值。该表达式更新循环控制变 量的值。
4.转第2步。
5.1 for语句
for语句的流程图:
注意: ①若<循环体语句>中有多
sum=0; for(i=1; i<=100; i=i+2) 7.for循环也可以嵌套,执行时是先执行最里层的循环,再 执行其外一层的循环。
5.1 for语句
例2:编写程序,从键盘输入两个不等于零的正整数a、
b(a<b),求它们之间的几何级数的和,数学表达式

北京航空航天大学《C语言程序设计》课件-第五章循环结构程序设计

北京航空航天大学《C语言程序设计》课件-第五章循环结构程序设计

2023/4/2
5.3 do-while语句
15
语句一般格式
do
{语句组} while (表达式);
功能:
– 先执行内嵌语句(循环体),之后计算 表达式的值,不为0(逻辑真)时,再 执行循环体并判断条件,直到表达式的 值为 0 结束循环,转去执行while下面 的语句。
2023/4/2
do-while循环的算法
for(n=100;n<=200;n++) {
if (n%7!=0) continue;
printf("%6d",n); j++; if (j%10==0)
printf("\n"); } printf(" \n j=%d\n",j); }
29
2023/4/2
5.5.2 循环中break的应用
30
功能:
}
无循环体
} 循环体
2023/4/2
5.5 循环结构中的跳转语句
25
有如下三种语句实现跳转: – continue语句 – break语句 – goto语句
功能:在循环语句的循环体中使用,可 以进行循环的流程控制
2023/4/2
5.5.1 continue语句及应用
26
功能:
– 中断循环体的本次执行(即跳过循环体中尚未 执行的语句),立即开始执行下一次循环。
– 利用break语句能够强迫终止本层循环, 转到后续语句执行。
while语句
表达式? N
Y
… break;

do-while语句
… break;

表达式? N
Y
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章:循环结构(一)
一、本章目标:
1、理解什么是循环
2、掌握while循环结构
3、掌握do-while循环结构
4、会使用程序调试解决问题
二、循环:
1、为什么要使用循环?
有一些重复的操作,使用顺序结构、选择结构无法很好的编写程序。

循环刻意解决这个问题。

2、什么是循环?
a‘、字面意思:重复的操作
b、循环的特点:循环的条件;循环的操作
3、while 循环结构:
1、while循环语法:while (条件){
//操作
}
2、while循环特点:先判断,后执行。

三、程序调试:
步骤/方法:
1、设置断点(断点:程序走到断点处会暂停执行)
2、单步执行
3、观察变量
目的:定位问题,解决问题。

四、do……while循环
1、语法:
do{
//循环操作
}while(循环条件)
2、特点:先执行,后判断。

五、while和do……while的区别
1、语法不同
2、执行顺序不一样(while:先判断后执行;do……while:先执行后判断);
3、循环变量初始值不满足条件时:while 一次都不会执行;do……while至少执行一次。

相关文档
最新文档