内容正文:
专题五 循环结构(一)
计算机网络基础
专题复习讲练测
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
考纲要求
一
知识要点 考试条目
4.循环结构程序设计 (1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
知识点梳理
二
While 语句
语法:
一、while 语句的语法结构
while (循环条件) {
// 循环体(需要重复执行的代码)
}
核心要素:
循环条件:必须是一个布尔表达式(结果为 true/非0 或 false/0)。
循环体:当条件为真时执行的代码块。
循环控制:必须在循环体内改变循环条件,否则可能导致死循环。
知识点梳理
二
While 语句
二、执行流程详解
先判断条件:
若条件为真(非0),执行循环体;
若条件为假(0),跳过循环,继续执行后续代码。
循环体执行后:
再次判断条件,重复上述过程。
开始
条件
循环体
结束
知识点梳理
二
While 语句
三、关键注意事项
1.避免死循环:
int i = 0;
while (i < 5) { // 没有 i++,条件永远为真
printf("Loop...");
}
注:循环体内必须有改变条件的语句。
2.循环条件初始化:
int count;
while (count < 10) { // count未初始化,结果不可预测
// ...
}
注:变量必须初始化(如 int count = 0;)。
知识点梳理
二
While 语句
四、典型应用场景
1. 不确定次数的循环
// 输入数字直到输入0为止
int num;
scanf("%d", &num);
while (num != 0) {
printf("输入的是:%d
", num);
scanf("%d", &num);
}
特点:循环次数由用户输入动态决定。
2. 遍历数组/字符串
char str[] = "Hello";
int i = 0;
while (str[i] != '\0') {
printf("%c", str[i]);
i++;
}
// 输出:Hello
知识点梳理
二
While 语句
四、典型应用场景
3. 实现复杂条件控制
// 计算1+2+...+n,直到和超过100为止
int sum = 0, n = 1;
while (sum <= 100) {
sum += n;
n++;
}
printf("最终和:%d,n=%d", sum, n-1);
知识点梳理
二
While 语句
五、常见代码错误解析
错误示例1:分号位置错误
while (i < 5); // 分号导致循环体为空
{
printf("Hello");
i++;
}
结果:死循环(条件 i < 5 永远不变)。
错误示例2:逻辑条件矛盾
int x = 10;
while (x > 0) {
x = x / 2; // 当x=0时条件仍为假,但x可能无法达到0
printf("%d ", x);
}
// 输出:5 2 1 0(最后一次循环时x=0仍会执行)
问题:循环可能多执行一次,需仔细检查边界条件。
知识点梳理
二
While 语句
六、练习题
1. 以下代码输出的是( )
int i = 3;
while (i--) {
printf("%d ", i);
}
答案:2 1 0
知识点梳理
二
While 语句
六、练习题
2. 编写代码,用 while 循环输出斐波那契数列前10项(1,1,2,3,5,8...)。
知识点梳理
二
While 语句
六、练习题
3. 输入密码(最多3次机会),若输入正确显示“成功”,否则显示“失败”。
知识点梳理
二
do-while 语句
语法:
一、do-while 语句的语法结构
do {
// 循环体(需要重复执行的代码)
} while (循环条件); // 注意结尾必须有分号
核心要素:
循环体:至少会执行一次,无论条件是否成立。
循环条件:必须是一个布尔表达式(结果为 true/非0 或 false/0)。
分号结尾:while(条件) 后必须加分号(;),否则编译报错。
知识点梳理
二
While 语句
二、执行流程详解
先判断条件:
若条件为真(非0),执行循环体;
若条件为假(0),跳过循环,继续执行后续代码。
循环体执行后:
再次判断条件,重复上述过程。
开始
条件
循环体
结束
知识点梳理
二
do-while 语句
三、与 while 语句的关键区别
特性 while 语句 do-while 语句
执行顺序 先判断条件,后执行循环体 先执行循环体,后判断条件
最少执行次数 0次(条件初始为假时不执行) 1次(无论条件是否成立)
适用场景 需要前置条件检查的循环 必须至少执行一次循环体的场景
知识点梳理
二
do-while 语句
1. 输入验证(必须至少输入一次)
四、典型应用场景
知识点梳理
二
do-while 语句
2. 菜单选择系统
四、典型应用场景
知识点梳理
二
do-while 语句
3. 处理必须初始化数据
四、典型应用场景
知识点梳理
二
do-while 语句
1.以下代码输出结果是( )
int x = 5;
do {
printf("%d ", x);
x--;
} while (x > 0);
五、练习题
答案:5 4 3 2 1
知识点梳理
二
do-while 语句
2.编写代码,用 do-while 计算一个正整数的位数(如输入1234,输出4)。
五、练习题
知识点梳理
二
do-while 语句
3.用 do-while 实现猜数字游戏:随机生成1~100的整数,用户最多猜5次。
五、练习题
限时练习
三
【答案】B
1. 以下代码的循环次数是( )
int i = 5;
while (i > 0) {
i--;
if (i == 3) continue;
printf("%d ", i);
}
A. 5 次 B. 4 次
C. 3 次 D. 2次
限时练习
三
2.以下代码的输出结果是( )
int x = 0;
do {
printf("%d ", x);
x++;
} while (x < 3);
A. 0 1 2 B. 0 1
C. 0 D. 1
【答案】A
限时练习
三
【答案】D
3. 以下代码的输出是( )
int i = 0;
while (++i < 5) {
if (i % 2 == 0) break;
printf("%d ", i);
}
A. 1 3 5 B. 3 5
C. 1 3 D. 1
限时练习
三
4. do-while循环的条件表达式在每次循环结束后计算。( )
【答案】√
5.以下代码会导致无限循环( )
int i = 1;
while (i <= 10);
i++;
【答案】√
限时练习
三
6.while循环的循环体至少执行一次。( )
【答案】×
限时练习
三
【答案】i--;
7.补全代码,使其逆序输出 1 到 5:
int i = 5;
do {
printf("%d ", i);
______;
} while (i > 0);
限时练习
三
【答案】i += 2; 或 i = i + 2;
8.补全代码,计算 1 到 100 的偶数和:
int sum = 0, i = 2;
while (i <= 100) {
sum += i;
______;
}
限时练习
三
【答案】
9.编写程序:输入一个整数,计算其各位数字之和。
限时练习
三
【答案】
10.编写程序:输入若干整数(输入 0 时结束),统计正数和负数的个数。
内容小结
四
谢谢
$$