目录
概述
Switch语句
语法
流程图
具体代码
三目运算符
语法
代码实例
在上一篇文章中,我们已经提到了C语言支持最基本的三种程序运行结构中处在顺序结构之一的if语句了,而今天我们再次讨论一个顺序结构之一的语句,那就是switch语句。
再上一个文章中我们知道如果我们想要去执行多条件分支语句,我们需要去使用多个if...else 去嵌套,这样十分的繁琐复杂,而且还很容易出错,所以今天我们来介绍以下Switch
其主要作用就是可以执行多条件分支语句
switch(表达式){ case 常量表达式1: 语句1;case 常量表达式2: 语句2;… case 常量表达式n: 语句n;default: 语句n+1;
}
一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。
switch 语句必须遵循下面的规则:
int main() {//书本评分 //10 ~ 9 经典 // 8 ~ 7 非常好// 6 ~ 5 一般// 5分以下 不好int score = 0;cout << "请给书本打分" << endl;cin >> score;switch (score){case 10:case 9:cout << "经典" << endl;break;case 8:cout << "非常好" << endl;break;case 7:case 6:cout << "一般" << endl;break;default:cout << "不好" << endl;break;}system("pause");return 0;
}
总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间
三目运算符,又称条件运算符,是计算机语言的重要组成部分。它是唯一有 3 个操作数的运算符,所以有时又称为三元运算符,其实三目运算符和选择语句类似。
<表达式1> ? <表达式2> : <表达式3>;
问号前面的条件表达式的部分是要测试的条件。这就像 if 语句的括号中的表达式。如果条件是真的,则执行 ? 和 : 之间的语句;否则,执行 : 之后的部分。
就例如下面这个语句:
x < 0 ? y = 10 : Z = 20;
首先判断 x是否小于0,如果x小于0的话,那么就执行?和:中间的语句,也就是 y=10, 反之如果x大于等于0的话,那么就执行:后面的语句,也就是Z=20。
int main() {int a = 10;int b = 20;int c = 0;c = a > b ? a : b;cout << "c = " << c << endl;//C++中三目运算符返回的是变量,可以继续赋值(a > b ? a : b) = 100;cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "c = " << c << endl;system("pause");return 0;
}
总结:和if语句比较,三目运算符优点是短小整洁,缺点是如果用嵌套,结构不清晰