语句
什么是语句?
printf("hehe"); sum=a+b; 1+2; a++; ; //空语句
上面所列举的都是语句,相信聪明的你已经发现规律了,只有带有;的都是语句;
;这便是语句的标准,甚至一个;也是一条语句,我们通常称为空语句!
C语言中由一个分号;隔开的就是一条语句。
C语言有三种语句结构
顺序结构
循环结构
分支(选择)结构
对应了我们生活中的三类事情
顺序结构:一我们按照顺序完成下去的事情,从出生开始到死去,我们对应着不同的年纪要做不同的事。
循环结构:我们每天都要重复进行的事情,比如吃饭睡觉。
分支(选择)结构:就是我们可以中断某一件事情,去做另一件事情。比如,你认真工作,然后买了张彩票就可以不工作了。
分支语句
分支语句是一种选择结构,也叫做选择语句
考上高中后有两种选择好好学习,考上大学;不好好学习,回家种地。
这便是一种选择结构,我们生活中很多事情都是选择结构!
if语句
啥是if语句呢
if语句就是一种分支结构;
语法结构
//单if if(表达式) 语句; //if else 语句 if(表达式) 语句1; else 语句2; //if else if ... else 多分支(多选择) if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; ... else 语句n;
我们下面用这3种结构实现上面的代码
单if 语句
int main() { printf("请做出你的选择(1/0)>"); scanf("%d",&x); if(x==1) printf("上大学!"); }
if else 语句
int main() { printf("请做出你的选择(1/0)>"); scanf("%d",&x); if(x==1) printf("上大学!"); else printf("回家种地!"); return 0; }
多分支if else if else 语句
相信有很多人,上高中后不止这两种选择,富二代可以回家继承,也可以出国留学家业…生活中有很多都属于多分支结构。
int main() { printf("请做出你的选择(1/2/3/4)>"); scanf("%d",&x); if(x==1) printf("上大学!"); else if(x==2) printf("回家种地!"); else if(x==3) printf("继承家业!"); else if(x==4) printf("出国留学!"); else printf("其他!"); return 0; }
解释一下:如果表达式的结果为真,则语句执行。在C语言中如何表示真假?
0表示假,非0表示真。
那如果if里面有多条语句呢?
eg
可以看到报错了,难道只能一条语句?
只要我们在多条语句加上{ }就可以执行了。
注:当我们只有一条语句时,我们可以省略{ }当if要控制多条语句时,我们应该加上{ },当一条语句时,加上{ },可以增强代码的可读性,养成编程的好习惯!
我们来看看{ }是如何增强代码的可读性的!
int max1(int x, int y) { if (x > y){ return x; } return y; } int max2(int x, int y) { if (x > y) { return x; } else { return y; } }
max1和max2其实是一样的!
显然max2的逻辑更加清晰,不容易出错,可读性高一些!
所以为何不加上那大括号呢?
switch语句
当有很多种选择的时候,if 语句读起来就显得吃力了,哪还有其他逻辑更加清晰语句吗?
当然有了,那就是switch语句
我们先来认识一下switch语句的语法结构
switch(整形表达式) { 语句项; }
啥是语句项呢?
case 整型常量表达式: 语句;
往往switch语句有多条语句项构成,一条语句项便是一个分支(一种选择);
说了这么多估计也听累了,我们来上个代码!
为啥和我们预料的不一样?
我们只想打印星期三但是把后面的都打印了。
难道是day只能选择入口,然后出去只能从最后出去?确实如此!
我们之前不是介绍过一个关键字break现在就派上用场了。
在switch语句中,无法实现多分支,只有搭配break才能实现多分支结构!
这就实现了多分支结构
break决定了程序的出口
那我们不输入1~7输入了其他数字呢?
显然这不是特别方便用户,如果没有提示输入1~7,那用户不是不知道那错了,这时,我们引入一个default关键字。即可代表其他选项!
是不是很完美了。
我们来总结一下switch的 注意事项
switch(表达式)必须是整型表达式,即不能判断浮点型数据。
case 只是决定入口,只有搭配default才能实现多分支结构
case后的常量表达式,要各不相同,不能重复了。
default 语句项位置任意,但是只能有一个,不一定要放在最后面
测试一下看看你学会了switch语句了没有
switch还能嵌套使用!
看看对了没!