10C++选择结构(4)——教学
一、switch语句
(第25课 成绩等级)
问题:风之巅小学规定,若测试成绩大于或等于90分为“A”,大于或等于70分小于90分为“B”,大于或等于60分小于70分为“C”,60分以下为“D”。试编一程序,输入一个成绩,输出它的等级。
流程图如下:

用if语句处理多个分支时需使用if-else-if结构,分支越多,嵌套的if语句层就越多,程序不但庞大而且理解也比较困难。
C++提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句。它可以方便地实现深层嵌套的if-else逻辑。
switch语句一般使用如下格式:
switch (表达式)
{
case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
..........
case 常量表达式n:语句n;break;
default:语句n+1;break;
}

先计算switch表达式的值,当表达式的值与某一个case子句中的常量表达式相匹配时,就执行此case子句中的内嵌语句,并顺序执行之后的所有语句,直到遇到break语句为止;若所有的case子句中常量表达式的值都不能与switch表达式的值相匹配,就执行default子句的内嵌语句。switch后面括号内的表达式,可以是整型、字符型、布尔型。每一个case 表达式的值必须互不相同,否则就会出现互相矛盾的现象。若各个case和default子句中都有break语句,则他们的出现次序不影响执行结果;case子句中可以包含多个执行的语句,不必用花括号括起来。
成绩等级程序可以用分支switch语句来编写,流程图如:

#include <typeinfo> //变量类型头文件,还是有问题;无法判断int
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int n;
char score;
cout<<"请输入分数:";
cin>>n;
switch (n/10) //n、10是整型,n/10也是整型
{
case 10:
case 9:
score='A';break;
case 8:
case 7:
score='B';break;
case 6:
score='C';break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
score='D';break;
default:
score='32';break; //一个空格赋值给score
}
cout<<score;
return 0;
}
英汉小词典:
switch 条件选择;开关
case 情况
break 终止
default 默认;系统默认值
二、switch语句的应用
(第26课 王宅六味)
例程:给“王宅六味”按1~6编号,试编一个菜名查询程序,输入编号输出菜名。(浙江省金华市的王宅,有着源远流长的农耕文化,也有着令人垂涎的美味,
其中“寿仙菇、酒糟芋、下山笋、太师豆腐、 孝子鱼、猪全福” 流传最久最广,称为“王宅六味”。)

三目运算符
三目运算符(也称为条件运算符)在C++中的一般形式是:
condition ? expr1 : expr2;
其中condition是一个返回布尔值的表达式,expr1和expr2可以是任意表达式。如果condition为真,则执行expr1,否则执行expr2。
下面是一个使用三元运算符的简单例子:
#include <iostream>
int main() {
int a = 10;
int b = 20;
int max = (a > b) ? a : b;
std::cout << "Max value is: " << max << std::endl;
return 0;
}
10C++选择结构(4)——教学的更多相关文章
- 黑马程序员——C语言基础 流程控制 选择结构和循环结构
---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...
- C语言中的循环结构与选择结构
1. 为什么使用循环? 重复执行某段代码 2. while(条件){ 循环体: } 当条件成立的时候就执行循环体,条件不成立,就退出循环,继续执行while后面的语句 3. for ( 初始表达式 : ...
- C- 流程控制(顺序结构,选择结构,循环结构)
一.选择结构 1.if 特点: 同一时刻,只有一个大括号里面的代码会被执行 2,switch 特点 默认情况下,只有一个case后面的代码会被执行 如果一个case后面没有break,而且这个case ...
- 160809212田京诚C语言程序设计实验2 选择结构程序设计_进阶
实验2-6 猜数字游戏 实验要求: 编写一个C程序实现一个[1-100]以内的猜数字游戏. (1) 系统随机产生一个[1-100]之间的随机数. (2) 输入任意一个数字.数字 ...
- 160809209_李梦鑫_C语言程序设计实验2+选择结构程序设计_进阶
<C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学 期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C05 机 ...
- Java 第四章 选择结构2
第四章 选择结构 (二) switch 选择结构的执行流程是怎样的? switch 选择结构中break关键字的作用? 本章目标 掌握 switch 选择结构 能够综合运用 if 选择结构 和 swi ...
- Java 第三章 选择结构1
选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...
- Chrome弹窗的简单应用(选择结构与循环结构)
★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图 ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用 比较大小 ★ 判断成绩等级 ): : : : : alert(" ...
- Java语法基础(三)----选择结构的if语句、switch语句
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...
- java中的if-Switch选择结构
字随笔走,笔随心走,随笔,随心.纯属个人学习分析总结,如有观者还请不啬领教. 1.if选择结构 什么是if结构:if选择结构是根据判断结果再做处理的一种语法结构. 起语法是: if(判断条件){ 操作 ...
随机推荐
- [OI] 整体二分
整体二分可以理解成普通二分改版,其实并没有改多少,并且一般对 check() 函数的复杂度要求更宽松 先来看一道经典题目:求区间排名 给一个数列,若干组询问 \((l,r,k)\),求 \([l,r] ...
- 安装并运行tomcat8
ps:tomcat7对应 jdk 1.7 tomcat8对应 jdk 1.8 注意要对应自己的项目选择下载tomcat版本 1. 软件商城搜索安装 tokcat 找到自己的tomcat的端口 8023 ...
- Android复习(四)权限—>请求应用权限
每款 Android 应用都在访问受限的沙盒中运行.如果应用需要使用其自己的沙盒外的资源或信息,则必须请求相应权限. 要声明您的应用需要某项权限,您可以在应用清单中列出该权限,然后在运行时请求用户批准 ...
- day09-类型转换
类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 低-----------------------------------------------------高 byte ...
- 云原生爱好者周刊:为 DevOps 流水线准备的 macOS 虚拟化工具
开源项目推荐 Tart Tart 是一个虚拟化工具集,用于构建.运行和管理 Apple Silicon 芯片 macOS 上的虚拟机,主要目的是为 CI 流水线的特殊任务提供运行环境.主要亮点: 使用 ...
- RocketMQ Streams拓扑构建与数据处理过程
本文作者:倪泽,Apache RocketMQ committer.RSQLDB/RocketMQ Streams Maintainer 01 背景 RocketMQ Streams 1.1.0版本已 ...
- Java新特性--方法引用
常见方法引用 方法引用可以让你重复使用现有的方法定义,并像Lambda一样传递它们. 方法引用可以看做是仅仅调用特定方法的Lambda表达式的一种便捷写法.类似于Lambda表达式,方法引用不能独立存 ...
- CSS:Transform属性
本文将深入探讨css动画中transform属性,这是一种强大的工具,可以实现元素的旋转.缩放.移动和倾斜等效果.本文将通过详细的解释和实际案例,帮助你掌握transform属性的使用方法来增强你的网 ...
- NPM 包开发与优化全面指南
前言 Hey, 我是 Immerse 系列文章首发于[Immerse],更多内容请关注该网站 转载说明:转载请注明原文出处及版权声明! 1. 理解 NPM 包的结构 1.1 package.json ...
- 通义灵码:体验AI编程新技能-@workspace 和 @terminal为你的编程插上一双翅膀
1.前言 我是一位运维工程师,用通义灵码个人版的@workspace 和 @terminal 的能力做快速了解一个工程.查找工程内的实现逻辑,以及执行指令不知道如何写,或者不清楚某个指令的意思,对比之 ...