C语言初阶 一文详解分支语句 if,c语言if多分支语句
终极管理员 知识笔记 79阅读
个人专栏:《速学C语言》《数据结构篇》
⛺️生活的理想就是为了理想的生活!

文章目录 前言结构化程序设计的三种基本结构 分支语句 选择结构 if 语句 代码演示if语句的单分支情况 代码演示if语句的单双分支情况 代码演示if语句的多分支情况 if语句中的嵌套 if语句中的注意事项 if 语句中的大括号 悬空else、else的匹配规则 总结
前言

hello 各位宝子们大家好啊相信大家都多多少少了解过if语句吧但是你真的有了解过所有if语句的细节吗学完这篇文章你将知道if语句的所有知识。
结构化程序设计的三种基本结构大家都知道C语言开发出来是为了解决生活中的问题的而生活中的问题可以大致分为
顺序结构
选择结构
分支语句
if
和 switch
循环结构
循环语句
whlie
、 for
、 do while
本次主要给大家讲解选择结构中的分支语句if
语句、switch
语句
那么什么是选择呢
想我们生活中的最平常的
今天选择吃吃蛋炒饭呢
还是吃吃红烧牛肉面条这个就是选择
当然我们生活种还有些人说这些我都不想吃我就想吃大虾。
这个在C语言中就是多分支语句。 现在大家明白什么是选择结构了吧 废话不多下面给大家讲讲讲在C语言中选择语句是怎么实现的。
C语言中选择结构为我们提供了俩个选择语句if
语句 switch
语句
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(表达式){ 语句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);elseprintf(成年\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);elseprintf(老寿星\n);return 0;}
else if (age > 18 && age < 30)
这句话各位铁子们刚学可能看不懂,相信大家可能会问18~30数学里面直接写
说明
18<age
这个条件当我们输入15
时。18<15肯定是假的那么就是0
。在C语言中假为0真为1。18< age <30 就会变成0 <30看下面这段代码所以当我们输入15时也会输出青年 怎么解决呢
在C语言中&&
是逻辑与的意思就是并且
所以我们这样写18< age <30 就完美解决了这个问题。
同时满足18< age和age <30俩个条件。
ok各位铁汁们这下这段代码大家看的懂了嘛!
说明
这里我们就用了if
多分支写了多个条件。
输入年龄大于18 输出 青少年
输入年龄18~30 输出 青年
输入年龄31~50 输出 中年
输入年龄51~80 输出 中老年
输入年龄81~100 输出 老年
输入年龄101 输出 老寿星
各位铁子们明白了嘛是不是也不难
if语句中的嵌套在if语句中是支持嵌套使用的大家看。
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);}
这俩个语句有什么区别 运行看一下
我们的本意是当输入年龄时18时才会输出后面俩条语句。结果我们输入15时结果第二条打印语句也输出了。而带了括号呢
这是为什么嘞
原因
在if
语句中只默认跟一条语句想跟多条
语句的话就要在if语句里面加上大括号然后再大括号里面写语句就可以执行多条
了。所以我们好的习惯是不管是一条语句还是多条语句都加大括号。这就是所谓的复合语句有多条语句。 ✅ 模板
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;}
这样才是真正的书写方式是不是直观很多呢
这时大家会发现一个人的代码规范真的特别重要行为不规范的代码特别容易造成误解✅ 模板
然后我们来讲下为什么
else
是和最近的 if
相匹配的。所以当我们a0时就不会进入里面的if语句进行判断所以就什么都没打印啦。 总结 ✅ 归纳
好了以上就是if语句的全部内容了关于
if的语法
if的大括号
if的嵌套
注意事项
else的匹配规则
就是这些内容了学会他们你就可以玩转if语句了。
给大家留下一个题目大家学完之后可以去练习练习巩固一下自己今天学的知识。
判断一个数是否为奇数
看到这里了还不给博主扣个点赞
加收藏
❤️
拜托拜托这个真的很重要
你们的点赞就是博主更新最大的动力
有问题可以评论或者私信呢秒回哦。