C语言基础之——分支(选择)语句

目录

一.什么是分支语句

二.分支两兄弟

        1.if - else语句

        2.switch - case语句


一.什么是分支语句

  •  如果你努力学习编程,掌握充裕的编程知识,在那么就能在春招,秋招拿到一个好offer,走上人生巅峰。
  • 如果你不好好学习,荒废学业,那么毕业就等于失业,回家搬砖。

  

 这,便是分支(选择)语句。

二.分支两兄弟

1.if - else语句

if-else其英文含义即为“如果 - 其他”,这是一种选择性的语句,他只会根据表达式结果来选择性的执行其中一个语句。

语法结构:

if(表达式)

        语句;

if(表达式)

        语句;

else

        语句; 

 if(表达式)

        语句;

else if(表达式)

        语句; 

else

        语句;

在C语言中,0为假,非0为真,表达式的结果亦是如此。 

#include<stdio.h>
int main()
{
    int age;
    scanf("%d",&age);
    if(age >= 0 && age < 18)
        printf("小孩");
    else if(age >= 18 && age < 40)
        printf("青年");
    else if(age >= 40 && age < 60)
        printf("中年");
    else if(age >= 60)
        printf("老年");
    else
        printf("输入年龄错误,请重新输入");
    return 0;
}

这便是一个简单的年龄分段选择语句。

有一点要特别注意,当我们的if-else所控制的语句大于一条时,要用{ }括起来如果仅有一条,便可以将其省略

再看一段代码:

#include<stdio.h>
int main()
{
    int a = 1;
    int b = 2;
    if(a == 0)
        if(b == 2)
            printf("hehe");
    else
        printf("haha");
    return 0;
}

这样一段代码会打印出什么样的结果呢?

答案是:什么都不会打印。为什么呢?

其实,这个代码写规范会是下边的样子:

#include<stdio.h>
int main()
{
    int a = 1;
    int b = 2;
    if(a == 0)
    {
        if(b == 2)
            printf("hehe");
        else
            printf("haha");
    }
    return 0;
}

if和else如果成对出现的话,else则会与其最近的一个if组成一个选择,万万不可以为左边对齐了就组成了一对,要记住就近原则

这就教育我们,写代码一定要规范,让你的代码更容易能被别人读懂,这样才是一个优秀的程序员

2.switch - case语句

switch - case其英文含义为“开关 - 实例”,我们可以理解为,当我们需要用到某个实例时,我们就按下哪个开关即可。

语法结构:

switch(整形表达式)

{

        case 整型常量表达式:

                语句;

}

#include<stdio.h>
int main()
{
    int a;
    scanf("%d", &a);
    switch (a)
    {
    case 1:
        printf("星期一\n");
    case 2:
        printf("星期二\n");
    case 3:
        printf("星期三\n");
    case 4:
        printf("星期四\n");
    case 5:
        printf("星期五\n");
    case 6:
        printf("星期六\n");
    case 7:
        printf("星期日\n");
    }
    
    return 0;
}

如上代码,我们写了一个选择星期的语句,按照我们对switch - case的解释,每一个case都是一个实例,而( )内的'a',便是我们所要按下的开关按下开关,便进入对应的实例中去

但是这样一段代码,却有一个弊病:

如上,当我们仅仅选择打印“星期四”时,却连着后边的一起打印了,这是为什么呢?

事实上,这是switch - case语句自身的一个弊病,它虽然能控制我们从哪个入口进,却不能直接实现从哪儿进便能从哪儿出,因此,它需要用到break来解决这一弊病。

#include<stdio.h>
int main()
{
    int a;
    scanf("%d", &a);
    switch (a)
    {
    case 1:
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    case 4:
        printf("星期四\n");
        break;
    case 5:
        printf("星期五\n");
        break;
    case 6:
        printf("星期六\n");
        break;
    case 7:
        printf("星期日\n");
        break;
    }
    
    return 0;
}

如上,我们用break这样一个“暴力”的关键字,来打破switch语句,实现哪儿进哪儿出。这样便能达到我们想要的结果啦。因此,break可谓是switch - case语句中不可或缺的一部分

除了break以外,还有一个关键字,也是switch - case语句中不可或缺的一部分

那便是:default,它在英文中有“不匹配”的意思,也就是说,当所有的case都不匹配时,便到了它出手的时候。

#include<stdio.h>
int main()
{
    int a;
    scanf("%d", &a);
    switch (a)
    {
    case 6:
    case 7:
        printf("weekend\n");
        break;
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        printf("weekday\n");
        break;

    default:
        printf("输入错误,请重新输入");
    }
    
    return 0;
}

当我输入一个非1 - 7的字符时,便要default来提示输入错误了

同时上边的代码也是像告诉大家,case后边的整型常量表达式是可以乱序的,不过平时为了整治好看还是建议大家按顺序写哦。


好啦,本次分支(选择)语句知识的分享到这里就结束啦,如果小伙伴们有疑问或者补充,欢迎评论私信哦。

喜欢博主文章的小伙伴不要忘记一键三连哦,我们下期再见!

猜你喜欢

转载自blog.csdn.net/2303_78442132/article/details/132245548