C++ 学习与 CLion 使用:(七)if 逻辑判断和 switch 语句
上一篇 | 下一篇 |
---|---|
运算符 | 循环和 goto |
一、if 逻辑判断
1:单条件
// 条件判断为真,则执行语句
if (条件判断)
{执行语句;
}
2:双条件
if (条件判断)
{执行语句1; // 条件为真
}
else
{执行语句2; // 条件为真
}
3:多条件
if (条件判断1)
{执行语句1; // 条件1为真
}
else if (条件判断2)
{执行语句2; // 条件2为真
}
else
{执行语句3; // 不满足上述所有条件
}
4:嵌套
if (外条件)
{code;if (内条件判断1){执行语句1; // 内条件1为真}else if (内条件判断2){执行语句2; // 内条件2为真}else{执行语句3; // 不满足上述所有内条件}
}
else
{执行语句4; // 不满足外条件
}
Tips:当执行语句只有一条时,大括号可以不加。
二、switch 语句
switch 语句仅做值匹配(相等判断)
当 case
下的表达式和 switch
后的表达式一样,则执行对应 case
下的代码块。
switch(表达式)
{case 表达式1:code;break; //可选的case 表达式2code;break; //可选的...case 表达式N:code;break; //可选的default:code; //当没有任何 case 表达式的值与 expression 的值匹配时, 执行此语句
}
上述语法中的所有表达式均为常量表达式,类型应为整型(int、short、char)和枚举型。
1)break
break
语句可以中断 switch
语句,否则向下执行其它 case
段(包括 default
段)直到执行完或遇到 break
为止。
正常情况下,default
内代码块下不用加 break;
。
2)实现范围匹配
利用 break
实现范围匹配,但是范围内的数字必须要单独写一个 case
。
示例:
#include <iostream>
#include "windows.h"
#include "cstring"using namespace std;int main()
{SetConsoleOutputCP(CP_UTF8);int num;cout<<"Enter a number: ";cin>>num;switch(num) {// 8、9、10case 10:case 9:case 8:cout <<"优秀!"<< endl;break;// 5、6、7case 7:case 6:case 5:cout <<"普通"<< endl;break;//1、2、3、4case 4:case 3:case 2:case 1:cout <<"差"<< endl;break;// 默认default:cout <<"没有成绩!"<< endl;}return 0;
}
结果:
Enter a number: 7
普通