5、分支对比 - 课件

一、基础知识

对比项双分支多分支多个if语句
语法if-else语句if-else if-else语句多个独立的if语句
分支数量只有两个分支可以有多个分支每个if语句都是一个独立的分支
判断条件单一条件判断,结果为真或假按顺序判断多个条件,只执行第一个满足的分支每个if语句有独立的判断条件
执行效率相对较快根据条件的排列顺序和满足情况而定逐一判断,效率相对较低
适用场景简单的二选一判断多个相关条件的判断,有优先级顺序多个独立的条件判断
代码可读性简洁明了结构清晰,逻辑连贯逻辑分散,可读性相对较差
常见错误忘记else,条件判断错误等条件覆盖不全,遗漏else分支等条件重复,忘记条件判断等

文字说明:

  1. 双分支if-else语句适用于简单的二选一判断,结构简单,执行效率高。
  2. 多分支if-else if-else语句可以处理多个相关的条件判断,按照条件的优先级依次判断,执行第一个满足条件的分支。代码结构清晰,逻辑连贯。
  3. 多个独立的if语句适用于多个不相关的条件判断,每个if语句独立执行。但是代码逻辑分散,可读性相对较差,执行效率也相对较低。
  4. 在使用过程中,双分支要注意不要遗漏else分支,多分支要注意条件的覆盖是否完整,避免遗漏else分支,多个if语句要注意条件是否有重复or遗漏判断。

二、举例说明

例题1(双分支):
判断一个整数是奇数还是偶数。

#include <iostream>
using namespace std;int main() {int num;cout << "请输入一个整数: ";cin >> num;if (num % 2 == 0) {cout << num << "是偶数" << endl;} else {cout << num << "是奇数" << endl;}return 0;
}

例题2(多分支):
根据学生的成绩评定等级:90分及以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。

#include <iostream>
using namespace std;int main() {int score;cout << "请输入学生的成绩: ";cin >> score;if (score >= 90) {cout << "学生的等级为A" << endl;} else if (score >= 80) {cout << "学生的等级为B" << endl;} else if (score >= 70) {cout << "学生的等级为C" << endl;} else if (score >= 60) {cout << "学生的等级为D" << endl;} else {cout << "学生的等级为E" << endl;}return 0;
}

例题3(多个if语句):
判断一个年份是否为闰年。闰年的判断条件为:能被4整除但不能被100整除,或者能被400整除。

#include <iostream>
using namespace std;int main() {int year;cout << "请输入一个年份: ";cin >> year;bool isLeapYear = false;if (year % 4 == 0) {if (year % 100 != 0) {isLeapYear = true;}}if (year % 400 == 0) {isLeapYear = true;}if (isLeapYear) {cout << year << "是闰年" << endl;} else {cout << year << "不是闰年" << endl;}return 0;
}

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

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

相关文章

OpenGL3.3_C++_Windows(6)

添加一个Editor camera /\/\/\/\/\//\/\/\/\/\/\/\/\//\/\///\/\/\/\//\/\/\/\//\//\/\/\/\/\\/原理&#xff1a;接受用户输入&#xff08;鼠标&#xff0c;按键……&#xff09;&#xff0c;通过&#xff08;callback / 内置API&#xff09;获取差值 / 是否触发用户输入&…

极速查询:StarRocks 存算分离 Compaction 原理 调优指南

作者&#xff1a;丁凯&#xff0c;StarRocks TSC member/镜舟科技云原生技术负责人 StarRocks 在数据摄入过程中&#xff0c;每次操作都会创建一个新的数据版本。在查询时&#xff0c;为了得到准确的结果&#xff0c;必须将所有版本合并。然而&#xff0c;随着历史数据版本的累…

关于 MySQL 5.7 升级 8.0 时 INT 显示问题分析

本案例中的客户是从 MySQL 5.7.36 升级到 MySQL 8.0.35&#xff0c;升级完成后业务反馈表结构有变化&#xff0c;升级前某个表的字段数据类型为 INT(10)&#xff0c;升级后变成了 INT&#xff0c;客户咨询有什么影响没有&#xff1f; 作者&#xff1a;张昊&#xff0c;DBA&…

JavaScript日期对象、DOM节点操作(查找、增加、克隆、删除)

目录 1. 日期对象2. DOM节点操作2.1 查找节点2.2 增加节点2.3 克隆节点2.4 删除节点 1. 日期对象 实例化日期对象&#xff1a; 获取当前时间: new Date()获取指定时间: new Date(2023-12-1 17:12:08) 日期对象方法: 方法作用说明getFullYear()获得年份获取四位年份getMonth…

logback-spring.xml 小记

为什么不用logback.xml 名字 加载顺序:logback.xml>application.yml>logback-spring.xml 使用xml中使用到配置文件属性时,就会报错 为什么logback中记录不到运行时报错 logback获取不到堆栈错误 解决办法:在全局错误出使用log.error()指定输出 为什么打印不出来myba…

五大API接口:提升你的应用性能与用户体验

引言&#xff1a; 简述API接口的重要性引入API接口对于提升应用性能和用户体验的贡献 API接口简介&#xff1a; 定义&#xff1a;解释什么是API接口作用&#xff1a;概述API接口在软件开发中的作用 1. 数据访问API 功能描述&#xff1a;提供快速、安全的数据存取功能提升性…

