条件语句 - if, else, switch-case
引言
条件语句是编程中用于根据不同的条件执行不同代码块的重要工具。C++ 提供了 if
、else
和 switch-case
等条件语句,帮助程序员实现逻辑分支。本文将详细介绍这些条件语句的用法,并通过实例帮助读者更好地理解和掌握这些概念。
一、if
语句
if
语句是最基本的条件语句,用于在满足特定条件时执行一段代码。
基本语法
if (condition) {// 当 condition 为真时执行的代码块
}
示例
#include <iostream>int main() {int number = 10;if (number > 5) {std::cout << "Number is greater than 5\n";}return 0;
}
在这个例子中,当 number
大于 5 时,程序会输出 "Number is greater than 5"
。
if-else
语句
如果需要在条件不满足时执行另一段代码,可以使用 if-else
语句。
语法
if (condition) {// 当 condition 为真时执行的代码块
} else {// 当 condition 为假时执行的代码块
}
示例
#include <iostream>int main() {int number = 3;if (number > 5) {std::cout << "Number is greater than 5\n";} else {std::cout << "Number is less than or equal to 5\n";}return 0;
}
在这个例子中,当 number
小于或等于 5 时,程序会输出 "Number is less than or equal to 5"
。
if-else if-else
语句
当有多个条件需要判断时,可以使用 if-else if-else
语句。
语法
if (condition1) {// 当 condition1 为真时执行的代码块
} else if (condition2) {// 当 condition2 为真时执行的代码块
} else {// 当所有条件都为假时执行的代码块
}
示例
#include <iostream>int main() {int score = 85;if (score >= 90) {std::cout << "Grade: A\n";} else if (score >= 80) {std::cout << "Grade: B\n";} else if (score >= 70) {std::cout << "Grade: C\n";} else if (score >= 60) {std::cout << "Grade: D\n";} else {std::cout << "Grade: F\n";}return 0;
}
在这个例子中,程序会根据 score
的值输出相应的等级。
二、switch-case
语句
switch-case
语句用于在多个离散值之间进行选择。它通常比多个 if-else
更简洁和高效。
基本语法
switch (expression) {case value1:// 当 expression 等于 value1 时执行的代码块break;case value2:// 当 expression 等于 value2 时执行的代码块break;// 可以有多个 casedefault:// 当 expression 不等于任何 case 时执行的代码块
}
示例
#include <iostream>int main() {char grade = 'B';switch (grade) {case 'A':std::cout << "Excellent!\n";break;case 'B':std::cout << "Good job!\n";break;case 'C':std::cout << "Keep trying!\n";break;default:std::cout << "Invalid grade\n";break;}return 0;
}
在这个例子中,程序会根据 grade
的值输出相应的评价。
注意事项
break
语句:每个case
后面通常需要一个break
语句,否则程序会继续执行下一个case
。default
分支:default
分支是可选的,但建议总是包含它,以处理未预见的情况。
三、总结
本文详细介绍了 C++ 中的条件语句 if
、else
和 switch-case
的使用方法。通过这些语句,可以根据不同的条件执行不同的代码块,从而使程序更加灵活和智能。希望这篇文章能够帮助你更好地理解 C++ 中的条件语句。如果有任何问题或建议,请随时留言交流!
相关文章:
条件语句 - if, else, switch-case
引言 条件语句是编程中用于根据不同的条件执行不同代码块的重要工具。C 提供了 if、else 和 switch-case 等条件语句,帮助程序员实现逻辑分支。本文将详细介绍这些条件语句的用法,并通过实例帮助读者更好地理解和掌握这些概念。 一、if 语句 if 语句是…...
Flink CDC MySQL 同步数据到 Kafka实践中可能遇到的问题
Flink CDC MySQL 同步数据到 Kafka实践中可能遇到的问题 一、问题场景 [ERROR] Could not execute SQL statement. Reason: org.apache.flink.table.api.ValidationException: The primary key is necessary when enable Key: scan.incremental.snapshot.enabled , default: …...

代码随想录Day51 99. 岛屿数量,99. 岛屿数量,100. 岛屿的最大面积。
1.岛屿数量深搜 卡码网题目链接(ACM模式)(opens new window) 题目描述: 给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接…...
说说 DinoGrid Open Edition 算法生成艺术背后的故事
大约三年前,我开始创作我的第一个算法生成艺术作品。这种算法被我命名为 Montage Mosaic,通过对图片和像素的放大与缩小,尝试在作品中探索宏观与微观视界的关系。这次创作让我首次生成了一张超越 JPEG 规格限制的图片。尽管其基本实现逻辑可以…...
FFmpeg推拉流命令
命令简介 它可以将本地的视频/音频流推送到服务器,也可以将服务器上的音视频流拉到本地。 推流命令的命令格式 ffmpeg -re -i [输入文件] -c:v [视频编码器] -c:a [音频编码器] -f [输出格式] [推流地址] 参数解析 -re 表示采用实时模式,以原始速度…...
【图像处理lec10】图像压缩
目录 一、图像压缩基础 1、图像压缩的基本概念 2、数据冗余与压缩比 3、三种主要的数据冗余类型 4、保真度评估标准(Fidelity Criteria) 5、应用与实践 二、图像压缩模型 1、图像压缩模型概述 (1)压缩系统的结构 &#…...

