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

news2024/11/18 12:32:40

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

其中条件语句叫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; //定义变量1
	cout <<"请输入一个数字,然后回车 " << endl;  
	cin >> b ;//通过键盘输入一个数字
	if(b==1)  //如果输入的是1,则打印输入的为1
	  cout <<"输入的为: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; //定义变量1
	cout << "请输入一个数字,然后回车 " << endl;
	cin >> b ;//通过键盘输入一个数字
	if (b == 1) //如果输入的是1,则打印输入的为1
		cout << "输入的为:1" << endl;
	else
		cout << "输入的不是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.coloradmin.cn/o/2169447.html

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

相关文章

ai写论文哪个软件好?分享4款ai论文写作工具软件

在当前的学术研究和论文写作领域&#xff0c;AI技术的应用已经成为一种趋势。AI论文写作工具不仅能够提高写作效率&#xff0c;还能帮助研究者生成高质量的论文。以下是四款值得推荐的AI论文写作工具软件&#xff0c;其中特别推荐千笔-AIPassPaper。 1. 千笔-AIPassPaper 传送…

Cluade 3.5 Sonnet 提示词泄露

prompt 翻译&#xff1a; The notebook currently demonstrates support for a two agent setup. Support for GroupChat is currently in development.

EF Core优化技巧之预热处理

1. 前言 今天和听到同事们在讨论一个关于使用EFCore时&#xff0c;为什么第一次查询数据库总是很慢的原因。我们在工作中经常使用EFCore进行数据访问&#xff0c;但发现每次第一次查询都需要较长的时间&#xff0c;这给我们带来了困扰。因此&#xff0c;我们聚在一起&#xff…

Redis实战--Redis应用过程中出现的热门问题及其解决方案

Redis作为一种高性能的key-value数据库&#xff0c;广泛应用于缓存、消息队列、排行榜等场景。然而&#xff0c;在实际应用中&#xff0c;随着业务规模的不断扩大和访问量的持续增长&#xff0c;缓存系统也面临着诸多挑战&#xff0c;其中最为典型的便是缓存穿透、缓存击穿和缓…

Ansible集群服务部署案例

案例描述 本案例共讲述了多个节点部署Elk集群日志分析系统&#xff0c;分别在三个节点使用ansible部署Kibana、Logstash以及Elasticsearch服务。 案例准备 1. 规划节点 IP 主机名 节点 192.168.100.25 ansible Ansible节点 192.168.100.35 node1 Elasticsearch/Kiba…

shell用文件管理备份文件路径

从文件中读取文件路径 while IFS read -r s; do&#xff1a;这行代码启动一个 while 循环&#xff0c;逐行读取 001.sh 文件的内容。 IFS&#xff1a;将内部字段分隔符&#xff08;IFS&#xff09;设置为空&#xff0c;确保读取整行而不被默认的空格和换行符分隔。这样可以保…

知识管理数据库

知识管理数据库&#xff0c;可以分为几类&#xff1a; 灵感库、卡片库、作品库。 灵感库&#xff0c;通常是素材&#xff0c;想法。 片库&#xff0c;是完整的&#xff0c;成段落的文字。 作品库&#xff0c;是文章、专栏&#xff0c;或者书籍。 这三者的关系&#xff0c;好比…

java通过webhook给飞书发送群消息

现在使用飞书的人越来越多了&#xff0c;飞书有一个最大的好处&#xff0c;可以使用webhook简便的发送群消息。而在工作中&#xff0c;也经常会因为一些运维方面的工作&#xff0c;需要给飞书发送群消息&#xff0c;来实时提醒相关负责人,及时处理工作。 一、先看一下效果吧&a…

【计算机网络】网络层详解

文章目录 一、引言二、IP 基础知识1、IP 地址2、路由3、IP报文4、IP报文的分片与重组 三、IP 属于面向无连接型四、IP协议相关技术1、DNS2、ICMP3、NAT技术4、DHCP 一、引言 TCP/IP的心脏是网络层。这一层主要由 IP 和 ICMP 两个协议组成。网络层的主要作用是“实现终端节点之…

Visual Studio Code下载安装及汉化

