第25课 成绩等级--switch语句
第25课 成绩等级--switch语句
例程:
风之巅小学规定,若测试成绩大于或等于90分为“A”,大于或等于70分小于90分为“B”,大于或等于60分小于70分为“C”,60分以下为“D”。
试编一程序,输入一个成绩,输出它的等级。
流程图如下:
程序代码:
1 /* 2 试编一程序,输入一个成绩,输出它的等级。 3 */ 4 5 #include <typeinfo> //变量类型头文件,还是有问题;无法判断int 6 #include <iostream> //包含输入输出流头文件iostream 7 using namespace std; //指明程序 使用命名空间std(标准) 8 int main() 9 { 10 int n; 11 char score; 12 cout<<"请输入分数:"; 13 cin>>n; 14 if (n>=90) 15 score='A'; 16 else if (n>=70) 17 score='B'; 18 else if (n>=60) 19 score='C'; 20 else score='D'; 21 cout<<score; 22 return 0; 23 }
用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;
}
上面程序改写如下:
1 /* 2 试编一程序,输入一个成绩,输出它的等级。 3 */ 4 5 #include <typeinfo> //变量类型头文件,还是有问题;无法判断int 6 #include <iostream> //包含输入输出流头文件iostream 7 using namespace std; //指明程序 使用命名空间std(标准) 8 int main() 9 { 10 int n; 11 char score; 12 cout<<"请输入分数:"; 13 cin>>n; 14 switch (n/10) //n、10是整型,n/10也是整型 15 { 16 case 10: 17 case 9: 18 score='A';break; 19 case 8: 20 case 7: 21 score='B';break; 22 case 6: 23 score='C';break; 24 case 5: 25 case 4: 26 case 3: 27 case 2: 28 case 1: 29 case 0: 30 score='D';break; 31 default: 32 score='32';break; //一个空格赋值给score 33 } 34 cout<<score; 35 return 0; 36 }
英汉小词典:
switch 条件选择;开关
case 情况
break 终止
default 默认;系统默认值
动动脑:
3、完善程序。
风之巅小学为了激发同学们学习古诗文的兴趣,举行了古诗词知识竞赛活动。比赛时,选手可以从一组3个题目中选一题回答,请为下面一组题目设计一个小程序。如输入1,则输出1号题。
(1)、()带雨晚来急,野渡无人舟自横。
(2)、忽如一夜()来,千树万树梨花开。
(3)、()满园关不住,一枝红杏出墙来。
小学生C++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?