【带头学C++】----- 1.基础知识 ---- 1.24 逻辑控制语句
1.24 逻辑控制语句
本节主要学习关于C++逻辑控制的一些语句的用法,结合实践代码总结一下。
1.24.1 if以及if - else(条件语句)
1.if语句:
if(条件){执行语句;
}//一旦执行if语句,先判断()里的条件是否满足,返回真、假;真则执行下面的执行语句,
//假则执行 if(){} 中 “}” 后面的内容
2.条件语句(if-else语句):用于根据给定条件决定执行哪个代码块。如果条件为真,则执行if代码块;否则,执行else代码块。
例如:
if (条件) {// 如果条件为真,执行这里的代码
} else {// 如果条件为假,执行这里的代码
}
1.24.2 if - else if(条件语句)
摘抄自c++primer5片段
if-else if语句的基本语法如下:
if (条件1) {// 如果条件1为真,执行这里的代码
} else if (条件2) {// 如果条件1为假且条件2为真,执行这里的代码
} else if (条件3) {// 如果条件1和条件2均为假且条件3为真,执行这里的代码
} else {// 如果所有条件均为假,执行这里的代码
}
if-else if语句按照从上到下的顺序逐个检查条件,如果某个条件为真,则执行对应代码块,并跳过后面的条件。如果没有条件为真,则执行else代码块中的代码。
需要注意的是,if-else if语句只会执行一个条件为真的代码块。一旦某个条件为真,后面的条件将不再被检查。
以下是一个例子,演示了使用if-else if语句根据分数给出不同的评级:
int score = 85;
if (score >= 90) {cout << "优秀" << endl;
} else if (score >= 80) {cout << "良好" << endl;
} else if (score >= 60) {cout << "及格" << endl;
} else {cout << "不及格" << endl;
}
1.24.3 Switch(条件语句)
分支语句(switch语句):根据不同的情况选择执行不同的代码块。
switch (表达式) {case 值1:// 如果表达式的值与值1匹配,执行这里的代码break;case 值2:// 如果表达式的值与值2匹配,执行这里的代码break;// 可以有更多的casedefault:// 如果表达式的值与任何case都不匹配,执行这里的代码
}
1.24.4 For循环(迭代语句)
for循环:通过指定初始条件、循环条件和每次循环后的操作来控制循环执行。
for (初始条件; 循环条件; 每次循环后的操作) {// 在循环条件为真时执行这里的代码
}
1.24.5 for与break 、continue、goto(跳转语句)
1. break 语句
break 语句(break statement)负责终止离它最近的whiledo whilefor或switch语句,并从这些语句之后的第一条语句开始继续执行。
break 语句只能出现在迭代语或者 switch 语句内部(包括套在此类循环里的语句或块的内部)。break语句的作用范围仅限于最近的循环或者switch:
for (int i = 0; i < 10; i++) {if (i == 5) {break;}cout << i << " ";
}
输出:0 1 2 3 4
2.continue语句
- 当在循环内部遇到continue语句时,当前迭代会被跳过,转到下一次迭代。
- continue语句适用于for循环、while循环和do-while循环。
示例:
for (int i = 0; i < 5; i++) {if (i == 2) {continue;}cout << i << " ";
}
3.goto语句
goto语句无条件跳转到同一函数内的另一条语句
for (int i = 0; i < 5; i++) {if (i == 2) {goto skip;}cout << i << " ";
}skip:
cout << "Skipped";
1.24.6 for循环嵌套for
for循环可以嵌套在另一个for循环内,这被称为for循环的嵌套。通过嵌套for循环,可以实现多重循环的结构,用于处理更复杂的任务。
嵌套for循环的基本语法如下:
for (初始化语句1; 循环条件1; 更新语句1) {// 外层循环代码for (初始化语句2; 循环条件2; 更新语句2) {// 内层循环代码}// 外层循环代码
}
在嵌套for循环中,外层循环执行一次时,内层循环会完整地执行完所有的迭代。然后外层循环再继续执行下一次迭代,内层循环又会重新开始执行所有的迭代。这样,内层循环的每一次迭代都会与外层循环的每一次迭代配对。
通过嵌套for循环,可以实现多维数组的遍历、二维图形的打印、九九乘法表等复杂的循环操作。在编写嵌套for循环时,需要注意内层循环的变量不应与外层循环的变量重名,以避免混淆和错误。
下面是一个例子,展示了一个简单的使用嵌套for循环打印九九乘法表的示例代码:
for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {cout << j << " * " << i << " = " << i * j << "\t";}cout << endl;
}
这段代码会输出如下的九九乘法表:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
1.24.7 While循环(迭代语句)
- 循环语句:用于重复执行一段代码块,直到满足指定条件。
-
while循环:在每次循环之前检查给定条件是否为真,如果为真,则执行代码块。
while (条件) {// 在条件为真时执行这里的代码
}
do-while循环:先执行一次代码块,然后再检查给定条件是否为真,如果为真,则继续执行代码块。
do {// 在条件为真时执行这里的代码
} while (条件);
相关文章:

