c语言循环结构75859ppt课件
合集下载
C语言循环结构ppt课件

do-while的下一条语句
while的下一条语句
12:56
第27页
循环语句的选择
if(循环次数已知)
使用for语句
else
/* 循环次数未知 */
if (循环条件在进入循环时明确)
使用while语句
else /* 循环条件需要在循环体中明确 */ 使用do-while语句
12:56
第28页
§5.4 用于循环中的break和continue语句
12:56
第5页
③ <循环表达式>亦可省略,但在循环语句体中必须有 语句来修改循环变量,以使条件表达式的值在某一时 刻为0,从而能正常结束循环。 如:for(sum=0, i=1; i<=100;)
{ sum = sum +i; i++;
}
④ 三个表达式均省略,即for(;;),为无限循环,程序 中要避免这种情况的发生。
printf(“Grade average is %.2f\n", (total+1)/(num-1));
return 0;
}
12:56
第23页
【 例 5 - 8 】 求 sin(x)=x-x3/3!+x5/5!-x7/7!+… 直 到 最后一项绝对值小于le-7(即10-7)为止。 分析:
多项式从第二项起,每一项都是前一项乘以一个因子,
do_while语句是另一种用于产生循环动作的语句。 一般形式为:
do { <循环体语句> }while(<表达式>);
do_while语句的流程图 :
功能:先执行一次<循环体语句>,然后计算<表达式>的值, 若该值为“真”,则重复以上的操作,直到该值为“假”, 则退出循环语句,执行下一条语句。
C语言课件-循环结构

break 和 continue
#include "stdio.h" ↙ 输入 abc↙ int main(void) efgh ↙ { char c; 123 ↙ int i; break输出 abc for (i = 0; i < 10; i++) { c = getchar(); if (c == '\n') break; continue输出 continue; putchar(c); abcefgh1 } }
#include <stdio.h> int main(void) { int num; double grade, total; num = 0; total = 0; printf(“Enter grades: \n"); scanf("%lf", &grade); /* 输入第1个数*/ while (grade >= 0) { /* 输入负数,循环结束 */ total = total + grade; num++; scanf (“%lf”, &grade); }
START 位数count=0 输入一个数->number number<0? Y number=-number number=number/10 count++ Y number!=0? N 输出count END N
源程序
#include<stdio.h> int main(void) { int count, number; count = 0; printf(“Enter a number: "); scanf ("%d", &number) ; if (number < 0) number = -number;
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语句实现循环
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语句实现循环
《循环结构》幻灯片PPT

for(i=1;i<10;i++)
123456789
printf("%5d",i);
----------------------------------------------------------
printf("\n");
----------
for(i=1;i<=46;i++)
123456789
for(i=1;i<=100;)
{ sum+=i;
i++;
} 上述for语句中没有表达式3,而是将表达式3〔i++〕放在循环语句中, 作用一样,都能使用循环正常完毕。注意表达式2后面的分号不能省略。 〔4〕也可以同时省略表达式1和表达式3,即: for〔;表达式2;〕
循环语句; 也即省略了循环的初值和循环变量的修改局部,此时完全等价于while 语句。
时,假设二者的循环体一样,运行结果也就一样。 但当while后面表达式的值一开场就为0时,两种 循环构造的结果是不一样的。
※重点提示:do-while语句先执行语句,后判断 表达式的值。故do-while语句又称“直到型〞循环 构造。由于是先执行后判断,因此do-while语句的 循环语句至少被执行一次。
5.2 do-while语句和用do-while语句构成的循环构造
do-while是另一种循环构造,它的一般形式为: do
循环语句; while〔表达式〕;
以下是几点说明:
1.do是C语言的关键字,必须和while联合使用。 2.在while〔表达式〕后的分号“;〞不可丢,它 表示do-while语句的完毕。 3.while后括号中的表达式可以是任意合法的表达 式,由它来控制循环是否执行。 4.do-while之间的循环体可以是一条可执行语句也 可以是由“{}〞构成的符合语句。
C语言中 循环结构 ppt课件

