建筑网站水泡网北京网站策划联系电话

张小明 2025/12/28 13:58:44
建筑网站水泡网,北京网站策划联系电话,广西建设工程招标网,门户网站应该怎么做课程目标 掌握while循环的语法和使用场景理解do-while循环的特点和适用情况学会在不同场景下选择合适的循环结构掌握循环嵌套的复杂应用能够解决复杂的模式输出和计算问题理解循环控制语句break和continue的用法第一部分#xff1a;while循环#xff08;50分钟#xff09; 1…课程目标掌握while循环的语法和使用场景理解do-while循环的特点和适用情况学会在不同场景下选择合适的循环结构掌握循环嵌套的复杂应用能够解决复杂的模式输出和计算问题理解循环控制语句break和continue的用法第一部分while循环50分钟1.1 while循环的基本概念while循环的特点先判断条件再执行循环体适合循环次数不确定的情况条件为真时继续循环为假时退出语法while(条件){// 循环体}执行流程图开始 ↓ 检查条件 ↓ 条件为假 → 结束循环 ↓条件为真 执行循环体 ↓ 检查条件 → ...1.2 基本的while循环示例#includeiostreamusingnamespacestd;intmain(){intcount1;// 初始化计数器// 输出1到5的数字while(count5){cout当前数字: countendl;count;// 更新计数器}cout循环结束endl;return0;}1.3 while循环与for循环的对比相同功能的两种实现#includeiostreamusingnamespacestd;intmain(){// 使用for循环输出1-5coutfor循环: ;for(inti1;i5;i){couti ;}coutendl;// 使用while循环输出1-5coutwhile循环: ;intj1;// 初始化while(j5){// 条件coutj ;j;// 更新}coutendl;return0;}1.4 while循环的适用场景场景1用户输入验证#includeiostreamusingnamespacestd;intmain(){intscore;// 要求用户输入有效的成绩0-100cout请输入成绩(0-100): ;cinscore;// 如果输入无效要求重新输入while(score0||score100){cout输入无效请重新输入成绩(0-100): ;cinscore;}cout输入的成绩是: scoreendl;return0;}场景2游戏循环#includeiostreamusingnamespacestd;intmain(){intplayerHealth100;intmonsterHealth80;intplayerAttack,monsterAttack;cout 勇士斗恶龙 endl;// 游戏主循环while(playerHealth0monsterHealth0){cout\n你的生命值: playerHealth;cout | 恶龙生命值: monsterHealthendl;// 玩家攻击cout请输入你的攻击力(1-20): ;cinplayerAttack;monsterHealth-playerAttack;cout你对恶龙造成了 playerAttack 点伤害endl;// 如果恶龙还活着进行反击if(monsterHealth0){monsterAttack10rand()%11;// 10-20的随机伤害playerHealth-monsterAttack;cout恶龙对你造成了 monsterAttack 点伤害endl;}}// 判断游戏结果if(playerHealth0){cout\n恭喜你击败了恶龙endl;}else{cout\n很遗憾你被恶龙击败了...endl;}return0;}场景3数据统计#includeiostreamusingnamespacestd;intmain(){intnumber;intsum0,count0;doubleaverage;cout请输入一系列整数输入0结束:endl;// 读取第一个数字cout请输入第1个数字: ;cinnumber;// 循环读取直到输入0while(number!0){sumnumber;count;cout请输入第count1个数字: ;cinnumber;}// 计算结果if(count0){averagestatic_castdouble(sum)/count;cout\n 统计结果 endl;cout数字个数: countendl;cout总和: sumendl;cout平均值: averageendl;}else{cout没有输入有效数字endl;}return0;}第二部分do-while循环40分钟2.1 do-while循环的特点do-while循环的特点先执行循环体再判断条件循环体至少执行一次适合需要至少执行一次的情况语法do{// 循环体}while(条件);执行流程图开始 ↓ 执行循环体 ↓ 检查条件 ↓ 条件为真 → 执行循环体 ↓条件为假 结束循环2.2 do-while循环示例#includeiostreamusingnamespacestd;intmain(){intnumber;// 使用do-while确保至少执行一次do{cout请输入一个正整数: ;cinnumber;if(number0){cout输入无效请重新输入。endl;}}while(number0);// 条件不满足时继续循环cout你输入的正整数是: numberendl;return0;}2.3 do-while的典型应用菜单系统#includeiostreamusingnamespacestd;intmain(){intchoice;do{// 显示菜单cout\n 学生管理系统 endl;cout1. 添加学生endl;cout2. 删除学生endl;cout3. 查询学生endl;cout4. 显示所有学生endl;cout0. 退出系统endl;cout请选择操作: ;cinchoice;// 根据选择执行相应操作switch(choice){case1:cout执行添加学生功能...endl;break;case2:cout执行删除学生功能...endl;break;case3:cout执行查询学生功能...endl;break;case4:cout执行显示所有学生功能...endl;break;case0:cout感谢使用再见endl;break;default:cout无效选择请重新输入endl;}}while(choice!0);// 选择0时退出return0;}2.4 while vs do-while 对比#includeiostreamusingnamespacestd;intmain(){intnumber10;coutwhile循环测试:endl;// 先判断条件条件为false不执行循环体while(number5){cout这个不会执行endl;number;}coutwhile循环后number numberendl;cout\ndo-while循环测试:endl;// 先执行循环体再判断条件do{cout这个会执行一次endl;number;}while(number5);coutdo-while循环后number numberendl;return0;}第三部分循环控制语句40分钟3.1 break语句break的作用立即退出当前循环#includeiostreamusingnamespacestd;intmain(){// 查找第一个能被7整除的数for(inti1;i100;i){if(i%70){cout找到第一个能被7整除的数: iendl;break;// 找到后立即退出循环}cout检查: iendl;}return0;}3.2 continue语句continue的作用跳过本次循环的剩余代码直接进入下一次循环#includeiostreamusingnamespacestd;intmain(){// 输出1-10的奇数cout1-10的奇数: ;for(inti1;i10;i){if(i%20){continue;// 如果是偶数跳过输出}couti ;}coutendl;return0;}3.3 break和continue的综合应用#includeiostreamusingnamespacestd;intmain(){intnumber;cout请输入数字输入负数退出:endl;while(true){// 无限循环cout请输入一个数字: ;cinnumber;// 输入负数时退出if(number0){cout输入负数程序结束endl;break;}// 跳过0if(number0){cout0被跳过endl;continue;}// 处理正数cout你输入的是正数: numberendl;cout它的平方是: number*numberendl;}return0;}第四部分循环嵌套进阶50分钟4.1 多重循环的概念循环嵌套在一个循环内部包含另一个循环#includeiostreamusingnamespacestd;intmain(){// 外层循环控制行for(inti1;i3;i){cout外层循环 i iendl;// 内层循环控制列for(intj1;j2;j){cout 内层循环 j jendl;}cout外层循环结束endl;cout---endl;}return0;}4.2 复杂图案输出打印菱形#includeiostreamusingnamespacestd;intmain(){intn;cout请输入菱形大小(奇数): ;cinn;// 上半部分for(inti1;in;i2){// 打印空格for(intj1;j(n-i)/2;j){cout ;}// 打印星号for(intj1;ji;j){cout*;}coutendl;}// 下半部分for(intin-2;i1;i-2){// 打印空格for(intj1;j(n-i)/2;j){cout ;}// 打印星号for(intj1;ji;j){cout*;}coutendl;}return0;}4.3 数学表格生成乘法表增强版#includeiostream#includeiomanipusingnamespacestd;intmain(){intsize;cout请输入乘法表大小: ;cinsize;// 打印表头cout ;for(inti1;isize;i){coutsetw(4)i;}coutendl;// 打印分隔线cout ;for(inti1;isize*4;i){cout-;}coutendl;// 打印乘法表for(inti1;isize;i){coutsetw(2)i |;for(intj1;jsize;j){coutsetw(4)i*j;}coutendl;}return0;}4.4 组合数学问题组合计数#includeiostreamusingnamespacestd;intmain(){intcount0;cout所有的三位数组合各位数字不同:endl;// 百位数字从1-9for(inti1;i9;i){// 十位数字从0-9但不能与百位相同for(intj0;j9;j){if(ji)continue;// 跳过相同的数字// 个位数字从0-9不能与前两位相同for(intk0;k9;k){if(ki||kj)continue;// 跳过相同的数字intnumberi*100j*10k;coutnumber ;count;// 每10个数字换行if(count%100){coutendl;}}}}cout\n总共有 count 个满足条件的三位数endl;return0;}第五部分综合应用示例50分钟5.1 猜数字游戏#includeiostream#includecstdlib#includectimeusingnamespacestd;intmain(){srand(time(0));// 设置随机数种子intsecretNumberrand()%1001;// 1-100的随机数intguess,attempts0;constintmaxAttempts7;cout 猜数字游戏 endl;cout我想了一个1-100之间的数字你有maxAttempts次机会猜中它endl;while(attemptsmaxAttempts){attempts;cout\n第attempts次尝试请输入你的猜测: ;cinguess;if(guesssecretNumber){cout恭喜你猜对了endl;cout你用了 attempts 次猜中了数字 secretNumberendl;break;}elseif(guesssecretNumber){cout太小了endl;}else{cout太大了endl;}// 提示剩余次数cout还剩 maxAttempts-attempts 次机会endl;// 最后一次机会的提示if(attemptsmaxAttempts-1){// 给一个范围提示intlowermax(1,secretNumber-10);intuppermin(100,secretNumber10);cout提示数字在 lower 到 upper 之间endl;}}if(attemptsmaxAttemptsguess!secretNumber){cout\n很遗憾你没有猜中。正确的数字是: secretNumberendl;}return0;}5.2 素数筛选器#includeiostream#includeiomanipusingnamespacestd;intmain(){intlimit;cout请输入上限找出该范围内的所有素数: ;cinlimit;if(limit2){cout没有素数endl;return0;}cout2到limit之间的素数:endl;intcount0;intperLine10;// 每行显示10个素数// 检查每个数字是否为素数for(intnumber2;numberlimit;number){boolisPrimetrue;// 检查从2到number-1是否有因数for(inti2;i*inumber;i){// 优化检查到平方根即可if(number%i0){isPrimefalse;break;}}// 如果是素数输出if(isPrime){coutsetw(6)number;count;// 每行显示perLine个素数后换行if(count%perLine0){coutendl;}}}cout\n\n总共找到 count 个素数endl;return0;}5.3 数字金字塔进阶#includeiostreamusingnamespacestd;intmain(){introws;cout请输入金字塔行数: ;cinrows;// 数字金字塔for(inti1;irows;i){// 打印前导空格for(intj1;jrows-i;j){cout ;}// 打印左半部分递增for(intj1;ji;j){coutj ;}// 打印右半部分递减for(intji-1;j1;j--){coutj ;}coutendl;}cout\n字符金字塔:\n;// 字符金字塔for(inti1;irows;i){// 打印前导空格for(intj1;jrows-i;j){cout ;}// 打印字符charcurrentCharA;for(intj1;j2*i-1;j){coutcurrentChar;if(ji){currentChar;}else{currentChar--;}}coutendl;}return0;}5.4 分数统计系统#includeiostream#includeiomanipusingnamespacestd;intmain(){intstudentCount;intsubjectCount;cout请输入学生人数: ;cinstudentCount;cout请输入科目数量: ;cinsubjectCount;// 输入每个学生的每科成绩for(intstudent1;studentstudentCount;student){cout\n 第student个学生 endl;doubletotalScore0;doublehighestScore0;doublelowestScore100;for(intsubject1;subjectsubjectCount;subject){doublescore;cout请输入第subject科成绩: ;cinscore;totalScorescore;if(scorehighestScore){highestScorescore;}if(scorelowestScore){lowestScorescore;}}doubleaverageScoretotalScore/subjectCount;// 输出学生成绩统计coutfixedsetprecision(2);cout总分: totalScoreendl;cout平均分: averageScoreendl;cout最高分: highestScoreendl;cout最低分: lowestScoreendl;// 成绩评价if(averageScore90){cout评价: 优秀endl;}elseif(averageScore80){cout评价: 良好endl;}elseif(averageScore70){cout评价: 中等endl;}elseif(averageScore60){cout评价: 及格endl;}else{cout评价: 不及格endl;}}return0;}第六部分循环结构选择指南20分钟6.1 如何选择合适的循环结构循环类型适用场景特点for循环循环次数已知初始化、条件、更新都在一行while循环循环次数未知先判断后执行适合输入验证、条件控制do-while循环循环次数未知至少执行一次适合菜单系统、用户交互6.2 循环选择示例#includeiostreamusingnamespacestd;intmain(){intchoice;// 场景1已知次数 - 使用for循环cout场景1输出1-10的平方endl;for(inti1;i10;i){couti² i*iendl;}// 场景2未知次数先判断 - 使用while循环cout\n场景2输入验证endl;intage;cout请输入年龄: ;cinage;while(age0||age150){cout年龄无效请重新输入: ;cinage;}// 场景3至少执行一次 - 使用do-while循环cout\n场景3菜单系统endl;do{cout1. 开始游戏endl;cout2. 设置endl;cout3. 退出endl;cout请选择: ;cinchoice;// 处理选择...}while(choice!3);return0;}练习与作业基础练习必做练习1数字反转输入一个正整数使用循环将其数字反转。例如输入12345输出54321练习2最大公约数(GCD)使用欧几里得算法计算两个数的最大公约数。算法gcd(a,b) gcd(b, a mod b)直到b为0练习3简单计算器循环版改进之前的计算器使其可以连续进行计算直到用户选择退出。挑战练习选做挑战1帕斯卡三角形输出指定行数的帕斯卡三角形杨辉三角。1 1 1 1 2 1 1 3 3 1 1 4 6 4 1挑战2数字黑洞实现数字黑洞6174的验证任选一个四位数数字不能全相同数字按降序排列和升序排列得到最大数和最小数用大数减小数得到新的四位数重复上述步骤最多7步必然会得到6174挑战3生命游戏实现康威生命游戏的简单版本在控制台显示细胞演化过程。实验任务任务1循环性能比较对同一个问题分别用for、while、do-while实现比较代码的可读性和适用性。任务2嵌套循环深度测试测试多层嵌套循环的性能和可读性找出合理的嵌套深度。任务3循环优化实验对素数判断算法进行优化比较优化前后的性能差异。学习总结今天学到了✅while循环先判断后执行适合次数不确定的循环✅do-while循环先执行后判断至少执行一次✅循环控制语句break退出循环和continue跳过本次✅循环嵌套进阶复杂图案和数学问题的解决✅循环结构选择根据不同场景选择合适的循环类型关键技能循环设计根据问题特点选择合适的循环结构条件控制编写有效的循环条件和退出条件嵌套应用使用多重循环解决复杂问题算法思维将数学问题转化为循环解决方案下一课预告下一节课我们将进行阶段性复习与测评综合运用前面学过的所有知识通过小测验和编程闯关游戏来巩固学习成果
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

