1.理解条件结构

小朋友们,今天让我们一起来探索一个神奇而有趣的知识——程序的条件结构!

首先,让我们来想象一个有趣的场景。比如说,你们正在准备去公园玩耍。在出发之前,你们会看看天气怎么样。如果天气晴朗,阳光明媚,那太棒啦,我们就可以开开心心地去公园玩滑梯、荡秋千;但是,如果天上下起了大雨,那我们可能就得改变计划,留在家里玩玩具或者看动画片。

在计算机程序的世界里,也有这样类似的“做决定”的过程,这就是我们所说的条件结构。

条件结构就像是一个聪明的小裁判,它会根据我们设定的一些条件,来决定程序接下来要怎么做。

假设我们正在编写一个小游戏程序,游戏里有一个角色要通过一些关卡。如果这个角色的生命值大于 50,它就能继续前进,去挑战更难的关卡;但如果生命值小于或者等于 50,程序就会让角色停下来休息一会儿,恢复生命值。

再比如,我们有一个计算零花钱的小程序。如果这个月你表现得很好,帮忙做家务了,爸爸妈妈可能会多给你 10 块钱零花钱;如果没有好好表现,那就只能拿到原本的零花钱。

那程序是怎么知道该做出哪种决定的呢?这就需要我们给它设定一些明确的条件和规则。就好像我们知道晴天可以出去玩,雨天要待在家里一样。

比如说,我们可以告诉程序:“如果输入的数字是奇数,就显示‘这是个奇数’;如果输入的数字是偶数,就显示‘这是个偶数’。”然后,当我们向程序输入一个数字,比如 7 时,程序会判断 7 是奇数,然后按照我们设定的条件,显示出“这是个奇数”。

小朋友们,条件结构在我们的生活中也有很多类似的例子哦。比如在学校里,如果考试成绩达到 90 分以上,老师会给你一个小奖励;如果没有达到,可能就需要更加努力学习啦。

当程序员们编写程序的时候,他们会使用一些特定的语言和符号来告诉计算机这些条件和规则。就像我们用语言跟小伙伴交流一样,程序员用特殊的“语言”跟计算机交流。

通过条件结构,程序可以变得更加聪明和灵活,能够根据不同的情况做出不同的反应,为我们完成各种各样有趣和有用的任务。

2. if条件结构

在C++中,if语句是决策语句的最简单形式。它用于确定是否将基于条件语句执行语句块。该条件只有两个布尔值/结果,即true或false。

如果If语句中的条件为true,则执行大括号内的代码块。如果条件计算结果为false,我们将移动到if块之后的代码行。如果If语句之后没有大括号{},则只考虑If块内的第一个语句。

语法结构:

if (条件语句){

// 上述条件为true时所执行的代码段

}

流程图:

-if关键字标记if语句的开始/起始。

-(条件)是指我们正在验证的条件。

-大括号{}包含条件代码,如果条件得到满足,将执行该代码。

3.if-else条件结构

  if (条件语句){

  // 上述条件为true时所执行的代码段

  }else{

  // 上述条件为false时所执行的代码段

  }

  执行 if 正文中的代码,else 正文中的代码从执行中跳过

  执行 else 正文中的代码,从执行中跳过 if 正文中的代码

  1. 如果条件的计算结果为 true,

  2. 如果条件的计算结果为 false,

对应的流程图:

例子:

#include <iostream>using namespace std;int main () {int a = 100;if( a < 20 ) {cout << "a 比 20小;" << endl;} else {cout << "a 不比 20小;" << endl;}cout << "a 的值是 : " << a << endl;return 0;}

4.可嵌套的if-else if-else

 if (条件语句){

  // 上述条件为true时所执行的代码段

  }else if (条件语句1) {

  // 上述条件语句1为true时所执行的代码段

  }else{

  //

  }

  a.如果条件语句的计算结果为 true,

  执行 if 正文中的代码,else 则执行条件语句1

 b.如果条件语句1的计算结果为 true,

  执行 else if 正文中的代码,从执行中跳过 else 正文中的代码

 c.如果条件语句1的计算结果为 false,则执行else里的代码

对应的流程图:

5. if-else条件结构的简写运算符?:

认识?:运算符

?: 这个运算符有

今天我们来学习一个在编程里很有趣的东西,叫做 ?: 运算符。

?: 运算符也被称为条件运算符,它就像一个聪明的小裁判,可以根据一个条件来决定给出什么样的结果。

比如说,我们有两个数字,一个是 5,一个是 10。然后我们设定一个条件,如果 10 比 5 大, 那么就输出“1”,否则就输出“0”。

c=a>b?1:0

对应的if-else语句是

if(a>b)

        c=1;

else

        c=0;

