第5章 第1、2节:循环的概念与while语句(课件)-《C语言程序设计》(电子工业出版社)上好课

2026-04-30
| 43页
| 79人阅读
| 0人下载
精品

内容正文:

5.1、5.2节:循环的概念与while语句 C语言程序设计 电子工业出版社 理解循环的概念,掌握while语句的格式和执行过程 能够运用while语句解决简单的编程问题,如累加、计数等 培养逻辑思维能力和程序设计的基本思想,提升解决问题的能力 知识目标 能力目标 素养目标 01 01 01 学习目标 目录 Part 01 教学导入 Part 02 知识讲授 Part 03 师生互动 Part 04 课堂练习 Part 05 课堂小结 教学导入:一个有趣的问题 如何让计算机计算从 1 加到 100 的总和? 请先在脑海中构思 教学导入:“笨办法”—重复的加法 工作量巨大 手动编写上百行重复代码,不仅枯燥乏味,而且极易在输入过程中出现笔误。 代码极度冗余 大量重复的“sum + n”逻辑,使得代码文件体积庞大,阅读和理解成本极高。 核心痛点:这种“笨办法”虽然能得到结果,但在实际开发中是不可接受的。一旦需求变更(如加到200),修改成本将呈指数级上升。这引出了我们对循环结构的需求。 程序文本 // 这是一个非常繁琐的方法 intsum =0; sum = sum +1; sum = sum +2; sum = sum +3; // ... // 需要写100行这样的代码 sum = sum +100; 教学导入:高效的解决方案——“循环” 基本概念与定义 循环是结构化程序设计的基本结构之一。它允许我们在给定条件成立时,反复执行某段程序代码,直到条件不成立为止。这是控制程序流程的关键手段。 核心价值:自动化 循环就像一个“自动化”的重复操作。它解放了人力,让计算机代替我们完成繁琐、重复的劳动,极大地提高了编程效率和代码的可读性,是实现复杂算法的基础。 “用有限的代码,解决无限的重复” —— 循环的艺术 知识讲授 循环的概念与while语句 循环的概念与while语句 while语句的应用 第一部分 循环的概念与while语句 知识讲授 知识讲授:循环的概念 在日常生活和程序设计中,我们经常遇到需要重复处理的问题: 音乐播放器的“循环播放”功能 计算全班50个学生的平均成绩(重复输入和计算50次) 检查30个学生的成绩是否及格(重复判断30次) 循环结构就是为了解决这类重复操作而设计的。 知识讲授:循环的概念 知识讲授:C语言中的循环结构 while 语句 执行逻辑:先判断条件,再执行循环体。若条件不满足,循环体一次都不执行。 do-while 语句 执行逻辑:先执行一次循环体,再判断条件。至少保证循环体执行一次。 for 语句 执行逻辑:将初始化、条件判断和更新操作集中在一起,结构紧凑,适合次数已知的循环。 本堂课重点:深入理解 while 语句的执行流程与条件控制逻辑。 知识讲授:while语句——“当型”循环结构 C语言一般格式: while(表达式) { 循环体语句 } 核心机制:先判断,后执行 执行流程:首先计算表达式的值。 条件为真(非0):执行循环体,返回继续判断。 条件为假(0):直接跳出循环,执行后续代码。 重要提示: 由于 while 语句是“先判断”,如果一开始表达式就为假,那么循环体有可能一次都不执行。这是它与 do-while 循环的本质区别。 知识讲授:while语句的执行过程 1. 计算表达式值 首先计算 while 后括号内表达式的值,这是循环的入口判断依据。 2. 判断条件真假 若值为真(非0),执行步骤3进入循环;若为假(0),执行步骤4退出循环。 3. 执行循环体 执行大括号内的循环体语句,完成一次循环后,回到步骤1重新判断。 4. 退出循环 跳出 while 循环结构,程序继续执行循环体后面的语句。 背诵记忆 循环的定义 在给定条件成立时,反复执行某段程序代码,直到条件不成立为止。 while 语句格式 标准语法结构:while(表达式){循环体;} while 执行过程 先判断表达式,值为真则执行循环体;若为假则直接退出循环。 while 循环特点 先判断后执行。如果初始条件就不满足,循环体可能一次都不执行。 例题分析:求1+2+...+100的和 核心解题思路 1. 变量初始化:设置累加器 sum=0,计数器 i=1。 2. 循环条件:使用 while 循环,当 i ≤ 100 时执行循环体。 3. 循环操作:将 i 累加到 sum 中,并执行 i++ 使计数增加。 4. 结果输出:循环结束后,sum 即为 1 到 100 的总和。 关键点总结:该例题展示了 while 循环在累加问题中的经典应用。核心在于利用计数器变量 i 控制循环次数,利用累加器变量 sum 存储中间结果。注意循环体内必须有改变循环条件的语句(如 i++),否则会导致死循环。 i≤100 真 假 sum=0 i=1 sum=sum+i i=i+1 例题分析:求1+2+...+100的和 程序文本:求1+2+...+100的和 #include <stdio.h> main( ) {int i=1,sum=0; //定义变量i的初值为1,sum的初值为0 while(i<=100) //当i>100,条件表达式i<=100的值为假,不执行循环体 { //循环体开始 sum=sum+i; //第1次累加后,sum的值为1 i++; //加完后,i的值加1,为下次累加做准备 } //循环体结束 printf("sum=%d ",sum); //输出1+2+3…+100的累加和 } 例题分析:求1+2+...+100的和 课堂问答 Q1:while循环的循环体什么时候会被执行? 当while后的表达式值为真(非0)时,循环体才会被执行。 Q2:如果while后的表达式一开始就为假,循环体执行几次? 0次。这体现了while循环“先判断,后执行”的特点。 课堂练习:打印100以内的所有偶数 题目要求 编写一个程序,使用 while 循环结构,打印出 100 以内(包含 100)的所有偶数。 思路一:步长控制(高效) 初始化变量 i = 0(第一个偶数) 循环条件:i <= 100 循环体:打印 i,i += 2(步长为2,直接遍历偶数) 思路二:条件判断(通用) 初始化变量 i = 1 循环条件:i <= 100 循环体:判断 i % 2 == 0,若是则打印,i += 1 思考:对比两种思路,哪种执行效率更高?为什么? 课堂练习:打印100以内的所有偶数 i≤100 i+=2 真 假 i=0 输出i i≤100 真 假 i=0 输出i i%2==0 真 i++ 假 课堂练习:打印100以内的所有偶数 方法一:步长控制(高效遍历) int i = 0; while(i <= 100) { printf("%d ", i); i += 2;// 步长为2,跳过奇数 } 方法二:条件判断(通用判断) int i = 1; while(i <= 100) { if(i % 2 == 0) { printf("%d ", i); } i++; } 核心差异对比 效率与次数: 方法一仅循环50次(步长2),计算量减半,效率更高。 通用性与逻辑: 方法二需循环100次,但条件判断逻辑更通用,适合复杂筛选。 课堂练习:打印100以内的所有偶数 课堂练习:计算1到n的奇数和 题目要求 编写一个程序,输入一个正整数n,计算并输出1到n之间所有奇数的和。 解题思路提示 1. 初始化变量sum = 0存储总和。 2. 初始化变量i = 1(第一个奇数)。 3. 使用 while 循环,条件为i <= n。 4. 循环内累加sum += i,且i += 2。 5. 循环结束后输出 sum。 i<=n 真 假 输出i sum+=i;i=i+2 输入n i=1,sum=0 结束 开始 课堂练习:计算1到n的奇数和 程序文本:计算1到n的奇数和 #include<stdio.h> main() { int n, sum = 0, i = 1; printf("请输入一个正整数n:"); scanf("%d", &n); while(i <= n) { sum += i;// 累加当前奇数 i += 2;// 步长为2,指向下一个奇数 } printf("1到%d之间的奇数和为:%d", n, sum); } 课堂练习:计算1到n的奇数和 第二部分 知识讲授 while语句的应用 知识讲授:计算n! 题目要求 输入正整数 n,计算并输出 n 的阶乘。 公式:n! = 1 × 2 × 3 × ... × n 解题思路提示 初始化变量 t 为 1,用于存储乘积结果。 使用 while 循环,从 1 乘到 n,逐步更新 t。 循环结束后,输出 t 的值。 i<=n 真 假 输出t t*=i;i++; 输入n i=1,t=1; 结束 开始 知识讲授:计算n! 程序文本:计算n! #include<stdio.h> main() { int i,n; long t; i=1,t=1; printf(" 请输入n的值: "); scanf("%d",&n); while(i<=n) { t=t*i; i++; } printf(" n!=%ld ",t); } 知识讲授:计算n! 知识讲授:统计元音字母个数 题目要求 输入一个字符串,统计其中元音字母(a, e, i, o, u,不区分大小写)的个数。 解题思路提示 使用getchar()逐个读取字符,直到遇到换行符。 利用while循环持续读取,条件为字符不等于 ' '。 判断字符是否为元音(覆盖大小写),若是则计数器count++。 知识讲授:统计元音字母个数 程序文本:统计元音字母个数 #include<stdio.h> main() { char c; int count=0; while((c=getchar())!=' ') { switch(c) { case 'a':case 'A':case 'e':case 'E': case 'i':case 'I':case 'o':case 'O': case 'u':case 'U':count++;break; } } printf("元音字母的个数为:%d",count); } 知识讲授:统计元音字母个数 知识讲授:猜数字游戏 题目要求 计算机随机生成1-100的整数作为谜底,用户输入猜测值,程序提示“大了”或“小了”,直到猜对为止。 解题思路提示 随机数生成:使用 rand() 和 srand() 生成1-100随机数。 用户交互:使用 scanf 获取用户输入的猜测值。 智能提示:利用 if-else 判断大小关系,输出提示。 循环机制:while(1) 构建循环,猜对时 break 跳出。 知识讲授:猜数字游戏 程序文本:猜数字游戏 #include <stdio.h> #include <stdlib.h> #include <time.h> main() { int secret, guess; srand((unsigned)time(NULL)); secret =rand() % 100 + 1; // 生成1-100随机数 printf("猜数字游戏开始! "); while(1) // 无限循环直到猜对 { printf("请输入猜测:"); scanf("%d", &guess); if(guess>secret) printf("大了! "); else if(guess<secret) printf("小了! "); else { printf("恭喜猜对! ");break; } // 猜对退出循环 } } 知识讲授:猜数字游戏 背诵记忆 循环三要素 初始化变量 条件判断逻辑 更新操作语句 避免死循环 循环体内必须包含 能改变循环条件的语句 防止程序无限执行 常用应用场景 数值累加与计数 用户输入验证 图形打印与游戏逻辑 💡 核心记忆:明确边界条件,确保循环有始有终,灵活运用解决实际问题。 课堂练习:输入验证 题目要求 编写程序,要求用户输入一个正整数,直到输入正确为止。若输入非正整数,提示错误并要求重新输入。 解题思路提示 核心:构建无限循环确保输入合法,典型的“输入验证”场景。 框架:使用while(1)作为主体循环结构。 读取:循环内部使用scanf获取用户输入。 判断:if(num <= 0)检查是否为正整数。 控制:非法则提示错误继续循环;合法则break跳出。 1 真 假 提示:重新输入 break; 输入num int num; 结束 开始 num>0 真 课堂练习:输入验证 程序文本:输入验证 #include<stdio.h> main() { int num; printf("请输入一个正整数:"); while(1)// 无限循环,直到break { scanf("%d", &num); if(num > 0) break;//输入正确,跳出循环 else printf("输入错误,请重新输入:"); } } 课堂练习:输入验证 课堂小结 循环概念 解决重复操作的高效方法,避免代码冗余,提升效率。 while语句 先判断后执行的“当型”循环。格式:while(表达式){循环体;} 执行过程 判断表达式 → 执行循环体 → 更新变量 → 重复直到表达式为假。 应用场景 广泛应用于累加、计数、输入验证、图形打印以及游戏逻辑控制等。 注意事项 务必避免死循环,确保循环体内有能改变表达式结果的变量更新语句。 核心目标 掌握循环思维,能够将复杂的重复任务转化为计算机可执行的高效代码。 编程不仅是代码,更是逻辑思维的艺术 —— 持续练习,熟能生巧 课堂小结 课后任务 基础题:平方和计算 编写程序,计算 1 到 n 的平方和,巩固循环累加的基本逻辑。 提高题:打印倒三角形 编写程序,利用嵌套循环打印出由星号(*)组成的倒直角三角形图案。 挑战题:改进猜数字游戏 限制用户最多猜 7 次,若 7 次均未猜对则结束游戏并提示正确答案。 谢谢观看 THANKS $

资源预览图

第5章 第1、2节:循环的概念与while语句(课件)-《C语言程序设计》(电子工业出版社)上好课
1
第5章 第1、2节:循环的概念与while语句(课件)-《C语言程序设计》(电子工业出版社)上好课
2
第5章 第1、2节:循环的概念与while语句(课件)-《C语言程序设计》(电子工业出版社)上好课
3
第5章 第1、2节:循环的概念与while语句(课件)-《C语言程序设计》(电子工业出版社)上好课
4
第5章 第1、2节:循环的概念与while语句(课件)-《C语言程序设计》(电子工业出版社)上好课
5
第5章 第1、2节:循环的概念与while语句(课件)-《C语言程序设计》(电子工业出版社)上好课
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。