倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解

简介: 分支语句(条件判断语句、选择语句)(1)if语句a if() { …… }b if……else……c if……else if……else……d.悬空else(2)switch语句a.switch语句也是一种分支语句。常常用于多分支的情况。b.break在switch中的作用c.switch的使用
🌹作者:云小逸
📝个人主页: 云小扬的主页
📝码云: 云小扬 (YunXiaoYang003) - Gitee.com
🤟motto:要敢于一个人默默的面对自己, ==强大自己才是核心==。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。==希望春天来之前,我们一起面朝大海,春暖花开==!🤟
👏专栏:C语言初阶👏专栏:C语言进阶👏专栏:数据结构和算法👏
👏专栏:C++初阶---👏专栏:C++进阶--👏专栏:Linux学习👏

@TOC


前言

上一次我们说完了初识C语言的知识点,今天我们就开启第二章——==分支语句和循环语句==。那么就由云小逸带你了解认识学习==分支语句和循环语句(1)==。
——————————————————————————————
首先先写上几句话:献给坚持创作的我和点开这篇文章希望进步的你

  1. 生活总是这样,不能叫人处处都满意。但我们还要热情地活下去。==人活一生,值得爱的东西很多==,不要因为一个不满意,就灰心。
  2. 没有一个人的生活道路是笔直的、没有岔道的。有些岔道口,譬如政治上的岔道口,事业上的岔道口,个人生活上的岔道口,你走错一步,可以影响人生的一个时期,也可以影响一生。
  3. 人在年轻时,最头疼的一件事就是决定自己这一生要做什么。
  4. 人生太长,我们怕寂寞,人生太短,我们怕来不及。
  5. 光勤劳是不够的,蚂蚁也非常勤劳。你在勤劳些什么呢?有两种过错是基本的,其他一切过错都由此而生:==急躁和懒惰==。

1.C语言是==结构化==的程序设计语言

C语言是一门结构化的程序设计语句,可以将其分为三种:顺序语句、选择语句、循环语句。如图:
在这里插入图片描述

正如我们汉语中的语句可以分为疑问句,反问句,排比句一样,C语言也可以划分为一下五种:

  1. 表达式语句
  2. 函数调用语句
  3. 控制语句
  4. 复合语句
  5. 空语句

这几节我们先来谈一谈:控制语句。

其中C语言中的控制语句可以分为三大类:
1.==条件判断语句(分支语句)==:if , switch
2.循环执行语句:do……while , while ,for
3.转向语句:break语句,goto语句,return语句 ,continue语句

2.分支语句(条件判断语句、选择语句)

(1)if语句

如果你好好学习,校招时拿一个==好offer==,==走上人生巅峰==。
如果你不学习,毕业等于失业,回家卖红薯。 这就是选择!

a if() { …… }

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int a = 10;
    if (3 == a)
        printf("love!\n");
    return 0;
}

在这里插入图片描述
在这里插入图片描述

注意两者差异的原因:第一张是判断是否==a等于3==,第二张是==赋值了a=3==,a非零则为真
如果你想避免第二种错误,这里推荐把它写成3==a,这样写如果忘加了一个等号编译器会报错,怎么样是不是很实用(^_−)☆

b if……else……

#include<stdio.h>
int main(void)
{
    int age = 17;
    if (age < 18)
        printf("未成年!\n");
    else
        printf("成年了!\n");
    return 0;
}

在这里插入图片描述

c if……else if……else……

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
        int age = 17;
        scanf("%d", &age);
        if (age < 18)
            printf("青少年\n");
        else if (age >= 18 && age < 28)
            printf("青年\n");
        else if (age >= 28 && age < 40)
            printf("中年\n");
        else if (age >= 40 && age < 60)
            printf("壮年\n");
        else if (age >= 60 && age <= 100)
            printf("老年\n");
        else
            printf("老寿星\n");
    return 0;
}

在这里插入图片描述

d.悬空else