int main() {
return 0;
}
10
5.2 for语句
for语句的一般形式如下:
for(表达式1;表达式2;表达式3) 循环体语句
说明:for语句属于“计数”型循环。
表达式1
表达式2 真(非0)
循环体语句
假(0)
表达式3
for语句流程图
12
For语句最常用、最简单的形式
• for(循环变量赋初值;循环条件;循环变量增值)
C语言中 循环结构
第五章 循环控制结构
2
本章知识点:
–while语句的一般形式及应用 –for语句的一般形式及应用 –do...while语句的一般形式及应用 –多重循环结构的使用
•break语句和continue语句
3
5.1 while语句
语句的一般形式如下: while (表达式) 循环体语句
return 0;
}
6
• 需要注意的几个问题:
(1)累加求和算法。这个程序采用的算法思想 称为累加求和,即:不断用新累加的值取代变 量的旧值,最终得到求和结果,变量sum也叫 “累加器”,初值一般为0。
(2)必须给变量赋初值。 (3)正确判断条件的边界值。 (4) 避免出现“死循环”。 (5)可能出现循环体不执行。 (6)while后面圆括号内的表达式一般为关系表
【例5.1】 求前100个自然数的和 。
#include <stdio.h> int main() {
int n,sum=0; for (n=1;n<=100;n++)
sum=sum+n; printf("sum=%d\n",sum); retur,计算并输出S(n)的值。 S(n)=(1*2)/(3*4)-(3*4)/(5*6)+(5*6)/(7*8)+…+(-1)(n-
C语言循环结构一章 ppt课件

}while(i<n); /* i<n 表示条件成立,循环执行 */
printf("s=%d\n",s);
} 2020/11/13
13
while和do-while循环的比较
main( ) { int i,s=0;
scanf(“%d”,&i); do {s=s+i; i++; }while(i<=10); printf(“s=%d”,s);
件转向使程序结构无规律、可读性差。一般应避 免使用goto语句,但如果能大大提高程序的执行 效率,也可以使用。
2020/11/13
2
精品资料
• 你怎么称呼老师?
• 如果老师最后没有总结一节课的重点的难点,你 是否会认为老师的教学方法需要改进?
• 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭
} 2020/11/13
10
do while语句
一般格式: do 语句(循环体) while(表达式);
特点:
“直到型”循环结构。先执行一次“语 句”,判“表达式”,当“表达式” 非0,再执行“语句”,直到“表达式” 为0,循环结束。
2020/11/13
11
do while 注意点
do后面没有分号; 语句的位置上只能到第一个分号处,也就是
6. if( x<20 )
7.
goto ab;
8. printf("%d\n",x);
9. }
2020/11/13
5
while 语句
一般形式: while(表达式) 语句
作用:实现“当型”循环。 当“表达式”非0(真) 时,执行“语句”。“语 句”是被循环执行的程序, 称为“循环体”。
《C语言程序设计课件》第四章-循环语句

