C++循环结构

article/2025/7/28 4:57:15

C++循环结构

  • 一、循环结构
    • 1、while 循环
      • 1.1 语法
      • 1.2 练习题
      • 1.3 代码找错
    • 2、do-while 循环
      • 2.1 语法
      • 2.2 练习题
    • 3、for 循环
      • 3.1 语法
      • 3.2 练习题
    • 4、三种循环执行顺序
  • 二、循环嵌套
    • 1.输出正方形
    • 2.输出乘法口诀
    • 3.输出平行四边形
    • 4.输出数字菱形
  • 三、跳转语句
    • 1.break语句
      • 1.1 在 switch 中
      • 1.2 在循环中
    • 2.continue语句
    • 3. goto语句

一、循环结构

1、while 循环

1.1 语法

while(循环条件){//符合条件执行循环语句;否则退出循环
循环语句//重复执行
}
执行顺序:先判断循环条件,再执行循环语句
在这里插入图片描述

1.2 练习题

1.输出66遍 “Hello World”

	int a = 1;while (a <= 66){cout << "第" << a << "遍: Hello World" << endl;a++;//a++ 是非常重要的,如果去掉的话,a 的值永远保持 1,第二行行中的表达式将永远为 true,则循环就变成了“死循环”,必不可少的。}

2.水仙花数
求出100~999中的水仙花数(while)
分析:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
例如:1^3 + 5^3+ 3^3 = 153

		int num = 100;while (num < 1000) {int gw = num % 10;//个位数,对num进行余10,结果为个位数int sw = num / 10 % 10;//十位数,先将num除以10得到十位和百位,再余10得到十位数int bw = num / 100;//百位数,除以100 得出百位数if (gw * gw * gw + sw * sw * sw + bw * bw * bw == num){cout << num << endl;}num++;}

1.3 代码找错

	//第一个int i = 1;//1 while (i <= 66);//2{cout << "Hello World" << endl;//3i++;//4 }//第二个int i = 1;//1 while (i <= 66) //2{cout << "Hello World" << endl;//3}

2、do-while 循环

2.1 语法

do{
循环语句
} while(循环条件);

执行顺序:先执行循环语句,再判断循环条件

2.2 练习题

1.输出66遍 “Hello World”

int a = 1;do{cout << "Hello World" << endl;a++;} while (a <= 66);

2.水仙花数
求出100~999中的水仙花数(do-while)
分析:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
例如:1^3 + 5^3+ 3^3 = 153

	int num = 100;do{int gw = num % 10;//个位数int sw = num / 10 % 10;//十位数int bw = num / 100;//百位数if (gw*gw*gw + sw*sw*sw + bw*bw*bw == num){cout << num << endl;}num++;} while (num < 1000);

3、for 循环

3.1 语法

for(起始表达式;条件表达式;末尾循环体) {
循环语句;
}

3.2 练习题

1.输出66遍 “Hello World”

	for (int i = 1; i <= 66; i++){cout << "Hello World" << endl;}

2.水仙花数
求出100~999中的水仙花数(for)

	for (int i = 100; i < 1000; i++){int gw = i % 10;//个位数int sw = i / 10 % 10;//十位数int bw = i / 100;//百位数if (gw * gw * gw + sw * sw * sw + bw * bw * bw == i){cout << i << endl;}}

4、三种循环执行顺序

在这里插入图片描述while 和 for 相同,先进行循环条件判断,后执行循语句
do-while 是先执行循语句,后判断循环条件

二、循环嵌套

在二重循环中,外层循环每执行一次,内层循环要执行一圈。

1.输出正方形

在这里插入图片描述

	for (int i = 1; i <= 6; i++){for (int j = 1; j <= 6; j++){cout << "* ";}cout << endl;}

当外层 i = 1 时,此时, j 从 1 开始,循环 6 次。
接下来返回外层循环 i = 2 ,准备打印下一行,依此类推,直到循环条件不成立

2.输出乘法口诀

一开始不知道怎么输出,可以先将乘法口诀表的九行九列输出
在这里插入图片描述
然后只需要更改输出那一行代码:cout << j << “" << i << “=”<<ij<<” ";
被除数第几列,除数是第几行,商i*j
在这里插入图片描述

	for (int i = 1; i <= 9; i++){for (int j = 1; j <= i; j++) {//cout << "*";//先构建一个大框架cout   << j << "*" << i << "="<<i*j<<" ";//输出乘法口诀表}cout << endl;}

3.输出平行四边形

在这里插入图片描述

	for (int i = 1; i <=6; i++){for (int j = 1; j <=6-i ; j++){cout << " ";}for (int j = 1; j <=6 ; j++){cout << "*";}cout << endl;}

4.输出数字菱形

在这里插入图片描述

	int b = 7;for (int i = 1; i <= b; i++){for (int j = 1; j <=b-i; j++){cout << " ";//输出的空格}for (int j = 1; j <= i; j++){cout << j;//正着输出的数}for (int j = i-1; j >= 1; j--){cout << j;//倒着输出的数}cout << endl;}for (int i = 1; i <= b; i++){for (int j = 1; j <= i-1; j++){cout << " ";}for (int j = 1; j <= b+1-i; j++){cout << j;}for (int j = b-i; j >= 1; j--){cout << j;}cout << endl;}

5.输出空心菱形

	int b = 7;for (int i = 1; i <= b; i++){for (int j = 1; j <= b - i; j++){cout << " ";//输出的空格}for (int j = 1; j <= i; j++){if (j == 1) {cout << j;}else {cout << " ";}}for (int j = i - 1; j >= 1; j--){if (j == 1) {cout << j;}else {cout << " ";}}cout << endl;}for (int i = 1; i <= b; i++){for (int j = 1; j <= i - 1; j++){cout << " ";}for (int j = 1; j <= b + 1 - i; j++){if (j == 1) {cout << j;}else {cout << " ";}}for (int j = b - i; j >= 1; j--){if (j == 1) {cout << j;}else {cout << " ";}}cout << endl;}

三、跳转语句

1.break语句

break :跳出循环,
break关键字在 switch 中,可以跳出 switch,在循环中只跳出1层循环。

1.1 在 switch 中

	int a = 0;cout << "请输入你要看的书(1-4):1 三国演义,2 红楼梦,3 西游记,4 水浒传" << endl;cin >> a;switch (a){case 1:cout << "看三国演义" << endl;break;case 2:cout << "看红楼梦" << endl;break;case 3:cout << "看西游记" << endl;break;case 4:cout << "看水浒传" << endl;break;default:cout << "请输入正确的编号!" << endl;break;}

如下图:满足条件,break直接跳出switch
在这里插入图片描述

1.2 在循环中

	for (int i = 1; i <= 20; i++){for (int j = 1; j <= 20; j++){if (j == 10){break;}else {cout << j << " ";}}cout << endl;}

break在循环中只跳出1层循环。
如下图所示,第二层循环小于等于20,等于10的时候跳出,只是跳出本层循环,外层循环接着执行。
在这里插入图片描述

2.continue语句

continue,跳出本次循环,继续下一次循环。

	for (int i = 1; i <= 20; i++){for (int j = 1; j <= 20; j++){if (j % 2 == 0){continue;}else {cout << j << " ";}}cout << endl;}

continue不会使循环终止,而是将满足条件的跳过,继续向下执行。图中条件是余2跳出,右边控制台部分没有显示余2为零的数。
在这里插入图片描述

3. goto语句

goto:无条件转移语句
语法: goto 语句标号;(命名规则和标识符的命名规则与变量名称相同)
执行goto语句后,程序就会跳转到语句标号处,并接着执行其后的语句。

	cout << "A" << endl;cout << "B" << endl;goto FLAG;cout << "C" << endl;cout << "D" << endl;FLAG:cout << "E" << endl;

执行结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/qIfthibr.shtml

相关文章

MATLAB循环结构

目录 1、for语句 注意事项 (1)for语句针对行向量的每一个元素执行一次循环语句体&#xff0c;循环的次数就是向量中元素的个数&#xff0c;也可以针对任意向量。 (2)可以在for循环语句体中修改循环变量的值&#xff0c;当程序执行流程再次回到循环开始时&#xff0c;就会自…

【python】循环结构大归纳看这里就够了~

一、循环结构 1.认识循环&#xff1a;反复做同一件事情的情况&#xff0c;称之循环。 2.循环的分类&#xff1a;(1) while循环 &#xff08;2&#xff09;for循环 (3) 循环的嵌套 二、while循环的使用 1.while循环 while循环&#xff1a;代码一直重复&#xff0c;直到条件…

三种常见循环结构

问&#xff1a;求1-100的所有自然数之和。 生活中看到这个问题我们会用数学老师教的简便计算:12...100&#xff08;1100&#xff09;&#xff08;299&#xff09;&#xff08;5051&#xff09;50*1015050&#xff1b;但是计算机并不会简便计算&#xff0c;它只会单纯的123...10…

简单的5种循环结构

ilili 循环结构 1. For循环 重复重复 for 循环语句&#xff1a; for(初始化变量&#xff1b;循环条件&#xff1b;循环迭代){ 循环语句&#xff1b; } for(var i0;i<count;i){ sumsumi; } document.write(""sum); 迭代就是和— —的意思 例子: var sum0; for…

C语言—循环结构

目录 循环结构 循环控制语句 ​ 循环类型 一.while循环 语法 break在while循环中的作用 continue在while循环中的作用 多组输入 清空输入缓存区 二.for循环 语法 三.do while 语法 break和continue在do while循环中的使用 循环结构 循环结构是指在程序中需要反…

利用汉字在计算机里面的编码来得到汉字的首拼音:

利用汉字在计算机里面的编码来得到汉字的首拼音&#xff1a; static public string GetChineseSpell( string strText) {int len strText.Length;string myStr "";for(int i0;i<len;i){myStr getSpell(strText.Substring(i,1));}return myStr;} static publ…

获取中文拼音首字符

2019独角兽企业重金招聘Python工程师标准>>> http://pinyin4j.sourceforge.net/ 转载于:https://my.oschina.net/soho00147/blog/1633932

Excel中文转换为拼音(大写首字母、小写首字母、全拼、全拼首首字母大写)

很多时候我们需要处理一下汉字转换为拼音的需求&#xff0c;今天给大家分享一下标题包含的一下转换方法 1 、excel通过宏可以很好的处理汉字转换为拼音的 1.1下面的是转为全拼音的宏代码 Function pinyin(p As String) As String i Asc(p) Select Case i Case -20319 To -203…

php 获取字符串完整拼音,PHP 获取中文字符串的首字符拼音字母

class"php"><?php header(Content-Type: text/html; charsetutf-8); $str"阅谁问君诵&#xff0c;水落清香浮"; echo getFirstCharCode($str); function getFirstCharCode($str){ $str iconv("UTF-8","gb2312", $str); $targe…

拼音首字符检索

原理很简单&#xff0c;找出汉字表中拼音首字符分别为“A”至“Z”的汉字内码范围&#xff0c;这样&#xff0c;对于要检索的汉字只需要检查它的内码位于哪一个首字符的范围内&#xff0c;就可以判断出它的拼音首字符。 程序更简单&#xff0c;包括3个控件&#xff1a;一个…

C#中获得汉字的首拼音(加强版)

/// <summary> /// 汉字拼音首字母列表/// 包含了20901个汉字,收录的字符的Unicode编码范围为19968至40869/// </summary>#region ChineseCharListprivate static string[] ChineseCharList { "A阿啊锕嗄厑哎哀唉埃挨溾锿鎄啀捱皑凒溰嘊敳皚癌毐昹嗳矮蔼躷噯…

C#获得汉字的首拼音

利用汉字在计算机里面的编码来得到汉字的首拼音&#xff1a; static public string GetChineseSpell( string strText) ... { int len strText.Length; string myStr ""; for(int i0;i<len;i) ...{ …

PHP中文字符串转化为英文首拼音首字母大写

效果&#xff1a; 中国 >ZG 中文转化为英文首字母 中国&#xff1a;ZG &#xff1b;中2国&#xff1a;ZG&#xff1b;z国&#xff1a;ZG1:省略了数字&#xff08;不转化&#xff09; 用法&#xff1a; $result Character::getEnByCnByString(‘i是中国人’,3);//这边的3为截…

使用完整拼音查找汉字(完整拼音,不是网上散布的首字符拼音那种方法)

注意&#xff1a;这绝不是网上散播的只能使用拼音首字符进行汉字查找的方案&#xff0c;这是一个真正的输入完整拼音得到相应汉字的解决办法。 大部分程序员眼中只有变量、函数……他们忽略生活中的一切&#xff0c;他们并不理解真正的优雅的程序解决方案往往来自生活&#xff…

基于LeNet5实现交通标志分类任务

前言 大家好,我是阿光。 本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPy…

Lenet5网络结构

Lenet5网络是深度学习中最基本的网络结构,开始于90年代,最早是应用于手写数字识别。受限于当时的环境,所以一开始不怎么出名。但是,在2012年,出现了Alexnet,在图像分类领域打败了所有机器学习方法。深度学习开始变得火热。 import torch import torch.nn as nn import t…

[PyTorch][chapter 41][卷积网络实战-LeNet5]

前言 这里结合前面学过的LeNet5 模型&#xff0c;总结一下卷积网络搭建&#xff0c;训练的整个流程 目录&#xff1a; 1&#xff1a; LeNet-5 2: 卷积网络总体流程 3&#xff1a; 代码 一 LeNet-5 LeNet-5是一个经典的深度卷积神经网络&#xff0c;由Yann LeCun在1998年提…

(一)Lenet5 手写数字识别原理及代码解析

模型简单&#xff0c;本地可跑 论文参考&#xff1a;Gradient-based learning applied to document recognition MNIST手写数据集 50000个训练数据 10000个测试数据 图像大小2828 10类&#xff08;0-9&#xff09; 一、python预安装库 pip install torch pip install torchvi…

【LeNet5】简单车牌识别

文章目录 1. 项目准备1.1. 问题导入1.2. 数据集简介 2. LeNet5模型2.1. 卷积神经网络2.2. 模型介绍 3. 实验步骤3.0. 前期准备3.1. 数据准备3.2. 网络配置3.3. 模型训练3.4. 模型评估3.5. 模型预测 写在最后 1. 项目准备 1.1. 问题导入 本次实践是一个多分类任务&#xff0c;…

LeNet5—论文及源码阅读

LeNet5实现图像分类 &#x1f42c; 目录: 一、概论二、论文选读三、源码精读 所用数据集介绍LeNet5模型网络构建LeNet5模型训练 测试代码 四、参考资料 一、概论 LeNet-5是一种经典的卷积神经网络结构&#xff0c;于1998年投入实际使用中。该网络最早应用于手写体字符识别应…