「C/C++」C/C++ 之 判断语句

news2024/11/26 20:33:52

在这里插入图片描述

✨博客主页
何曾参静谧的博客
📌文章专栏
「C/C++」C/C++程序设计
📚全部专栏
「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合
「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发
「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明

目录

    • C++中的判断语句
      • 1. `if`语句
      • 2. `else if`和`else`语句
      • 3. `switch`语句
      • 注意事项
      • 总结

当然,以下是一篇关于C++中判断语句的文章。希望它能帮助你更好地理解C++中的判断逻辑。


C++中的判断语句

在C++编程中,判断语句是控制程序流程的重要工具。通过判断语句,程序能够根据特定条件执行不同的代码块。C++提供了多种判断结构,其中最常见的是if语句、else if语句、else语句以及switch语句。本文将详细介绍这些判断语句的用法和示例。

1. if语句

if语句是最基本的判断语句,用于在满足特定条件时执行代码块。其基本语法如下:

if (condition) {
    // 当condition为真时执行的代码
}

示例:

#include <iostream>
using namespace std;

int main() {
    int number = 10;

    if (number > 0) {
        cout << "Number is positive." << endl;
    }

    return 0;
}

在这个示例中,如果number大于0,则输出“Number is positive.”。

2. else ifelse语句

else if语句允许在第一个条件不满足时检查另一个条件,而else语句则在没有其他条件满足时执行代码。语法如下:

if (condition1) {
    // 当condition1为真时执行的代码
} else if (condition2) {
    // 当condition2为真时执行的代码
} else {
    // 当其他条件都不满足时执行的代码
}

示例:

#include <iostream>
using namespace std;

int main() {
    int number = -5;

    if (number > 0) {
        cout << "Number is positive." << endl;
    } else if (number < 0) {
        cout << "Number is negative." << endl;
    } else {
        cout << "Number is zero." << endl;
    }

    return 0;
}

在这个示例中,根据number的值,程序会输出“Number is negative.”。

3. switch语句

switch语句用于基于某个变量的值执行不同的代码块。虽然if-else语句可以实现类似的功能,但switch语句在处理多个可能的值时更加简洁和高效。语法如下:

switch (variable) {
    case value1:
        // 当variable等于value1时执行的代码
        break;
    case value2:
        // 当variable等于value2时执行的代码
        break;
    // 可以有多个case
    default:
        // 当variable不匹配任何case时执行的代码
}

示例:

#include <iostream>
using namespace std;

int main() {
    int day = 3;

    switch (day) {
        case 1:
            cout << "Monday" << endl;
            break;
        case 2:
            cout << "Tuesday" << endl;
            break;
        case 3:
            cout << "Wednesday" << endl;
            break;
        case 4:
            cout << "Thursday" << endl;
            break;
        case 5:
            cout << "Friday" << endl;
            break;
        case 6:
            cout << "Saturday" << endl;
            break;
        case 7:
            cout << "Sunday" << endl;
            break;
        default:
            cout << "Invalid day" << endl;
    }

    return 0;
}

在这个示例中,根据day的值,程序会输出“Wednesday”。

注意事项

  1. 条件表达式:在ifelse if语句中,条件表达式的结果必须是布尔类型(truefalse)。
  2. break语句:在switch语句中,每个case块的末尾都应该有一个break语句,以防止“贯穿”(即执行完一个case后继续执行下一个case)。
  3. 嵌套判断:可以在一个判断语句内部使用另一个判断语句,以实现更复杂的逻辑。

总结

C++提供了丰富的判断语句,包括ifelse ifelseswitch,使得程序能够根据特定条件执行不同的代码块。这些判断语句是控制程序流程的基本工具,也是编写复杂逻辑的基础。通过合理使用这些判断语句,可以编写出更加灵活和强大的C++程序。


希望这篇文章能帮助你更好地理解C++中的判断语句。如果你有任何问题或需要进一步的解释,请随时提问。


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2228167.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git快速合并代码dev->master

