黑马程序员——c语言学习---选择结构

来源:互联网 发布:单身狗 知乎 编辑:程序博客网 时间:2024/06/06 17:16

-----------Java培训Android培训IOS培训.Net培训期待与您交流!------------ 
条件选择结构的作用是根据程序的执行结果进行必要的分支操作,从而达到灵活应对的作用。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语句的嵌套要慎用,必须用时,最好加上大括号。



-----------Java培训Android培训IOS培训.Net培训期待与您交流!------------ 


0 0