一道c语言填空题,程序没看懂 求详细解释!

一道c语言填空题,程序没看懂求详细解释!阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。【程序】#include<stdio.h>main(){in... 一道c语言填空题,程序没看懂 求详细解释!阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。
【程序】
#include <stdio.h>
main()
{int op1,op2,res;
char opertor;
scanf ("%d",&op1);
opertor=getchar();
while(opertor!='=')
{
scanf ("%d",&op2);
switch(opertor)
{
case '+':res=op1+op2;break;
case '-':res=op1-op2;break;
case '*':res=op1*op2;break;
case '/':res=op1/op2;break;
default:res=0;
}
op1=res;
opertor=getchar();
}
printf("%d\n",res);
}
(13)程序运行时,输入2*3-2=,输出 。
A、6 B、2
C、0 D、4 答案:D
(14)、程序运行时,输入15+2/3=,输出 。
A、16 B、15
C、6 D、5 答案:D
(15)、程序运行时,输入1+2*10-10/2=,输出 。
A、10 B、16
C、15 D、25 答案:A
4、程序运行时,输入1+3*5/2-7=,输出 。
A、3 B、1
C、-2 D、-3 答案:A
展开
 我来答
chy_712
2016-11-15 · TA获得超过158个赞
知道小有建树答主
回答量:97
采纳率:100%
帮助的人:47.3万
展开全部
#include <stdio.h>
main()
{
int op1,op2,res;//定义操作数1,操作数2,结果
char opertor;//定义运算符号
scanf ("%d",&op1);//输入操作数1
opertor=getchar();//输入运算符
while(opertor!='=')//如果运算符不是等号,继续运算
{
scanf ("%d",&op2);//输入操作数2
switch(opertor)//根据输入的运算符进行运算
{
case '+':res=op1+op2;break;
case '-':res=op1-op2;break;
case '*':res=op1*op2;break;
case '/':res=op1/op2;break;
default:res=0;
}
op1=res;//把结果保存到操作数1,方便继续运算
opertor=getchar();//再次输入运算符号
}
printf("%d\n",res);//打印结果
}

注意:由于是没有区分运算符优先级的,完全是按照输入的先后顺序计算的,
所以上面这4个输入的式子要按从左到右计算,不能按照平常乘除优先于加减的习惯去计算。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式