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

作者:云小逸
个人主页:云小逸的主页
码云:云小逸 (YunXiaoYi003) - Gitee.com
motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。希望春天来之前,我们一起面朝大海,春暖花开!
专栏:C语言初阶

文章目录

  • 前言
  • 1.C语言是==结构化==的程序设计语言
  • 2.分支语句(条件判断语句、选择语句)
    • (1)if语句
      • a if() { …… }
      • b if……else……
      • c if……else if……else……
      • d.悬空else
    • (2)switch语句
      • a.switch语句也是一种分支语句。常常用于多分支的情况。
      • b.break在switch中的作用
      • c.switch的使用
  • 最后


前言

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

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

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

C语言是一门结构化的程序设计语句,可以将其分为三种:顺序语句、选择语句、循环语句。如图:
倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第1张图片

正如我们汉语中的语句可以分为疑问句,反问句,排比句一样,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
int main(void)
{
	int a = 10;
	if (3 == a)
		printf("love!\n");
	return 0;
}

倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第2张图片
倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第3张图片

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

b if……else……

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

倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第4张图片

c if……else if……else……

#define _CRT_SECURE_NO_WARNINGS 1
#include
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;
}

倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第5张图片

d.悬空else

一道题帮助你理解悬空else:
倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第6张图片动一动你漂亮(帅气)的脑袋想一想,结果是什么?
如果你不确定结果是吗?那就请看下面这张图:

倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第7张图片
哈哈结果是不是一目了然:

倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第8张图片
如果还没有明白,也没关系,看下面这张图:
倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第9张图片
相信聪明的你肯定明白了吧ヾ(=・ω・=)o

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

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

(2)switch语句

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

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

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

#include 
int main()
{
    int day = 0;
    switch(day)
   {
        case 1printf("星期一\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上面的例子将会出现这样的结果:
倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第10张图片
所以总结:break在switch中的作用是:跳出,永久终止

c.switch的使用

#define _CRT_SECURE_NO_WARNINGS 1
#include
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;
}

倾心创作,分支语句和循环语句(1)——分支语句—— if 和switch的用法详解_第11张图片

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

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

#define _CRT_SECURE_NO_WARNINGS 1
#include
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)——分支语句—— if 和switch的用法详解_第12张图片

最后

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

  1. 没有人可以永远无条件的陪伴着你,要知道,下雨天的时候连影子都会缺席

  2. 就是时光倒流,生命再一次重演,我选择的仍是这条同样的道路。

  3. 别为了那些不属于你的观众,去演绎不擅长的人生。

  4. 不如意事常八九,可与人言无二三。

  5. 我相信,那一切都是种子。只有经过埋葬,才有生机。

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

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

你可能感兴趣的