需求&#xff1a; 日常开发都是在dev分支进行开发&#xff0c;但是dev代码开发测试完成后&#xff0c;需要将dev代码合到master主分支上 开始合并代码&#xff1a; 一、场景 一个代码仓库&#xff0c;包含两个分支&#xff0c;一个是master&#xff0c;另一个是dev&#xff1b…

uniapp使用uni-push模拟推送

uniapp使用uni-push模拟推送 第一步先去uniapp开发者中心添加开通uni-push功能 这里的Android 应用签名可以先用测试的官网有,可以先用这个测试 官方测试链接文档地址 在项目中的配置文件勾选 组件中使用 如果要实时可以去做全局ws //消息推送模版uni.createPushMessage(…

前沿技术与未来发展第一节:C++与机器学习

第六章&#xff1a;前沿技术与未来发展 第一节&#xff1a;C与机器学习 1. C在机器学习中的应用场景 C在机器学习中的应用优势主要体现在高效的内存管理、强大的计算能力和接近底层硬件的灵活性等方面。以下是 C 在机器学习领域的几个主要应用场景&#xff1a; 1.1 深度学习…

Java程序设计:spring boot(10)——单元测试

1 pom.xml 测试依赖添加 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId> </dependency> 2 Service业务方法测试 以 UserService 为例&#xff0c;src/test/java ⽬录下添…

解决edge浏览器无法同步问题

有时候电脑没带&#xff0c;但是浏览器没有同步很烦恼。chrome浏览器的同步很及时在多设备之间能很好使用。但是edge浏览器同步没反应。 在这里插入图片描述 解决方法&#xff1a; 一、进入edge浏览器点击图像会显示未同步。点击“管理个人资料”&#xff0c;进入后点击同步&…

21.java异常:关于java异常的学习笔记。 异常的分类,异常体系结构,异常处理机制

关于java异常的学习笔记 什么是异常异常的分类异常体系结构ErrorException异常处理机制IDEA中很重要的快捷键什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格…

记录一次mmpretrain训练数据并转onnx推理

目录 1.前言 2.代码 3.数据形态【分类用】 4.配置文件 5.训练 6.测试-分析-混淆矩阵等等&#xff0c;测试图片效果等 7.导出onnx 8.onnx推理 9.docker环境简单补充 1.前言 好久没有做图像分类了&#xff0c;于是想用商汤的mmclassification快速搞一波&#xff0c;发现已…

gb28181-sip注册流程

gb28181-sip注册流程 当客户端第一次接入时&#xff0c;客户端将持续向Server端发送REGISTER消息&#xff0c;直到Server端回复"200 OK"后结束 它的注册流程如下图&#xff1a; 注册流程&#xff1a; 1 . SIP代理向SIP服务器发送Register请求&#xff1a; 第1行表…

玄机-应急响应- Linux入侵排查

一、web目录存在木马&#xff0c;请找到木马的密码提交 到web目录进行搜索 find ./ type f -name "*.php" | xargs grep "eval(" 发现有三个可疑文件 1.php看到密码 1 flag{1} 二、服务器疑似存在不死马&#xff0c;请找到不死马的密码提交 被md5加密的…

如何有效提升MySQL大表分页查询效率(本文以一张900万条数据体量的表为例进行详细解读)

文章目录 1、提出问题1.1 问题测试 2、解决问题&#xff08;三种方案&#xff09;2.1、方案一&#xff1a;查询的时候&#xff0c;只返回主键 ID2.2、方案二&#xff1a;查询的时候&#xff0c;通过主键 ID 过滤2.3、方案三&#xff1a;采用 elasticSearch 作为搜索引擎 3、总结…

基于卷积神经网络的苹果病害识别与防治系统,resnet50,mobilenet模型【pytorch框架+python源码】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示&#xff1a; 苹果病害识别与防治系统&#xff0c;卷积神经网络&#xff0c;resnet50&#xff0c;mobilenet【pytorch框架&#xff0c;python源码】_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于卷积…

