C语言分支与循环小结1——分支

本文详细解析了C语言中的顺序结构以及分支结构(if,if...else...和switch),强调了嵌套if的使用规则和switch语句的特性,包括case和default的处理方式。
摘要由CSDN通过智能技术生成

       C语言众所周知,C语言是一门过程性的结构化的程序设计语言,那么结构就成了重中之重。C语言的结构有顺序结构,选择结构,循环结构三类,其实也就是人类做事的结构方式,这也体现了C语言的最具自然语言特点。

        顺序结构即按照一定的顺序进行编译识别程序,就像人类穿衣吃饭出门长身高年龄等万事万物都有其自然规律和顺序,比较容易理解,今天我们不多阐述。我们重点来看分支与循环。

        那么首先,分支即有多条支线,就像一条河有分流一样。C语言中,我们可以使用if、if…else…、switch语句实现分支结构。if语句的语法形式为:

         1.      if(表达式)

         2.      语句

表达式为真,则语句执行,若表达式为假,则不执行。在C语言中,0为假,非0为真,即表达式结果为0不执行,为非0则执行。如下为其执行流程:cf7043ec95924a3f89734151060981ff.png

 if…else…语句与if较为相似,语法形式如下:

1.    if(表达式)

2.   语句

3.else……

4.语句2……

其中else可以理解为否则,整体即为-如果(为真/为假)……否则………默认if和else语句都只控制一条语句。所以当遇到需要多个分支时可以采用{}的方式进行多条分支执行。如:

084281e8ed1a4c959166f74229034164.png

615efefeb378446980595feb29b26435.png

 同时,在面对大多数的复杂问题时,我们需要采用嵌套的if语句,使用时用大括号使得整个代码逻辑更清晰,就像用悬空else时,如果有多个if和else嵌套,就需要用到。因为切记一条规则:else总是和最接近的if匹配而不是和对齐的if匹配。用法参考如下:521da3c4b5de4f87963da92f4907052d.png

在这个代码中,就犯了匹配问题的错误,所以程序运行结果什么也没有而下面中:6b9b9cc800bd4f598190d22987dd24bf.png 

运用括号修改后,就能更清晰看出问题所在了,所以切记上面的规则。

      接下来我们来看Switch语句,其本质是一种特殊的if…else的结构,用于判断条件有多个结果,一定程度上将if…else简化了。用法形式如下:

1.switch(表达式){

2.  case  value1: statement

3.  case  value2: statement

…………………

4.   default:  statement

5.     }

其运行顺序为由表达式的不同值,执行相关的case分支,如果找不到对应值,就执行default分支。

     注:switch后表达式必须是整型表达式

            case后的值必须是整型常量表达式

            case和后面的整型常量间必须有空格

            每个case语句执行完后都必须加上break,才能跳出这个switch语句。如果某一个case语句后没有break语句,代码就会继续往下执行,有可能执行其他case语句中的代码,直到遇见一个break语句或者switch语句结束。

             在switch中,case字句与default子句有要求顺序吗?其实并不是,在switch语句中,case语句和default语句没有特定顺序,只要能满足实际结果的需求就都按照精简原则调整就OK,通常习惯下default子句放在最后只是一种习惯。

 

        

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值