scanf("&d",&n); while(n!=0)
{ sum+=n; scanf("%d",&n); }
printf("The sum is :%d\n",sum);
return 0; }
从任意 n 个实数中选出最大数 和最小数
从任意 n 个实数中选出最大数和最小数
#include <stdio.h> int main( ) {
/*程序4-1*/ #include <stdio.h> int main() {
int i,sum=0; i=1; while(i<=100) {
sum += i; i++; } printf("sum=%d\n",sum); return 0; }
【例4-2】输入一行字符以回车键结束,分别 统计出其中英文字母、空格、数字和其它字符 的个数。
#include <stdio.h> int main( ) {
int i,n;
printf("This program prints a table of squares.\n"); printf("Enter number of entries in table:");
scanf("%d",&n); i=1; while (i<=n)
【例】求整数1~100的累加和,使用for语句实 现。
#include <stdio.h> int main() {
int i,sum=0; for(i=1;i<=100;i++)
{ sum+=n; scanf("%d",&n); }
printf("The sum is :%d\n",sum);
return 0; }
从任意 n 个实数中选出最大数 和最小数
从任意 n 个实数中选出最大数和最小数
#include <stdio.h> int main( ) {
/*程序4-1*/ #include <stdio.h> int main() {
int i,sum=0; i=1; while(i<=100) {
sum += i; i++; } printf("sum=%d\n",sum); return 0; }
【例4-2】输入一行字符以回车键结束,分别 统计出其中英文字母、空格、数字和其它字符 的个数。
#include <stdio.h> int main( ) {
int i,n;
printf("This program prints a table of squares.\n"); printf("Enter number of entries in table:");
scanf("%d",&n); i=1; while (i<=n)
【例】求整数1~100的累加和,使用for语句实 现。
#include <stdio.h> int main() {
int i,sum=0; for(i=1;i<=100;i++)
C语言循环结构ppt课件

