分支结构:
在C语言中常见的分支结构有if 语句和switch语句。二者最终解决的问题是一样的,都是通过所给定判断条件,如果满足条件则执行其该条件下的相应语句,其具体使用规则如下:
if
if语句常见格式如下图:对于下图中所有判断条件属于同一个大集合的子集并且它们之间没有交集时,就可以结合多个 else if 来进行分支判断,使整个程序逻辑看起来更有条理。程序是从第一个if条件处开始判断的,当满足其中任何一个判断条件时,就会执行该判断条件下的执行语句,当执行语句运行完之后将跳过后面的else if和else中的判断语句,不在进行判断 ,即这一整套if语句执行完毕。
一条if语句中可以有多个判断条件例如下图中的形式,其中 && 符号为取所有判断条件的交集,即满足所有判断条件才能运行执行语句;|| 符号为取所有判断条件的并集,即满足所有判断条件之一就能运行执行语句。
if语句使用小细节:如果不加上图中的大括号,则if条件只会控制他下面的第一条语句(执行语句1),而执行语句1后面的语句都不会受该if条件判断的影响 ,因此使用过程中最好加上大括号,以免造成bug。
switch
switch语句常见格式如下图:switch语句根据表达式中所求出的数值,然后执行对应的case语句分支,如果没有对应分支,则执行default。
例如下图程序中会在调试窗口打印数字2;
上图中出现的break表示跳出switch语句(直接跳到出口),因为switch中的表达式是找出下面对应case语句分支,并将该case语句作为(switch语句)执行的入口,而出口为switch语句后面的一个反大括号,因此如果没有break时,程序将会从被当作入口的case开始执行(其后面所有的case语句和default语句都要执行),直到执行至出口为止。如下图所示:
循环结构:
循环结构包括while、for、do while,goto语句。
while
while语句常见格式如下图:执行顺序是先判断条件,如果满足则进入循环体执行语句,因此初始化时一定要满足判断条件,不然进不去循环体,while中执行的语句必须要对判断条件中所判断的数值进行调整,不然就成了一个死循环。
例子:下图程序就会在调试窗口依次打印10-1这十个数字(其中i--就是对判断条件中所判断的数值进行调整)。
for
for语句常见格式如下图:其中表达式1为数值的初始化,表达式2为判断条件,表达式3为判断条件中的判断数值的调整。for语句和while语句是一样的,只不过是将while中调整判断条件中的判断数值放在了表达式3中,for语句就很好地解决容易遗漏调整判断数值的这一问题,因此for语句执行顺序和while是一样的都遵循先初始化数值,然后执行判断条件,最后调整判断的数值。
例子:下图程序在调试窗口中打印的也是从10-1这十个数。
do while
do while常见的格式如下图:do while语句和while语句有点相似,但它们的区别是do while语句是先执行do中的语句,执行完一次后,再执行判断条件,如果满足则继续进入循环,如果不满足则结束循环,因此do while不管后面循环判断条件满足与否都至少进入一次循环,至少执行一次语句。
例子:下图程序同样是在调试窗口上打印10-1这十个数字。
goto
goto语句常见格式如下图:其中flag表示做一个标识,如果执行goto语句时会直接跳转到我们做的对应的标识,这种语句在多重循环嵌套中展现出了优点,可以一次跳出多个循环体。
例子:下图程序中在调试窗口上只会打印数字5。
以上就是我对分支语句和循环语句的理解,欢迎大家浏览。