c语言的有分支结构与循环结构
我们可以使⽤ if 、 switch 实现分⽀结构,使⽤ for 、 while 、 do while 实现循环结构。
一.分支结构
1.if语句
if 语句的语法形式如下:
1 if ( 条件表达式 )
2 语句
表达式成⽴(为真),则语句执⾏,表达式不成⽴(为假),则语句不执⾏。
在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果是 不是0,则语句执⾏。
我们可以在VS2022中举个例子:
当我们把条件换做是假时:
我们可以看见,当条件为假时,表达式语句就不在执行。
if一般会与else,else if联用
1 if ( 条件表达式1 )
2 语句1
3 else if(条件表达式2)
4 语句2
5 else
6 语句3
当if的条件为假,语句1不会执行时,便会继续检索,若条件表达式2为真,便会执行语句2.倘若都不满足,便会在最后执行语句3,注意,在if与else之间可以有多个else if。
2.switch语句
除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。
switch 语句是⼀种特殊形式的的 if...else 结构,⽤于判断条件有多个结果的情况。它把多重else if 改成更易用、可读性更好的形式。
1 switch (expression){
2 case value1: statement
3 case value2: statement
4 default: statement
5 }
根据expression的不同的值,执行相应的case语句分支,若最后找不到相对应的值,则执行default分支。
(注意:expression表达式必须是整型表达式,且case后面的值,必须是整形常量表达式)
例:
我们可以看到,switch将3后面的语句全部执行了,这是因为我们没有使用break,在switch语句中,我们经常与break联用:
每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。所以在 switch 语句中 break 语句是⾮常重要的,能实现真正的分⽀效果。
二.循环结构
1.while循环
C语⾔提供了3种循环语句, while 就是其中⼀种,接下来就介绍⼀下 while 语句。
1 while( 表达式 )
2 语句 ;
如果循环体想包含更多的语句,可以加上⼤括号.
⾸先上来就是执⾏判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执⾏循环语句,语句执⾏完后再继续判断,是否进⾏下⼀次判断。
当第五次进去将i的值减少为0时,判断表达式的值为0,语句不再执行。
while 语句与if语句最大的区别就是while语句在一定条件下可以循环执行。
2.for循环
for 循环是三种循环中使⽤最多的, for 循环的语法形式如下:
1 for( 表达式 1; 表达式 2; 表达式 3)
2 语句// 如果循环体想包含更多的语句,可以加上⼤括号
表达式1⽤于循环变量的初始化语句
表达式2⽤于循环结束条件的判断
表达式3⽤于循环变量的调整
整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环:
for循环与while循环最大的区别就是for循环三个部分较为集中,便于代码的维护。
3.do-while循环
在循环语句中 do while 语句的使⽤最少,它的语法如下:
1 do
2 语句;
3 while( 表达式 ) ;
while和for这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环 而do while 循环则是先直接进⼊循环体,执循行环语句,然后再执行while 后的判断表达式,表达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。
所以在 do while 语句中循环体是至少执行⼀次的,这是 do while 循环中⽐较特殊的地方。