- 语法清楚了那么,实战开始
#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<= 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
相匹配的。- 所以当我们a=0时就不会进入里面的if语句进行判断所以就什么都没打印啦。
总结
✅ 归纳:
好了以上就是if语句的全部内容了,关于
if的语法
if的大括号
if的嵌套
注意事项
else的匹配规则
就是这些内容了,学会他们你就可以玩转if语句了。
给大家留下一个题目大家学完之后可以去练习练习,巩固一下自己今天学的知识。
判断一个数是否为奇数
看到这里了还不给博主扣个点赞
加收藏
!
💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖
拜托拜托这个真的很重要!
你们的点赞就是博主更新最大的动力!
有问题可以评论或者私信呢秒回哦。