今天学习选择结构(if语句与switch语句)
C语⾔是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言是能够实现这三种结构的,其实我们如果仔细分析,我们日常所见的事情都可以拆分为这三种结构或者这三种结构的组合。
这篇博客来学习if语句与switch语句。
表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行
语法形式
默认在 if 和 else 语句中默认都只控制⼀条语句,那如果我们要if语句同时控制2条语句,怎么办呢?那就要使⽤ { } 将代码括起来,else 后也可以跟上大括号。
在 if else 语句中, else 可以与另⼀个 if 语句连用,构成多重判断。
这就是嵌套if语句的语法,有了嵌套if语句,就可以完成更多复杂逻辑的判断。
如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
来看下面这个代码,请问运行结果是什么?
很多初学者,上来以判断 a 是 0,不等于 1 ,那就执⾏ else 子句,打印 haha
但是当你去运⾏代码,输出的结果是:啥都不输出。
这就是悬空 else 的问题,如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
下面代码利用{ }就可以与第一个if匹配了
只要带上适当的大括号,代码的逻辑就会更加的清晰,所以大家以后在写代码的时候要注意括号的使用,让代码的可读性更⾼。
switch 语句是⼀种特殊形式的 if…else 结构,用于判断条件有多个结果的情况。它把多重的 else if 改成更易用、可读性更好的形式。
上面代码中,根据表达式 expression 不同的值,执行相应的 case 分支。如果找不到对应的值,就执行 default 分支。
注意:
- switch 后的 expression 必须是整型表达式
- case 后的值,必须是整形常量表达式
- case 和后边的数字之间必须有空格
- 每⼀个 case 语句中的代码执型完成后,需要加上 break ,才能跳出这个switch语句
switch 语句也是分分效果的,只有在 switch 语句中使⽤ break 才能在跳出 switch 语句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续往下执⾏,有可能执⾏其他 case语句中的代码,直到遇到 break 语句或者 switch 语句结束。
7除以3本来余数是1,但是我们发现程序运行的结果多了一行“余数是2”的打印。
我们在每个printf语句后加入break就不会有这个情况了。
应该根据实际的情况,来在代码中觉得是否使⽤ break ,或者在哪里使用break ,才能正确完成实际的需求。
在使用 switch 语句的时候,我们经常可能遇到⼀种情况,比如 switch 后的表达式中的值无法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加入default 子句。
switch语句中的case和default的顺序问题:
在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满足实际需求的就可以。不过我们通常是把 default 子句放在最后处理的。
答案放在评论区了,做完可对照哦
例如:
输⼊:1 输出:星期⼀
输⼊:2 输出:星期⼆
输⼊:3 输出:星期三
输⼊:4 输出:星期四
输⼊:5 输出:星期五
输⼊:6 输出:星期六
输⼊:7 输出:星期天
如果年龄<18岁,打印"少年"
如果年龄在18岁⾄44岁打印"⻘年"
如果年龄在45岁⾄59岁打印"中老年"
如果年龄在60岁⾄89岁打印"老年"
如果90岁及以上打印"老寿星"
我们在c语言中用if和switch来完成分支语句的代码,
通常在需要执行命令前确定前提条件使用。
注意用{ }及选择更适合的语句来使代码更简洁更好修改。
对if语句和switch语句的分享就到这里了,如果感觉不错,希望可以给博主点个赞或者关注,感谢大家的支持,成为我继续分享的动力,还有什么问题和建议可以在评论区评论,拜拜。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/74861.html