哈工大c语言教学6-循环控制结构PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章 循环控制结构
.
1
本章学习内容
计数控制的循环 条件控制的循环 for语句,while语句,do-while语句 continue语句,break语句 嵌套循环 程序调试与排错
2021/3/11
2/63
Example:
问题的提出
Draw a flowchart for the following problem: 读入5个整数,计算并显示它们的和.
Input : 5 个整数n1, n2, n3, n4, n5 Output: n1, n2, n3, n4, n5的和 Input example: 2 3 4 5 6 Output example: 20
如何确定程 序的输入和
输出呢?
2021/3/11
3/63
问题的提出
Assume input example: 23456
scanf(“%d”, &n); sum = sum + n; Fra Baidu bibliotek printf(“%d”, sum);
9/63
6.3条件控制的循环
当
条 假件P 假
型
真
循
环
A
A
条 件P
真
直 到 型 假循 环
2021/3/11
10/63
while循环语句
▪ 当型循环——Condition is tested first ▪ 条件或计数控制
如何减少循环的次数?
2021/3/11
20/63
【例6.1】计算并输出1+2+3+…+n的值
2021/3/11
【例6.1】计算并输出1+2+3+…+n的值
当
条 假件P 假
型
真
循 环
A
T20e21s/3t/11ing Condition First
17/63
【例6.1】计算并输出1+2+3+…+n的值
A
条 件P
真
直 到 假型 循 环
2021/3/11
Testing condition l1a8/s63t
注意
do{ statement; statement;
Don’t forget the
semicolon!!
} while (condition) ;
statement;
2021/3/11
12/63
【例6.1】计算并输出1+2+3+…+n的值
循环次数已知,计数控制的循环
2021/3/11
13/63
【例6.1】计算并输出1+2+3+…+n的值
for (initial value ; condition; update counter)
statement;
Or
循环变量控制循环次 数,不要在循环体内 改变这个变量的值
for (initial value ; condition; update counter)
{
复合语句
statement;
compound statement
6.1循环控制结构与循环语句
如何对循环进行控制呢?
2021/3/11
5/63
6.2计数控制的循环 Assume input example: start 23456
counter ← 1, sum ← 0
counter<6 true
input n
false
counter sum
123465 12025940 102594 + 23456
在for和while语句之后一般没有分号 有分号表示循环体就是分号之前的内容
– 空语句——表示循环体内什么都不做
while (i < 100); i++;
– 死循环
for (i = 0; i < 100; i++); printf("%d", i);
– 用于延时
2021/3/11
19/63
【例6.1】计算并输出1+2+3+…+n的值
statement;
被当作一条语句看待
} 2021/3/11
8/63
start
i ← 0, sum ← 0
false
i< 5
true
input n
sum←sum+ n
i++
output sum
2021/3/11
end
for循环语句
int i, sum, n; sum = 0; for (i = 0; i < 5; i++) {
直到型循环——Statements in the loop are executed first (at least once), and condition is tested last
条件或计数控制
—— Loop is controlled by condition or a counter
语法
使用了6个不同的变量
start Input n1 Input n2
n1 2 n2 3
Input n3
n3 4
input n4
n4 5
读入1000个整数,in计pu算t n并5 显示它们的n5和.? 6
sum ← n1+n2+n3+n4+n5
sum 20
output sum
2021/3/11
end
4/63
循环次数已知,计数控制的循环
sum = 0的作用?
2021/3/11
14/63
【例6.1】计算并输出1+2+3+…+n的值
循环次数已知,计数控制的循环
2021/3/11
15/63
【例6.1】计算并输出1+2+3……+n的值
2021/3/11
循环条件第一次就为假(如输 入-1)时会怎样?
16/63
123645 << 66 tftraruulseee
n 23564
2021/3/11
sum ← sum + n
counter++ output sum
end
counter-controlled
计数器每次增1
使用了3个变量
6/63
2021/3/11
6.2计数控制的循环
counter ← initialValue
false test counter true
Step x Update counter
Step n
循环体 (Body of
Loop)
7/63
for循环语句
当型循环——Condition is tested first
计数循控环起制始—条—件Loop循i环s c结o束n条tro件lled by循a环c变o量un增t值er Syntax
——Loop is controlled by condition or a counter
▪ 语法
while (condition)
statement;
Or
while (condition) {
statement;
No semicolon!!
statement;
}
2021/3/11
11/63
do-while循环语句
.
1
本章学习内容
计数控制的循环 条件控制的循环 for语句,while语句,do-while语句 continue语句,break语句 嵌套循环 程序调试与排错
2021/3/11
2/63
Example:
问题的提出
Draw a flowchart for the following problem: 读入5个整数,计算并显示它们的和.
Input : 5 个整数n1, n2, n3, n4, n5 Output: n1, n2, n3, n4, n5的和 Input example: 2 3 4 5 6 Output example: 20
如何确定程 序的输入和
输出呢?
2021/3/11
3/63
问题的提出
Assume input example: 23456
scanf(“%d”, &n); sum = sum + n; Fra Baidu bibliotek printf(“%d”, sum);
9/63
6.3条件控制的循环
当
条 假件P 假
型
真
循
环
A
A
条 件P
真
直 到 型 假循 环
2021/3/11
10/63
while循环语句
▪ 当型循环——Condition is tested first ▪ 条件或计数控制
如何减少循环的次数?
2021/3/11
20/63
【例6.1】计算并输出1+2+3+…+n的值
2021/3/11
【例6.1】计算并输出1+2+3+…+n的值
当
条 假件P 假
型
真
循 环
A
T20e21s/3t/11ing Condition First
17/63
【例6.1】计算并输出1+2+3+…+n的值
A
条 件P
真
直 到 假型 循 环
2021/3/11
Testing condition l1a8/s63t
注意
do{ statement; statement;
Don’t forget the
semicolon!!
} while (condition) ;
statement;
2021/3/11
12/63
【例6.1】计算并输出1+2+3+…+n的值
循环次数已知,计数控制的循环
2021/3/11
13/63
【例6.1】计算并输出1+2+3+…+n的值
for (initial value ; condition; update counter)
statement;
Or
循环变量控制循环次 数,不要在循环体内 改变这个变量的值
for (initial value ; condition; update counter)
{
复合语句
statement;
compound statement
6.1循环控制结构与循环语句
如何对循环进行控制呢?
2021/3/11
5/63
6.2计数控制的循环 Assume input example: start 23456
counter ← 1, sum ← 0
counter<6 true
input n
false
counter sum
123465 12025940 102594 + 23456
在for和while语句之后一般没有分号 有分号表示循环体就是分号之前的内容
– 空语句——表示循环体内什么都不做
while (i < 100); i++;
– 死循环
for (i = 0; i < 100; i++); printf("%d", i);
– 用于延时
2021/3/11
19/63
【例6.1】计算并输出1+2+3+…+n的值
statement;
被当作一条语句看待
} 2021/3/11
8/63
start
i ← 0, sum ← 0
false
i< 5
true
input n
sum←sum+ n
i++
output sum
2021/3/11
end
for循环语句
int i, sum, n; sum = 0; for (i = 0; i < 5; i++) {
直到型循环——Statements in the loop are executed first (at least once), and condition is tested last
条件或计数控制
—— Loop is controlled by condition or a counter
语法
使用了6个不同的变量
start Input n1 Input n2
n1 2 n2 3
Input n3
n3 4
input n4
n4 5
读入1000个整数,in计pu算t n并5 显示它们的n5和.? 6
sum ← n1+n2+n3+n4+n5
sum 20
output sum
2021/3/11
end
4/63
循环次数已知,计数控制的循环
sum = 0的作用?
2021/3/11
14/63
【例6.1】计算并输出1+2+3+…+n的值
循环次数已知,计数控制的循环
2021/3/11
15/63
【例6.1】计算并输出1+2+3……+n的值
2021/3/11
循环条件第一次就为假(如输 入-1)时会怎样?
16/63
123645 << 66 tftraruulseee
n 23564
2021/3/11
sum ← sum + n
counter++ output sum
end
counter-controlled
计数器每次增1
使用了3个变量
6/63
2021/3/11
6.2计数控制的循环
counter ← initialValue
false test counter true
Step x Update counter
Step n
循环体 (Body of
Loop)
7/63
for循环语句
当型循环——Condition is tested first
计数循控环起制始—条—件Loop循i环s c结o束n条tro件lled by循a环c变o量un增t值er Syntax
——Loop is controlled by condition or a counter
▪ 语法
while (condition)
statement;
Or
while (condition) {
statement;
No semicolon!!
statement;
}
2021/3/11
11/63
do-while循环语句