Java多线程编程基础

目录 编写第一个多线程程序 1. 方式一 : 继承Thread类, 重写run方法 2. 方式二: 实现Runnable接口, 重写run方法 3. 方式三: 使用Lambda表达式 [匿名内部类] [Lambda表达式] 在上个文章中, 我们了解了进程和线程的相关概念. 那么, 在Java中, 我们如何进行多线程编程呢? …

ffmpeg视频滤镜:网格-drawgrid

滤镜介绍 drawgrid 官网链接 》 FFmpeg Filters Documentation drawgrid会在视频上画一个网格。 滤镜使用 参数 x <string> ..FV.....T. set horizontal offset (default "0")y <string> ..FV.....T. set…

【AIGC】2024-arXiv-Lumiere:视频生成的时空扩散模型

2024-arXiv-Lumiere: A Space-Time Diffusion Model for Video Generation Lumiere&#xff1a;视频生成的时空扩散模型摘要1. 引言2. 相关工作3. Lumiere3.1 时空 U-Net (STUnet)3.2 空间超分辨率的多重扩散 4. 应用4.1 风格化生成4.2 条件生成 5. 评估和比较5.1 定性评估5.2 …

没有对象来和我手撕红黑树吧

1. 红黑树的介绍 红黑树也是一种自平衡的二叉搜索树&#xff0c;在每一个节点增加了一个存储位来表示节点的颜色&#xff0c;可以是红色也可以是黑色&#xff0c;通过约束颜色来维持树的平衡&#xff0c;具有以下的性质&#xff1a; 每个节点不是红色就是黑色根节点为黑色如果…

【网络面试篇】TCP与UDP类

目录 一、综述 1. TCP与UDP的概念 2. 特点 3. 区别 4. 对应的使用场景 二、补充 1. 基础概念 &#xff08;1&#xff09;面向连接 &#xff08;2&#xff09;可靠的 &#xff08;3&#xff09;字节流 2. 相关问题 &#xff08;1&#xff09;TCP 和 UDP 可以同时绑定…

linux:回车换行+进度条+git理解与使用以及如何解决免密码push问题

目录 特殊符号 Linux小程序---进度条 1.\n和\r的理解 2.缓冲区 3.设计简单的倒计时 4.设计简单的进度条 git-版本控制器 1.理解什么是版本控制器? 2.git的使用 3.git的其他说明 总结上传过程 特殊符号 1.(取消显化) 的作用:执行指令,但指令本身不会显化; 举个例子:我…

智能家居10G雷达感应开关模块,飞睿智能uA级别低功耗、超高灵敏度,瞬间响应快

在当今科技飞速发展的时代&#xff0c;智能家居已经逐渐成为人们生活中不可或缺的一部分。从智能灯光控制到智能家电的联动&#xff0c;每一个细节都在为我们的生活带来便利和舒适。而在众多智能家居产品中&#xff0c;10G 雷达感应开关模块以其独特的优势&#xff0c;正逐渐成…

什么品牌的护眼台灯比较好?五款目前比较好用的护眼台灯

在当今社会&#xff0c;近视已成为一种普遍现象&#xff0c;其背后的原因复杂多样。除了部分由遗传因素导致外&#xff0c;不良的用眼习惯和不适宜的照明环境也是不可忽视的重要因素。长时间盯着电子屏幕、阅读时光线过强或过弱、坐姿不正等&#xff0c;都可能给眼睛带来额外的…

redis详细教程(4.GEO,bitfield,Stream)

GEO Redis GEO 是 Redis 数据库中的一个功能模块&#xff0c;自 Redis 3.2 版本开始引入&#xff0c;专门用于处理地理位置信息。这个模块使得 Redis 能够存储并查询地理坐标&#xff0c;非常适合用于需要地理位置数据的应用&#xff0c;如实时位置查询、地理围栏、距离计算等…