欢迎光临
我们一直在努力

【C语言3】从0基础开始到熟练掌握第三部分:流程控制(分支结构、循环结构)

文章目录

    • 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,整个程序就结束了。
赞(0)
未经允许不得转载:171主机测评 » 【C语言3】从0基础开始到熟练掌握第三部分:流程控制(分支结构、循环结构)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址