内容正文:
专题五 循环结构(二)
计算机网络基础
专题复习讲练测
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
考纲要求
一
知识要点 考试条目
4.循环结构程序设计 (1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
知识点梳理
二
For 语句
语法:
一、for 循环的语法结构
for (初始化表达式; 条件表达式; 更新表达式) {
// 循环体(需要重复执行的代码)
}
核心要素:
初始化表达式:在循环开始时执行一次,通常用于定义并初始化循环变量(如 int i = 0)。
条件表达式:每次循环开始前检查,若为真(非0),执行循环体;若为假(0),退出循环。
更新表达式:每次循环体执行后运行,通常用于更新循环变量(如 i++)。
知识点梳理
二
for语句
二、执行流程详解
步骤1:执行初始化表达式(仅一次)。
步骤2:检查条件表达式:
若为真 → 执行循环体 → 执行更新表达式 → 回到步骤2。
若为假 → 退出循环。
开始
条件
语句组
结束
知识点梳理
二
for 语句
三、for 循环 vs. while 循环
特性 for 循环 while 循环
适用场景 已知循环次数(如遍历数组) 不确定循环次数(如条件循环)
结构紧凑性 将初始化、条件、更新集中在一行 分散在代码中
灵活性 可缺省任意表达式(如 for(;;)) 必须显式写条件
知识点梳理
二
for 语句
1. 表达式可缺省,但分号不可省略
四、关键注意事项
int i = 0;
for (; i < 5; i++) {
// 初始化已提前完成
// ...
}
for (;;) {
// 等效于 while(1),无限循环
// ...
}
知识点梳理
二
for 语句
2. 避免在循环体内重复初始化变量
四、关键注意事项
for (int i = 0; i < 3; i++) {
int i = 5; // 错误:内层i覆盖外层i,导致死循环
printf("%d ", i);
}
输出:5 5 5(外层循环变量被覆盖)。
知识点梳理
二
for 语句
五、典型应用场景
2 4 6 8
1. 遍历数组
知识点梳理
二
for 语句
五、典型应用场景
Hello Hello Hello Hello Hello
2. 固定次数的循环
知识点梳理
二
for 语句
五、典型应用场景
3. 嵌套循环(如打印乘法表)
知识点梳理
二
for 语句
六、练习题
1. 以下代码的输出结果是( )
for (int i = 0; i < 3; i++) {
printf("%d ", i);
}
答案:0 1 2
知识点梳理
二
for 语句
六、练习题
2. 补全代码,计算1~10的累加和:
int sum = 0;
for (_______; _______; _______) {
sum += i;
}
答案:int i = 1、i <= 10、i++
知识点梳理
二
for 语句
六、练习题
3. 以下代码的输出结果是( )
for (int i = 1; i <= 5; i += 2) {
printf("%d ", i);
}
答案:1 3 5
知识点梳理
二
for 语句
六、练习题
4. 编写代码,输出所有3位数中的水仙花数(如153=1³+5³+3³)。
知识点梳理
二
for 语句
六、练习题
5. 输入一个正整数n,用for循环计算n!(阶乘)。
知识点梳理
二
Break 语句 和continue 语句
1. 核心作用
立即终止当前所在的循环或 switch 语句,并跳出其代码块,继续执行后续代码。
一、Break 语句
2. 适用场景
循环中:满足特定条件时提前退出循环。
switch 语句:结束 case 分支的执行(防止“穿透”)。
知识点梳理
二
Break 语句 和continue 语句
3. 语法示例
一、Break 语句
知识点梳理
二
Break 语句 和continue 语句
1. 核心作用
跳过当前循环迭代的剩余代码,直接进入下一次循环的条件判断(while/do-while)或更新表达式(for)。
二、continue 语句
2. 适用场景
忽略某些特定值的处理(如跳过偶数、跳过无效数据)。
优化循环效率,减少不必要的计算。
知识点梳理
二
Break 语句 和continue 语句
3. 语法示例
一、Break 语句
知识点梳理
二
Break 语句 和continue 语句
三、break 与 continue 的对比
特性 作用范围 循环影响 典型场景
break 循环或 switch 语句 立即终止整个循环 搜索到目标后提前退出
continue 仅循环内部 仅跳过当前迭代,继续下一次循环 过滤不符合条件的数据项
限时练习
三
【答案】A
1. 以下代码的输出结果是( )
for (int i = 0; i < 5; i++) {
if (i == 3) break;
printf("%d ", i);
}
A. 0 1 2
B. 0 1 2 3
C. 0 1 2 3 4
D. 0 1 2 3 4 5
限时练习
三
2.以下代码的循环次数是( )
for (int i = 1; i <= 10; i += 2) {
i *= 2;
}
A. 2 次
B. 3 次
C. 4 次
D. 5 次
【答案】B
限时练习
三
【答案】D
3. 以下代码的输出结果是( )
for (int i = 0; i < 5; i++) {
if (i % 2 == 0) continue;
printf("%d ", i);
}
A. 0 1 2 3 4
B. 1 2 3 4
C. 1 3 4
D. 1 3
限时练习
三
4. 以下代码的执行次数是( )
for (int i = 0; i < 10; i += 2) {
i *= 3;
}
A. 0 次
B. 1 次
C. 2 次
D. 3次
【答案】B
限时练习
三
【答案】A
5.以下代码的循环次数是( )
for (int i = 0; i < 10; i++) {
if (i > 5) continue;
i++;
}
A. 3 次
B. 4 次
C. 5 次
D. 6 次
限时练习
三
A. -22
B. -18
C. -15
D. -10
6.以下代码的输出结果是( )
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
sum += i;
continue;
}
sum -= i;
}
printf("%d", sum);
【答案】B
限时练习
三
【答案】×
7.for循环的初始化部分只能声明变量,不能进行赋值操作。( )
【答案】√
8.在 C 语言中,for循环的三个表达式都可以省略。( )
限时练习
三
【答案】×
9.for循环的循环体必须用花括号{}包围。( )
限时练习
三
10.编写程序:输入一个整数,判断其是否为水仙花数(如153=1³+5³+3³)。
限时练习
三
11.编写程序:打印杨辉三角形的前 10 行。
内容小结
四
谢谢
$$