首页 理论教育C语言实用教程:switch语句

C语言实用教程:switch语句

【摘要】:switch 语句是多分支选择语句。程序运行结果:说明:例3.12 中出现了break 语句,在C 语言中,可以利用break 语句终止该语句下面所有case 子句和default 子句的执行,直接跳出switch 语句。

switch 语句是多分支选择语句(见图3.7)。采用了多分支if 语句来实现成绩的等级分类,使程序变得复杂冗长,降低了程序的可读性。C 语言提供了一种 switch 语句专门处理多分支情形,可以使程序变得简洁易懂。

switch 语句的一般形式如下:

图3.7 多分支选择结构

功能:首先计算 switch 后面括号内表达式的值,然后依次与各个case 后面常量表达式的值进行比较,当表达式的值与某一个case 后面常量表达式的值相等时,就选择这个标号作为入口,执行该case 子句后面的语句,并继续执行其后的所有case 子句直到程序结束。如果表达式的值与所有case 后面的常量表达式的值都不相等,则执行default 后面的语句。

说明:

(1)switch 后面括号内的“表达式”,允许它为任何类型。

(2)case 后的表达式一定是常量表达式,不允许是变量。且case 后面各常量表达式的值不能相同,否则会出错。case 后面允许有多个语句,可以不用“{}”括起来。

(3)default 子句可以省略不用。

(4)执行完一个case 标号后的语句组后,流程转移到下一个case 标号后的语句组继续执行。如果要求仅执行一个case 标号后的语句组,可用语句break 跳出switch 结构,即:

(www.chuimin.cn)

【例3.12】输入1~7 的整数,要求输出对应的星期几的英文单词

程序运行结果:

说明:例3.12 中出现了break 语句,在C 语言中,可以利用break 语句终止该语句下面所有case 子句和default 子句的执行,直接跳出switch 语句。这种用法在实际编程中比较常见。break 语句的具体用法后续章节将会介绍。

【例3.13】编写一个四则运算程序,输出计算结果。

算法分析:本例使用switch 语句用于判断运算符,然后输出运算结果。当输入运算符不是+,-,*,/这四个符号时,则给出错误提示。程序如下:

程序运行结果: