当前位置: 首页 > news >正文

条件语句 - if, else, switch-case

引言

条件语句是编程中用于根据不同的条件执行不同代码块的重要工具。C++ 提供了 ifelse 和 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 的值输出相应的评价。

注意事项

  1. break 语句:每个 case 后面通常需要一个 break 语句,否则程序会继续执行下一个 case
  2. default 分支default 分支是可选的,但建议总是包含它,以处理未预见的情况。

三、总结

本文详细介绍了 C++ 中的条件语句 ifelse 和 switch-case 的使用方法。通过这些语句,可以根据不同的条件执行不同的代码块,从而使程序更加灵活和智能。希望这篇文章能够帮助你更好地理解 C++ 中的条件语句。如果有任何问题或建议,请随时留言交流!

相关文章:

条件语句 - if, else, switch-case

引言 条件语句是编程中用于根据不同的条件执行不同代码块的重要工具。C 提供了 if、else 和 switch-case 等条件语句&#xff0c;帮助程序员实现逻辑分支。本文将详细介绍这些条件语句的用法&#xff0c;并通过实例帮助读者更好地理解和掌握这些概念。 一、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.岛屿数量深搜 卡码网题目链接&#xff08;ACM模式&#xff09;(opens new window) 题目描述&#xff1a; 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接…...

说说 DinoGrid Open Edition 算法生成艺术背后的故事

大约三年前&#xff0c;我开始创作我的第一个算法生成艺术作品。这种算法被我命名为 Montage Mosaic&#xff0c;通过对图片和像素的放大与缩小&#xff0c;尝试在作品中探索宏观与微观视界的关系。这次创作让我首次生成了一张超越 JPEG 规格限制的图片。尽管其基本实现逻辑可以…...

FFmpeg推拉流命令

命令简介 它可以将本地的视频/音频流推送到服务器&#xff0c;也可以将服务器上的音视频流拉到本地。 推流命令的命令格式 ffmpeg -re -i [输入文件] -c:v [视频编码器] -c:a [音频编码器] -f [输出格式] [推流地址] 参数解析 -re 表示采用实时模式&#xff0c;以原始速度…...

【图像处理lec10】图像压缩

目录 一、图像压缩基础 1、图像压缩的基本概念 2、数据冗余与压缩比 3、三种主要的数据冗余类型 4、保真度评估标准&#xff08;Fidelity Criteria&#xff09; 5、应用与实践 二、图像压缩模型 1、图像压缩模型概述 &#xff08;1&#xff09;压缩系统的结构 &#…...

单片机实物成品-007 汽车防盗系统(代码+硬件+论文)

汽车尾气监测系统&#xff08;温度震动传感器 红外热释电GPS三个指示灯蜂鸣器正常模式防盗模式wifi传输控制送APP源码 &#xff09; 把该系统划分为两个不同设计主体&#xff0c;一方面为硬件控制主体&#xff0c;通过C语言来编码实现&#xff0c;以STM32开发板为核心控制器&a…...

Qt仿音乐播放器:动画类

一、基本属性 #include<QPropertyAnimation>//头文件property&#xff1a;性质属性 animation&#xff1a;动画、动画效果、动漫 QPropertyAnimation&#xff1a;可以对对任何QObject的子类的属性进行动画的展示&#xff1b;只要存在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 答案&#xff1a; (1) …...

Overleaf中设置表格中的字体为Times New Roman

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

模型 卡尼曼系统

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

潇洒郎:部署Dify, 安装Ollama,Ollama下载模型,Dify配置模型

Ollama 1、安装ollama Windows版本下载&#xff1a;2024WindowsOllama最新0.5.4版本资源-CSDN文库, 下载速度超快&#xff0c;官网太慢了 双击安装&#xff0c;安装成功后&#xff0c;托盘区有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语句通俗易懂)

绪论​ 每日激励&#xff1a;挫折是会让我们变得越来越强大的重点是我们敢于积极的面对它。—Jack叔叔 绪论​&#xff1a; 本章是表操作的进阶篇章&#xff08;没看过入门的这里是传送门&#xff0c;本章将带你进阶的去学习表的插入insert和查找select&#xff0c;本质也就是…...

从百度云网盘下载数据到矩池云网盘或者服务器内

本教程教大家如何快速将百度云网盘数据集或者模型代码文件下载到矩池云网盘或者服务器硬盘上。 本教程使用到了一个开源工具 BaiduPCS-Go&#xff0c;官方地址 &#xff1a; https://github.com/qjfoidnh/BaiduPCS-Go 这个工具可以实现“仿 Linux shell 文件处理命令的百度网…...

Vue.js 高级组件开发:抽象与高性能架构

Vue.js 高级组件开发&#xff1a;抽象与高性能架构 引言一、动态组件与依赖注入1. 动态组件场景 二、高可扩展性的抽象组件模式1. 设计思路2. 案例&#xff1a;抽象数据表组件 三、复杂场景下的异步操作管理1. 使用 Vue Composition API 管理异步逻辑 四、渲染优化与框架底层钩…...

Kubernetes 安装 Nginx以及配置自动补全

部署 Nginx &#xff1a; [rootk8s-master ~]# kubectl create deployment nginx --imagenginx:1.14-alpine deployment.apps/nginx created暴露端口&#xff1a; [rootk8s-master ~]# kubectl expose deployment nginx --port80 --typeNodePort service/nginx exposed查看服…...

CSS---实现盒元素div内input/textarea的focus状态时给父元素加属性!

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

解决图像修复与纹理合成难题的Resynthesizer:开源智能填充工具全指南

解决图像修复与纹理合成难题的Resynthesizer&#xff1a;开源智能填充工具全指南 【免费下载链接】resynthesizer Suite of gimp plugins for texture synthesis 项目地址: https://gitcode.com/gh_mirrors/re/resynthesizer 在数字图像处理领域&#xff0c;我们经常面临…...

从零到一:基于51单片机与DS1302的智能万年历系统设计与实现

1. 项目背景与核心功能 每次看到桌面上那些动辄几百块的智能时钟&#xff0c;我都会想&#xff1a;这东西真的需要这么贵吗&#xff1f;作为一个玩了多年51单片机的老鸟&#xff0c;我决定用最基础的STC89C52芯片搭配DS1302时钟模块&#xff0c;打造一个功能不输商业产品的智能…...

QMCFLAC2MP3深度解析:从格式解密到跨设备音频转换的全流程实践

QMCFLAC2MP3深度解析&#xff1a;从格式解密到跨设备音频转换的全流程实践 【免费下载链接】qmcflac2mp3 直接将qmcflac文件转换成mp3文件&#xff0c;突破QQ音乐的格式限制 项目地址: https://gitcode.com/gh_mirrors/qm/qmcflac2mp3 问题引入&#xff1a;破解音乐格式…...

从收音机到WiFi:LC并联谐振电路在实际通信系统里是怎么用的?

从矿石收音机到5G基站&#xff1a;LC并联谐振电路的百年进化史 当你拧动老式收音机的调谐旋钮时&#xff0c;金属指针在刻度盘上滑过不同电台的频率标记&#xff0c;耳机里传来忽大忽小的静电噪声&#xff0c;直到某个瞬间——声音突然清晰起来。这个看似简单的动作背后&#x…...

从仿真到实战:如何将你的MATLAB机械臂轨迹规划代码(3-5-3插值)部署到ROS或Simulink?

从仿真到实战&#xff1a;MATLAB机械臂轨迹规划代码的ROS与Simulink部署指南 当你完成了MATLAB中机械臂轨迹规划的算法开发&#xff0c;看着屏幕上平滑的位置、速度和加速度曲线&#xff0c;接下来面临的核心问题是如何将这些数据转化为真实机械臂的动作。本文将深入探讨两种主…...

终极指南:DXVK如何彻底改变Linux游戏体验的5大关键优势

终极指南&#xff1a;DXVK如何彻底改变Linux游戏体验的5大关键优势 【免费下载链接】dxvk Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine 项目地址: https://gitcode.com/gh_mirrors/dx/dxvk 在Linux上畅玩Windows独占3D游戏曾经是天方夜谭&…...

PyTorch 2.8多场景实操:科研训练+工程推理+内容创作的统一技术底座

PyTorch 2.8多场景实操&#xff1a;科研训练工程推理内容创作的统一技术底座 1. 为什么选择PyTorch 2.8作为统一技术底座 PyTorch 2.8作为当前最主流的深度学习框架之一&#xff0c;已经成为学术界和工业界的首选工具。这个基于RTX 4090D 24GB显卡深度优化的镜像&#xff0c;…...

从单核到16核:用程序员思维图解CPU参数(附性能测试代码)

从单核到16核&#xff1a;用程序员思维图解CPU参数&#xff08;附性能测试代码&#xff09; 在开发高性能应用时&#xff0c;CPU的选择往往直接决定了程序的执行效率。但面对琳琅满目的参数——主频、核心数、线程数、缓存大小、架构代际——开发者该如何做出明智决策&#xff…...

告别“AI只会聊天”:用OpenClaw+星链4SAPI打造你的办公自动化Agent

你有没有过这种时刻——邮箱右上角的红点像一道催命符&#xff0c;文件夹乱得像个数据坟场&#xff0c;日程表排得跟俄罗斯方块似的&#xff0c;领导一句“把本周情况汇总下”&#xff0c;你就得在聊天记录里搞考古发掘。打开AI&#xff0c;发现它除了陪你聊天&#xff0c;什么…...

Z-Image-Turbo镜像实战教程:开箱即用,9步生成高清图片

Z-Image-Turbo镜像实战教程&#xff1a;开箱即用&#xff0c;9步生成高清图片 1. 为什么选择Z-Image-Turbo镜像 如果你正在寻找一个能快速生成高质量图片的AI工具&#xff0c;Z-Image-Turbo镜像可能是目前最省心的选择。这个镜像最大的优势在于它已经预置了完整的32GB模型权重…...