switch语句在C语言中怎么用?

发布网友 发布时间:2022-04-20 13:45

我来回答

1个回答

热心网友 时间:2023-05-21 22:35

代码如下:

#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; };

map<string, function<int(int, int)>> binops = 

{

    {"+", add},                                  // 使用函数指针

    {"-", minus<int>()},                         // 使用标准库函数对象

    {"*", [](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语句中的语句。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com