【C语言3】流程控制(分支结构、循环结构)
文章目录
- 3.流程控制(分支结构、循环结构)
- 3.1 流程的结构种类
- 3.2 顺序结构
- 3.3 分支结构
- 3.3.1 if 分支
- 3.3.2 switch 分支
- 3.3 循环结构
- 3.3.1 for循环
- 3.3.2 while 循环
- 3.3.3 do...while 循环
- 3.3.4 goto循环
- 3.3.5 循环嵌套
- 3.3.6 循环辅助语句
此处为C语言汇总版:【C 语言md编辑器版】从0基础开始到熟练掌握【完整篇,共9部分】
3.流程控制(分支结构、循环结构)
第三章思维导图:
3.1 流程的结构种类
- 顺序结构
- 分支结构
- 循环结构
3.2 顺序结构
顾名思义;就是自上而下逐行执行的结构。
以求三角形周长和面积为例:
3.3 分支结构
关系运算符
<>>=<===!=
其运用关系运算符的表达式的结果只有:真/假
C规定:假为0,非0即为真。
tips:当使用==时,可以把常量写在右边,这样当漏掉一个=时,程序编译时会报错,这样可以避免这个错误。逻辑运算符
其运用逻辑运算符的表达式的结果也只有:真/假- 逻辑与:
&&符号两边的表达式同时为真时,其结果才为真。 - 逻辑或:
||符号两边的表达式只要有一个为真,其结果就为真。 - 逻辑非:
!真取非为假,假取非为真。
注:逻辑运算符有表达式截断特性。使用
&&时,当第一个表达式就为假时,第二个表达式就不会再执行;使用||时,当第一个表达爱是就为真时,第二个表达式就不再执行。这样可以提高计算机运行效率。- 逻辑与:
3.3.1 if 分支
- if 简单分支
//若表达式结果为真,则执行大括号中的语句;反之跳过。if(具备逻辑结构的表达式){//当括号内仅一条语句时可省略括号,慎重使用。语句段;}//若表达式逻辑结果为真则执行;反之执行语句2if(表达式){语句段1;}else//if 可以单独使用,但else 必须配套if。{语句2;}- if 阶梯分支
//顺序向下执行,当一个表达式执行为真时执行该括号内的语句,且剩余的其他语句跳过。if(表达式1){语句段1;}elseif(表达式2){语句段2;}elseif(表达式3){语句段3;}......- if 嵌套分支
if(表达式1){if(表达式2){语句段;}}注:使用嵌套分支时,嵌套最多不能超过五层,嵌套越多,可读性越差。
3.3.2 switch 分支
switch(表达式){case常量/表达式:case常量/表达式://这里省略break,两个case连在一起表明,只要符合其中一个表达式就执行语句段1.语句段1;break;case常量/表达式:语句段2;break;......default:语句段;break;}注:
- 表达式必须是一个具有整型结果的表达式。
- 当只匹配一个结果时,每个
case后面必须加break;当匹配多个时,可以省略。 default可以省略。
3.3 循环结构
3.3.1 for循环
for(表达式1;逻辑表达式2;表达式3){循环体;}表达式1:循环的初始条件。
逻辑表达式2:循环执行的条件,当表达式2执行的结果为真时,执行循环;反之跳出循环。
表达式3:让循环趋于结束的条件。
注意:
- 若省略三个表达式,像这样:
for( ; ; ),此时for循环变为死循环,一直执行循环体; - 三个表达式均可省略,但是循环初始条件,循环执行的判断条件、循环趋于结束的条件都必须要有。但个人认为一般不常用、不推荐;
for循环中三个表达式的位置不能互换;for()后面不能加分号,若是加上分号则是执行了一个空循环;for循环与大括号{}之间不能插入任何其余代码。
3.3.2 while 循环
while(表达式){循环体;}循环的初始条件:while()前面;
循环执行的条件:具有逻辑结果的表达式;
循环结束的条件:while循环里面。
注意:
while()后面不能加分号;;while()后面的{},当循环体仅有一行语句时可省略,但不建议。- 死循环:
while(1)。
3.3.3 do…while 循环
do{循环体;}while(表达式);注意:
do...while语句while后面必须要加分号,且循环体至少执行一次。
3.3.4 goto循环
无条件跳转语句。
搭配条件判断语句构成循环。
lable://条件判断语句if(){循环体;gotolable;}注意:goto语句容易造成程序逻辑混乱,代码可读性差,不建议使用。
3.3.5 循环嵌套
外层循环执行一次,内层循环执行一轮。
3.3.6 循环辅助语句
break- 循环断路语句:跳出当前循环。
- 多层循环,只跳出一层循环。
continue- 循环短路循环:跳出本次循环,提前进入下一次的循环。
return- 跳出当前函数。
- 当
return在main函数中时,一旦遇到return,整个程序就结束了。