【带头学C++】----- 1.基础知识 ---- 1.24 逻辑控制语句
1.24 逻辑控制语句 本节主要学习关于C逻辑控制的一些语句的用法,结合实践代码总结一下。 1.24.1 if以及if - else(条件语句) 1.if语句: if(条件){执行语句; }//一旦执行if语句,先判断()里的条件是否满足,…...

微信公众号分销商城源码系统+多元商家+收银台 带完整的搭建教程
给大家推荐一款微信公众号分销商城源码系统,这是一个全新三级分销商城,功能十分丰富。一起来看看你吧。 微信公众号分销商城的功能: 1.商品展示和推广:商家可以在商城中展示商品信息,包括商品名称、价格、库存等&#…...

排序算法:选择排序,分别用c++、java、python实现
选择排序介绍 选择排序(Selection Sort)是一种简单的比较排序算法,它的工作原理如下: 分区: 将待排序的数组分成两个部分,一个部分是已排序的子数组,另一个部分是未排序的子数组。初始时,已排序…...

支付宝支付接入流程
一、 接入准备 支付宝支付流程没有微信那么复杂,而且支付宝支持沙箱。登录支付宝开放平台控制台 点击开发工具中的沙箱 接口加密方式,我这里使用的是自定义密钥。生成密钥的方式 使用支付宝官方提供的密钥工具,唯一要注意的是支付宝密钥工具…...

管理员|顾问必看!8个Salesforce权限集的最佳实践
Salesforce中的权限一直始终是热门话题。权限集是简档的附加。它们通常具有相同的设置,用于增加用户的权限,使其超过简档提供的权限。可以将简档视为许多用户共有的基本权限集,而权限集是部分用户需要的额外权限。 本篇文章将介绍Salesforce…...

【linux进程(六)】环境变量再理解程序地址空间初认识
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:Linux从入门到精通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学更多操作系统知识 🔝🔝 程序地址空间 1. 前言2. 在ba…...

10步开启SAFe敏捷发布列车
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 敏捷畅想一、培训 SAFe 项目顾问 (SPC)二、培训精益敏捷领导者三、 举办价值流研讨会并确定您的第一个敏捷发布系列四、 定义/设置 ART 和团队五、 担任重要角色六、…...

面试题之Vue和React的区别是什么?
一提到前端框架,相信大家都对Vue和React不陌生,这两个前端框架都是比较主流的,用户也都比较多,但是我们在使用这些框架的时候,是否对这两个框架之间的区别有所了解呢?接下来,让我们来一起的系统…...

Linux基础知识——概述和常用文件管理命令
Linux基础知识——概述和常用文件管理命令 文章目录 Linux基础知识——概述和常用文件管理命令概述常用的一些文件指令 概述 终端:一个terminal窗口就是以个屏幕, 远程连接了一个服务器, 每一个terminal可以连接到任何一个其他服务器上;关掉terminal相当于只是关掉…...

腾讯云创建了jenkins容器,但无法访问
1、首先,查看本机能不能ping通你的腾讯云服务器 如果ping的通那就下一步 2、查看腾讯云服务器的防火墙关了没,没关关掉、 firewall-cmd --state not running 3、那就在云服务器的控制台开放端口...

C语言的const函数修饰指针
文章目录 一、const函数的作用 int a 10; int *p ; p &a;从上面的代码分析,p 存放的就是a的地址, *p 存放的就是 a 的值。 一、const函数的作用 一旦使用了const函数修饰一个变量,那么这个变量就无法变化了。 所以下面三种情况&#…...

