4、多分支判断 - 课件

一、基础知识

多分支判断的基本语法可以表示为:

if (判断条件1) {// 如果判断条件1为真,执行这里的代码
} else if (判断条件2) {// 如果判断条件1为假且判断条件2为真,执行这里的代码
} else if (判断条件3) {// 如果判断条件1和判断条件2都为假且判断条件3为真,执行这里的代码
} else {// 如果以上所有判断条件都为假,执行这里的代码
}

这里的判断条件1, 判断条件2, 判断条件3等都是布尔表达式,它们的值只能是true或false。这些判断条件可以是各种各样的,例如:

  1. 比较运算符:

    • a > b: a是否大于b
    • a < b: a是否小于b
    • a >= b: a是否大于等于b
    • a <= b: a是否小于等于b
    • a == b: a是否等于b
    • a != b: a是否不等于b
  2. 逻辑运算符:

    • 判断条件1 && 判断条件2: 判断条件1 和 判断条件2 是否都为真
    • 判断条件1 || 判断条件2: 判断条件1 和 判断条件2 是否至少有一个为真
    • !判断条件: 判断条件是否为假

下面是一个使用具体判断条件的例子,用来判断一个数是正数、负数还是零:

int number = -5;if (number > 0) {cout << "正数" << endl;
} else if (number < 0) {cout << "负数" << endl;
} else {cout << "零" << endl;
}

在这个例子中,我们使用了比较运算符><来判断number的值:

  • 如果number > 0为真,就输出"正数"。
  • 如果number > 0为假且number < 0为真,就输出"负数"。
  • 如果number > 0number < 0都为假(即number等于0),就会执行else分支,输出"零"。

通过使用具体的判断条件,我们可以让多分支判断的逻辑更加清晰和易于理解。在实际编程中,你可以根据具体问题的需要,使用各种不同的判断条件。

二、课堂练习

课堂练习1:判断成绩等级

题目:请编写一个程序,从控制台读取一个学生的成绩(0到100之间的整数),然后根据下面的标准输出他的等级:

  • 90-100分:优秀
  • 80-89分:良好
  • 70-79分:中等
  • 60-69分:及格
  • 0-59分:不及格

输入格式:一个0到100之间的整数

输出格式:学生的等级(优秀, 良好, 中等, 及格, 不及格)

示例输入:
85

示例输出:
良好

学生需要完成的任务:

  1. 使用cin读取一个0到100之间的整数
  2. 使用if-else if-else语句判断成绩属于哪个等级
  3. 使用cout输出结果

习题解析

#include <iostream>
using namespace std;int main() {int score;cout << "请输入学生的成绩(0-100): ";cin >> score;if (score >= 90 && score <= 100) {cout << "优秀" << endl;} else if (score >= 80 && score < 90) {cout << "良好" << endl;} else if (score >= 70 && score < 80) {cout << "中等" << endl;} else if (score >= 60 && score < 70) {cout << "及格" << endl;} else if (score >= 0 && score < 60) {cout << "不及格" << endl;} else {cout << "输入的成绩无效" << endl;}return 0;
}

代码解析:

  1. 首先,我们使用cin从控制台读取学生的成绩,并存储在变量score中。

  2. 然后,我们使用一系列的if-else if语句来判断成绩属于哪个等级:

    • 第一个if语句判断成绩是否在90到100之间(包括90和100)。如果是,就输出"优秀"。
    • 第一个else if语句判断成绩是否在80到89之间。如果是,就输出"良好"。
    • 第二个else if语句判断成绩是否在70到79之间。如果是,就输出"中等"。
    • 第三个else if语句判断成绩是否在60到69之间。如果是,就输出"及格"。
    • 第四个else if语句判断成绩是否在0到59之间。如果是,就输出"不及格"。
  3. 最后的else语句处理输入的成绩无效的情况(即不在0到100之间)。这可以防止用户输入无效的成绩。

  4. 在每个ifelse if语句中,我们使用了逻辑运算符&&来组合两个条件。例如,score >= 90 && score <= 100表示成绩大于等于90且小于等于100。

  5. 注意,这里的if-else if语句是互斥的,只会执行其中一个分支。一旦某个条件满足,就会执行对应的代码块,然后跳出整个if-else if-else语句。

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

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

