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;:定义两个双精度浮点型变量num1num2,用于存储输入的两个数字。

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第一个小玩意 如果错误请各位多指教