switch语句实现多分支选择结构

if语句只有两个分支可供选择,而实际中常常用到多分支选择。例如成绩分类(85分以上为A,70-85为B,60-69为C等),人口的分类(可以分为老、中、青、少、儿童),工资统计分类等等,如果我们使用if语句就会嵌套很多层数,影响可读性。c语言提供的switch语句直接处理多分支选择。

用一个例子说明:

switch语句实现多分支选择结构_第1张图片

无时无刻不在的风格提醒:

switch语句实现多分支选择结构_第2张图片
程序说明

(1).等级grade定义为字符变量,从键盘输入一个大写字母,赋给变量grade,switch得到grade的值并和各case中给定的值(’a”b”c”d’之一)相比较,如果和其中之一相同,则执行该case后面的语句(即printf语句)。如果输入的字符与’a”b”c”d’都不相同,就执行default后面的语句,输出error!信息。

(2)注意每个case语句中,后面都有一个break语句,该语句的作用是使得当前流程跳转到闭括号’}’后面的语句。

假如去掉程序中所有break语句,用户从键盘输入b以后,输出70~84并换行以后,程序将执行case ‘c’:printf(“60~69\n”);语句,并且还要执行下去

通过上例我们已经基本了解了switch语句。

其一般形式如下:


switch(表达式)

{

case 常量1:语句1

case 常量2:语句2

.

.

.

case 常量n :语句n

default : 语句n+1

}

说明:

  • switch括号内的“表达式”,其值的类型应为整数类型或者字符类型,不可以是其他数据类型

  • default 语句为选择项,可有可无。另外,default 后面可以不加break语句

你可能感兴趣的:(C)