10.循环结构 (for)
约 1851 字大约 6 分钟
2025-02-05
一、开场:开启循环世界的大门
标题:探索 for 循环的神奇力量 - 让程序重复起舞
副标题:掌握循环结构,开启高效编程之旅
引入方式:展示一段工厂流水线生产产品的视频,产品在流水线上不断重复相同的加工步骤,由此提问学生,在编程中如何实现类似的重复操作,自然引出 for 循环的概念,即 for 循环就像这条流水线,能让程序重复执行特定的代码块。
配图:选择一张工厂流水线的图片,或者用动画展示简单循环过程的图片,让学生对重复执行有直观感受。
二、for 循环初相识
for 循环的概念
讲解 for 循环是一种在 C++ 中常用的循环结构,它允许程序按照设定的条件重复执行一段代码。通过循环,可以避免重复编写相同的代码,提高编程效率。
举例说明,比如计算 1 到 100 的累加和,如果不使用循环,需要逐个相加,代码冗长;而使用 for 循环,就可以轻松实现这个重复的加法操作。
for 循环的语法
for (初始化表达式; 条件表达式; 更新表达式) {
// 循环体,重复执行的代码块
}
解释 “初始化表达式”:在循环开始前执行一次,通常用于初始化循环变量,如int i = 1;
,这里i
就是循环变量。
“条件表达式”:在每次循环开始时进行判断,如果为真(非零值),则执行循环体;如果为假(零值),则结束循环。例如i <= 100;
,只有当i
小于等于 100 时,才会继续执行循环体。
“更新表达式”:在每次循环体执行结束后执行,用于更新循环变量的值,如i++;
,使i
每次循环后自增 1。
代码示例 1:计算 1 到 100 的累加和
#include <iostream>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
std::cout << "1到100的累加和为: " << sum << std::endl;
return 0;
}
逐行分析代码:
首先定义一个整型变量sum
,初始化为 0,用于存储累加和。
在 for 循环中,int i = 1;
初始化循环变量i
为 1;i <= 100;
是条件表达式,判断i
是否小于等于 100;i++;
是更新表达式,每次循环后i
自增 1。
循环体sum += i;
将i
累加到sum
中。
循环结束后,输出累加和。
强调 for 循环的执行流程,从初始化表达式开始,到条件表达式判断,再到循环体执行,最后执行更新表达式,如此反复,直到条件表达式为假。
三、for 循环的进阶应用
嵌套 for 循环
介绍嵌套 for 循环是指在一个 for 循环的循环体内又包含另一个 for 循环。外层循环每执行一次,内层循环会完整执行一轮。
语法示例:
for (初始化表达式1; 条件表达式1; 更新表达式1) {
for (初始化表达式2; 条件表达式2; 更新表达式2) {
// 内层循环体
}
// 外层循环体的其他代码
}
代码示例:打印九九乘法表
#include <iostream>
int main() {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
std::cout << j << " * " << i << " = " << i * j << "\t";
}
std::cout << std::endl;
}
return 0;
}
分析代码:外层循环控制行数,内层循环控制每行的乘法表达式个数。外层循环的i
从 1 到 9 变化,每变化一次,内层循环的j
就从 1 到i
变化,打印出相应的乘法表达式,从而实现九九乘法表的打印。
使用 for 循环遍历数组
讲解如何使用 for 循环遍历数组,通过循环变量作为数组下标,依次访问数组中的每个元素。
代码示例:
#include <iostream>
int main() {
int numbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
std::cout << "数组中第 " << i + 1 << " 个元素是: " << numbers[i] << std::endl;
}
return 0;
}
分析代码:定义一个包含 5 个元素的整型数组numbers
,for 循环的i
从 0 到 4 变化,通过numbers[i]
依次访问数组中的每个元素并输出。
四、实践与巩固
练习题目
让学生编写一个程序,使用 for 循环计算 1 到 n 的阶乘,n 由用户输入。要求添加适当的注释,说明代码的功能和逻辑。
给出一个包含 for 循环的程序,其中存在一些错误,如循环条件错误、循环变量更新不当等,让学生找出错误并改正,同时添加注释说明修改的原因。
互动环节
开展小组竞赛,将学生分成小组,每个小组共同完成练习题目。完成后,每个小组推选一名代表进行代码展示和讲解,其他小组进行提问和评价,教师进行总结和点评,获胜小组可获得小奖品,如编程文具、小玩具等。
进行创意编程挑战,教师给出一些生活中的重复场景,如打印楼梯形状的图案、模拟超市收银台计算总价等,让学生在规定时间内用 for 循环编写代码实现,然后邀请学生上台分享自己的代码思路,激发学生的创新思维和编程兴趣。
五、回顾与总结
总结
回顾 for 循环的概念、语法,包括初始化表达式、条件表达式和更新表达式的作用,以及 for 循环的执行流程。
总结 for 循环的进阶应用,如嵌套 for 循环和使用 for 循环遍历数组的方法和注意事项。
强调在使用 for 循环时需要注意的事项,如循环条件的正确性、循环变量的初始化和更新、避免死循环等,以及良好的代码编写习惯对程序正确性和可读性的重要性。
拓展
鼓励学生课后尝试编写更复杂的循环程序,如实现一个简单的猜数字游戏,包含多次猜测机会,使用 for 循环控制猜测次数;或者编写一个程序,统计一段文本中每个字符出现的次数,使用 for 循环遍历文本。
推荐一些编程学习资源,如在线编程学习平台(如牛客网、LeetCode 等)、编程社区(如知乎编程话题、V2EX 等),让学生可以在课后进一步学习和交流,深入了解 for 循环在各种算法和实际项目中的应用,提升编程能力和算法思维。
六、结束寄语
感谢语
感谢同学们在本节课的积极参与和认真学习,通过本节课的学习,大家对循环结构中的 for 循环有了深入的理解和掌握。希望大家在今后的编程学习中,能够灵活运用 for 循环解决各种需要重复执行的问题,不断提升自己的编程水平和逻辑思维能力。