swith语法

ads

一、基本概念。

1、简介

switch语句是⼀种多分⽀选择结构,⼀般与case、break、default配合使⽤,其语法形式为:

 switch(表达式)

  {

    case  常量表达式1:

        语句序列1;

        break;

    case  常量表达式2:

          语句序列2;

          break;

    …… 

    case  常量表达式n:

          语句序列n;

          break;

    default:

         语句序列n+1;

  }


2、执行流程

switch后面括号里的表达式会被计算一次,并和 case 标签中的常量表达式做比较。如果表达式的值匹配其中的某个 case 常量,程序流就会跳转到该 case 标签后面的语句。如果没有匹配的 case 常量,程序流就会跳转到 default 标签后的语句(如果存在 default 标签)。


case 后的常量指的是常量表达式,在一个特定的 switch 语句中,每个 case 常量都必须具有独一无二的值,不可以重复。但是 switch 语句可以包含多个 case 标签。

default 标签是可选的,可以放在 switch 语句体内任何位置。如果没有 default 标签,并且没有任何 case 常量符合 switch 语句控制表达式的计算结果,那么 switch 语句体中的语句都不会执行。在这种情况下,程序流会转而执行 switch 语句体后面的语句。

3、示例代码

从键盘输入一个数字,如果是1,则输出“一等奖”,如果是2,则输出“二等奖”,否则输出“没有获奖”。

#include <iostream>
using namespace std;
int main()
{
    int a;
    cin>>a;
    switch(a)
    {
        case 1:
            cout<<"一等奖"<<endl;
            break;
        case 2:
            cout<<"二等奖"<<endl;
            break;
        default:
            cout<<"没有获奖"<<endl;
    }
    return 0;
}

4、示例代码2

在做数学题时,通常需要知道是要进行加、减、乘、除中的哪种运算,编写程序,从键盘输入一个运算符,判断是要进行哪种运算。

#include <iostream>
using namespace std;
int main()
{
    char c;
    cin>>c;
    switch(c)
    {
        case '+':cout<<"加法"<<endl;break;
        case '-':cout<<"减法"<<endl;break;
        case '*':cout<<"乘法"<<endl;break;
        case '/':cout<<"除法"<<endl;break;
        default:cout<<"输入格式错误"<<endl;
    }
    return 0;
}

5、扩展知识

字符常量

用一对单引号括起来的单个字符。例如:'h'、'3'、'!'等, 而' '是空字符。

字符变量

在C++中,char表示字符类型。

例如: 

char c; //定义了一个字符型变量c。
char c = 'h';//定义了一个字符型变量c,而且给它赋值为字符'h'


字符变量的读入输出

char c; //定义字符型变量c;
cin>>c; //读入一个字符并赋值给c
cout<<c; //输出字符变量c的值


二、练习题
1、在双人游戏中,键盘上的a、s、d、w通常用于其中一个角色的方向移动键。请设计一个程序,输入a时,输出"向左移动"。输入s时,输出"向下移动"。输入d时,输出"向右移动"。输入w时,输出"向上移动"。输入其它键时,输出"不移动"。


样例输入:

a

样例输出:

向左移动
2、用 switch 写出一个学生的英语成绩进行等级划分,90~100 分显示成绩等级为 A,80-89 分显示成绩为 B,70~79 分显示成绩为 C,60~69 分显示成绩为 D,0~60 分显示成绩为 E。

样例输入1:

100

样例输出1:

A

样例输入2:

90

样例输出2:

A

关注我,了解更多

最后编辑于:2024/1/21 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com