专业网站设计都选亿企邦安卓网站开发平台

AutoGPT在心理咨询辅助中的伦理边界讨论:AI能否共情? 在高校心理中心排长队、热线电话占线、深夜焦虑无处倾诉的现实背景下,人工智能正被寄予厚望——它能否成为填补心理健康服务缺口的“数字守门人”?尤其是像AutoGPT这样的自主智…

张小明 2025/12/26 13:52:21 网站建设

有哪些做排球比赛视频网站如何在线实现手机版网站建设

Azure 云服务综合指南 1. Azure App Service Azure App Service 和 Web App 可互换使用。目前,App Service 计划有开发/测试、生产和隔离三个类别。免费和共享层在超出计算机限制后会被阻止,导致应用程序对用户不可用。当前有五种不同的身份验证提供者,包括 Azure AD、Face…

张小明 2025/12/26 13:52:17 网站建设

南宁网站建设培训成都网站运营维护厂家

GLM-4-9B-Chat-1M:200万字上下文重构企业级长文本处理范式 【免费下载链接】glm-4-9b-chat-1m-hf 项目地址: https://ai.gitcode.com/zai-org/glm-4-9b-chat-1m-hf 导语 智谱AI推出的GLM-4-9B-Chat-1M开源模型,以90亿参数实现对Llama-3-8B的全面…

