c++语言switch用法举例_switch语句特点

2022-11-07 14:53:10 浏览数 (1)

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语句的语法

代码语言:javascript复制
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流程图

1.4、switch实例

代码语言:javascript复制
#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、语法

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

2.3、示例

代码语言:javascript复制
#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不可以判断区间。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184275.html原文链接:https://javaforall.cn

0 人点赞