有时候,代码中需要实现这样一个功能:当一个条件为真时做一件事,为假时做另一件事。这就引出了if/else语句。
if/else语句规则如下:
1. 标准格式:
if(条件){
//条件为真时做
}
else{
//条件为假时做
}
2. 如果条件为假时要什么都不做,可以去掉else{}语句块。
3. 如果大括号内只有一条语句,大括号可以省略不写。
4. else只和它上面最靠近它的、还没有配对的if语句配对。
另一些时候,我们要根据一个变量的值来执行不同的代码,这就引出了switch/case语句。
注意,这个变量只能是整型(长/短/无符号均可)、字符型或枚举型(enum),绝对不能是浮点型(float、double、long double)。
switch/case语句规则如下:
1. 标准格式(方括号内为可选项):
switch(变量名){
case 值: 代码; [break;]
case 值: 代码; [break;]
...
[default: 代码;]
}
其中,如果变量的值和case后面的值都不符合,执行default后面的代码(default只能出现一次)。
2. 如果没有break;语句,程序将不看条件地一路执行下去,直到碰到下一个break;或switch语句的右大括号。
3. default语句也可以放在中间甚至开头,但是规则与规则2相同,没有break;将一路执行下去。
4. 有时候也会把每个case和default后面的代码和break;用大括号括起来。
5. 如果一段代码想匹配多个值,可以这样写:case 值1: case 值2: case 值3: ... 代码; 。这并不是一条新规则,想一想为什么。(提示:看规则2)
规则2很重要,以这个例子加深一下印象:(注意这只是一个代码段,直接放进编译器里是无法运行的)
int a=1;
switch(a){
case 1: cout<<1<<endl;
case 2: cout<<2<<endl;
case 3: cout<<3<<endl; break;
case 4: cout<<4<<endl;
default: cout<<5<<endl;
}
这段代码会输出什么呢?
A. B. C. D.
1 1 1 1
2 2 2
3 3 3
4 4
5
选什么呢?请你先做个决定,然后再往下翻,查看答案。
答案:A。
原因:一开始进入了case 1;case 1和case 2都没有break语句,所以继续往下执行;到了case 3的末尾遇到了break语句,于是停止,跳出switch语句。
相信你们对if/else语句和switch/case语句有了一个基本的了解,本篇博客到此结束。
欢迎转载,但请在文章中附加上本文链接:https://blog.csdn.net/weixin_41461277/article/details/84959086 。