一道题帮助你理解悬空else:
在这里插入图片描述**动一动你漂亮(帅气)的脑袋想一想,结果是什么?
如果你不确定结果是吗?那就请看下面这张图:**
**
哈哈结果是不是一目了然:**
在这里插入图片描述
如果还没有明白,也没关系,看下面这张图:
在这里插入图片描述
相信聪明的你肯定明白了吧ヾ(=・ω・=)o

这个例子告诉了我们两件事:
1.else是与最近的if相匹配。
2.好的代码习惯有助于我们更好更快的理解代码,所以说养成一个优秀的代码习惯是多么重要。过几天我会单独写一个博客说一说:优秀的代码习惯有哪些?以帮助我们更好的学习和未来的就业!

**if语句我们大致讲完了,这里推荐大家去写==两道题==去巩固一下:
1.判断一个数是否为奇数
2.输出1至100之间的奇数**

(2)switch语句

a.switch语句也是一种分支语句。常常用于多分支的情况。

比如下面这个例子:
输入1,输出星期一
输入2,输出星期二
输入3,输出星期三
输入4,输出星期四
输入5,输出星期五
输入6,输出星期六
输入7,输出星期日

**如果用if将会有多麻烦,我们想想便头皮发麻,且写出来结果不易观察和分析。
而用switch是超级简单的:**

#include <stdio.h>
int main()
{
    int day = 0;
    switch(day)
   {
        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;
}

注:switch(表达式A)中表达式必须是==整型常量==表达式,可以是字符,因为字符属于整形家族,按ASCII码存储,其本质上是整形。

b.break在switch中的作用

如果不加上每一个case后break上面的例子将会出现这样的结果:
在这里插入图片描述
所以总结:break在switch中的作用是:==跳出,永久终止==。

c.switch的使用

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int day = 3;
    scanf("%d", &day);
    switch (day)
    {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        printf("weekday!\n");
        break;
    case 6:
    case 7:
        printf("weekend!\n");
        break;
    default:printf("error!\n"); break;
    }
        return 0;
}

在这里插入图片描述

default:printf("error!\n"); break;//这个的作用是如果输入大于7则报错!!!

举一个例子以便你的理解:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
    int n = 1, m = 2;
    switch (n)
    {
    case 1:n++;
    case 2:m++;
    case 3:
        switch (n)
        {
        case 1:n++;
        case 2:m++; n++; break;
        }
    case 4:m++; break;
    default:printf("error!\n"); break;
    }
    printf("%d %d", m, n);
        return 0;
}

结果给各位大佬附上结果:
在这里插入图片描述

最后

十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:

  1. 没有人可以永远==无条件==的陪伴着你,要知道,下雨天的时候==连影子都会缺席==。
  2. 就是时光倒流,生命再一次重演,我选择的仍是这条同样的道路。
  3. 别为了那些不属于你的观众,去==演绎==不擅长的人生。
  4. 不如意事常八九,可与人言无二三。
  5. 我相信,那一切都是==种子==。只有经过埋葬,才有生机。

最后如果觉得我写的还不错,请不要忘记==点赞==✌,==收藏==✌,加==关注==✌哦(。・ω・。),所有代码均上传至云小逸的码云了,快去看看吧!

愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!

目录
相关文章
|
6月前
|
Go C语言
分支语句与循环语句,详细讲解
分支语句与循环语句,详细讲解
分支和循环语句(2)补充goto语句
分支和循环语句(2)补充goto语句
56 1
|
7月前
|
缓存 编译器 Go
分支语句和循环语句
分支语句和循环语句
73 0
|
编译器 C语言 C++
分支语句和循环语句上
分支语句和循环语句
61 0
分支语句和循环语句上
|
数据安全/隐私保护 C语言
分支语句与循环语句(2)
分支语句与循环语句(2)
62 0
|
C语言
分支语句和循环语句(1)
分支语句和循环语句(1)
55 0
|
缓存 Go 数据安全/隐私保护
分支语句和循环语句下
分支语句和循环语句
77 0
|
编译器
分支语句与循环语句题
分支语句与循环语句题
74 0
|
算法 数据安全/隐私保护
分支语句与循环语句——练习
分支语句与循环语句——练习
55 0
|
数据安全/隐私保护
【分支语句与循环语句】
【分支语句与循环语句】
58 0