分支语句[归纳]

一、分支语句

1.if   else 语句
if语句的逻辑介绍

分支语句[归纳]_第1张图片如图是 if 语句最简单的逻辑应用,下面代码展示分支语句[归纳]_第2张图片注:if后面若仅跟一条语句,则后面的 {} 可加可不加,有 {} 的意思是,语句块,你若if里面的条件表达式成立,你必须把我这整个语句块的代码,都执行完,所以:若后面有多条要执行的语句,你不加 {} ,则默认第一条语句,受if语句控制;

if语句常与else语句、else if(表达式)语句搭配

目的是更好表示,多分支的情形(根本是if语句的嵌套)

例一;分支语句[归纳]_第3张图片虽然从这张代码截图来看,有没有else语句,都不影响整个代码的逻辑,但是有else,能让我们更清晰的理解分支语句,以及表现了我们良好的代码风格,所以,你还觉得有没有else语句都无所谓吗?

例二;

分支语句[归纳]_第4张图片

左右两边的代码逻辑一致,但代码不如右边的简易。 

悬浮else语句 

分支语句[归纳]_第5张图片

以这张图的代码为例,请问程序运行的结果是什么?是haha还是hehe?。。。来看程序运行结果:分支语句[归纳]_第6张图片

实际上,什么都不打印,为什么呢? 其实这里,只要把代码的逻辑,与对应关系处理好,就会很明白了,

首先else语句与哪个if对应?,是if( a == 1),还是if( b == 2 )?,这里很明确的告诉一个结论,else与最近的if对应。

其次if(b==2)受if(a == 1)控制,所以if(a == 1)不成立时,不进行后面的if();else();直接进行return语句;

2.switch语句
switch语句的逻辑介绍

在C语言中,除了 if 语句,可以表达分支以外,C语言也提供了switch语句来表达分支。分支语句[归纳]_第7张图片

若要表示多分支的逻辑,用多个case即可完成。要特别注意的是,switch中的表达式必须是整型类型,case后面的则必须是整型类型的常量。下面举个例子:(输入一个数,然后打印出来对应的一周的哪一天)

分支语句[归纳]_第8张图片

我输入数字 1 时,运行的程序是:   

分支语句[归纳]_第9张图片 我输入数字 4 时,运行的程序是:

分支语句[归纳]_第10张图片

switch语句确实通过我们输入的值,然后从哪一条case语句运行,但是它并没有运行这条case语句之后停止,而是把后面所有的case语句都运行完。为了解决这一问题,我们可以使用break这个关键字。 分支语句[归纳]_第11张图片

我们再次输入数字1,数字四时,运行如下:

 它就不进行后面的case语句。

根据这一特性,我们可以根据我们的需要对其进行更合理的运用;

分支语句[归纳]_第12张图片若num的值是1~5之间,则打印工作日,后跳出循环。 

default语句

default语句的作用是:若switch(),表达式的结果,不满足任意一个case时,就执行default后的语句。default的用法简单,就举个代码例子感受一下把(为了更明显看到代码运行的结果验证,我用了一个多次输入的语句)分支语句[归纳]_第13张图片

分支语句[归纳]_第14张图片

switch中case语句与default语句的顺序问题

顺序是不作要求的,不仅仅case语句与default语句不作要求,就连多个case之间的的顺序也不做要求。

你可能感兴趣的:(算法,c语言)