C语言/C++【switch语句详解(用法、规则、流程图、实例)】

C++| 匠心之作 从0到1入门学编程【视频+课件+笔记+源码】

目录

1、switch语句【C语言】

1.2、C语言中 switch语句的语法

1.3、switch语句遵循规则

1.3、switch流程图

1.4、switch实例

2、switch语句【C++】

2.1、作用

2.2、语法

2.3、示例

2.4、注意事项及总结


1、switch语句【C语言】

菜鸟教程 C语言 switch语句:https://www.runoob.com/cprogramming/c-switch.html

一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

1.2、C语言中 switch语句的语法

switch (expression) {
    case constant-expression :
       statement(s);
       break; /* 可选的 */
    case constant-expression :
       statement(s);
       break; /* 可选的 */
    /* 您可以有任意数量的 case 语句 */
    default : /* 可选的 */
       statement(s);
}

1.3、switch语句遵循规则

switch语句必须遵循下面的规则:

  • switch 语句中的 expression 是一个常量表达式,必须是一个整型枚举类型
  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
  • case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
  • 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
  • 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

1.3、switch流程图

C 中的 switch 语句

1.4、switch实例

#include <stdio.h>

int main()
{
    char grade = 'B'; /* 局部变量定义 */
    switch (grade)
    {
        case 'A':
            printf("很棒!\n");
            break;
        case 'B':
        case 'C':
            printf("做得好!\n");
            break;
        case 'D':
            printf("您通过了!\n");
            break;
        case 'F':
            printf("最好再试一下!\n");
            break;
        default:
            printf("无效的成绩!\n");
    }
    printf("您的成绩是 %c!\n", grade);
    return 0;
}

2、switch语句【C++】

2.1、作用

执行多条件分支语句。

2.2、语法

switch (表达式) //【switch语句中表达式类型只能是整型或者字符型】
{
    case 结果1: 执行语句;break;
    case 结果2: 执行语句;break;
    ...
    default: 执行语句;break;
}

2.3、示例

#include <iostream>
using namespace std;

int main() //switch语句
{
	//请给电影进行评分
	// 10 ~ 9   经典
	// 8 ~ 7   非常好
	// 6 ~ 5   一般
	// 5分以下 烂片

	//1、提示用户给电影评分
	cout << "请给电影打分:" << endl;

	//2、用户开始进行打分
	int score = 0;
	cin >> score;
	cout << "您打的分数为:" << score << endl;

	//3、根据用户输入的分数来提示用户最后的结果
	switch (score)
	{
	case 10:
		// cout << "您认为是经典电影!" << endl;
		// break; //退出当前分支
	case 9:
		cout << "您认为是经典电影!" << endl;
		break; //退出当前分支
	case 8:
		// cout << "您认为电影非常好!" << endl;
		// break;
	case 7:
		cout << "您认为电影非常好!" << endl;
		break;
	case 6:
	case 5:
		cout << "您认为电影一般!" << endl;
		break;
	default:
		cout << "您认为是烂片!" << endl;
		break;
	}

	//if和switch区别?
	//switch缺点:判断时候只能是整型或者字符型,不可以是一个区间!
	//switch优点:结构清晰,执行效率高!

	system("pause");

	return 0;
}

2.4、注意事项及总结

  • 注意1:switch语句中表达式类型只能是整型或者字符型
  • 注意2:case里如果没有break,那么程序会一直向下执行。
  • 总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间。

猜你喜欢

转载自blog.csdn.net/weixin_44949135/article/details/115174682