C语言进阶_分支语句

时间:2023-03-10 04:33:54
C语言进阶_分支语句

  勇气是在压力之下展现出的优雅。

一.简介

  C语言提供了两种分支语句可供选用,一是if.......else....类型,一种是Switch语句。两种语句都能根据条件判断结果执行不同的指令,且能进行替换,但也有诸多差异,下面详细介绍。

二.if语句与Switch语句

  2.1if语句

  if语句是一种逐个判断条件的分支语句,可以else关键字搭配使用,当条件满足时执行if语句所包含的命令,条件不满足执行与之配对的else语句所对应的命令。逻辑结构如下所示:

    2.1.1需注意的是,与else配对的if关键字为该else关键字之前且离它最近的if。

    2.1.2条件为0的情形分析

      if(......),括号内的条件可为常量、宏、表达式等。

      ①条件为boolean的0

        

      ②条件为整型或字符型0的表达式

        为了便于编译器检错,0建议写在表达式的右边,形如if(0==a),当比较符号'=='写错成‘=’时,表达式为if(0=a)此时编译器编译时会报错,而0卸载左边在这种情形下则不会报错。

      ③条件为Float类型的0.0的比较表达式

        因为Float类型的数据是一种不精确存储的数据,当我们给一个Float类型的变量赋值为0.0,它在计算机中的存储结果是偏离0一定值的数,与零比较不一定相同。

  2.2Switch语句

      Switch语句是一种多条件并列的分支语句,与case配合使用,条件必须为整性或字符型的常量。Switch语句中必须包含Default语句用于执行缺省(默认)的指令,Case后需接break以防止分支重叠,某些情况下也可使部分case语句后无break,但需注意程序的特殊执行流程。

  2.3if语句与Switch语句可替换使用