pr查in循tf(环"s条um件,= %所以d\n循"环,su体m至);少执行一次pr。intf("sum = %d\n",sum);
} (2)退出do—while循环的条件与退} 出while循环的条件相同
10
一般格式:
for
for( 表达式1; 表达式2; 表达式3) {
循环体语句
}
表达式1
假(0) 表达式2
循环体 for语句等价于下列语句:
循表环达变式量1;增值/减值 while (表达式2) { 语句;
表达式3; }
12
例ffoorr用(语循句f环o最r变循简量环单赋求的初形值1式0;0:n循环条件;循环变量增值) 循环体 n1
#include <stdio.h> main() { int i,sum=0;
for(i=1; i<=100; i++) sum+=i;
printf("%d",sum); }
相当于: i=1,sum=0; while(i <= 100) {
sum = sum + i; i++; }
13
100
用上述三种循环语句求 s n
while语句:
n1
do-while语句:
n = 1;s = 0; while (n<=100)
说明:
(3)省略表达式3: 此时程序设计者应另外设法保证循环能 正常结束。如: for(i=1;i<=100;) { sum = sum + i; i++; }
17
for语句的使用格式灵活:
表达式类型任意,可省略,但分号“;”不可省
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语句程序员有时故意用非零常量作为控制表达式来 构造无限循环:
while (1) …
除非循环体含有跳出循环控制的语句(break, goto, return)或调用了导致程序终止的函数,否则上述这 种形式的while语句将永远执行下去。
.
10
程序:显示平方值的表格
程序square.c用一个while语句显示平方值表格。
运行结果:5050
例6.2 求1到100的和
#include <stdio.h>
void main()
说明:(1)循环体如果包含一个以上的语句,
{int i,sum=0; i=1; while (i<=100)
{ sum=sum+i;
应该用花括弧括起来,以复合语句形式 出现.(2)在循环体中应有使循环趋向于 结束的语句
程序需要使用循环,循环采用scanf函数读取用户 输入数,然后再把这个数加到运算的总和中。
.
13
sum.c
/* Sums a series of numbers */
#include <stdio.h>
int main(void) {
int n, sum = 0;
printf("This program sums a series of integers.\n"); printf("Enter integers (0 to terminate): ");
◦ while语句:用于判定控制表达式在循环 体执行之前的循环。
◦ do语句:用于判定控制表达式在循环体执 行之后的循环。
◦ for语句:对于自增或自减计数变量的循环 十分方便。
.
3
while语句
使用while语句是最简单、最基本的设置 循环方法。
While语句格式如下:
while ( 表达式) 语句
printf("T minus %d and counting\n", i); i--; }
整个过程持续到显示信息为“T minus 1 and counting”。
.
8
while语句
关于while语句的一些讨论:
◦ 在while循环终止时,控制表达式的值为假。因此,当通过 表达式i > 0控制循环终止时,i必须是小于或等于0的。
用户指定平方值表格的行数:
This program prints a table of squares.
Enter number of entries in table: 5
1
1
2
4
3
9
4
16
5
25
.
11
square.c
/* Prints a table of squares using a while statement */
while (i > 0) { printf("T minus %d and counting\n", i); i--;
}
即使没有严格要求的时候,一些程序员始终使用大括 号括住循环体:
while (i < n) { i = i * 2;
}
.
7
while语句
下面的语句显示一串“倒数计数”信息:
i = 10; while (i > 0) {
◦ 可能根本不执行while循环体。因为控制表达式是在循环体 执行之前进行判定。
◦ while语句常常可以有多重写法。更加简明的递减计数循 环如下:
while (i > 0) printf("T minus %d and counting\n", i--);
.
9
无限循环
如果控制表达式的值始终是非零值的话,while语句 将无法终止。
.
5
while语句
while语句示例:计算大于或等于数n的最小的2次幂:
i = 1; while (i < n)
i = i * 2;
设n为10时,下面跟踪显示了while语句执行情况:
i = 1; i < n成立吗?
i = i * 2;
i < n成立吗?
i现在值为1. 是,继续。 i现在为2.
#include <stdio.h>
int main(void) {
int i, n;
printf("This program prints a tatf("Enter number of entries in table: "); scanf("%d", &n);
第六章
循环
.
1
重复语句
C语言的重复语句用于设置循环。 循环是重复执行其他语句的一种语句,循
环中重复执行的语句就是循环体 C语句中,每个循环都有一个控制表达式。 每次执行循环体时都要对控制表达式进行
计算。
◦ 如果表达式为真,也就是不为零,那么继续执 行循环。
.
2
重复语句
C 提供三种循环语句:
i = 1; while (i <= n) {
printf("%10d%10d\n", i, i * i); i++; }
return 0; }
.
12
程序:数列求和
程序sum.c 对用户输入的整数数列求和:
This program sums a series of integers. Enter integers (0 to terminate): 8 23 71 5 0 The sum is: 107
表达式即为控制表达式;语句则是循环体。
.
4
while语句
while语句示例:
while (i < n) /* 控制表达式 */ i = i * 2; /* 循环体 */
执行while语句时,首先计算控制表达式的值。 如果值不为零(真),那么执行循环体,接着再次
判定表达式。 这个过程持续进行直到最终控制表达式的值变为零。
是,继续。
i = i * 2;
i < n成立吗?
i = i * 2;
i < n成立吗?
i = i * 2;
i < n成立吗?
i现在为4。
是,继续。
i现在为8。
是,继续。
i现在为16。
不成立,退出循环。
.
6
while语句
虽然循环体必须是单独的一条语句,但这只是个技术 问题。
如果需要多条语句,那么只要用一对大括号构造成单 独一条复合语句就可以了:
scanf("%d", &n); while (n != 0) {
sum += n; scanf("%d", &n); } printf("The sum is: %d\n", sum);
return 0; }
.
14
100
n
n 1
例6.3 求1到100的和 学生练习
运行结果:5050
100
n
n 1
while (1) …
除非循环体含有跳出循环控制的语句(break, goto, return)或调用了导致程序终止的函数,否则上述这 种形式的while语句将永远执行下去。
.
10
程序:显示平方值的表格
程序square.c用一个while语句显示平方值表格。
运行结果:5050
例6.2 求1到100的和
#include <stdio.h>
void main()
说明:(1)循环体如果包含一个以上的语句,
{int i,sum=0; i=1; while (i<=100)
{ sum=sum+i;
应该用花括弧括起来,以复合语句形式 出现.(2)在循环体中应有使循环趋向于 结束的语句
程序需要使用循环,循环采用scanf函数读取用户 输入数,然后再把这个数加到运算的总和中。
.
13
sum.c
/* Sums a series of numbers */
#include <stdio.h>
int main(void) {
int n, sum = 0;
printf("This program sums a series of integers.\n"); printf("Enter integers (0 to terminate): ");
◦ while语句:用于判定控制表达式在循环 体执行之前的循环。
◦ do语句:用于判定控制表达式在循环体执 行之后的循环。
◦ for语句:对于自增或自减计数变量的循环 十分方便。
.
3
while语句
使用while语句是最简单、最基本的设置 循环方法。
While语句格式如下:
while ( 表达式) 语句
printf("T minus %d and counting\n", i); i--; }
整个过程持续到显示信息为“T minus 1 and counting”。
.
8
while语句
关于while语句的一些讨论:
◦ 在while循环终止时,控制表达式的值为假。因此,当通过 表达式i > 0控制循环终止时,i必须是小于或等于0的。
用户指定平方值表格的行数:
This program prints a table of squares.
Enter number of entries in table: 5
1
1
2
4
3
9
4
16
5
25
.
11
square.c
/* Prints a table of squares using a while statement */
while (i > 0) { printf("T minus %d and counting\n", i); i--;
}
即使没有严格要求的时候,一些程序员始终使用大括 号括住循环体:
while (i < n) { i = i * 2;
}
.
7
while语句
下面的语句显示一串“倒数计数”信息:
i = 10; while (i > 0) {
◦ 可能根本不执行while循环体。因为控制表达式是在循环体 执行之前进行判定。
◦ while语句常常可以有多重写法。更加简明的递减计数循 环如下:
while (i > 0) printf("T minus %d and counting\n", i--);
.
9
无限循环
如果控制表达式的值始终是非零值的话,while语句 将无法终止。
.
5
while语句
while语句示例:计算大于或等于数n的最小的2次幂:
i = 1; while (i < n)
i = i * 2;
设n为10时,下面跟踪显示了while语句执行情况:
i = 1; i < n成立吗?
i = i * 2;
i < n成立吗?
i现在值为1. 是,继续。 i现在为2.
#include <stdio.h>
int main(void) {
int i, n;
printf("This program prints a tatf("Enter number of entries in table: "); scanf("%d", &n);
第六章
循环
.
1
重复语句
C语言的重复语句用于设置循环。 循环是重复执行其他语句的一种语句,循
环中重复执行的语句就是循环体 C语句中,每个循环都有一个控制表达式。 每次执行循环体时都要对控制表达式进行
计算。
◦ 如果表达式为真,也就是不为零,那么继续执 行循环。
.
2
重复语句
C 提供三种循环语句:
i = 1; while (i <= n) {
printf("%10d%10d\n", i, i * i); i++; }
return 0; }
.
12
程序:数列求和
程序sum.c 对用户输入的整数数列求和:
This program sums a series of integers. Enter integers (0 to terminate): 8 23 71 5 0 The sum is: 107
表达式即为控制表达式;语句则是循环体。
.
4
while语句
while语句示例:
while (i < n) /* 控制表达式 */ i = i * 2; /* 循环体 */
执行while语句时,首先计算控制表达式的值。 如果值不为零(真),那么执行循环体,接着再次
判定表达式。 这个过程持续进行直到最终控制表达式的值变为零。
是,继续。
i = i * 2;
i < n成立吗?
i = i * 2;
i < n成立吗?
i = i * 2;
i < n成立吗?
i现在为4。
是,继续。
i现在为8。
是,继续。
i现在为16。
不成立,退出循环。
.
6
while语句
虽然循环体必须是单独的一条语句,但这只是个技术 问题。
如果需要多条语句,那么只要用一对大括号构造成单 独一条复合语句就可以了:
scanf("%d", &n); while (n != 0) {
sum += n; scanf("%d", &n); } printf("The sum is: %d\n", sum);
return 0; }
.
14
100
n
n 1
例6.3 求1到100的和 学生练习
运行结果:5050
100
n
n 1