C语言入门教程之简单的计算器

C/C++
334
0
0
2022-11-14

19世纪之前

早期的计算器为纯手动式,如算盘和算筹与计算尺等。算盘通常是以滑动的珠子制成。在西方,算盘在印度阿拉伯数字流行前使用了数个世纪,且在近代中国的记账与商务上仍广泛使用。后来出现机械计算器。

19世纪

巴贝奇将计算工具的概念更往前推,试图创建第一个可编程序计算器,但他建造的机器太重了,因而无法操作。

20世纪

20世纪70年代开始,微处理器技术被吸纳进计算器制程,最初的微处理器是Intel于1971年为日本名为Busicom的计算器公司生产的,1972年惠普推出第一款掌上科学计算器HP-35。

可见,计算器是一个重要的工具,下面我来分享如何使用C语言编写一个简单的整数类型的计算器。

01

核心思路

利用C语言中的 scanf 输入函数实现数字和运算符号的输入,利用 switch 语句 判断用户输入的运算符号(加减乘除),然后加减乘除四种情况分别利用 switch 中的 case 语句 和 printf 输出函数。需要注意的是,整数除以整数结果可能会有小数,所以除法这种情况下还需要利用 if ... else 语句进行分类讨论,如果两个数相除余数为0,则这两个数整除了;反之,如果这两个数相除余数不为0,则这两个数相处后的结果是小数,若想正确输出该小数结果,还需要用到浮点数作出进一步处理才可正确输出。

02

流程图展示

img

03

源代码展示

#include<stdio.h>
#include<stdlib.h> 
int main()
{
  int a,b;
  char c;
  printf("请按照顺序输入 一位整数、运算符号、一位整数:\n"); 
  printf("例如:计算3+2 可依次输入 3 + 2 \n"); 
  scanf("%d %c %d",&a,&c,&b);
  switch(c)
  {
    case '+' :
      printf("%d %c %d = %d \n",a,c,b,a+b);
      break;
    case '-' :
      printf("%d %c %d = %d \n",a,c,b,a-b);
      break;
    case '*' :
      printf("%d %c %d = %d \n",a,c,b,a*b);
      break;
    case '/' :
      if(a%b==0)
      {
        printf("%d %c %d = %d \n",a,c,b,a/b);  
      }
      else
      {
        printf("%d %c %d = %f \n",a,c,b,1.0*a/b);
      }
      break;
  } 
  system("pause");
  return 0;
}