P31-36 程序流程结构-循环结构

2024-03-12 08:58

本文主要是介绍P31-36 程序流程结构-循环结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

while语句
作用:满足循环条件,执行循环语句。
语法:while(循环条件){循环语句}
解释:只要循环条件的结果为真,就执行循环语句。

示例:

#include <iostream>
using namespace std;int main() {//while 语句//依次输出0~9这9个数字int num = 0;while (num < 10) {cout << num << endl;num++;}//PS:提供跳出循环的出口,避免出现死循环return 0;
}

在这里插入图片描述
案例:
猜数字,系统随机生成一个1到100之间的数字。玩家进行猜测,如果猜错,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并且退出游戏。

#include <iostream>
using namespace std;
//time系统时间头文件包含
#include <ctime>int main() {//添加随机数种子 作用是利用当前系统时间生成随机数,防止每次随机数都一样srand((unsigned int)time(NULL));//1、系统生成随机数int num = rand() % 100 + 1;//生成0+1~99+1随机数//2、玩家进行猜测while (1){int val = 0;cin >> val;//3、判断玩家的猜测if (val > num){cout << "猜大了" << endl;}else if (val < num){cout << "猜小了" << endl;}else{cout << "猜对了" << endl; //猜对,退出循环break;// break,可以利用该关键字来退出当前循环}}return 0;
}

do…while 循环语句
作用:执行语句,再判断是否符合条件
语法:do{循环语句} while ();
与while的区别在于do…while会先执行一次循环语句,再判断循环条件。

示例:

#include <iostream>
using namespace std;int main() {//do...while语句//在屏幕中输出0到9这十个数字int num = 0;do{cout << num << endl;num++;} 	while (num < 10);system("pause");
}

在这里插入图片描述
案例:
水仙花数,是指一个3位数,它的每个位上的数字的3次幂之和等于它本身:
例如:1×1×1+5×5×5+3×3×3=153
利用do…while语句,求出所有3位数中的水仙花数。

#include <iostream>
using namespace std;int main() {//1、先打印所有数字int num = 100;do{//从所有三位数字中找到水仙花数int a = 0; //个位int b = 0; //十位int c = 0; //百位a = num % 10; //获取数字的个位b = num / 10 % 10; //获取数字的十位c = num / 100; //获取数字的百位if(a*a*a + b*b*b + c*c*c == num) //如果是水仙花数,才打印{cout << num << endl;}num++;} while (num < 1000);system("pause");
}

在这里插入图片描述
for 循环
作用:满足循环条件,执行循环语句
语法:for(起始表达式; 条件表达式; 末尾循环体){循环语句;}

示例:

#include <iostream>
using namespace std;int main() {//for循环//从数字0 打印到 数字9for(int i = 0; i < 10; i++){cout << i << endl;}return 0;
}

在这里插入图片描述展开来看:

#include <iostream>
using namespace std;int main() {//for循环//从数字0 打印到 数字9int i = 0;for(; ; ){if (i >= 10){break;}cout << i << endl;i++;}return 0;
}

循环顺序:
在这里插入图片描述
案例:敲桌子
从1开始数到数字100,如果数字个位含有7,或者数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。

#include <iostream>
using namespace std;int main() {//敲桌子案例//1、先输出1~100数字for (int i = 1; i <= 100; i++){//2、从100个数字种找到特殊数字,打印敲桌子//如果是7的倍数、个位有7、或者十位有7,打印敲桌子if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7){cout << "敲桌子" << endl;}else{cout << i << endl;}}return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于P31-36 程序流程结构-循环结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/800750

相关文章

Java中的for循环高级用法

《Java中的for循环高级用法》本文系统解析Java中传统、增强型for循环、StreamAPI及并行流的实现原理与性能差异,并通过大量代码示例展示实际开发中的最佳实践,感兴趣的朋友一起看看吧... 目录前言一、基础篇:传统for循环1.1 标准语法结构1.2 典型应用场景二、进阶篇:增强型for循环2.

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

Python+PyQt5实现文件夹结构映射工具

《Python+PyQt5实现文件夹结构映射工具》在日常工作中,我们经常需要对文件夹结构进行复制和备份,本文将带来一款基于PyQt5开发的文件夹结构映射工具,感兴趣的小伙伴可以跟随小编一起学习一下... 目录概述功能亮点展示效果软件使用步骤代码解析1. 主窗口设计(FolderCopyApp)2. 拖拽路径

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Spring三级缓存解决循环依赖的解析过程

《Spring三级缓存解决循环依赖的解析过程》:本文主要介绍Spring三级缓存解决循环依赖的解析过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、循环依赖场景二、三级缓存定义三、解决流程(以ServiceA和ServiceB为例)四、关键机制详解五、设计约

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代