switchcase,switch case用法举例
switch和case怎么用
代码如下:
#include "pch.h"
#include iostream
#include functional
#include map
#include string
using namespace std;
int add(int i, int j)
{
return i + j;
}
// 使用函数调用运算符
struct divide
{
int operator()(int i, int j)
{
return i / j;
}
};
auto mod = [](int i, int j) {return i % j; };
mapstring, functionint(int, int) binops =
{
? {"+", add},? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 使用函数指针
? {"-", minusint()},? ? ? ? ? ? ? ? ? ? ? ? ?// 使用标准库函数对象
? {"*", [](int i, int j) {return i * j; }},? ? // 使用未命名的lambda表达式
? {"/", divide()},? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 使用函数调用运算符
? {"%", mod}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 命名了的lambda表达式
};
int main()
{
int num1, num2;
string s;
while (cin num1)
{
cin s num2;
cout num1 s num2 "=" binops[s](num1, num2) endl;
}
return 0;
}
扩展资料
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。
直线翻译:switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case,break和default是关键字):
switch ( 变量表达式 )
{
case 常量1 :语句;break;
case 常量2 :语句;break;
case 常量3 :语句;break;
...
case 常量n:语句;break;
default :语句;break;
}
当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。
switch case的用法
执行过程:
先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。
当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。
如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。
“Switch case” 语句怎么使用?
switch (表达式){
case 值1 : 语句1 break;
从表达式值等于某个case语句后的值开始,它下方的所有语句都会一直运行,直到遇到一个break为止。随后,switch语句将结束,程序从switch结束大括号之后的第一个语句继续执行,并忽略其他case。
假如任何一个case语句的值都不等于表达式的值,就运行可选标签default之下的语句。
switch语句的语法如下(case、default和break是其配套关键字):
switch?(?表达式)?
{
case?常量表达式1:
语句1;?????????可以是多行,可以加括号,也可以不加,到下一个case之前,都是本case的语句范围
[break;]???????中括号,表示此语句可以没有
case?常量表达式2:
语句2;
[break;]
……
case?常量表达式n:
语句n;
[break;]
[default:]
语句n+1;
[break;]
}
c语言switch case语句例子是什么?
c语言switch case语句例子如下:
case 常量表达式1:
语句1;可以是多行,可以加括号,也可以不加,到下一个case之前,都是本case的语句范围。
[break;] 中括号,表示此语句可以没有。
case 常量表达式2:
[break;]……case 常量表达式n:语句n。
[break;][default:]。
switch语句规则:
case标签必须是常量表达式(constant Expression) 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束。
连续的两个case语句表示,这两个case是同一种情况。
switch case用法举例有哪些?
C语言程序语句switch:switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。
case1:cout"1月有31天";break。
case2:cout"2月有28天";break。
case3:cout"3月有31天";break。
case4:cout"4月有30天";break。
case5:cout"5月有31天";break。
case6:cout"6月有30天";break。
语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型 。case标签必须是常量表达式(constantExpression),如42或者'4'。case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
Switch case 语句怎么使用
switch case用法详解:
1、switch是“开关”的意思,它也是一种“选择”语句,但它的用法非常简单。
2、switch是多分支选择语句。说得通俗点,多分支就是多个if。
从功能上说,switch语句和if语句完全可以相互取代。但从编程的角度,它们又各有各的特点,所以至今为止也不能说谁可以完全取代谁。
3、当嵌套的if比较少时(三个以内),用if编写程序会比较简洁。但是当选择的分支比较多时,嵌套的if语句层数就会很多,导致程序冗长,可读性下降。因此C语言提供switch语句来处理多分支选择。所以if和switch可以说是分工明确的。在很多大型的项目中,多分支选择的情况经常会遇到,所以switch语句用得还是比较多的。
4、switch的一般形式如下:
switch(表达式)
{
case常量表达式1:语句1
case常量表达式2:语句2
┇
case常量表达式n:语句n
default:语句n+1
}
扩展资料:
说明:
1)、switch后面括号内的“表达式”必须是整数类型。也就是说可以是int型变量、char型变量,也可以直接是整数或字符常量,哪怕是负数都可以。但绝对不可以是实数,float型变量、double型变量、小数常量通通不行,全部都是语法错误。
2)、switch下的case和default必须用一对大括号{}括起来。
3)、当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。
再重申一下:switch是“选择”语句,不是“循环”语句。很多新手看到break就以为是循环语句,因为break一般给我们的印象都是跳出“循环”,但break还有一个用法,就是跳出switch。
4)、若所有的case中的常量表达式的值都没有与switch后面括号内“表达式”的值相等的,就执行default后面的语句,default是“默认”的意思。如果default是最后一条语句的话,那么其后就可以不加break,因为既然已经是最后一句了,则执行完后自然就退出switch了。
5)、每个case后面“常量表达式”的值必须互不相同,否则就会出现互相矛盾的现象,而且这样写造成语法错误。
6)、“case常量表达式”只是起语句标号的作用,并不是在该处进行判断。在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。
7)、各个case和default的出现次序不影响执行结果。但从阅读的角度最好是按字母或数字的顺序写。
8)、当然你也可以不要default语句,就跟if…else最后不要else语句一样。但最好是加上,后面可以什么都不写。这样可以避免别人误以为你忘了进行default处理,而且可以提醒别人switch到此结束了。