您的位置:首页 > 编程语言 > C语言/C++

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

2015-02-05 17:28 134 查看
-----------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培训、期待与您交流!------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: