niusouti.com

编程实现袖珍计算器,要求输入两个操作数和一个操作符(、-、*、/、%),根据操作符输出运算结果。注意“/”和“%”运算符的零除异常问题。

题目

编程实现袖珍计算器,要求输入两个操作数和一个操作符(、-、*、/、%),根据操作符输出运算结果。注意“/”和“%”运算符的零除异常问题。


相似考题
更多“编程实现袖珍计算器,要求输入两个操作数和一个操作符(、-、*、/、%),根据操作符输出运算结果。注意“/”和“%”运算符的零除异常问题。”相关问题
  • 第1题:

    ( 16 )使用输入输出操作符 setw, 可以控制

    A )输出精度

    B )输出宽度

    C )对齐方式

    D )填充字符


    正确答案:B

  • 第2题:

    下列关于运行符重载的描述中,正确的是( )。

    A.运算符重载可以改变操作数的个数

    B.运算符重载可以改变操作数的优先级

    C.运算符重载可以改变运算符的结合性

    D.运算符重载可以使运算符实现特殊功能


    正确答案:D
    解析: C++把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字opera- tor。C++中通过重新定义运算符,使它能够用于特定类的对象执行特定的功能。但是用户重新定义运算特,不改变原运算符的操作符个数、优先级和结合性。同时运算符重载后,也不改变运算符的语法结构,即单目运算符只能重载为单目运算符,双目运算符只能重载为双目运算符。

  • 第3题:

    类对象的输入输出需在类中定义重载的提取运算符“>>”和插入运算符“<<”。()


    参考答案:正确

  • 第4题:

    大多数搜索工具允许使用布尔运算符,下列哪个符号不是基本的操作符()

    A.&

    B.,

    C.-

    D.;


    参考答案:C

  • 第5题:

    程序Cmody031.c的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%),进行相应的运算后输出运算的结果。请改正错程序中的错误。如输入:1+2将输出:1+2=3


    /**/if(m%i==0)/**/
    /**/if(i>k)/**/或/**/if(i==k+1)/**/

  • 第6题:

    下面描述错误的是?

    A.在python中逻辑与运算符不能写作&&,要写作and

    B.&是两个数字按二进制位作与运算的操作符

    C.3&2的结果为2

    D.3&3的结果为0


    正确答案:D

  • 第7题:

    二元运算符()取两个输入产生一个输出。

    • A、AND
    • B、OR
    • C、XOR
    • D、前三项均是

    正确答案:D

  • 第8题:

    大多数搜索工具允许使用布尔运算符,下列哪个符号不是基本的操作符()

    • A、&
    • B、,
    • C、-
    • D、;

    正确答案:C

  • 第9题:

    下面说法或者语句不符合公司编程规范的排版要求的是()

    • A、逗号、分号只在后面加空格;比较操作符,赋值操作符"="、"+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格;"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格
    • B、如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已是最清晰的标志了
    • C、较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读
    • D、if,for,do,while等语句的执行语句如果只有一行的话,不需要要加括号{}

    正确答案:D

  • 第10题:

    在指针章节关于“&”和“*”运算符描述正确的是()

    • A、运算符&是一个返回操作数地址的单目运算符
    • B、运算符&叫做取地址运算符
    • C、运算符“*”是单目运算符
    • D、运算符“*”叫做指针运算符

    正确答案:A,B,C,D

  • 第11题:

    单选题
    大多数搜索工具允许使用布尔运算符,下列哪个符号不是基本的操作符()
    A

    &

    B

    C

    -

    D


    正确答案: C
    解析: 暂无解析

  • 第12题:

    填空题
    重载一个运算符时,该运算符的()、()以及操作符的个数不允许改变。

    正确答案: 优先级,结合性
    解析: 暂无解析

  • 第13题:

    计算机指令由两部分组成,它们是______。

    A.运算符和运算数

    B.操作数和结果

    C.操作码和操作数

    D.数据和字符


    正确答案:C
    解析:计算机指令由两部分组成,它们是操作码和操作数。

  • 第14题:

    从键盘上输入一个后缀表达式,试编写算法计算表达式的值。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、-、*、/四种运算。例如:234 34+2*$。


    参考答案:
      逆波兰表达式(即后缀表达式)求值规则如下:设立运算数栈OPND,对表达式从左到右扫描(读入),当表达式中扫描到数时,压入OPND栈。当扫描到运算符时,从OPND退出两个数,进行相应运算,结果再压入OPND栈。这个过程一直进行到读出表达式结束符$,这时OPND栈中只有一个数,就是结果。
      [算法描述]
      float expr( )
      //从键盘输入逆波兰表达式,以‘$’表示输入结束,本算法求逆波兰式表达式的值。
      {float OPND[30]; // OPND是操作数栈。
      init(OPND); //两栈初始化。
      float num=0.0; //数字初始化。
      cin>>x;//x是字符型变量。
      while(x!=’$’)
      {switch
      {case‘0’<=x<=’9’:
      while((x>=’0’&&x<=’9’)||x==’.’) //拼数
      if(x!=’.’) //处理整数
      {num=num*10+(ord(x)-ord(‘0’)); cin>>x;}
      else //处理小数部分。
      {scale=10.0; cin>>x;
      while(x>=’0’&&x<=’9’)
      {num=num+(ord(x)-ord(‘0’)/scale;
      scale=scale*10; cin>>x; }
      }//else
      push(OPND,num); num=0.0;//数压入栈,下个数初始化
      case x=‘ ’:break; //遇空格,继续读下一个字符。
      case x=‘+’:push(OPND,pop(OPND)+pop(OPND));break;
      case x=‘-’:x1=pop(OPND);x2=pop(OPND);push(OPND,x2-x1);break;
      case x=‘*’:push(OPND,pop(OPND)*pop(OPND));break;
      case x=‘/’:x1=pop(OPND);x2=pop(OPND);push(OPND,x2/x1);break;
      default: //其它符号不作处理。
      }//结束switch
      cin>>x;//读入表达式中下一个字符。
      }//结束while(x!=‘$’)
      cout<<“后缀表达式的值为”<  }//算法结束。
      [算法讨论]假设输入的后缀表达式是正确的,未作错误检查。算法中拼数部分是核心。若遇到大于等于‘0’且小于等于‘9’的字符,认为是数。这种字符的序号减去字符‘0’的序号得出数。对于整数,每读入一个数字字符,前面得到的部分数要乘上10再加新读入的数得到新的部分数。当读到小数点,认为数的整数部分已完,要接着处理小数部分。小数部分的数要除以10(或10的幂数)变成十分位,百分位,千分位数等等,与前面部分数相加。在拼数过程中,若遇非数字字符,表示数已拼完,将数压入栈中,并且将变量num恢复为0,准备下一个数。这时对新读入的字符进入‘+’、‘-’、‘*’、‘/’及空格的判断,因此在结束处理数字字符的case后,不能加入break语句。

  • 第15题:

    设关系R:

    经操作ЛA,B(σC='c'(R))的运算结果是( )。(Л为“投影”操作符,σ为“选择”操作符)

    A.

    B.

    C.

    D.


    正确答案:D

  • 第16题:

    下列有关C++流的叙述中,错误的是

    A.C++操作符setw设置的输出宽度永久有效

    B.C++操作符endl可以实现输出的回车换行

    C.处理文件I/O时,要包含头文件fstream

    D.进行输入操作时,eof()函数用于检测是否到达文件尾


    正确答案:A
    解析:C++操作符endl可以实现输出的回车换行的功能;在处理文件I/O时,要包含头文件iostream,是为了说明引用的参数或函数的位置;函数eof()用来检测是否到达文件尾,如果到达件尾返回非0值,否则返回0。

  • 第17题:

    操作符和运算符的区别

    c++中,什么是操作符,和运算符有什么区别,操作符和函数又有什么区别?


    操作符和运算符在英文里都叫operator与函数的区别在于一个是符号(+ - * / % && ||),一个是有名称的函数有明确定义的参数表,符号没有,当然,从广义来上来看,任何一个操作符都可看做是一个函数,而它的操作数可看做参数。
    1. 操作符是嵌在每一条指令中的,换句话说,指令系统的每一条指令都有一个操作符。我理解是计算机系统中的术语。
    如=(赋值),==(判断相当)等等。
    2. 运算符是数学中的术语。主要是指数之间的运算方式。如 + - * / %,但不包括 = (赋值)这样的操作符。
    3. 函数相当于一堆指令的集合,也可以理解为一堆操作符的集合。
    您好!
    1. 操作符是嵌在每一条指令中的,换句话说,指令系统的每一条指令都有一个操作符。我理解是计算机系统中的术语。
    如=(赋值),==(判断相当),+,- 等等。
    2. 运算符是数学中的术语。主要是指数之间的运算方式。如 + - * / %,但不包括 = (赋值)这样的操作符。
    3. 函数相当于一堆指令的集合,也可以理解为一堆操作符的集合。


    操作符和运算符在英文里都叫operator

    1、操作符与函数的区别在于一个是符号(+ - * / % && ||),一个是有名称的。

    2、函数有明确定义的参数表,符号没有。当然,从广义来上来看,任何一个操作符都可看做是一个函数,而它的操作数可看做参数。


    操作符和运算符在英文里都叫operator
    与函数的区别在于一个是符号(+ - * / % && ||),一个是有名称的
    函数有明确定义的参数表,符号没有,当然,从广义来上来看,任何一个操作符都可看做是一个函数,而它的操作数可看做参数。

  • 第18题:

    <=是小于等于关系运算符,又是()操作符。


    正确答案:赋值运算

  • 第19题:

    在VFP程序设计中属于数值操作符,取余运算符的是()。

    • A、()
    • B、==
    • C、+
    • D、%
    • E、::

    正确答案:D

  • 第20题:

    逻辑运算符和关系运算符的操作数都只能是布尔型数据,结果也是布尔型数据。


    正确答案:错误

  • 第21题:

    重载一个运算符时,该运算符的()、()以及操作符的个数不允许改变。


    正确答案:优先级;结合性

  • 第22题:

    填空题
    <=是小于等于关系运算符,又是()操作符。

    正确答案: 赋值运算
    解析: 暂无解析

  • 第23题:

    判断题
    逻辑运算符和关系运算符的操作数都只能是布尔型数据,结果也是布尔型数据。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第24题:

    单选题
    下面说法或者语句不符合公司编程规范的排版要求的是()
    A

    逗号、分号只在后面加空格;比较操作符,赋值操作符=、+=,算术操作符+、%,逻辑操作符&&、&,位域操作符<<、^等双目操作符的前后加空格;!、~、++、--、&(地址运算符)等单目操作符前后不加空格

    B

    如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已是最清晰的标志了

    C

    较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读

    D

    if,for,do,while等语句的执行语句如果只有一行的话,不需要要加括号{}


    正确答案: D
    解析: 暂无解析