以下是一个简单的C语言程序,用于实现一个基本的数学计算器。该程序会提示用户输入两个数字和一个运算符,然后执行相应的运算并输出结果。
```c
#include
int main() {
double num1, num2, result;
char operator;
printf("请输入第一个数字: ");
scanf("%lf", &num1);
printf("请输入运算符(+、-、*、/): ");
scanf(" %c", &operator); // 注意前面的空格,用于跳过任何之前的空白字符
printf("请输入第二个数字: ");
scanf("%lf", &num2);
switch(operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
// 检查除数是否为0
if (num2 != 0.0) {
result = num1 / num2;
} else {
printf("错误: 除数不能为0\n");
return 1; // 返回非零值表示程序异常退出
}
break;
default:
printf("错误: 无效的运算符\n");
return 1; // 返回非零值表示程序异常退出
}
printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);
return 0; // 返回0表示程序正常退出
}
```
在这个程序中,我们使用了`scanf`函数来读取用户输入的数字和运算符。注意在读取运算符时,我们在`%c`前面加了一个空格,这是为了跳过任何之前的空白字符(如换行符或空格),因为`scanf`在读取`%lf`(双精度浮点数)后通常会留下一个换行符在输入缓冲区中。
我们还使用了一个`switch`语句来根据运算符执行相应的计算。对于除法,我们还特别检查了除数是否为0,以避免除以0的错误。如果运算符无效或除数为0,程序会打印一个错误消息并返回非零值,表示程序异常退出。