# C 程序：使用`switch...case`制作一个简单的计算器

> 原文： [https://www.programiz.com/c-programming/examples/calculator-switch-case](https://www.programiz.com/c-programming/examples/calculator-switch-case)

#### 在此示例中，您将学习使用`switch`语句在 C 编程中创建一个简单的计算器。

要理解此示例，您应该了解以下 [C 编程](/c-programming "C tutorial")主题：

*   [C `switch`语句](/c-programming/c-switch-case-statement)
*   [C `break`和`continue`](/c-programming/c-break-continue-statement)

* * *

该程序使用算术运算符`+, -, *, /`和来自用户的两个操作数。 然后，它根据用户输入的运算符对两个操作数执行计算。

* * *

## 使用`switch`语句的简单计算器

```c
#include <stdio.h>
int main() {
    char operator;
    double first, second;
    printf("Enter an operator (+, -, *,): ");
    scanf("%c", &operator);
    printf("Enter two operands: ");
    scanf("%lf %lf", &first, &second);

    switch (operator) {
    case '+':
        printf("%.1lf + %.1lf = %.1lf", first, second, first + second);
        break;
    case '-':
        printf("%.1lf - %.1lf = %.1lf", first, second, first - second);
        break;
    case '*':
        printf("%.1lf * %.1lf = %.1lf", first, second, first * second);
        break;
    case '/':
        printf("%.1lf / %.1lf = %.1lf", first, second, first / second);
        break;
        // operator doesn't match any case constant
    default:
        printf("Error! operator is not correct");
    }

    return 0;
} 
```

**输出**

```c
Enter an operator (+, -, *,): *
Enter two operands: 1.5
4.5
1.5 * 4.5 = 6.8 
```

用户输入的`*`操作符存储在`operator`中。 并且，将两个操作数`1.5`和`4.5`分别存储在`first`和`second`中。

由于运算符`*`与`case '*':`相匹配，因此程序控制跳至

```c
printf("%.1lf * %.1lf = %.1lf", first, second, first * second); 
```

该语句计算产品并将其显示在屏幕上。

最后，`break;`语句结束`switch`语句。