第1个回答 2008-08-06
1):首先要知道语言的层次结构,通常会有直接使用“+”“-”“*”“%”语言都是高级语言。这些语言写的代码经过编译前端编译后生成中间代码,最后经过编译后端处理成目标代码,也就是在目标平台上可执行的二进制代码。
2):要知道计算机能执行的只是二进制的代码。无论是高级语言表达式,如(1+2),还是汇编语言,add r1,r2,r3. 都要翻译成目标平台的二进制代码。
如果你学过微型计算机原理,应该知道一个汇编指令,最终要执行还得用处理器的微指令来表达。
3):最后这些微指令转化成电信号,控制处理器内的众多的与或非门,来实现你想要做的运算。
第2个回答 2013-01-18
有些小麻烦 但是一定能算出
#include<stdio.h>
int main()
int a,b,c,d;
int add(int a,int b);
int jian(int a,int b);
int cheng(int a,int b);
int chu(int a,int b);
int (*p)(int a,int b);
printf("please enter 1or2or3or4");
printf("\n");
scanf("%d",&d);
if(d==1)
p=add;
if(d==2)
p=jian;
if(d==3)
p=cheng;
if(d==4)
p=chu;
printf("please enter a and b");
printf("\n");
scanf("%d,%d",&a,&b);
c=(*p)(a,b);
printf("%d",c);
return 0;
}
int add(int a,int b)
{
int c;
c=a+b;
return (c);
}
int jian(int a,int b)
{
int c;
c=a-b;
return (c);
}
int cheng(int a,int b)
{
int c;
c=a*b;
return(c);
}
int chu(int a,int b)
{
int c;
if(b==0)
return(0);
else c=a/b;
return (c);
}