C语言是一门结构化的程序设计语言。
支持3种结构:
1.顺序。
2.选择。
3.循环。
而选择对于的就是我们的分支语句(也叫判断语句),本篇就让我们来学习一下。
分支语句有两种形式;if语句,switch语句。
if语句;
if语句的格式如下;
括号里的表达式成立(为真),则语句执行,表达式不成立(为假),就不执行
例1:判断一个数能否被2整除;
结果:
就像上图例1,我们看见到的那样if语句里的表达式成立就执行,不成立就不执行。但是有时候我们需要进行判断,根据不同的结果来进行多种判断,那么就需要 if....else语句了。
if...else语句;
格式如下
话不多说,上例子
例2:
结果
我们可以看到这样写就可以打印出不同的结果。相对于汉语里的“不是..就是”
注意:有时候一个程序里会出现多个if语句,else只会和最近的if语句匹配,使用{}花括号,每条if和else对齐,可以避免这种问题。所以说程序要排版清楚,不然容易出错。
if语句还可以进行两次以上的判断。
if...else if....else语句;
例3
结果1:
结果2:
c语言是从上往下执行的,当有一条if语句执行后,其余的都不执行。
最后一条else不用写表达式,如果结果无法和if匹配上,那么就是else。所以else代表就是大于30的数。
切记 ,所有的选择语句和循环语句只能控制后面的一条语句,除非加上花括号{}。
例4:
这样既减少出错还排版清楚,便于代码阅读。
switch语句;
switch语句是一种特殊的if...else语句,判断有多种结果的语句,把多重的else..if转化成更方便简洁的形式。
注意case后面是:,不是;
例5
来计算一下除于三余几:
结果:
我想要的结果明明是case0 ,可是为什么会把后面的打印出来。原因是switch语句里相当于一条管道,但是有多个出口,我从case0进去以后,不想出来,就一直顺这管道走下去。这时就需要break,来停止这条语句,相当于给case0上了一个大门,不能到后面去,只能从switch语句里出去。
bresk
例6:
结果:
这样就解决问题了
以上就是我关于选择语句的一些看法,如果有错误,请指正,我会马上修改。