C语言编写简单计算器

这个计算器比较简单,只能计算加减乘除,用到了递归思想

操作方法

  • 01

    首先打开VC++

  • 02

    文件》》新建

  • 03

    新建一个C++文档

  • 04

    先声明主函数还有变量 #include <stdio.h> char token;

  • 05

    程序用到几个函数,下面我来介绍下 这个函数是运算符匹配程序 void match( char expectedToken ) /*对当前的标志进行匹配*/ { if( token == expectedToken ) token = getchar(); /*匹配成功,获取下一个标志*/ else { printf("cannot match\n"); exit(1); /*匹配不成功,退出程序*/ } }

  • 06

    这个函数是计算低优先级的运算,比如,加减 int low( void )/*用于计算表达式中级别最低的运算*/ { int result = mid(); /*计算比加减运算优先级别高的部分*/ while(( token == '+' ) || ( token == '-' )) if ( token == '+') { match('+');     /*进行加法运算*/ result += mid(); break; } else if ( token == '-') { match('-');    /*进行减法运算*/ result -= mid(); break; } return result; }

  • 07

    这个函数是计算高优先级运算,乘除 int low( void )/*用于计算表达式中级别最低的运算*/ { int result = mid(); /*计算比加减运算优先级别高的部分*/ while(( token == '+' ) || ( token == '-' )) if ( token == '+') { match('+');     /*进行加法运算*/ result += mid(); break; } else if ( token == '-') { match('-');    /*进行减法运算*/ result -= mid(); break; } return result; }

  • 08

    这个函数是计算,乘除和带括号的运算 int high( void )/*用于计算表达式中级别最高的运算,即带()的运算*/ { int result; if( token == '(' ) /*带有括号的运算*/ { match( '(' ); result = low();/*递归计算表达式*/ match(')'); } else if ( token>= '0'&&token<='9' ) /*实际的数字*/ { ungetc( token, stdin ); /*将读入的字符退还给输入流,为读取整个数*/ scanf( "%d", &result ); /*读出数字*/ token = getchar();  /*读出当前的标志*/ } else { printf("The input has unexpected char\n"); /*不是括号也不是数字*/ exit(1); } return result; }

  • 09

    主函数 main() { int result;  /*运算的结果*/ printf("*****************************************\n"); printf("**Welcome to use this simple calculator**\n"); printf("**Please input a multinomial like      **\n"); printf("**                    6-3*(5-1)/2+14/7 **\n"); printf("*****************************************\n"); token = getchar(); /*载入第一个符号*/ result = low(); /*进行计算*/ if( token == '\n' ) /* 是否一行结束 */ printf( "The answer is : %d\n", result ); else { printf( "Unexpected char!"); exit(1); /* 出现了例外的字符 */ } scanf("%d",result); return 0; }

  • 10

    程序结果

(0)

相关推荐

  • C语言编写逻辑运算符计算器方法

    本例是关于逻辑运算的小程序,很简单,主要是为了练习逻辑运算符的运作原理 操作方法 01 首先打开VC++6.0 02 点击文件,新建 03 文件名任起,选择C++ source file 04 建立一 ...

  • C语言编写简单时钟程序

    其原理就是从系统获得时间,我会吧关键函数注释 操作方法 01 首先打开VC++ 02 文件>>新建 03 新建一个C++文档 04 先声明头文件 #include <stdio.h& ...

  • 易语言——如何写计算器源码?

    关于易语言编写计算器,方法有很多,这里要编写的源码比较简单,适合初学者学习.效果如下: 一.绘制窗体. 01 第一步不用说,打开易语言,新建-- 02 然后分别用编辑框和按钮绘制软件框架. 03 再是 ...

  • Java语言编写水仙花数等

    利用Java语言编写水仙花数.素数也叫质数.学生成绩.加法计算器.求平方. 操作方法 01 Java编写语言:水仙花数 (1^3 + 5^3 + 3^3 = 153) 1的立方+5的立方+3的立方=1 ...

  • sublime软件如何使用python语言编写程序

    sublime软件是我们在电脑中常用的一种编程软件,接下来小编就教大家怎样在这个软件中使用python语言编写程序.具体如下:1. 首先我们需要在电脑中安装sublime软件,下载完成安装包之后,点击 ...

  • HTML语言制作简单的网页

    HTML语言制作简单网页的方法 操作方法 01 1.进入notepad++软件,新建文件,选择语言html. 02 2.在窗口输入代码: <html> <head>  < ...

  • 零成本搭建自己的网站:[7]自己编写简单代码1

    之前我和大家分享了一些关于服务器和搭建网站的知识,现在从这讲开始,我会和大家分享一些网页代码知识,让大家走进程序员世界. 操作方法 01 编程很多人在问,用什么编程软件呢,编程环境是什么呢,其实无论你 ...

  • 怎样用按键精灵录制功能编写简单的游戏外挂脚本

    游戏辅助软件(游戏外挂)其实我们自己也能编写,这里介绍怎样用按键精灵录制功能编写简单的游戏外挂脚本,这种外挂是模拟鼠标和键盘动作,绝对不会封号,而且安全无毒. 操作方法 01 02 打开你要玩的游戏, ...

  • Java语言编写三角形面积等

    利用Java语言编写三角形面积.等腰三角形.判断两个数的大小.两个数之间按从大到小输出.三个数从小到大顺序输出. 操作方法 01 Java语言编写: 任意输入三角形的三边,判断是否为三角形并且求三角形 ...