咱们可以把 switch case 想象成一个超级聪明的机器人,它能根据我们给它的一个数字或者一个字符,做出不同的反应。

比如说,我们有一个数字,就像我们给机器人的一个小秘密。然后在 switch 后面写上这个数字。

接下来,有很多个 case ,就像是给机器人的不同指令。

比如 case 1case 2case 3 等等。

当我们给机器人的数字和某个 case 后面的数字一样的时候,机器人就会按照这个 case 后面的要求去做事。

在这个例子里,我们给的数字是 2 ,所以机器人就会执行 case 2 后面的内容,在屏幕上显示“这是 2”。

int num = 2;switch (num) {case 1:std::cout << "这是 1" << std::endl;break;case 2:std::cout << "这是 2" << std::endl;break;case 3:std::cout << "这是 3" << std::endl;break;default:std::cout << "不知道这是几" << std::endl;}

还有哦,如果我们不想让机器人在执行完一个 case 后继续执行下面的 case ,就要在每个 case 后面加上 break ,就像给机器人一个停止的命令。

语句结构:

switch (条件变量)  {
case 条件值1://符合条件值1的执行代码块;break;
case 条件值2:// 符合条件值1的执行代码块;break;...default:// 都不符合的执行代码块;
}

如果存在匹配,则执行匹配条件值后的相应代码。例如,如果变量的值等于条件值1,则执行条件1:之后的代码,直到遇到break语句。break的意思就是跳出swich-case的条件结构,执行以后的代码.

如果不匹配,则执行default:之后的代码

