Switch语句和条件运算符c ++

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Switch语句和条件运算符c ++相关的知识,希望对你有一定的参考价值。

我的问是为什么当我们有(if else && else if)时使用switch语句和条件运算符

示例1:

unsigned short int any_number ;
any_number = ((15>0)? 10 : 5);//using here the conditional operator
if(15>0)//using if & else
any_number=10;
else
any_number=5;

示例2:

unsigned short int my_score;
std::cout << "what score you expect you got at the exam";
cin >> my_score;
switch(my_score)

case 90: 
std::cout<<"awesome keep the good work"; break;
case 80 :
std::cout<<"study harder next time"; break ;
case 20:
std::cout << "quit school"; break;


if(my_score==90)
std::cout<<"awesome keep the good work";
else if (my_score==80)
std::cout<<"study harder next time";
else if (my_score==20)
std::cout << "quit school";

除了它的成本更低之外,使用swith和条件运算符的行更少,我觉得它们根本没有用,我更喜欢(如果不是),它给我们提供了更多的空间,如果有一个,我可以不加区别地找我吗?


答案

主要原因是可读性

较长的if else序列有时比switch语句更难于阅读和维护。

顺便说一句,性能差异肯定会在现代编译器创建的生产代码中消失。

?:构造允许您执行ifs中无法表达的事情>

cout << (j>42?"a":"b")

例如

另一答案

开关盒更快!为此,您可以使用这两种结构来编写两个功能上等效的代码,然后比较编译后的汇编代码。

以上是关于Switch语句和条件运算符c ++的主要内容,如果未能解决你的问题,请参考以下文章

c语言怎么用switch语句编写四则运算?

C语言的break和continue语句

C语言的break和continue语句

求教c语言中switch 语句的详细用法

C语言07-基本语句和运算

零基础学C语言知识总结四:if-else判断语句和switch-case选择语句