EasyExcel使用方式(包含导出图片)
1、导EasyExcel依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.2</version> </dependency> 2、创建导出excel的实体类 Getter Setter EqualsAndHashCode HeadStyle(fillF…...

redis学习(三)——java整合redis
Jedis Jedis可以用于java连接redis数据库 新建一个maven项目,导入Jedis依赖 <dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test…...

OpenText 安全取证软件——降低成本和风险的同时,简化电子取证流程
OpenText 安全取证软件,行业标准的数字调查解决方案,适用于各种规模和各种行业的组织 降低成本和复杂性 • 远程调查比轮流调查过程更有效 对结果持有信心 • 磁盘级可见性可以完成相关端点数据的搜索和收集 谨慎调查 • 完整的网络调查…...

【vue】vue前端、生产(线上)环境请求unicloud云服务空间axios报错
目录 原因总结:借助Nginx使得axios可跨域请求 原因 使用axios的时候,如果是开发环境下,WebStorm(IDEA)会自带跨域功能,说白了就是不用考虑跨域的事情了。但是在生产环境下,vue前端编译成静态文…...

JVM详解(InsCode AI 创作助手)
JVM是一个虚拟的计算机,它有自己的硬件架构,如处理器、堆栈和寄存器等,也有自己的指令系统。JVM的主要任务是负责加载、验证、编译和执行Java程序。 一、JVM参数默认配置如下 内存设置: 初始堆内存大小:物理内存的1/…...

华为c语言编程规范
提示:附件为编程规范 文章目录 前言一、华为c语言编程规范总结 前言 例如:华为规范下载 一、华为c语言编程规范 该处使用的url网络请求的数据。 总结 提示:这里对文章进行总结: 例如:以上就是今天要讲的内容…...

SQL Server Management Studio (SSMS)的安装教程
文章目录 SQL Server Management Studio (SSMS)的安装教程从Microsoft官网下载SQL Server Management Studio安装程序。选中安装程序右键并选择“以管理员的身份运行”选项选择安装目录,单击“安装”按钮开始安装过程安装成功界面安装完成后,您可以启动S…...

React 图片瀑布流
思路: 根据浏览器宽度,确定列数,请求的图片列表数据是列数的10倍,按列数取数据渲染 Index.js: import React from react import { connect } from react-redux import { withRouter } from react-router-dom import { SinglePag…...

C++数据结构X篇_21_插入排序(稳定的排序)
文章目录 1. 插入排序原理2. 算法图解3. 核心代码:4. 插入排序整体代码实现 1. 插入排序原理 插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相…...

【Unity】3D跑酷游戏
展示 finish_all * 方块跑酷 1.教程链接 翻墙:https://www.youtube.com/watch?v9ZEu_I-ido4&listPLPV2KyIb3jR53Jce9hP7G5xC4O9AgnOuL&index3 2.基础制作 最终成果 2.1 基本场景 1.创建Cube作为跑道 1)记得把位置Reset; 2&#…...

bp前端验证码绕过及token绕过
前端验证码绕过及token绕过 原文参考:xiu 文章目录 前端验证码绕过及token绕过原文参考:[xiu](http://www.xiusafe.com/2023/10/25/%E9%AA%8C%E8%AF%81%E7%A0%81%E7%BB%95%E8%BF%87/)1 验证码爆破1. 登录Pikachu,先获取登录的api接口2 验证码…...

Jmeter(十四):跨线程组传递jmeter变量及cookie的处理详解
setUp线程组 setUp thread group 一种特殊类型的线程组,用于在执行常规线程组之前执行一些必要的操作。 在 setup线程组下提到的线程行为与普通线程组完全相同。不同的是执行顺序--- 它会在普通线程组执行之前被触发; 应用场景举例: A、测…...

css实现圆形进度条
能用现成组件就用,实现不行再自己写,因为牵扯到上传文件,进度实时出不来,所以只能使用dom元素操作; 1.实现 效果: 上图是100%,如果需要根据百分比显示,我们需要看下代码里面left和…...

适用于 Windows 10 和 Windows 11 设备的笔记本电脑管理软件
便携式计算机管理软件使 IT 管理员能够简化企业中使用的便携式计算机的部署和管理,当今大多数员工使用Windows 笔记本电脑作为他们的主要工作机器,他们确实已成为几乎每个组织不可或缺的一部分。由于与台式机相比,笔记本电脑足够便携…...

YOLOv5论文作图教程(1)— 软件介绍及下载安装(包括软件包+下载安装详细步骤)
前言:Hello大家好,我是小哥谈。在学习YOLOv5算法的过程中,很多同学都有发表论文的需求。作为文章内容的支撑,图表是最直接的整合数据的工具,能够更清晰地反映出研究对象的结果、流程或趋势。在发表论文的时候,审稿人除了关注论文的内容和排版外,也会审核图表是否清晰美观…...

AutoCAD 2024 Mac中文附激活补丁 兼容M1.M2电脑
AutoCAD 2024是一款功能强大的CAD设计绘图工具,旨在帮助用户创建和编辑高质量的设计图纸和模型。该软件支持2D和3D设计,具有丰富的功能和工具,可用于绘图、建模、注释、标注、尺寸设置等多种操作。AutoCAD 2024还引入了智能对象捕捉、实时预览…...

Jmeter基础---while控制器举例说明
一、 While 控制器 首先创建一个While Controller (While 循环控制器) 设置界面如下: Condition (function or variable) :条件说明 条件为 Flase 的时候,才会跳出 While 循环,否则一直执行 While 控制器下的样例 1、不填…...

正点原子嵌入式linux驱动开发——RGB转HDMI
目前大多数的显示器都提供了HDMI接口,HDMI的应用范围也越来越广,但是STM32MP157这颗芯片原生并不支持HDMI显示。可以通过RGB转HDMI芯片将RGB信号转为HDMI信号,这样就可以连接HDMI显示器了。本章就来学习一下如何在正点原子的STM32MP1开发板上…...

前端时间分片渲染
在经典的面试题中:”如果后端返回了十万条数据要你插入到页面中,你会怎么处理?” 除了像 useVirtualList 这样的虚拟列表来处理外,我们还可以通过 时间分片 来处理 通过 setTimeout 直接上一个例子: <!--* Autho…...