张小明 2025/12/26 13:52:13 网站建设

商城网站建设code521网站建设一般用什么软件

你是否曾经为缓慢的图像加载速度而烦恼?是否遇到过专业RAW格式无法预览的尴尬?ImageGlass作为一款轻量化开源图像浏览器,正以其卓越的性能和丰富的功能改变着数字图像浏览的体验。 【免费下载链接】ImageGlass 🏞 A lightweight, …

张小明 2025/12/26 13:52:08 网站建设

免费的资料网站商业模式顶层设计案例

云资产查询革命:用SQL统一管理多云环境的终极方案 【免费下载链接】cloudquery cloudquery/cloudquery: 一个基于 GraphQL 的数据查询引擎,可以将 SQL 查询转换为 GraphQL 查询。适合用于在 Web 应用程序中需要访问多个数据源的场景,可以使用…

张小明 2025/12/26 13:52:06 网站建设

网站软文设计网站详情页设计

4四层电梯组态王6.53独立仿真5,带西门子200plc带超载和防止夹人功能,带运行效果视频最近在工控圈子里捣鼓了个有意思的玩意儿——用组态王6.53和西门子S7-200 PLC搭了个四层电梯仿真系统。这可不是普通的上下按钮玩具,咱给它整上了超载报警、…

张小明 2025/12/20 0:38:00 网站建设