C语言入门 第一弹 一个简单的计算器
程序源代码
#include <stdio.h>
int main() {
char op;
double num1, num2;
printf("请输入第一个数字:\n");
scanf("%lf", &num1);
printf("请输入运算符(+、-、*、/):");
scanf(" %c", &op);
printf("请输入第二个数字:\n");
scanf("%lf", &num2);
switch(op) {
case '+':
printf("%.2lf %c %.2lf = %.2lf\n", num1, op, num2, num1 + num2);
break;
case '-':
printf("%.2lf %c %.2lf = %.2lf\n", num1, op, num2, num1 - num2);
break;
case '*':
printf("%.2lf %c %.2lf = %.2lf\n", num1, op, num2, num1 * num2);
break;
case '/':
if(num2 == 0) {
printf("除数不能为0!\n");
} else {
printf("%.2lf %c %.2lf = %.2lf\n", num1, op, num2, num1 / num2);
}
break;
default:
printf("输入的运算符不正确!\n");
}
return 0;
}
运行截图:
设计思路及代码解析
该程序的原理主要是通过使用scanf
函数从标准输入(通常是键盘)读取用户输入的运算符和两个数字,然后根据运算符的值使用switch
语句选择执行相应的代码块,进行加、减、乘、除四种基本运算中的一种,并使用printf
函数输出运算结果。同时,在除法运算中,程序还通过使用if
语句判断除数是否为0,如果为0则输出错误提示信息。
此外,程序还使用了格式化输出函数printf
中的格式规范来控制输出结果的形式,如保留两位小数等。
该程序的原理是通过读取用户输入的运算符和数字,然后根据运算符的值进行不同的运算,并输出运算结果。同时,程序还利用了一些基本的控制结构,如switch
语句和if
语句,以及格式化输出函数来实现其功能
1.#include <stdio.h>
:包含标准输入输出库,这样程序可以使用标准输入输出函数。
2.int main()
:程序的主函数,程序从这里开始执行。
3.char op;
:定义一个字符变量op
,用于存储输入的运算符。
4.double num1, num2;
:定义两个双精度浮点型变量num1
和num2
,用于存储输入的两个数字。
5.printf("请输入第一个数字:\n");
:输出提示信息,要求用户输入第一个数字。
6.scanf("%lf", &num1);
:从标准输入(通常是键盘)读取用户输入的第一个数字,并将其存储在变量num1
中。
7.printf("请输入运算符(+、-、*、/):");
:输出提示信息,要求用户输入运算符。
8.scanf(" %c", &op);
:从标准输入读取用户输入的运算符,并将其存储在变量op
中。注意在scanf
函数中加上一个空格,这可以忽略前面输入的空白字符(如空格、制表符、换行符等)。
9.printf("请输入第二个数字:\n");
:输出提示信息,要求用户输入第二个数字。
scanf("%lf", &num2);
:从标准输入读取用户输入的第二个数字,并将其存储在变量num2
中。
10.switch(op) {
:根据运算符的值进行不同的操作,使用switch
语句来选择执行相应的代码块。
case '+':
:如果运算符是加号,执行下面的代码。
11.printf("%.2lf %c %.2lf = %.2lf\n", num1, op, num2, num1 + num2);
:输出运算结果,保留两位小数。
12.break;
:结束当前代码块的执行,跳出switch
语句。
13.case '-':
:如果运算符是减号,执行下面的代码。
14.printf("%.2lf %c %.2lf = %.2lf\n", num1, op, num2, num1 - num2);
:输出运算结果,保留两位小数。
15.break;
:结束当前代码块的执行,跳出switch
语句。
16.case '*':
:如果运算符是乘号,执行下面的代码。
17.printf("%.2lf %c %.2lf = %.2lf\n", num1, op, num2, num1 * num2);
:输出运算结果,保留两位小数。
18.break;
:结束当前代码块的执行,跳出switch
语句。
19.case '/':
:如果运算符是除号,执行下面的代码。
20.if(num2 == 0) {
:判断除数是否为0。
21.printf("除数不能为0!\n");
:如果除数为0,输出错误提示信息。
22.} else {
:如果除数不为0,执行下面的代码。
23.printf("%.2lf %c %.2lf = %.2lf\n", num1, op, num2, num1 / num2);
:输出运算结果,保留两位小数。
24.}
:结束if语句的执行。
25.break;
:结束当前代码块的执行,跳出switch
语句。
26.default:
:如果运算符不是加、减、乘、除中的任何一个,执行下面的代码。
27.printf("输入的运算符不正确!\n");
:输出错误提示信息。
28.}
:结束switch
语句的执行。
29.return 0;
:程序正常结束,返回0表示程序成功执行完毕。
此文章仅用于记录个人学习过程 自学C第一个小玩意 如果错误请各位多指教