相关文章

眼动研究实验设计方法

摘要 本文对基于实验室的眼动实验设计进行了总体回顾&#xff0c;并侧重于回顾实验程序和方法&#xff0c;从而为眼动追踪实验提供一个框架或背景。本文内容涵盖了基本的实验设计&#xff0c;这与实验心理学课本没有太大的区别&#xff0c;其中析因设计在眼动追踪研究中特别受…

day02 CSS基础

目录 CSS介绍 CSS使用方式 内联方式 内部样式表 外部样式表 CSS特性 优先级 选择器 元素选择器 id选择器 类选择器 派生选择器 子选择器 属性选择器 首个子元素 指定元素选择器 伪类选择器 文本 字体 列表 表格 背景 鼠标 border 宽高 box模型 元素水…

SpringCloudAlibaba组件集成

SpringCloudAlibaba组件集成 Nacos服务注册与发现 1.Nacos认识与安装 1.1.什么是Nacos Nacos和Eureka有着相同的能力&#xff0c;甚至更为强大&#xff0c;作为Dubbo 生态系统中重要的注册中心实现。官方对它有如下定义&#xff1a; Nacos致力于帮助您发现&#xff0c;配置…

查看mysql数据库端口号

在MySQL中&#xff0c;可以通过多种方式查看数据库服务器的端口号。以下是一些常见的方法&#xff1a; 1. 使用MySQL配置文件 MySQL服务器的端口号通常在配置文件中设置。在Linux系统上&#xff0c;这个配置文件通常是/etc/my.cnf、/etc/mysql/my.cnf&#xff0c;或者在/etc/…

Java+Angular+Nginx+RESTful API 医院云HIS系统源码 全国中小型诊所都在用的诊所his系统门诊业务流程 自主版权

JavaAngularNginxRESTful API 医院云HIS系统源码 全国中小型诊所都在用的诊所his系统门诊业务流程 自主版权 HIS系统&#xff08;Hospital Information System&#xff09;在门诊业务中的应用带来了许多显著的优势&#xff0c;这些优势不仅提高了医疗服务的质量和效率&#xf…

centos8 安装python3、pip、pyinstall

centos8安装python3 安装python3&#xff1a;https://www.cnblogs.com/qq931399960/p/11664594.html bash # 步骤&#xff1a;1、输入python3看有没有 # 2、使用yum -y install python 安装 # 3、指定版本安装&#xff1a;yum -y install python39 [rootlocalhost ~]# python…

Zookeeper:启动占用8080端口

zookeeper最近的版本中有个内嵌的管理控制台是通过jetty启动&#xff0c;也会占用8080 端口。 通过查看zookeeper的官方文档&#xff0c;发现有3种解决途径&#xff1a; &#xff08;1&#xff09;.删除jetty。 &#xff08;2&#xff09;修改端口。 一种是在启动脚本中增加…

【linux】操作系统使用wget下载网络文件,内核tcpv4部分运行日志

打印日志代码及运行日志(多余日志被删除了些)&#xff1a; 登录 - Gitee.comhttps://gitee.com/r77683962/linux-6.9.0/commit/55a53caa06c1472398fac30113c9731cb9e3b482 测试步骤和手段&#xff1a; 1、清空 kern.log&#xff1b; 2、使用wget 下载linux-6.9.tar.gz&…

切割游戏介绍

简介 上大学时&#xff0c;在学校实验室里玩过一个貌似使用VC写的小游戏&#xff0c;一个小球在界面上四处游荡&#xff0c;玩家使用鼠标切割背景&#xff0c;将背景切割剩余到一定的百分比后&#xff0c;就胜利了&#xff0c;后边的背景图会全部展示出来。 使用qt的qml技术&a…

初始化一个Android项目时,Android Studio会自动生成一些文件和目录结构,以帮助你快速上手开发

