文章目录
-
- 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(具备逻辑结构的表达式)
{//当括号内仅一条语句时可省略括号,慎重使用。
语句段;
}
//若表达式逻辑结果为真则执行;反之执行语句2
if(表达式)
{
语句段1;
}else//if 可以单独使用,但else 必须配套if。
{
语句2;
}
- if 阶梯分支
//顺序向下执行,当一个表达式执行为真时执行该括号内的语句,且剩余的其他语句跳过。
if(表达式1)
{
语句段1;
}else if(表达式2)
{
语句段2;
}else if(表达式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( )
{
循环体;
goto lable;
}
注意:goto语句容易造成程序逻辑混乱,代码可读性差,不建议使用。
3.3.5 循环嵌套
外层循环执行一次,内层循环执行一轮。
3.3.6 循环辅助语句
- break
- 循环断路语句:跳出当前循环。
- 多层循环,只跳出一层循环。
- continue
- 循环短路循环:跳出本次循环,提前进入下一次的循环。
- return
- 跳出当前函数。
- 当return在main函数中时,一旦遇到return,整个程序就结束了。




