【带头学C++】----- 1.基础知识 ---- 1.24 逻辑控制语句

2023-10-27 21:28

本文主要是介绍【带头学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循环(迭代语句)

  1. 循环语句:用于重复执行一段代码块,直到满足指定条件。
  • while循环:在每次循环之前检查给定条件是否为真,如果为真,则执行代码块。

while (条件) {// 在条件为真时执行这里的代码
}

do-while循环:先执行一次代码块,然后再检查给定条件是否为真,如果为真,则继续执行代码块。

do {// 在条件为真时执行这里的代码
} while (条件);

这篇关于【带头学C++】----- 1.基础知识 ---- 1.24 逻辑控制语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

C#如何调用C++库

《C#如何调用C++库》:本文主要介绍C#如何调用C++库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录方法一:使用P/Invoke1. 导出C++函数2. 定义P/Invoke签名3. 调用C++函数方法二:使用C++/CLI作为桥接1. 创建C++/CL

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

MySQL 中的 LIMIT 语句及基本用法

《MySQL中的LIMIT语句及基本用法》LIMIT语句用于限制查询返回的行数,常用于分页查询或取部分数据,提高查询效率,:本文主要介绍MySQL中的LIMIT语句,需要的朋友可以参考下... 目录mysql 中的 LIMIT 语句1. LIMIT 语法2. LIMIT 基本用法(1) 获取前 N 行数据(

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL