精华内容
下载资源
问答
  • 一个计算器程序 除了普通的计算,还支持简单的C语言(脚本)语句程序控制,包括变量代数计算,循环控制等。你用了就知道,原来做一个脚本语言解释器并不很难。
  • printf("请按(操作数1运算符op操作数2)表达式输入(运算符仅限加减乘除):\n"); i=scanf("%f%c%f",&x,&op,&y); if(x>0&&y>0||x>0&&y<0||x<0&&y>0||x&...

    C语言:编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。

    #include <stdio.h>
    int main(void)
    {
        float x,y,s,i;
        char op;
        printf("请按(操作数1运算符op操作数2)的表达式输入(运算符仅限加减乘除):\n");
        i=scanf("%f%c%f",&x,&op,&y);
        if(x>0&&y>0||x>0&&y<0||x<0&&y>0||x<0&&y<0)
        {
            switch(op)
            {
                case '+':
                    s=x+y;
                    printf("x+y=%f",s);
                    break;
                case '-':
                    s=x-y;
                    printf("x-y=%f",s);
                    break;
                case '*':
                    s=x*y;
                    printf("x*y=%f",s);
                    break;
                case '/':
                    if(y=0)
                    {
                        printf("数据输入类型错误,请重新输入:\n");
                    }
                    else
                    {
                        s=x/y;
                        printf("x/y=%f",s);
                    }
                    break;
                defaul:
                    printf("输入数据类型错误,请重新输入:\n");
            }
        }
        else
        {
            printf("输入数据类型错误,请重新输入:\n");
        }
        return 0;
    }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    
    展开全文
  • 基础编程题目集7-12 两个数简单计算器 (10 分)本题要求编写一个简单计算器程序,可根据输入运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。输入格式:输入在一行中依次...

    基础编程题目集

    7-12 两个数的简单计算器 (10 分)

    本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。

    输入格式:

    输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。

    输出格式:

    当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。

    输入样例1:-7 / 2

    输出样例1:-3

    输入样例2:3 & 6

    输出样例2:ERROR//7-12 两个数的简单计算器 (10 分)

    //

    //本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。

    //输入格式:

    //

    //输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。

    //输出格式:

    //

    //当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。

    //输入样例1:

    //

    //-7 / 2

    //

    //输出样例1:

    //

    //-3

    //

    //输入样例2:

    //

    //3 & 6

    //

    //输出样例2:

    //

    //ERROR

    //

    #include

    void symbolPrint(char symbol, int num1, int num2);

    int main(void) {

    int num1 = 0, num2 = 0;

    char symbol = NULL;

    scanf("%d %c %d", &num1, &symbol, &num2);

    symbolPrint(symbol, num1, num2);

    return 0;

    }

    void symbolPrint(char symbol, int num1, int num2) {

    switch (symbol) {

    case '+':

    printf("%d", num1 + num2);

    break;

    case '-':

    printf("%d", num1 - num2);

    break;

    case '*':

    printf("%d", num1 * num2);

    break;

    case '/':

    printf("%d", num1 / num2);

    break;

    case '%':

    printf("%d", num1 % num2);

    break;

    default:

    printf("%s", "ERROR");

    break;

    }

    }

    展开全文
  • 本题要求编写一个简单计算器程序,可根据输入运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。 输入格式: 输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格...

    PTA 基础编程题目集 7-12 两个数的简单计算器 C语言

    本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。

    输入格式:
    输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。

    输出格式:
    当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。

    输入样例1:
    -7 / 2
    输出样例1:
    -3
    输入样例2:
    3 & 6
    输出样例2:
    ERROR

    #include<stdio.h>
    
    int main() {
    	int x, y;
    	char a;
    	scanf("%d %c %d",&x,&a,&y);
    	switch (a)
    	{
    		case'+':
    			printf("%d",x+y);
    			break;
    		case'-':
    			printf("%d",x-y);
    			break;
    		case'*':
    			printf("%d",x*y);
    			break;
    		case'/':
    				printf("%d",x/y);
    			break;
    		case'%':
    				printf("%d",x%y);
    			break;
    		default:
    			printf("ERROR");
    	}
    
    	return 0;
    }
    
    展开全文
  • 写在前面:这本书相当于给没有什么编译原理基础又想要做一个玩具程序猿做的一个很浅科普。但它确确实实能走一遍流程。 昨天翻了翻《龙书》,实在受不了,对菜逼太不友好了。网上一搜,有人推荐这本书。好在手头...

    写在前面:这本书相当于给没有什么编译原理基础又想要做一个玩具的程序猿做的一个很浅的科普。但它确确实实能走一遍流程。

       昨天翻了翻《龙书》,实在受不了,对菜逼太不友好了。网上一搜,有人推荐这本书。好在手头有这个玩意儿,都快蒙灰了,就拉出来看看,简直感动要哭,真的是一步一步喂到嘴里,最重要的是它简单哈哈。话不多说,上教程。

    准备工作 :linux

    在windows当中安装虚拟机然后下载linux镜像的教程:
    https://jingyan.baidu.com/article/c275f6ba07e269e33d756714.html

    借用一下百度经验里面的。

    VM10.0.6下载地址:https://pan.baidu.com/s/1eUcYyR4   密码:4fy3
    ubuntu16.04下载地址 : http://cn.ubuntu.com/download/

    两个命令 sudo apt install flex
                    sudo apt install bison
    完成 flex和bison的安装后就可以开始写啦。

    1、词法分析。
    词法分析就是把一堆字符分析成为有意义的单词。对于四则计算器有单词就是数值以及加减乘除换行符的符号了。所以词法分析要做的事情就是把用户输入的词,选择有意义分析出来。


    于是新建 mycalc.c文件


    %{
     #include<stdio.h>
     #include"y.tab.h"
     int yywrap(void)
     {
      return 1;
     }
    %}
    %%
    "+"                                   return ADD;
    "-"                                    return SUB;
    "*"                                    return MUL;
    "/"                                    return DIV;
    "\n"                                  return CR;
    ([1-9][0-9]*)|0|([0-9]+\.[0-9]+) {
      double temp;
      sscanf(yytext,"%lf",&temp);
      yylval.double_value =  temp;
      return DOUBLE_LITERAL;
    }
    [ \t];
    . {
     fprintf(stderr,"lexical error.\n");
     exit(1);
    }
    %%

    ————————————————————————我是分界线——————————————

    %{
     #include<stdio.h>
     #include"y.tab.h"
     int yywrap(void)
     {
      return 1;
     }
    %}
    词法分析器将会把这部分代码原模原样输出。
    %%
    "+"                                   return ADD;
    "-"                                    return SUB;
    "*"                                    return MUL;
    "/"                                    return DIV;
    "\n"                                  return CR;
    ([1-9][0-9]*)|0|([0-9]+\.[0-9]+) {
      double temp;
      sscanf(yytext,"%lf",&temp);
      yylval.double_value =  temp;
      return DOUBLE_LITERAL;
    }
    [ \t];
    . {
     fprintf(stderr,"lexical error.\n");
     exit(1);
    }
    %%
    筛选加减乘除反斜杠换行符以及使用正则表达式筛选整数和小数


    2、语法分析
    既然单词分析完了,就应该把单词连成有意义的短句
    %{

    #include<stdio.h>

    #include<stdlib.h>

    #define YYDEBUG 1

    %}



    %union {           /* 声明非终结符种类 */

     int           int_value;

     double  double_value;

    }

    %token <double_value>   DOUBLE_LITERAL

    %token ADD SUB MUL DIV CR

    %type <double_value> expression term primary_expression                 /* 非终结符有这些 */

    %%

    line_list     /* 多行的规则 */

     : line

     | line_list line

     ;

    line                    /* 单行*/

     : expression CR

     {

      printf(">>%lf\n",$1);

     }

    expression  /* 表达式*/

     : term

     | expression ADD term

     {

      $$=$1 + $3;

     }

     | expression SUB term

     {

      $$=$1 - $3;

     }

     ;

    term   /* 和项的规则 */

     : primary_expression

     | term MUL primary_expression

     {

      $$=$1 * $3;

     }

     | term DIV primary_expression

     {

      $$=$1 / $3;

     }

     ;

    primary_expression  /* 一元表达式 */

     : DOUBLE_LITERAL

     ;

    %%

    int yyerror( char const *str)

    {

     extern char *yytext;

     fprintf(stderr,"parser error near %s\n",yytext);

     return 0;

    }



    int main(void)         /* 驱动程序*/

    {

     extern int yyparse(void);

     extern FILE *yyin;

     

     yyin = stdin;

     if(yyparse()){

      fprintf(stderr,"Error!Error! Error!\n");

      exit(1);

     }

    }

    ————————————————————————我是分界线——————————————

    执行命令

    测试

    展开全文
  • 本文案例用C语言一个简单的计算器,进行加、减、乘、除操作。本程序涉及的所有数学知识都很简单,但输入过程会增加复杂性。都是C语言很基础的东西(输入输出),学了之后能写出一个完整的C语言程序。适合涉及C语言...
  • C语言完成简单的计算器功能(2)

    千次阅读 2016-04-07 14:56:38
    之前用switch语句完成了一个简单计算器的功能,下面我给大家用if语句和while循环语句再实现一个简单计算器的编程。要求: 实现简单的计算器,具体代码如下:#include <stdio.h> // 头文件void main() { char a = 0...
  • 这是我学习C语言过程中的一个小练习,后续应该会对计算器进行功能添加和优化 本文主要介绍编程过程中遇到问题、原因和解决办法 一、编程过程中遇到错误 1.第二个scanf函数()不等输入就自动执行 2. 编译时报错...
  • C语言完成简单的计算器功能(1)

    千次阅读 2016-04-05 10:47:42
    题目如下:通过所学的知识(选择语句、循环语句)完成一个简单的计算器编程,要求不许抄袭,只能用自己所学的知识点,不可引用网上自己的不懂的程序。 要求的格式如下图: 要求以这样的一种格式进行输出,并能...
  • 之前用switch语句完成了一个简单计算器的功能,下面我给大家用if语句和while循环语句再实现一个简单计算器的编程。 要求: 实现简单的计算器,具体代码如下: #include <stdio> // 头文件 void main() { char a = ...
  • 通过所学的知识(选择语句、循环语句)完成一个简单的计算器编程,要求不许抄袭,只能用自己所学的知识点,不可引用网上自己的不懂的程序。 要求的格式如下图: 要求以这样的一种格式进行输出,并能通过选择完成...
  • 本题要求编写一个简单计算器程序,可根据输入运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。 输入格式: 输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格...
  • C语言 · 简单计算器

    2017-03-26 15:12:00
    算法提高 简单计算器 时间限制:1.0s 内存限制:... 输入只有一行,用空格隔开运算符和两个运算数,运算符一定是+, -, *, /之一,运算数一定是绝对值不超过200整数,当运算符为除号时,除数不为0并第一个数...
  • 其实开发一款计算器很简单,当然也是很多C语言小白必练手的一个项目,小编今天介绍的项目课程就是教你利用C语言开发一款...项目用 c 语言做一个简单的计算器,进行加、减、乘、除操作。本程序涉及的所有数学知识都...
  • 本题要求编写一个简单计算器程序,可根据输入运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。 输入格式: 输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格...
  • c语言简单计算器

    2020-03-17 17:17:30
     编程模拟计算器的加、减、乘、除功能,根据用户输入运算符,对两数进行运算。(要求switch语句)   输入格式  输入只有行,用空格隔开运算符和两运算数,运算符一定是+, -, *, /之,运算数一定是...
  • 简单运算下一个固定高度长方体体积计算,先看下运行后面板. 长度和宽度是可以自由输入哦 那么这个程序该怎么编写? 第一步先把头文件写上 在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序...
  • 题目:C语言程序设计,做一个简单计算器程序内容有:加减乘除和平方,立方,开方等.用if或者swith结构来编程.算加法时只输出加法结果,算减法时只出减法结果,如此类推.解答:已发送,#include //头文件#include#...
  • 本文给出一个简单的表达式计算器32位汇编源程序,并给出对应的C语言代码,有助于理解汇编和C语言编程的异同。
  • 简单的计算器

    2015-02-09 17:07:00
    能用c语言编写一个简单的计算器,包含加减乘以及括号之间的优先级关系,这样的编程能力算是什么程度? 我也很好奇,能写出来到底怎么样。我写出的代码到底怎么样。便有了下面的代码。 毕竟是好久没有写这些小...
  • 写了一个简单的计算器程序。以此来检查自己的学习结果。 并且希望能够得到牛人的指点。能够在编程风格和逻辑方面得到提升。献丑了。 /**Calcultor.c*Author:*Data:*Compiler:vs2010**/#include<stdio.h>...
  • 通过一个简单的java计算器说明分层思想! 分层思想概述 代码若要达到:易维护、可复用、可扩展、够灵活、低耦合等特点;编程人员必须建立起分层思想。 最简单的是将业务逻辑与人机交互界面分层。模型服务层与视图层...
  • 代码细节不用罗列, 其实很简单。 直接看部分电路图, 感受一下: 25 * 5 = 125 计算器真是简单,计算机就是这么做成的。 除了8086外, 常见的单片机, 都可以做出类似的计算器
  • 本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言程序进行比较,说明作为一个C语言程序员需要具备的基本理论知识,本章末端简单的描述windows中一个计算器程序是如何工作的。 1.1什么是...
  • 导读:程序要完成高级功能,首先要能够做到基本加减乘除。本章从程序中变量概念开始,结合之前学输出... 变量名可以是26个字母中任意一个,也可以是非C语言关键词单词或自定义字母组合,也可以加下划线等...
  • 步:(先不考虑复杂的,从最简单的入手) 从键盘上输入串数字 例: 1+2+3-5+7-9 分两数组:char s[100];// 存放 符号 int a[100];// 存入数字 看符号是什么,找对应的前,后两数字,进行+ or - 第二...
  • C语言编程100例精选源码

    热门讨论 2009-10-29 01:31:44
    实例12 简单的计算器 32 实例13 时钟程序 35 实例14 华氏温度和摄氏温度的相互转换 38 实例15 SimpleDebug函数应用 40 第2部分 数值计算与数据结构篇 实例16 常用的几种排序方法 46 实例17 广度优先...
  • 算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得...5、简单的加减乘除计算器 源代码: # include <stdio.h> int ma...
  • (昨晚我已经对点点地学C语言何时是尽头绝望)。结果粉丝发过来了这程序。位老粉。我没太想看。他程序都写好了(我一般懒得写,都是先从网上拷来,再调试一下。这样训练自己,但是觉得很没意思。但是行行...

空空如也

空空如也

1 2 3 4
收藏数 69
精华内容 27
关键字:

c语言编程一个简单的计算器

c语言 订阅