首页 理论教育 C语言程序设计优化switch语句

C语言程序设计优化switch语句

时间:2023-10-20 理论教育 版权反馈
【摘要】:C语言还提供了另一种用于多分支选择的switch语句,适用于条件是整型变量或字符变量的等值判断。C语言中提供了一种break语句,可用于跳出switch语句。在每一个case语句之后都可以添加break语句,当匹配上case 后的常量,执行完case 后的语句,遇到break,便可跳出switch语句,可以避免程序向下执行。switch 后的表达式为输入的变量。

C语言程序设计优化switch语句

C语言中if-else语句可以实现多分支结构。但是当分支过多时,用if-else语句处理会不太方便,而且容易出现if、else 配对出错的情况。C语言还提供了另一种用于多分支选择的switch语句,适用于条件是整型变量字符变量的等值判断。比如根据输入的值,决定执行的语句。

格式:

执行过程:计算switch 后表达式的值,并逐个与case 后常量表达式的值进行比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,直到遇到break语句为止。如果表达式的值与所有case 后的常量表达式均不相同,则执行default 后的语句。

说明:

(1)switch 后表达式的值,可以是字符型或整型,不可以是浮点型。

(2)每一个case 的常量表达式的值必须互不相同,否则会出现错误

(3)在case 后可以有多个语句,不需要用大括号括起来。

(4)case 后可以不写语句,则表示它与后续case 执行相同的语句。

(5)各个case 和default 子句的先后顺序可以变动,一定是先与case 后的常量不匹配后才执行default 子句。

(6)default 子句可以不写,如果没有default,如果所有case 后面的常量表达式的值都没有与switch 后的表达式的值匹配,则什么也不执行,直接退出switch语句。

(7)C语言中提供了一种break语句,可用于跳出switch语句。在每一个case语句之后都可以添加break语句,当匹配上case 后的常量,执行完case 后的语句,遇到break,便可跳出switch语句,可以避免程序向下执行。

(8)break 可以不写,此时若当匹配上case 后的常量,则执行完case 后的语句后,程序继续向下执行下面的case 子句。

(9)switch语句可以嵌套switch语句。如:(www.xing528.com)

【例5.5】输入1 到7 之间的数字,输出对应的星期几。

解题思路:

使用switch语句时,要确定什么作为表达式以及case 的个数。

题目要求根据输入数字的值决定输出。switch 后的表达式为输入的变量。由于对应7 天,有7 种不同的输出,需要定义的case 个数为7。还有一种情况就是如果输入的值不在0~7 之间,要考虑该如何提示。

当从键盘输入8 ↙后,运行结果如下:

程序讲解:

当输入8 后,变量n 的值为8,switch表达式的值为8,系统会依次匹配case 后的常量。当所有case 后的常量都没有匹配上时,执行default。

思考一下:如果输入1,下列程序的输出结果是什么?

【例5.6】 简单的计算器设计。

当从键盘输入+↙后,程序运行结果如下:

程序讲解:

程序中要根据输入符号变量的值决定执行不同的运算。定义变量ch表示输入的运算符号,要执行加、减、乘、除4 种运算,定义了四个case 子句对应4 种符号。如果输入的不是规定符号,则执行default 子句。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