单片机实物成品-007 汽车防盗系统(代码+硬件+论文)
汽车尾气监测系统(温度震动传感器 红外热释电GPS三个指示灯蜂鸣器正常模式防盗模式wifi传输控制送APP源码 ) 把该系统划分为两个不同设计主体,一方面为硬件控制主体,通过C语言来编码实现,以STM32开发板为核心控制器&a…...
Qt仿音乐播放器:动画类
一、基本属性 #include<QPropertyAnimation>//头文件property:性质属性 animation:动画、动画效果、动漫 QPropertyAnimation:可以对对任何QObject的子类的属性进行动画的展示;只要存在set方法 QPropertyAnimation(QObje…...
摄影构图与拍摄
摄影构图与拍摄-------------------------------------------------------------------------------------------- 画面构图------------------------------ 1.镜头感 视觉会跟着画面突出点吸引 --》引导观众视线 2.景别–》同一焦距摄像机与被摄物距离、同一摄影距离但改变镜头…...
Colyseus-monitor插件介绍
Colyseus Monitor 简介 colyseus-monitor 是 Colyseus 框架的官方插件,用于监控和管理 Colyseus 服务器的运行状态。它提供了一个基于 Web 的用户界面,使开发者能够实时查看服务器的性能指标、房间状态以及客户端连接等信息。这对于调试、优化和维护游戏服务器尤其有用。 主…...
Hive练习题11-15
11、第11题 info 表 date result 2005-05-09 win 2005-05-09 lose 2005-05-09 lose 2005-05-09 lose 2005-05-10 win 2005-05-10 lose 2005-05-10 lose 如果要生成下列结果, 该如何写sql语句? win lose 2005-05-09 2 2 2005-05-10 1 2 答案: (1) …...

Overleaf中设置表格中的字体为Times New Roman
在Overleaf中设置表格中的字体为Times New Roman 需要有这个字体包 使用 \usepackage{times} 宏包 在文档的导言区添加 \usepackage{times} 宏包,这将把整个文档的字体设置为Times New Roman,包括表格中的字体。例如:\documentclass{article} \usepackage{times} \begin{…...

模型 卡尼曼系统
系列文章 分享 模型,了解更多👉 模型_思维模型目录。直觉快思,理性慢想。 1 模型 卡尼曼系统的应用 1.1 直播购物APP中的卡尼曼系统应用案例 案例背景: 在直播购物APP中,平台通过展示单个用户的视角视频来向用户推荐…...

潇洒郎:部署Dify, 安装Ollama,Ollama下载模型,Dify配置模型
Ollama 1、安装ollama Windows版本下载:2024WindowsOllama最新0.5.4版本资源-CSDN文库, 下载速度超快,官网太慢了 双击安装,安装成功后,托盘区有Ollama图标 右键View logs打开目录 C:\Users\Administrator\AppData\Local\Oll…...

Joget研究——Joget8商业版部署
大纲 1. 环境准备1.1 安装必要软件1.2 配置Java1.3 配置MySQL数据库1.3.1 创建用户1.3.2 创建数据库 2. 下载和部署3. 启动4. 测试5. 商业版社区版对比 1. 环境准备 1.1 安装必要软件 We recommend the use of the LTS version of 11. Java 17 (LTS) is not supported at the …...

Linux下学【MySQL】表中插入和查询的进阶操作(配实操图和SQL语句通俗易懂)
绪论 每日激励:挫折是会让我们变得越来越强大的重点是我们敢于积极的面对它。—Jack叔叔 绪论: 本章是表操作的进阶篇章(没看过入门的这里是传送门,本章将带你进阶的去学习表的插入insert和查找select,本质也就是…...

从百度云网盘下载数据到矩池云网盘或者服务器内
本教程教大家如何快速将百度云网盘数据集或者模型代码文件下载到矩池云网盘或者服务器硬盘上。 本教程使用到了一个开源工具 BaiduPCS-Go,官方地址 : https://github.com/qjfoidnh/BaiduPCS-Go 这个工具可以实现“仿 Linux shell 文件处理命令的百度网…...
Vue.js 高级组件开发:抽象与高性能架构
Vue.js 高级组件开发:抽象与高性能架构 引言一、动态组件与依赖注入1. 动态组件场景 二、高可扩展性的抽象组件模式1. 设计思路2. 案例:抽象数据表组件 三、复杂场景下的异步操作管理1. 使用 Vue Composition API 管理异步逻辑 四、渲染优化与框架底层钩…...

Kubernetes 安装 Nginx以及配置自动补全
部署 Nginx : [rootk8s-master ~]# kubectl create deployment nginx --imagenginx:1.14-alpine deployment.apps/nginx created暴露端口: [rootk8s-master ~]# kubectl expose deployment nginx --port80 --typeNodePort service/nginx exposed查看服…...

CSS---实现盒元素div内input/textarea的focus状态时给父元素加属性!
注意兼容性,低版本浏览器无效 要实现当 textarea 文本框获得焦点时,自动给其父元素添加类名或样式,您可以使用 CSS 的 :focus-within 伪类选择器。这个选择器会在元素本身或其任何子元素获得焦点时应用样式。 示例代码 假设您有以下 HTML 结…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...