9.C++程序中的选择语句

选择语句一共分为两种:条件语句和开关语句

其中条件语句叫if语句,常见的形式为:if ... else ... ; 再复杂一些为if... else if ... else ... ;

开关语句又叫switch语句,类型于开关的使用形式常见的有 switch (var) case : ... break; case : ... break; default : ... break;。

选择语句可以实现多路分支,根据不同的条件进行选择或执行相应的代码或函数。

if语句

if语句,共有三种形式,if (){},if {} else {} 以及if (){} else {} if {}...三种形式。

第一种形式 if(){},表示如果为真,则执行语句,

使用代码实现:

#include <iostream>
using namespace std;
int main(){int b; //定义变量1cout <<"请输入一个数字,然后回车 " << endl;  cin >> b ;//通过键盘输入一个数字if(b==1)  //如果输入的是1,则打印输入的为1cout <<"输入的为:1" << endl;}

执行,然后输入1

请输入一个数字,然后回车
1
输入的为:1

--------------------------------
Process exited after 2.937 seconds with return value 0

如果输入其它的,则会如下输出

请输入一个数字,然后回车
2

--------------------------------
Process exited after 2.127 seconds with return value 0

第二种形式if {} else {} ,和第一种类似,只是增了一个选择,如果为真,执行A,如果为假执行B

代码为:

#include <iostream>
using namespace std;
int main() {int b; //定义变量1cout << "请输入一个数字,然后回车 " << endl;cin >> b ;//通过键盘输入一个数字if (b == 1) //如果输入的是1,则打印输入的为1cout << "输入的为:1" << endl;elsecout << "输入的不是1" << endl;}

代码执行:

请输入一个数字,然后回车
1
输入的为:1

--------------------------------
Process exited after 1.645 seconds with return value 0

如果输入其它的数字,则执行

请输入一个数字,然后回车
3
输入的不是1

--------------------------------
Process exited after 2.435 seconds with return value 0
请按任意键继续. . .

第三种if (){} else {} if {},则是第一种和第二种的结合,而且可以使用很多if  else 方式,但是为了代码阅读方便,不建议使用太多。

具体代码可以结合上面的两种方式,写一写,不再写代码来实现了

switch语句

switch语句基于不同的条件执行不同的代码块,一般用于代替一系列的if-else语句,使代码更清晰,提高代码的易读性。

一个switch语句是一个变量等于多个值时使用,每个值称为一个case,在程序运行时,如果执行switch语句,则语句会对每个case进行检测,但是执行一个case之后,将不会自动终止,还会继续往下执行,直到遇到break才会终止执行。

switch 语句有如下特点:

1.switch中的变量,必须为一个整型或能自动转换为整型的变量,比如:bool,char,short int等等。但是不能使用浮点数(float或double)。

2.一般在switch结束的时候,可以写一个default:,但是这个不是必要的,如果有defalt:则在其它条件都不满足时,会执行default:代码块的内容,如果上面匹配,并且有break则不执行。但是default可以省略不写。

3.一般情况下,建设每个case之后,有一个break;

#include <iostream>
using namespace std;
int main() {int score; //学生成绩cout << "请录入学生成绩:" << endl;cin >> score;switch (score / 10) {case 10://cout << "A+" << endl;break;case 9:cout << "A" << endl;break;case 8:cout << "B+" << endl;break;case 7:cout << "B" << endl;break;case 6:case 5:cout << "C" << endl;break;break;default:cout << "D" << endl;}}

上面的代码中,使用了case break;以及case 6:case 5: brea;则匹配到5或6都会执行同一个代码块,不会因为匹配6之后,就不再匹配5了。如果都不匹配,则会返回D。

请录入学生成绩:
40
D

--------------------------------
Process exited after 3.25 seconds with return value 0
请按任意键继续. . .
 

如果能匹配上:

请录入学生成绩:
90
A

--------------------------------
Process exited after 2.096 seconds with return value 0
请按任意键继续. . .


 

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

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

相关文章

tauri中加载本地文件图片或者下载网络文件图片后存储到本地,然后通过前端页面展示

有一个需求是需要将本地上传的文件或者网络下载的文件存储到本地&#xff0c;并展示在前端页面上的。其实如果只是加载本地文件&#xff0c;然后展示还是挺简单的&#xff0c;可以看我的文章&#xff1a;tauri程序加载本地图片或者文件在前端页面展示-CSDN博客 要想实现上述需…

JS 历史简介

目录 1. JS 历史简介 2. JS 技术特征 1. JS 历史简介 举例&#xff1a;在提交用户的注册信息的时候&#xff0c;为避免注册出现错误后重新填写信息&#xff0c;可以在写完一栏信息后进行校验&#xff0c;并提示是否出现错误&#xff0c;这样会大大提高用户提交的成功率&…

gradle镜像配置

当我们在Android Studio中新建项目或者打开已有项目时&#xff0c;会下载gradle文件&#xff0c;当使用官方的下载源时很慢&#xff0c;经常会下载失败&#xff0c;国内我们可以使用腾讯或者阿里的镜像&#xff0c;一般下载速度很快。 一、gradle下载地址 官网地址&#xff1…

C语言指针系列2——加深理解

大家&#xff0c;今天讲的知识点是一块儿一块儿的&#xff0c;所以大家要好好学习喔~ 话不多说&#xff0c;开始正题 关键字&#xff1a;const &#xff08;三种用法&#xff09; 1. int* const p; 2. int const* p; 3. const int* const p; 首先我们要了解一下const&#xff…

【计算机组成原理】实验一:运算器输入锁存器数据写实验

目录 实验要求 实验目的 主要集成电路芯片及其逻辑功能 实验原理 实验内容及步骤 实验内容 思考题 实验要求 利用CP226实验箱上的K16&#xff5e;K23二进制拨动开关作为DBUS数据输入端&#xff0c;其它开关作为控制信号的输入端&#xff0c;将通过K16&#xff5e;K23设定…

【学习笔记】SSL/TLS证书安全机制之证书透明

1、概念 CT - Certificate Transparency&#xff0c;证书透明 2、Trying to Solve 如果意外的 CA 为我们的域名颁发证书&#xff0c;我们是不可见&#xff0c;这就是证书透明&#xff08;CT&#xff09;要解决的问题 3、How CT Works 任何CA机构颁发的所有证书的公共登记处&…

西门子1200PLC模拟量指令读出来的值好像不太对劲的样子

问题&#xff1a;模拟量指令读出来的值好像不太对劲的样子 各位高手看看&#xff0c;是不是哪里错了&#xff0c;传感器4-20ma的规格&#xff0c;我取值0-27648&#xff0c;我要换算成N,后面范围是0-200&#xff0c;但是值为什么都是小数点啊&#xff0c;而且和实际的压力怎么看…

使用宝塔部署项目在win上

项目部署 注意&#xff1a; 前后端部署项目&#xff0c;需要两个域名&#xff08;二级域名&#xff0c;就是主域名结尾的域名&#xff0c;需要在主域名下添加就可以了&#xff09;&#xff0c;前端一个&#xff0c;后端一个 思路&#xff1a;访问域名就会浏览器会加载前端的代…

VMware虚拟机Centos操作系统——配置docker,运行本地打包的镜像,进入conda环境(vmware,docker新手小白)

1.docker-centos运行sudo yum install -y yum-utils报错 遇到问题 解决&#xff1a; 进入/etc/yum.repos.d目录下找到 CentOS-Base.repo&#xff0c;执行下面两个命令&#xff1a; cp CentOS-Base.repo CentOS-Base.repo.backupvi CentOS-Base.repo 进入后改成&#x…

恶意Bot流量识别分析实践

1、摘要 随着互联网的发展&#xff0c;自动化工具和脚本&#xff08;Bots&#xff09;的使用越来越普遍。虽然一些善意 Bots 对于网站的正常运行和数据采集至关重要&#xff0c;但恶意 Bots 可能会对网站带来负面影响&#xff0c;如爬取敏感信息、恶意注册、刷流量等。因此&am…

11. Map和Set

一、二叉搜索树 1. 概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根…

基于JAVA+SpringBoot+Vue的健身房管理系统1

基于JAVASpringBootVue的健身房管理系统1 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末附源码下载链接&#x1f345; 哈喽…

阿里云kafka消息写入topic失败

1. 问题现象描述 20240918,14:22&#xff0c;测试反馈说kafka有问题&#xff0c;生产者写入消息的时候报错&#xff0c;并发了一张日志截图&#xff0c;主要报错如下&#xff1a; to topic xxxx: org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for x…

Flutter为Android添加签名并打包

前言 我们需要将App进行数字签名才能发布到商店里。在这里就具体描述一下如果给App添加签名 为App签名 创建一个用户上传的秘钥库 如果你已经有一个秘钥库了&#xff0c;可以直接跳到下一步&#xff0c;如果没有则按照下面的指令创建一个 keytool 可能不在我们的系统路径中…

客户端数页面异步填充器-———未来之窗行业应用跨平台架构

一、创生 在前端代码的神秘世界里&#xff0c;jq赋值渲染方法曾被视为法宝。然而&#xff0c;随着数据量增大和应用复杂&#xff0c;它的缺点逐渐显现。 在大数据量的激战中&#xff0c;逐个用 val() 赋值会导致性能骤降&#xff0c;频繁操作 DOM 时&#xff0c;页面重绘和重排…

论文复现我能行:Dynamic Movement Primitives: Volumetric Obstacle Avoidance

一、论文介绍 论文题目&#xff1a;《Dynamic Movement Primitives: Volumetric Obstacle Avoidance Using Dynamic Potential Functions》&#xff0c;Journal of Intelligent & Robotic Systems 该论文在2019年ICRA《Dynamic Movement Primitives: Volumetric Obstacle…

即插即用篇 | DenseNet卷土重来! YOLOv8 引入全新密集连接卷积网络 | ECCV 2024

本改进已同步到YOLO-Magic框架! 本文重新审视了密集连接卷积网络(DenseNets),并揭示了其在主流的ResNet风格架构中被低估的有效性。我们认为,由于未触及的训练方法和传统设计元素没有完全展现其能力,DenseNets的潜力被忽视了。我们的初步研究表明,通过连接实现的密集连接…

R语言中的shiny框架

R语言中的shiny框架 Shiny 的基本概念基本用法示例常见用法示例1. 输入控件2. 输出控件3. 动态 UI4. 数据传递和反应式编程 高级功能1. 使用 shinyjs2. 使用 shinythemes Shiny 是一个 R 语言的框架&#xff0c;用于构建交互式的网页应用&#xff0c;可以让用户以最少的 HTML、…

彻底理解前端模块化

目录 引入历史问题 CommonJSexports导出module.exports导出require导入加载过程缺点 AMD规范&#xff08;基本不用&#xff09;require.js使⽤ CMD规范&#xff08;基本不用&#xff09;SeaJS的使⽤ ES Module简单使用export关键字import关键字export和import结合default⽤法im…

MySQL多版本并发控制MVCC实现原理

MVCC MVCC 是多版本并发控制方法&#xff0c;用来解决读和写之间的冲突&#xff0c;比如脏读、不可重复读问题&#xff0c;MVCC主要针对读操作做限制&#xff0c;保证每次读取到的数据都是本次读取之前的已经提交事务所修改的。 概述 当一个事务要对数据库中的数据进行selec…