当你初始化一个Android项目时&#xff0c;Android Studio会自动生成一些文件和目录结构&#xff0c;以帮助你快速上手开发。这些文件和目录各自有其特定的功能和用途。下面我为你解释一下这些自动生成的内容&#xff1a; 1. app 目录 这是你的应用模块的根目录&#xff0c;包…

django学习入门系列之第二点《浏览器能识别的标签1》

文章目录 文件的编码(head)网站表头信息(head)标题&#xff08;body&#xff09;div和span往期回顾 文件的编码(head) <!--浏览器会以"UTF-8"这种编码来读取文件--> <meta charset"UTF-8">网站表头信息(head) <title>Title</title&…

使用 Iceberg、Tabular 和 MinIO 构建现代数据架构

现代数据环境需要一种新型的基础架构&#xff0c;即无缝集成结构化和非结构化数据、轻松扩展并支持高效的 AI/ML 工作负载的基础架构。这就是现代数据湖的用武之地&#xff0c;它为您的所有数据需求提供了一个中心枢纽。然而&#xff0c;构建和管理有效的数据湖可能很复杂。 这…

为何选择企业微信作为私域运营的首选工具?

随着数字化营销的不断深入&#xff0c;私域流量的价值愈发凸显。在众多的私域运营工具中&#xff0c;企业微信凭借其独特的功能和优势&#xff0c;逐渐成为了众多企业的首选。本文将详细阐述为何选择企业微信作为私域运营的首选工具&#xff0c;并从多个维度进行对比分析。 一…

总台,地方卫视媒体邀约新闻报道采访怎么做?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 总台对选题要求非常严格&#xff0c;在想做总台新闻报道之前&#xff0c;让我们先来了解下总台对新闻选题有哪些要求&#xff1a; 一、新闻价值 社会意义&#xff1a;新闻报道的首要任务…

【CHIP】LTC2991 读取温度电压电流 调试实例

文章目录 0. ENV1. LTC2991 数据说明1. 数据计算公式2. 寄存器概述1. 管脚使能寄存器2. 芯片使能寄存器 2. 软件实现1. 概述2. 源码(部分)3. 参考log 0. ENV 软件系统&#xff1a;略 LTC2991&#xff1a;VCC3.3 温度&#xff1a;温控接v1-v2 / v2-v3 / … (双端采样)电压&#…

C#面:C# 类的执行顺序?

C# 类的执行顺序可以分为以下几个步骤&#xff1a; 静态字段初始化&#xff1a;在类的第一次使用之前&#xff0c;静态字段会被初始化。静态字段的初始化顺序是按照它们在代码中的声明顺序进行的。静态构造函数&#xff1a;如果类中定义了静态构造函数&#xff0c;它会在类的第…

QT工作笔记

文章目录 QDialog的accept()和reject()介绍QPushButton提示属性样式表QComboBox QDialog的accept()和reject()介绍 accept() 和reject() 这两个槽函数都会和close() 一样关闭dialogaccept() 关闭后 返回了Dialog::Acceptedreject() 关闭后 返回了Dialog::Rejected这样当我们需…

Eclipse项目导入笔记大全踩坑大全

文章目录 关于Eclipse启动Tomcat时报错Error: Could not create the Java Virtual MachineWEB-INF/lib/servlet-api.jar not loadedresourcemanager java.lang.ClassNotFoundException: javax.activation.DataSourceEclipse怎么配置jdk在eclipse上配置tomcat&#xff08;包括解…

Ubutnu服务器修改DNS

TL;DR # dns行为的配置文件 /etc/resolv.conf # 针对使用 systemd-resolved 服务的配置文件&#xff1b;编辑 /etc/systemd/resolved.conf # 重启systemd-resolved服务 systemctl restart systemd-resolved # 备份 mv /etc/resolv.conf /etc/resolv.conf.bak # 创建新文件 ln …

【算法专题--链表】K个一组翻转链表 -- 高频面试题(图文详解,小白一看就懂!!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐双指针 -- 采用哨兵位头节点 &#x1f95d; 什么是哨兵位头节点&#xff1f; &#x1f34d; 案例图解 四、总结与提炼 五、共勉 一、前言 K个一组翻转链表 这道题&#xff0c;可以说是--链表专题--&#xff0c;最经典…