程序的控制结构——if-else语句(双分支结构)【互三互三】

目录
🍁 引言
🍁if-else语句(双分支结构)
👉格式1:
👉功能:
👉程序设计风格提示:
👉例题
👉格式2:
👉说明
👉例题
🍁目运算符
👉说明
👉例题
🍁总结
🍁备注


🚀欢迎互三👉:程序猿方梓燚 💎💎
🚀所属专栏:C++教程💎🚀关注博主,后期持续更新系列文章
🚀如果有错误感谢请大家批评指出,及时修改
🚀感谢大家点赞👍收藏⭐评论✍

🍁 引言
if单分支选择结构只在条件为true时采取操作,条件为false时则忽略这个操作。利用if-else双分支选择结构则可以在条件为true时和条件为false时采取不同操作。
🍁if-else语句(双分支结构)
👉格式1:
if (条件表达式) 语句1; else 语句2;
👉功能:
如果(条件表达式)的值为“真” ,即条件成立,则执行语句1,执行完“语句1”后继续执行整个if-else语句的后继语句;如果(条件表达式)的值为“假” ,即条件不成立,那么跳过语句1选择执行“语句2” ,执行完语句2后继续执行整个if-else语句的后继语句;也就是说if-else语句总是根据(条件表达式)的结果,选择“语句1”和“语句2”中的一个执行,执行完以后,整个if-else就算执行完了。执行流程如图所示
👉程序设计风格提示:
书写if-else语句时,if和else要对齐,而分支的语句部分要缩进两格。
👉例题
【例1】
输入温度t的值,判断是否适合晨练。(25<=t<=30,则适合晨练ok,否则不适合no)
示例代码:
#include<iostream> using namespace std; int main() {int t;cin >> t;if ((t >= 25) && (t <= 30))cout << "ok\n";elsecout << "no\n";return 0; }👉格式2:
if (条件表达式) {语句1;语句2;…… } else {语句1;语句2;…… }👉说明
若分支语句由多个句子构成,我们必须把这些句子括在一对花括号{ }内。
👉例题
【例2】
乘坐飞机时,当乘客行李小于等于20公斤时,按每公斤1.68元收费,大于20公斤时,按每公斤1.98元收费,编程计算收费(保留2位小数)。
示例代码:
#include<cstdio> using namespace std; int main( ) {float w, p;scanf("%f", &w);if (w <= 20)printf("%.2f", w * 1.68);elseprintf("%.2f", w * 1.98);return 0; }if语句允许嵌套,即语句1和语句2还可以是if语句,当if语句嵌套时,约定else总是和最近的一个if语句配对。
【例3】
if (a>b) if (b>c) y=a;else y=c;else部分否定的是条件b>c,即它与第二个if语句配对;若想让else部分与第一个if语句配对,则要引入一个复合语句,将上述语句写成如下形式:
if (a>b){if (b>c) y=a; } else y=c;【例4】
输入三个数,输出其中最大的数。
【方法1】
设maxn用于存放三个数中最大的数,输入的三个数存放在a、b、c中,那么如果a比b和c大,则最大数是a,否则,如果b比a和c大,则最大数是b,否则,最大数是c。
示例代码:
#include <iostream> using namespace std; int main() {float a, b, c, maxn;cin >> a >> b >> c;if (a >= b && a >= c) maxn = a; //判断a是否最大else if (b >= a && b >= c) maxn = b; //判断b是否最大else maxn = c;cout << maxn << endl;return 0; }【方法2】
设maxn用于存放三个数中最大的数,输入的三个数存放在a、b、c中,初值maxn=a,即假设a为最大,那么如果b>maxn,则此时的最大数应该是b即maxn=b,如果c>maxn,则最大数应该是c即maxn=c。
示例代码:
#include<iostream> using namespace std; int main(){float a,b,c,maxn;cin>>a>>b>>c;maxn=a; if (b>maxn) maxn=b; //maxn为a,b中的最大值if (c>maxn) maxn=c; //maxn为a,b,c中的最大值cout<<maxn<<endl;return 0; }
🍁目运算符
👉说明
c++有一个常用来代替if else 语句的操作符,这个操作符被称为三目运算符(?:),它是c++中唯一一个需要3个操作数的操作符。该操作符的通用格式如下:
b?a:c如果 b为 true ,则整个表达式的值为 a;否则,整个表达式的值为c。下面两个语句演示了该操作符是如何工作的:
x=5>3?10:12 // 5>3为true,所以 x=10; x=3==9?25:18 // 3==9为false,所以 x=18;👉例题
【例5】
用三目运算符来确定两值中较大的一个。
示例代码:
#include<iostream> using namespace std; int main(){int a,b;cin>>a>>b;int c=a>b?a:b;// 相当于if (a>b) c=a; else c=b;cout<<c<<endl;return 0; }与if else序列相比,三目运算符更简洁,但第一次使用时不那么容易理解。这两种方法之间的区别是,三目运算符返回一个值,可以将其赋给变量或者将其放到一个更大的表达式中。
例如:
x=a>b?(c>d?e:f):g;相当于
if (a > b) {if (c > d) x = e;else x = f;} else {x = g;}从可读性来说,条件操作符最适合于简单关系和简单表达式的值:
x=(a>b)?a:b;当代码变得更复杂时,使用if else 语句表达更为清晰。
🍁总结
有不懂的地方可以si我,和我一起学习C++吧。
🍁备注
还没有下载DEV-C++的小伙伴们可以私我拿到免费安装包
相关文章:
程序的控制结构——if-else语句(双分支结构)【互三互三】
目录 🍁 引言 🍁if-else语句(双分支结构) 👉格式1: 👉功能: 👉程序设计风格提示: 👉例题 👉格式2: 👉…...
[C++]初识C++(命名空间,命名空间使用,函数重载,缺省参数等)
💖💖💖欢迎来到我的博客,我是anmory💖💖💖 又和大家见面了 欢迎来到C探索系列 作为一个程序员你不能不掌握的知识 先来自我推荐一波 个人网站欢迎访问以及捐款 推荐阅读 如何低成本搭建个人网站…...
每天一个数据分析题(四百十六)- 线性回归模型
根据模型假设,线性回归模型中误差项的方差为 A. 常数 B. 函数 C. 随机变量 D. 以上都不是 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专项练习题库 内容涵盖Python,SQL,统计学&#…...
JupyterNotebook中导出当前环境,并存储为requirements.txt
使用Anaconda管理Python环境时,可以轻松地导出环境配置,以便在其他机器或环境中重新创建相同的环境。可以通过生成一个environment.yml文件实现的,该文件包含了环境中安装的所有包及其版本。但是,常常在一些课程中JupyterNotebo…...
Java对象复制系列二: 手把手带你写一个Apache BeanUtils
👆🏻👆🏻👆🏻关注博主,让你的代码变得更加优雅。 前言 Apache BeanUtils 是Java中用来复制2个对象属性的一个类型。 上一篇文章我们讲到了 Apache BeanUtils 性能相对比较差,今天…...
一个极简的 Vue 示例
https://andi.cn/page/621516.html...
修复 Ubuntu 24.04 Dock 丢失应用程序图标
找出应用程序窗口的类名 首先,您需要启动应用程序窗口。然后,按 Alt F2 启动“运行 Command”对话框。当对话框打开时,输入 lg 并按 Enter 键。 在该窗口中,单击Windows按钮,然后找出目标应用程序窗口的类名称。 在/…...
idea MarketPlace插件找不到
一、背景 好久没用idea了,打开项目后没有lombok,安装lombok插件时发现idea MarketPlace插件市场找不到,需要重新配置代理源,在外网访问时通过代理服务进行连接 二、操作 ### File-->setting 快捷键 Ctrl Alt S 远端源地…...
windows下使用编译opencv在qt中使用
记录一下:在windows下qt使用opencv 1、涉及需要下载的软件 CMake 下载地址opecnv下载地址mingw(需要配置环境变量) 这个在下载qt的时候可以直接安装一般在qt的安装路径下的tool里比如我的安装路径 (C:\zz\ProgramFiles\QT5.12\Tools\mingw730_64) 2、在安装好CMake…...
正则表达式-使用笔记
正则使用不当,会导致CPU飙升;场景区分,是判断存在还是提取内容;匹配范围,是匹配部分内容还是整行; 一、初识正则 正则表达式 – 语法 | 菜鸟教程 sparksql 正则匹配总结 https://www.cnblogs.com/he1m4n…...
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
目录 C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】一维数组一维数组的创建数组的七种初始化完全初始化:部分初始化:字符数组的初始化:自动初始化为0:使用memset函数初始化…...
软件架构之计算机网络
软件架构之计算机网络 第 4 章 计算机网络4.1 网络架构与协议4.1.1 网络互联模型4.1.2 常见的网络协议4.1.3 IPv6 4.2 局域网与广域网4.2.2 无线局域网4.2.3 广域网技术4.2.4 网络接入技术 4.3 网络互连与常用设备4.4 网络工程4.4.1 网络规划4.4.2 网络设计4.4.3 网络实施 4.5 …...
Qt/C++项目积累: 2.主机监控器 - 2.2 历史功能实现
修订历史: 20240711:初始表设计,采用sqlite 正文: 关于历史数据存储,考虑的是用数据库来完成,目前考虑使用Sqlite和mysql,先用sqlite来实现,设计表过程如下: 机器总览…...
初识Spring Web MVC
1. 什么是 Spring Web MVC? Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为"SpringMVC".Servlet&am…...
【排序算法】归并排序
目录 一.基本思想 二.递归版本 三.非递归版本 四.特性总结 1.时间复杂度:O(N*logN) 2.空间复杂度:O(N) 3.稳定性:稳定 一.基本思想 归并排序是采用分治法的一个非常典型的应用。它将已经有序的序列合并为完全有序的序列,即…...
游戏AI的创造思路-技术基础-决策树(2)
上一篇写了决策树的基础概念和一些简单例子,本篇将着重在实际案例上进行说明 目录 8. 决策树应用的实际例子 8.1. 方法和过程 8.1.1. 定义行为 8.1.2. 确定属性 8.1.3. 构建决策树 8.1.4. 实施行为 8.1.5. 实时更新 8.2. Python代码 8. 决策树应用的实际例子…...
vue缓存页面,当tab切换时保留原有的查询条件
需求: 切换tab时,查询条件不变 路由页面: 单个页面上加这句话:...
PythonConda系列(亲测有效):【解决方案】Collecting package metadata (current_repodata.json): failed
【解决方案】Collecting package metadata (current_repodata.json): failed 问题描述解决方案小结参考文献 问题描述 在cmd下运行:conda install pylint -y,报错如下: C:\Users\apr> conda install --name apr pylint -y Co…...
web前端开发——标签一(注释、标题、段落、换行、格式、图片)
今天我来针对web前端开发讲解标签一 目录 html标签_标题&段落&换行 注释标签:Ctrl/ 标题标签: h1-h6 段落标签: 换行标签: 格式标签 图片标签_src属性 html标签_标题&段落&换行 注释标签:Ctrl/ Ctrl/ &…...
Django 常见的操作符
在filter() 方法,exclude() 方法中使用大于,小于,模糊匹配等操作符。 常见的操作符如下: 操作符含义示例等于Book.objects.filter(price10)! 或 __ne不等于用于查找字段不等于特定值的记录。但更常用exclude()方法。__gt大于用于…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
