我们知道,c语言是一种结构化的程序设计语言,所谓结构化,指的是C语言中包括了顺序结构、选择结构和循环结构,而把这三种结构进行组合,几乎就可以描述出我们日常生活中的所有场景。
当我们以上帝视角,来俯瞰我们每一个人的人生道路时,就会发现,我们每一个的人生道路,都并非是一帆风顺;在漫长的人生道路中,更多的是,由一个个岔道口,所带来的一个个选择。
我们无法避免选择,我们无时无刻不在选择之中。
今天,我就带着大家,来看看如何在c语言的世界中,进行选择!
在c语言中,我们使用分支语句来进行选择。
分支语句
-
if 语句
-
switch 语句
在正式开始介绍,我们今天的主角儿——分支语句之前,我想,大家肯定都有同样的疑惑,什么是语句呢?
c语言中有五类语句
- 表达式语句
- 函数调用语句
- 控制语句
- 复合语句
- 空语句
而我们今天介绍的则属于c语句中的控制语句
控制语句:
用于控制程序的执行流程,来实现程序的各种结构方式,它们有特定的语言定义符组成;
控制语句又可分为三类
- 条件判断语句: if 语句 、switch 语句
- 循环执行语句:do while 语句 、 while 语句 、for 语句
- 转向语句: break 语句 、continue 语句 、return 语句 、goto 语句
好啦,言归正传,我们开始今天的主要内容:
万能的if 语句
为什么会说if语句是万能的呢?
我们来一起思考一下,每当我们走到一个人生的岔道口时,大多时候,给我们选择的,并不像非黑即白、学文学理这种二元对立问题这样简单,我们可能会面临多种选择,更有甚者,我们可能根本就没得选;
然而不管,我们面临的选择是两个、或多个,还是最惨的——没得选,if语句都可以派得上用场;
句法结构
if (表达式)
语句;
//单分支
if (score >= 60)
printf("您的成绩及格啦\n");
if(表达式)
语句;
else
语句;
//二分支
if (score >= 60)
printf("您的成绩及格啦\n");
else
printf("您的成绩没及格\n");
if (表达式)
语句;
else if(表达式)
语句;
else
语句;
//多分支
if (score >= 80)
printf("您的成绩为优秀\n");
else if (score >= 60)
printf("您的成绩及格啦\n");
else
printf("您的成绩没及格\n");
另外,if语句执行的条件:
如果表达式的结果为真,则语句执行;
在c语言世界里的真与假:
0表示假 ,非0表示真。
还有,else的匹配: else与它最近的if语句进行匹配。
专注的switch语句
又何出此言呢?
switch语句不像if语句那样,可以使用于多种情形中,而常常只专注于多分支情况的使用;因为,当多分支的情况太多时,使用if……else if……else语句,反而没有使用switch语句简洁、方便。
句法结构
switch(整型表达式)
{
case 整型表达式常量:语句;
}
另外,我们在switch语句中,无法直接实现分支,必须搭配break的使用才能真正实现分支。
switch (day)
{
case 1:
printf("今天是星期一\n");
break;
case 2:
printf("今天是星期二\n");
break;
case 3:
printf("今天是星期三\n");
break;
case 4:
printf("今天是星期四\n");
break;
case 5:
printf("今天是星期五\n");
break;
case 6:
printf("今天是星期六\n");
break;
case 7:
printf("今天是星期天\n");
break;
default:
printf("输入错误\n");
break;
}
break语句 的实际效果是把case语句列表划分为不同的分支。
default子句的作用
当表达式的值与所有的case标签的值都不匹配时,
虽然这种情况,在c语言中并不认为是个错误,
但你也可以,在语句列表中加一条default子句,来解决,这一问题。
当switch 表达式的值并不匹配所有的case标签的时,这个default子句后面的语句就会被执行。
不得不说的编程好习惯
- 如果分支表达式成立,要执行多条语句,应该使用代码块({} 包裹的代码)
- 在switch语句中,最后一个case语句,最好要加上一个break语句
- 在每个switch语句中,都放一条default子句,甚至可以在后边加一个break
写在最后
今天,我们来到C语言的世界里,学习如何进行选择;其实,编程世界中的选择与我们真实世界中的选择并无二致,每一个if语句后,都有与它对应的结果,一旦进行了输入,并按下了键盘上的回车键,便再也无法改变;
因此,我们更要珍视自己的每次选择,遵从本心,无问西东!