C语言中的选择结构,主要是体现在两类语句上:if ... else语句 和 switch ... case语句。在这篇文章里,我们就来介绍一下,这两类语句的大致使用方法。 首先,我们来讲解一下,if ... else语句: 一个很典型的if ... else语句,如下图所示: if ... else语句案例 上述C语言程序中,if和else ... if和else,一起组成了一组选择结构,如果第7行的if语句执行了,那么它后面的else ... if语句和else语句就都不会执行了;如果第11行的else ... if语句执行了,那么它后面的else语句就不会执行了;如果第7行和第11行,条件都不成立,那么,就执行第15行的else语句。 也就是说:if语句,和else组合起来,只会走其中的一条分支。 C语言中,所有的选择结构,都可以使用if ... else语句来实现。 接下来,我们再来看一下switch ... case语句。 一个典型的switch ... case语句,如下图所示: switch ... case语句案例1 switch ... case语句,相比if ... else语句来讲,稍微难理解一些。switch语句主要是来验证,两个值是否相等。case后面,只能是整数或者是字符常量,不能是变量,也不能是小数。 ?case后面的break关键字,是要加上去的,如果不加break,那么就会出现一种情况:这个case后面所有的语句,都会被执行。 如下图程序: switch ... case语句案例2 在上述C语言程序中,每个case语句后面,都没有加上“break”关键字。第5行,变量i初始值为8,上面这段程序的运行结果,如下所示: switch ... case语句案例2的执行结果 我们看到:当case后面没有break关键字,那么,一旦某一处case的条件成立,那么它后面所有的case,连同后面的default的语句,都会被执行了。 ??在C语言中,并不是所有的选择结构,都能用switch ... case语句来实现。只有一部分情况下,才能使用switch ... case语句。 尽管如此,switch ... case语句相比if ... else语句,还是有优势的。最大的优势,是switch语句,容易阅读。代码易读,就意味着,程序在后期容易被维护。我在工作中,遇到选择结构的程序时,能使用switch语句的地方,我就会尽量使用switch语句。 (特别声明:以上文章内容仅代表作者本人观点,不代表新浪看点观点或立场。如有关于作品内容、版权或其它问题请于作品发布后的30日内与新浪看点联系。) |
|