【C语言初阶】 分支语句 if 的全面介绍
  kM1XnpRJhmGi 2023年11月02日 103 0

(文章目录)

前言

  <font color = green > 🌈hello! 各位宝子们大家好啊,相信大家都多多少少了解过if语句吧,但是你真的有了解过,所有if语句的细节吗?学完这篇文章你将知道if语句的所有知识。</font>

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

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

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

📌<font color = Orange>选择结构:</font>

  • 分支语句

    • ifswitch

📌<font color = Orange>循环结构:</font>

  • 循环语句:

    • whliefordo while

<font color = purple size = 4>本次主要给大家讲解选择结构中的分支语句:if语句、switch语句;</font>

💬 分支语句 (选择结构)

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

💡 <font color = purple size = 4>当然我们生活种还有些人说,这些我都不想吃我就想吃大虾。</font>

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

在这里插入图片描述

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

📑 if 语句

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

<font color = purple size = 4>先来给大家讲讲if语句的语法是怎么样的?</font>

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

✅ 语法结构:

if(表达式)
{
	语句;
}    

<font color = purple>💭这边来解释一下但分支if语法结构意思:</font> 📌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;
}

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

  • <font color = Orange>语法清楚了那么,实战开始</font>
#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语句的双分支。

📑<font color = purple size = 4>那么有人就会问那博主,那我有更多的情况怎么表达呢?</font>

📑<font color = purple size = 4>这时就会用到if的多分支情况,下面我们来一起看看吧。</font>

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

✅ 语法结构:

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

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

  • <font color = Orange>语法清楚了那么,实战开始</font>
#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)

==<font color = purple size = 3.7>这句话各位铁子们刚学可能看不懂,相信大家可能会问18~30数学里面直接写:</font>== 💭 说明:

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

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

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

<font color = purple>💭各位铁子们,明白了嘛,是不是也不难</font>!

💬 if语句中的嵌套

📚 <font color = Orange>在if语句中是支持嵌套使用的大家看。</font>

	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)
            printf("老年\n");
        else
            printf("老寿星\n");
    }
  • 这里我们就使用了 if 语句的嵌套,当输入的年龄大于18了,之后就进入else里面嵌套的if语句里面判断。

💬 if语句中的注意事项

📜 if 语句中的大括号
  • 前面我们的if语句都没有带大括号,大家看下这段代码
//代码一:									//代码二:
	if (18 <= age )							if (18 <= age )							
		printf("青年\n");					{
		printf("成年了\n");						printf("青年\n");	
												printf("成年了\n");
											}	

==这俩个语句有什么区别?== 运行看一下

在这里插入图片描述

  • <font color = green>我们的本意是当输入年龄时18时才会输出后面俩条语句。</font>
  • <font color = green>结果我们输入15时,结果第二条打印语句也输出了。</font>

<font color = purple size = 4.5>而带了括号呢?</font>

请添加图片描述 📌 <font color = purple size=4>这是为什么嘞!</font>

📜 原因:

  • <font color = green>在if语句中只默认跟一条语句,想跟多条语句的话,就要在if语句里面加上大括号然后再大括号里面写语句就可以执行多条了。</font>
  • ==***所以我们好的习惯是,不管是一条语句还是多条语句都加大括号。***==
  • <font color = Orange>这就是所谓的复合语句,有多条语句。</font>

✅ 模板:

if (18 <= age )	
{
	printf("青年\n");					
	printf("成年了\n");	
}
else
{
	printf("哈哈\n");
}
📜 悬空else、else的匹配规则

大家看一下这段代码,的输出结果是什么。

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if (a == 1)
        if (b == 2)
            printf("hehe\n");
    else
            printf("haha\n");
    return 0;
}
  • 相信很多人都会说,这还不简单,当a不等于1是不就进入else里面打印haha嘛?
  • 真的是这样嘛?我们来看一下

在这里插入图片描述 ==大家看什么都没输出,啊为什么会是这样呢?==

  • 这段代码我们重新手写一下
#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if (a == 1)
        if (b == 2)
            printf("hehe\n");
   	    else
            printf("haha\n");
    return 0;
}

这样才是真正的书写方式,是不是直观很多呢?

  • <font color = green>这时大家会发现,一个人的代码规范真的特别重要,行为不规范的代码特别容易造成误解!</font>

✅ 模板: 然后我们来讲下为什么?

  • ==<font color = purple>else 是和最近的 if相匹配的。</font>==
  • 所以当我们a=0时就不会进入里面的if语句进行判断所以就什么都没打印啦。

总结

✅ 归纳: 好了以上就是if语句的全部内容了,关于   if的语法   if的大括号   if的嵌套   注意事项   else的匹配规则 就是这些内容了,学会他们你就可以玩转if语句了。 给大家留下一个题目大家学完之后可以去练习练习,巩固一下自己今天学的知识。 <font color = Orange>判断一个数是否为奇数</font> 看到这里了还不给博主扣个点赞收藏! 💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖 <font size = 5 face = "华文彩云" color =red>拜托拜托这个真的很重要!</font> 你们的点赞就是博主更新最大的动力! 有问题可以评论或者私信呢秒回哦。 在这里插入图片描述

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  4WdcduV19eWs   2023年11月02日   65   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   62   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   67   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   54   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   44   0   0 ios#includeios#include
  ZydNzX6XOBO2   2023年11月02日   113   0   0 出队C++ci#include
  4WdcduV19eWs   2023年11月02日   67   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   90   0   0 ios#includeios#include
  ZydNzX6XOBO2   2023年11月02日   52   0   0 i++C语言#include
  4WdcduV19eWs   2023年11月02日   51   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   80   0   0 #includelinuxlinux#include
kM1XnpRJhmGi