“首秀”欧洲杯,海信冰箱欧洲市占率居国产品牌首位

随着欧洲杯的火热开赛&#xff0c;挑灯夜战、观看球赛的时刻已经来临。此时&#xff0c;你需要何物相伴&#xff1f;是打开冰箱&#xff0c;取出真空腌制的食材&#xff0c;亲手烹饪一场观赛盛宴&#xff1f;还是取出极致保鲜的荔枝、樱桃&#xff0c;一边观赛一边品味&#xf…

部署yum仓库

目录 安装软件包 yum 配置文件 缓存功能操作步骤 创建并配置本地仓库文件 yum相关命令 yum install __ yum repolist yum list __ yum info __ yum search __ yum whatprovides __ yum remove __ yum -y update __ yum history yum grouplist yum groupinstall…

如何使用Vue3和ApexCharts轻松创建交互式图表

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于Vue3的ApexCharts动态图表展示 应用场景 本代码段适用于在Vue3应用中使用ApexCharts库创建交互式、可视化的图表。这些图表可以用于展示各种数据&#xff0c;例如销售额、支出、利润等&#xff0c;从而帮…

Microsoft Store打不开解决办法

//卸载Microsoft Store Get-AppxPackage -alluser WindowsStore | Remove-AppxPackage //重装 Get-AppxPackage -AllUsers Microsoft.WindowsStore* | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “ ( ( (_.InstallLocation)\AppXManifest.xml”}

ARP攻击和DNS攻击有什么区别

ARP攻击和DNS攻击的明显区别 一、定义与原理 ARP攻击&#xff1a; 定义&#xff1a;ARP攻击&#xff08;Address Resolution Protocol Attack&#xff09;是局域网最常见的一种攻击方式&#xff0c;其基本原理是通过伪造ARP数据包来窃取合法用户的通信数据&#xff0c;造成影…

006 spring事务支持

文章目录 事务回顾事务介绍事务并发问题(隔离性导致)事务隔离级别 Spring框架事务管理相关接口Spring框架事务管理的分类编程式事务管理(了解)声明式事务管理(重点) 事务管理之XML方式业务层持久层单元测试代码配置事务管理的AOP 事务管理之混合方式事务管理之基于AspectJ的纯注…

不重新安装Anaconda找回不见的Anaconda Prompt

找回Anaconda Prompt只需三步 系统&#xff1a;win11 x641.cd Anaconda的安装目录2. Anaconda Prompt又回来了 系统&#xff1a;win11 x64 1.cd Anaconda的安装目录 winR 输入cmd 进入命令行&#xff0c;进入到Anaconda的安装目录 eg&#xff1a;我的Anaconda安装在&#xff…

一个简单的信号发射电路的构建

在基本的信号发射电路中&#xff0c;线圈&#xff08;电感器&#xff09;和电阻的组合可以产生振荡信号&#xff0c;而天线&#xff08;通常通过线圈&#xff09;用于发射信号。 LC振荡电路&#xff1a; **线圈&#xff08;L1&#xff09;和电容器&#xff08;C&#xff09;**串…

Ubuntu24多版本python解释器使用

1.前言 已给树莓派5安装了Ubuntu24.04&#xff0c;带有python3.12.3&#xff0c;现在用视觉需要用到3.11版本的python解释器 2.实操过程 主要是对用到的命令进行备份&#xff0c;方便后面查询 2.1 安装python3.11 sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-ge…

App分发苹果ios内测ipa应用文件签名分发平台剖析

一、 应用分发下载速度为何快速 App内测签名分发平台能够提供快速的应用分发下载速度&#xff0c;主要有以下几个原因&#xff1a;提供的服务器带宽资源大。这些平台通常采用高性能服务器&#xff0c;并且拥有强大的带宽资源&#xff0c;能够支持高并发下载。 采用分布式技术…

MySQL:emoj表情录入

在实际开发中有时候会获取第三方授权头像的时候&#xff0c;头像包含了emoj表情&#xff0c;但是存到数据库出现乱码的情况&#xff0c;那这种情况我们如何处理呢&#xff1f; 解决方法&#xff1a; [client] default-character-set utf8mb4 [mysql] default-character-set…

底价竞拍成功,兴业法拍网何淑帅助高先生圆梦三居~

今日我们荣幸地向大家宣告一条喜讯。三部法拍经理何淑帅以其卓越的能力与竭诚的服务态度&#xff0c;成功助力高先生起拍价成交顺义裕龙六区的一套三居室。 高先生经朋友介绍与三部经理何淑帅结缘&#xff0c;他本身对该小区有所知晓&#xff0c;且正好在周边工作&#xff0c;何…

2.什么是计算机程序

什么是计算机程序? 计算机程序是为了告诉计算机"做某件事或解决某个问题"而用"计算机语言编写的命令集合(语句) 只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作,计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成 现实生活中你如…

JVM 基本组成

一、为什么要学习 JVM &#xff1f; 1. “ ⾯试造⽕箭&#xff0c;⼯作拧螺丝” &#xff0c; JVM 属于⾯试官特别喜欢提问的知识点&#xff1b; 2. 未来在⼯作场景中&#xff0c;也许你会遇到以下场景&#xff1a; 线上系统突然宕机&#xff0c;系统⽆法访问&#xff0c;甚⾄直…