分享

简述C语言中, if ... else语句和switch ... case语句

 123xyz123 2018-01-07

C语言中的选择结构,主要是体现在两类语句上:if ... else语句 和 switch ... case语句。在这篇文章里,我们就来介绍一下,这两类语句的大致使用方法。

首先,我们来讲解一下,if ... else语句:

一个很典型的if ... else语句,如下图所示:

简述C语言中, if ... else语句和switch ... case语句

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语句,如下图所示:

简述C语言中, if ... else语句和switch ... case语句

switch ... case语句案例1

switch ... case语句,相比if ... else语句来讲,稍微难理解一些。switch语句主要是来验证,两个值是否相等。case后面,只能是整数或者是字符常量,不能是变量,也不能是小数。

?case后面的break关键字,是要加上去的,如果不加break,那么就会出现一种情况:这个case后面所有的语句,都会被执行。

如下图程序:

简述C语言中, if ... else语句和switch ... case语句

switch ... case语句案例2

在上述C语言程序中,每个case语句后面,都没有加上“break”关键字。第5行,变量i初始值为8,上面这段程序的运行结果,如下所示:

简述C语言中, if ... else语句和switch ... case语句

switch ... case语句案例2的执行结果

我们看到:当case后面没有break关键字,那么,一旦某一处case的条件成立,那么它后面所有的case,连同后面的default的语句,都会被执行了。

??在C语言中,并不是所有的选择结构,都能用switch ... case语句来实现。只有一部分情况下,才能使用switch ... case语句。

尽管如此,switch ... case语句相比if ... else语句,还是有优势的。最大的优势,是switch语句,容易阅读。代码易读,就意味着,程序在后期容易被维护。我在工作中,遇到选择结构的程序时,能使用switch语句的地方,我就会尽量使用switch语句。

  (特别声明:以上文章内容仅代表作者本人观点,不代表新浪看点观点或立场。如有关于作品内容、版权或其它问题请于作品发布后的30日内与新浪看点联系。)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多