对于学习C语言,学好分支语句和循环语句是学好C语言的基础,今天小编就来总结下这两个部分,希望对你的学习有一定的帮助。
一.分支语句
分支语句,也可以叫做选择语句,有两种语句:if语句和switch语句。
作用:在不同的条件下运行不同的语句。
1.if语句
1.1语法形式:
前面的形式后面只能执行一条语句;若要执行多条语句,就必须使用后面的形式。我们可以通过以下的例子比较两者的差别。
1.2执行条件:
当括号里的的表达语句的结果为真时,则执行语句;为假时,则不执行语句。例如:
由于C语言中0表示假,非0表示真,表达语句也可以如下:
有结果可见,if(1)语句打印了hehe,而if(2)语句未打印hehe。
1.3 else:
有了if语句,加上else语句,当表达语句为假时,则就执行else里的语句,这样就可以实现选择的功能,他的语法形式与if相同。例如:
可见两次的输出结果不同。
1.4嵌套if:
嵌套顾名思义就是一条if else语句大括号里又有一个if else语句,以此类推。运用嵌套可以实现多项(超过2个选项)选择的功能。让我们看下面这个例子:
当每一个选项都只有一条语句时,我们可以用if else的级联来简化代码,如图:
1.5悬空else的问题:
看下面的代码,思考你认为的结果是什么?
为什么会出现这样的结果?其实if else语句遵循一个规则:else总是跟最接近的if匹配。
2.switch语句
switch语句是一种特殊的if else结构,用于判断条件有多个结果的情况。它把多重的else if改成更易用、可读性更好的形式。
语法形式如下:
case是每个不同结果的入口,default是除了case外的别的结果入口(这里可结合下面的例子理解)。
注意:expression必须是整型表达式
case后面的值,必须是整型常量表达式
我们通过下面的代码来继续讨论它的运行方法
输入1,打印了1,但为什么还打印了后面的语句,这是因为case相当于一个入口,只是让代码从哪里开始执行,不会跳过入口后面的代码,因此,要实现只执行每个case或default后面的语句,则需要加入break语句,如下图