官网&#xff1a;https://code.visualstudio.com/ 按照指示一步步操作即可&#xff1a; 汉化&#xff1a;

Stable Diffusion零基础学习

Stable Diffusion学习笔记TOP12 _插件篇之ControlNet功能篇 ControlNet目前支持的10多种预处理器&#xff0c;根据数据检测种类可分为两种类型&#xff1a; 1、功能型&#xff1a;拥有着不同的能力 2、构图型&#xff1a;控制着SD扩散图形的构图规则 Seg语义分割&#xff1a…

2025年第十届智能信息技术国际会议 (ICIIT 2025)即将召开!

第10届智能信息技术国际会议&#xff08;ICIIT 2025&#xff09;将于2025年2月20日至23日在越南河内举行。ICIIT系列会议将每年举行&#xff0c;为智能信息技术及相关领域提供互动论坛&#xff0c;除了越南的研究人员外&#xff0c;会议小组还欢迎来自世界各地的有兴趣与该地区…

SpringBoot框架快速入门

1、起步依赖 1.概述 在入门案例中&#xff0c;我们引入了web依赖和test依赖&#xff0c;这两个依赖是SpringBoot中的starter依赖&#xff0c;starter依赖也被称为起步依赖 SpringBoot 在配置上相比Spring要简单许多&#xff0c;其核心在于spring-boot-starter&#xff0c;在使…

Django Web开发基础介绍

概述 Django 是后端Python的 Web 开发框架&#xff0c;主要任务是处理与服务器和数据库相关的事务&#xff0c;模板渲染动态生成网页内容只是其中一部分。 Django 内置了的模板引擎&#xff0c;可以将 HTML 页面与 Python 代码进行分离。模板引擎提供了丰富的模板标签和过滤器…

???Ansible-使用roles

文章目录 一、Ansible的内置的或官方推荐创建的目录及文件介绍roles目录解释1、roles/自定义角色名目录下2、roles/自定义角色名目录/tasks目录下3、roles/自定义角色名目录/handlers目录下4、roles/自定义角色名目录/templates目录下5、roles/自定义项目名目录/files目录下6、…

vscode【实用插件】Notes 便捷做笔记

安装 在 vscode 插件市场的搜索 Notes点 安装 安装成功后&#xff0c;vscode 左侧栏会出现 使用 初次使用 需先选择一个本地目录 重启 vscode 后&#xff0c;得到 切换笔记目录 新建笔记 快捷键为 Alt N 默认会创建 .md 文件 配合插件 Markdown Preview Enhanced 预览 .md…

一文讲清CSS基础之浮动float原理

文章目录 前言1、演示基础代码2、块级元素和行级元素都可以开启浮动&#xff0c;开启后不会独占一行3、块级元素独占一行&#xff0c;如果上方有行级元素则空出行级元素的高度4、开启浮动后元素会脱离文档流&#xff0c;浮动流宽高由内容撑开5、浮动元素的宽高也可以设定6、行内…

华为GaussDB数据库(单机版)在ARM环境下的安装指南

一、软件版本 机器配置&#xff1a;8核16G&#xff0c;CPU: Huawei Kunpeng 920 2.9GHz操作系统&#xff1a;EulerOS 2.8 64bit with ARM数据库版本&#xff1a;GaussDB Kernel 505.1.0 build 44f4fa53 二、部署流程 2.1 新建用户 ① 以omm用户为例&#xff0c;添加一个omm用…

使用C#,MSSQL开发的钢结构加工系统

很久以前的项目&#xff0c;上位机使用C#开发。数据库使用mssql。控制系统选用了三菱PLC&#xff0c;上位机和PLC之间走ModbusTCP通讯协议。 主要功能&#xff1a;读取加工文件&#xff08;csv格式&#xff09;&#xff0c;导入到数据库&#xff0c;并根据机床刀具规则&#x…

Python | Leetcode Python题解之第438题找到字符串中所有字母异位词

题目: 题解&#xff1a; class Solution:def findAnagrams(self, s: str, p: str) -> List[int]:s_len, p_len len(s), len(p)if s_len < p_len:return []ans []count [0] * 26for i in range(p_len):count[ord(s[i]) - 97] 1count[ord(p[i]) - 97] - 1differ [c !…