选择结构

2017-09-14  本文已影响52人  labi3285

条件选择结构的作用是根据程序的执行结果进行必要的分支操作,从而达到灵活应对的作用。c语言条件选择结构主要包括if条件选择结构以及switch选择结构,下面分别学习。

1、if条件选择

举个小例子,假设班级学生的性别我们用char数据类型来表示,M表示男,W表示女,我们要设计一个小程序,要求能判断某同学的性别,并输出,该如何操作呢?
首先我们要创建一个同学,假设他叫小明,如下:

char xiaoming = 'W';  

我们可以通过if条件选择,来确定小明的性别:

if (xiaoming == 'M') {  
    printf("A boy!\n");  
} else if (xiaoming == 'W') {  
    printf("A girl!\n");  
} else {  
    printf("unknown!\n");  
} 

该选择结构根据用于存储性别信息的数据与‘W’、‘M’进行比较,来判断小明的性别,当既不是‘W’,也不是‘M’时,执行最后一步操作。在if语句中三中操作必须独立开来,且最好覆盖所有情况。
输出结果如下:

A boy!  

2、switch条件选择

同样判断性别的例子,也可以采用switch语句,如下所示:

char xiaohong = 'W';  
  
switch (xiaohong) {  
    case 'W':  
        printf("A girl!\n");  
        break;  
    case 'M':  
        printf("A boy!\n");  
        break;  
    default:  
        printf("unknown!\n");  
        break;  
} 

输出结果如下:

A girl!  

3、两者之间的差别

if和switch虽然都能解决上面的问题,但是这两者之间存在本质的区别。
a、if语句多用于处理集合性质的判断,他的不同分支分别是集合的不同的范围区间,而switch语句处理的多是零散的节点,不能够处理范围性质的数据;
b、if语句的前后两个分支有明显的逻辑关系,如字面意思一样,第二个分支是排除第一个分支之后的情况,而switch的各个节点没有逻辑关系,由程序的顺序由上往下执行,遇到break后,终止,因此break语句在这里至关重要;
c、这两者都能进行嵌套,但是switch语句的嵌套要慎用,必须用时,最好加上大括号。

上一篇 下一篇

猜你喜欢

热点阅读