流程图:

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

    如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    Ubuntu20.04下Px4使用UORB发布消息

    1 .msg文件夹定义数据类型及 变量名文件位置如图&#xff0c;在PX4-Autopilot/msg文件夹下&#xff0c;笔者创建的文件名为gps_msg.msggps_msg.msg内容如下 uint64 timestamp # 时间戳 float32 latitude float32 longitude float32 altitude 同时&#xff0c;在CM…

    three.js学习记录(第二节:鼠标控制相机移动)

    效果展示&#xff1a; 鼠标控制一、鼠标控制 - 轨道控制器&#xff08;OrbitControls&#xff09; 1. 从nodeModules中导入OrbitControls&#xff0c;OrbitControls 是一个附加组件&#xff0c;必须显式导入 import { OrbitControls } from "three/examples/jsm/controls/…

    Shortest Routes II(Floyd最短路)

    题目描述There are n cities and m roads between them. Your task is to process q queries where you have to determine the length of the shortest route between two given cities.输入The first input line has three integers n, m and q: the number of cities, roads…

    分享一个基于Hadoop的二手房销售签约数据分析与可视化系统,基于Python可视化的二手房销售数据分析平台

    &#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人八年开发经验&#xff0c;擅长Java、Python、PHP、.NET、Node.js、Spark、hadoop、Android、微信小程序、爬虫、大数据、机器学习等&#xff0c;大家有这一块的问题…

    STM32的PWM

    PWM作为硬件中几乎不可或缺的存在&#xff0c;学会 PWM&#xff0c;等于打通了 STM32 的“定时器体系”。学一次&#xff0c;STM32 全系列&#xff08;甚至 AVR、PIC、ESP32&#xff09;都能通用。硬件只要一个 I/O 就能驱动功率模块&#xff0c;非常省成本。不会 PWM&#xff…

    OpenCompass傻瓜式入门教程

    文章目录1 我也许不是傻瓜&#xff0c;却只想做个傻瓜2 环境要求3 安装3.1 下载源码3.2 创建虚拟环境3.3 安装4 下载数据5 查看支持的模型和数据集6 评测6.1 指定模型路径6.2 指定配置文件6.2.1 评测本地qwen2.5模型6.2.1.1 查看opencompass支持的qwen2.5模型6.2.1.2 创建配置文…

    【软件测试】电商购物项目-各个测试点整理(三)

    目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、优惠券的测试点…

    流处理、实时分析与RAG驱动的Python ETL框架:构建智能数据管道(上)

    > **2025年某电商大促,每秒20万订单涌入系统**——他们的风控团队仅用**47毫秒**就识别出欺诈交易。背后的秘密武器,正是融合流处理、实时分析与RAG的下一代Python ETL框架。 ### 一、范式革命:从批处理到AI增强的ETL 4.0 #### 1.1 数据处理演进史 ```mermaid graph LR …

    开源 Arkts 鸿蒙应用 开发(十五)自定义绘图控件--仪表盘

    文章的目的为了记录使用Arkts 进行Harmony app 开发学习的经历。本职为嵌入式软件开发&#xff0c;公司安排开发app&#xff0c;临时学习&#xff0c;完成app的开发。开发流程和要点有些记忆模糊&#xff0c;赶紧记录&#xff0c;防止忘记。 相关链接&#xff1a; 开源 Arkts …

    ​​​​​​​中国工业企业专利及引用被引用数据说明

    1319 中国工业企业专利及引用被引用数据说明数据简介专利近年发文趋势及主题分布今天数据皮皮侠团队为大家分享一份2023年12月25日最新更新的中国工业企业专利及引用被引用数据&#xff0c;供大家研究使用。数据来源原始数据来源于国家统计局&#xff0c;由皮皮侠团队整理计算。…

    MySQL知识点(上)

    MySQL知识点 一&#xff1a;MySQL概述 MySQL是一款开源的数据库软件&#xff0c;是一种关系型数据库管理系统&#xff08;ROBMS&#xff09;&#xff0c;也叫做表数据库管理系统 如果需要快速安全地处理大量的数据&#xff0c;则必须使用数据库管理系统&#xff1b;任何基于数据…

    shell脚本实现sha256sum校验并拷贝校验通过的文件

    #!/bin/bash# 目标目录 TARGET_DIR"/appdata/jn1m/versions/old/bin"# 校验文件 CHECKSUM_FILE"checksum.txt"# 检查目标目录是否存在 if [ ! -d "$TARGET_DIR" ]; thenecho "错误&#xff1a;目标目录 $TARGET_DIR 不存在"exit 1 fi#…

    中小型泵站物联网智能控制系统解决方案:构建无人值守的自动化泵站体系

    一、系统核心架构与功能设计1.物联网感知层设备互联&#xff1a;网关对接压力传感器、超声波液位计、智能电表、振动传感器等&#xff0c;实时采集水泵运行状态&#xff08;流量、压力、温度、振动&#xff09;、液位、水质&#xff08;pH值、浊度&#xff09;、能耗等关键参数…

    网络通信---Axios

    1、什么是 Axios&#xff1f; Axios​ 是一个基于 ​Promise​ 的 ​HTTP 客户端&#xff0c;用于浏览器和 Node.js 环境&#xff0c;用来发送 ​HTTP 请求&#xff08;如 GET、POST、PUT、DELETE 等&#xff09;​。 它常用于&#xff1a; 向后台 API 发送请求获取数据提交表…

    Ubuntu 软件源版本不匹配导致的依赖冲突问题及解决方法

    在使用 Ubuntu 系统的过程中&#xff0c;软件包管理是日常操作的重要部分。但有时我们会遇到各种依赖冲突问题&#xff0c;其中软件源与系统版本不匹配是常见且棘手的一种。本文就来详细分享一次因软件源版本不匹配引发的依赖冲突问题&#xff0c;以及具体的解决思路和流程。一…

    思考:高速场景的行星轮混动效率如何理解

    行星轮混动 E-CVT&#xff08;电子无级变速器&#xff09;是一种专为混合动力汽车设计的动力分配系统&#xff0c;其核心原理是通过行星齿轮组和电机的协同工作&#xff0c;实现动力分流与无级变速。 一、核心结构与组成 E-CVT的核心部件包括 行星齿轮组 和 双电机&#xff08;…

    跨域及解决方案

    跨域&#xff08;Cross-Origin&#xff09;是指浏览器在执行 JavaScript 的时候&#xff0c;因为同源策略&#xff08;Same-Origin Policy&#xff09;的限制&#xff0c;阻止了一个网页去请求不同源&#xff08;域名、端口、协议有任意一个不同&#xff09;的资源。 1. 什么是…

    PCA降维全解析:从原理到实战

    一文读懂PCA降维&#xff1a;原理、实现与可视化全解析​本文6000字&#xff0c;涵盖PCA核心原理、数学推导、代码实战及高频面试题&#xff0c;建议收藏阅读​一、为什么需要降维&#xff1f;数据爆炸时代的生存法则当数据集的特征维度激增&#xff08;如基因数据、推荐系统用…

    Kafka工作机制深度解析:Broker、Partition 与消费者组协作原理

    &#x1f42f; Kafka工作机制深度解析&#xff1a;Broker、Partition 与消费者组协作原理 &#x1f3c1; 前言 Kafka 已成为互联网公司流式数据处理的事实标准&#xff0c;广泛应用于日志收集、实时计算、事件驱动架构等场景。 很多开发者会用 Kafka&#xff0c;但不了解它底…

    深入解析live555:开源流媒体框架的技术原理与应用实践

    引言&#xff1a;流媒体领域的"老兵"与技术基石 在实时音视频传输技术的发展历程中&#xff0c;live555作为一款诞生于1990年代末的开源项目&#xff0c;至今仍在流媒体服务器、嵌入式设备和安防监控等领域发挥着不可替代的作用。它由Live Networks公司开发并维护&a…