分支语句零到一

分支语句零到一


简述分支选择语句的正确使用


目录

分支语句零到一

前言

一、分支选择结构

二、if分支语句概况

1.if基本语句

2.if_else语句

3.if多重分支语句

4.嵌套if语句

三、switch分支选择语句 

总结



前言

       分支选择结构作为C语言的一个重要组成部分,能通过简单的逻辑语句去梳理出复杂的逻辑过程。

      那么希望通过这篇文章能浅显易懂,由浅入深的剖析一下分支选择结构的语法规则和用法。


一、分支选择结构

概念:根据已知的条件进行逻辑判断,满足条件后执行相应的操作。

二、if分支语句概况

1.if基本语句

if(布尔表达式)

{



条件成立执行逻辑代码块;



}

例子:

比较a与b若a大则输出,否则不输出。此时我们如何用代码来实现:

#include

int main()
{
    if(a>b)
    {
        printf("%d",a);
    }

    return 0;    
}

2.if_else语句

if(布尔表达式1)
{
逻辑代码块;
}
else
{
与布尔表达对立情况下逻辑代码块
}

注意:

       else不能单独使用,必须与前方if相匹配。

使用场景:

        判断简单布尔表达式对于否的逻辑执行。

同样的例子:比较a,b的值,输出大值(a,b不相等)

#include
int main()
{
    if(a>b)
    {
      printf("a=%d",a);
    }
    else
    {
      printf("b=%d",b);
    }
    return 0;
}

3.if多重分支语句

注意:

                 else - if不能单独出现,必须结合if

                多重if中的else - if没有上限,写多少都可以

                多重if中的else可写可不写,根据需求是否书写

适用场景:

                执行多重判断,并执行在其正确区间的逻辑执行情况

if(表达式1)
{
逻辑代码块1;
}
else if(表达式2)
{
逻辑代码块2;
}
·
·
·
else if(表达式n)
{
逻辑代码块n;
}
else(剩余情况)//可以转换使用else if()
{
逻辑代码块;
}

例子:

        a和b中输出较大值,若相等输出两者相等的信息。

#include
int main()
{

    if(a>b)
    {
        printf("max = %d",a);
    }
    else if(b>a)
    {
        printf("max = %d",b);
    }
    else
    {
        printf("a=b");
    }

    return 0;
}

4.嵌套if语句

概念:

 if选择结构中继续嵌套if选择结构,if、if - else、多重if之间可以互相嵌套,没有上限

注意:在嵌套使用过程中要注意代码风格,避免发生else if 错误匹配的事情发生

#include 
int main()
{
    int a = 0;
    int b = 2;
    if (a == 1)
        if (b == 2)
             printf("hehe\n");
    else
       printf("haha\n");
   
   return 0;
}

        这里就是不太容易理解的代码风格,会产生错误的理解。很显然并没有打印任何东西,这是因为else 与 if就近匹配,第一个if语句并判断为假,不会继续执行下列嵌套在内部if-else语句

分支语句零到一_第1张图片

 注意:

        在使用if语句的时候最好使用花括号包括逻辑代码块避免出现判断执行过程中的误操作,再就是养成良好的代码风格,用缩减增加代码的可理解性。

三、switch分支选择语句

关键字:

break:打破               case:情况                default:默认                switch:开关

使用场景:

        对于多重情况的选择执行。

switch和多重if的区别?

  switch用于处理等值的情况 多重if用于处理值处于区间的情况

结构:

这里直接上例子去理解

#include
int main()
{
    int day = 0;
    scanf("%d", &day);
    int n = 2;
    switch (day)
    {
    default:
        printf("选择错误\n");
        break;
    case 1:
        printf("星期1\n");
        break;
    case 2:
        printf("星期2\n");
        break;
    case 3:
        printf("星期3\n");
        break;
    case 4:
        printf("星期4\n");
        break;
    case 5:
        printf("星期5\n");
        break;
    case 6:
        printf("星期6\n");
        break;
    case 7:
        printf("星期天\n");
        break;
    }
    return 0;
}

注意:

        这里的开关操作值是输入的”day“,分支的情况判断与输入的”day“的值相关

        这里的break执行的是跳出操作,指在完成break 以上逻辑块代码后跳出整个分支结构,没有break跳出会继续执行下面代码

        case "整形表达式":对于情况的判定只能执行整形表达式,否则编译不通过。

        case后面不能跟重复值,否则编译不通过。

        default:执行在上述case情况没有包含的所有部分。

嵌套使用:

        同if语句一样,能在内部进行嵌套使用:

#include 
int main()
{
    int n = 1;
    int m = 2;
    switch (n)
    {
    case 1: m++;
    case 2: n++;
    case 3:
        switch (n)
        {//switch允许嵌套使用
        case 1: n++;
        case 2:
            m++; n++;
            break;
        }
    case 4:
        m++;
        break;
    default:
        break;
    }
    printf("m = %d, n = %d\n", m, n);
    return 0;
}

 

分支语句零到一_第2张图片


 

 

 

总结

        以上就是今天要讲的内容,本文仅仅简单介绍了分支的使用,后续会针对分支选择语句作题目详解

你可能感兴趣的:(1024程序员节)