你真的学懂if语句了嘛,看完这篇文章你一定会让你有所收获,彻底玩转if语句!

292 阅读4分钟

文章目录

前言

结构化程序设计的三种基本结构

📑大家都知道C语言开发出来是为了解决生活中的问题的,而生活中的问题可以大致分为:
📌 顺序结构:

  • 就是按照顺序一步一步往下走

📌选择结构:

  • 分支语句

    • if 和 switch

📌循环结构:

  • 循环语句:

    • whlie 、 for 、 do while

本次主要给大家讲解选择结构中的分支语句:if语句、switch语句;

💬 分支语句 (选择结构)

📚那么什么是选择呢?
想我们生活中的,最平常的
今天选择吃吃蛋炒饭呢?
还是吃吃红烧牛肉面条?这个就是选择?
在这里插入图片描述

💡 当然我们生活种还有些人说,这些我都不想吃我就想吃大虾。

  • 这个在C语言中就是多分支语句。

在这里插入图片描述

💡 现在大家明白什么是选择结构了吧! 废话不多下面给大家讲讲讲在C语言中选择语句是怎么实现的。
C语言中选择结构为我们提供了俩个选择语句:
if 语句 switch语句

📑 if 语句

  • if由名知意:就是条件的意思嘛。

先来给大家讲讲if语句的语法是怎么样的?

💬 代码演示:if语句的单分支情况

✅ 语法结构:

if(表达式)
{
	语句;
}    

💭这边来解释一下但分支if语法结构意思:
📌if前面说了是条件所以我们if后面跟的表达式就是条件
📌而下面的括号代表满足这个条件就进入到这个括号里面开始执行括号里面的语句

  • 语法清楚了那么,实战开始
#include <stdio.h>
int main()
{
	int age = 0;
	//输入
	scanf("%d", &age);

	if (age < 18)
		printf("未成年\n");

	return 0;
}

📜说明:
这里的意识是输入一个年龄,我们进行判断,当小于18时我们就输出未成年。

  • 各位铁铁们是不是非常简单,这就是if语句的单分支情况。

💬 代码演示:if语句的单双分支情况

✅ 语法结构:

if(表达式)
{
    语句1;
}
else
{
    语句2;
}

💭这边来解释一下但双分支if语法结构意思:
📌if的单分支我们前面讲了,其实 双分支 也非常简单。else 就是否则的意思。字面上理解就是多了一种情况。有了俩种选择,是吧就是如此的简单!
📌满足if语句后面的表达式条件,就进入if后面跟的 括号 里面 执行语句 ,否则就进入else后面的括号里面 执行语句

  • 语法清楚了那么,实战开始
#include <stdio.h>
int main()
{
	int age = 0;
	//输入
	scanf("%d", &age);

	if (age < 18)
		printf("未成年\n");
	else
		printf("成年\n");

	return 0;
}

ok各位铁汁们,这段代码大家看的懂嘛!
📜说明:
当我们输入的年龄大于18时就输出 成年
当我们输入的年龄小于18时就输出 未成年
这是不是可以选择的就是俩总情况了呢?这个就叫if语句的双分支。

📑那么有人就会问那博主,那我有更多的情况怎么表达呢?

📑这时就会用到if的多分支情况,下面我们来一起看看吧。

💬 代码演示:if语句的多分支情况

✅ 语法结构:

if(表达式1)
{
    语句1;
}
else if(表达式2)
{
    语句2;
}
else
{
    语句3;
}

💭这边来解释一下但双多分支if语法结构意思:
📌if的单双分支我们前面讲了,多分支其实和双分支很像。多了一些条件嘛。条件那么在加上一个if然后在表达式里面写条件就好了。这是不是就好理解多了。
📌多几个条件我们就加几个else if就好了,满足else if后面的表达式条件就进入后面跟的括号里面的语句

  • 语法清楚了那么,实战开始
#include <stdio.h>
int main()
{
	int age = 0;
	//输入
	scanf("%d", &age);
	//<18 青少年
	//18~30 青年
	//31~50 中年
	//51~80 中老年
	//81~100 老年
	//101+ 老寿星
	if (age < 18)
		printf("青少年\n");
	else if (age >= 18 && age <= 30)
		printf("青年\n");
	else if (age >= 31 && age <= 50)
		printf("中年\n");
	else if (age >= 51 && age <= 80)
		printf("中老年\n");
	else if (age >= 81 && age <= 100)
		prnitf("老年\n");
	else
		printf("老寿星\n");
	return 0;
}
else if (age >= 18 && age <= 30)

这句话各位铁子们刚学可能看不懂,相信大家可能会问18~30数学里面直接写:
💭 说明:

  • 18<= age <=30 这个是数学里面的写法。
  • 而这样写C语言会当成什么呢?
  • C语言中会先执行18<=age这个条件,当我们输入15时。18<=15肯定是假的那么就是0。在C语言中假为0,真为1。
  • 18<= age <=30 就会变成0 <=30
  • 看下面这段代码,所以当我们输入15时也会输出青年
    在这里插入图片描述

📌 怎么解决呢?
在C语言中&&是逻辑与的意思就是并且
所以我们这样写18<= age <=30 就完美解决了这个问题。
同时满足18<= ageage <=30俩个条件。

ok各位铁汁们,这下这段代码大家看的懂了嘛!
📜说明:
这里我们就用了if多分支写了多个条件。
输入年龄大于18  输出   青少年
输入年龄1830   输出   青年
输入年龄31
50   输出   中年
输入年龄5180   输出   中老年
输入年龄81
100 输出   老年
输入年龄101+   输出  老寿星

💭各位铁子们,明白了嘛,是不是也不难