你好Flyfish,第一次来这里!不知什么时候在网上看到小甲鱼的汇编教程!看后觉得讲课方式新颖,独特,详细!呵呵,以后也来这里和大家学习了!还请各位师兄师姐多多指教!以前也学过一些Delphi和其他编程语言!这个问题,我想如果你学过C或C++的话,就不是那么难理解了!在C中是这样写的#include <stdio.h>
int main()
{
float x,y,result;
char op;
printf("本程序仅演示加减乘除四则运算:(输入格式:18*99=)\n");
while (3 == scanf("%f%c%f=", &x, &op, &y) )//判断如果输入格式为44+78=,就进入循环,开始计算
{
switch(op) //op为分支条件或表达式
{
case '+':result = x + y;//如果分支为‘+’,即用户输入的第二个字符为加号,进行加法运算
break;
case '-':result = x - y;//如果分支为‘-’,即用户输入的第二个字符为减号,进行减法运算
break;
case '*':result = x * y;//如果分支为‘*’,即用户输入的第二个字符为乘号,进行乘法运算
break;
case '/':result = x / y;//如果分支为‘/’,即用户输入的第二个字符为除号,进行除法运算
break;
default:;
}
printf("%f\n", result);//输入结果!
return 0 ;
}
}
下面是Delphi的非完整代码
var
oper:char; //上面这里行类似于C中的 char oper;定义字符变量,应该能看懂
begin //注意这个Begin了,相当于C中的第一个大括号
case Oper of //相当于C中的Switch(op) ,这里以字符变量Oper作为条件,C中不放在大括号内 ,与C略有差异
'+':result:=temp+StrToFloat(Edit1.Text); //前面的'+'只是一个变量Oper的选项值而已,所以用单引号括起,StrToFloat();是Delphi字符型转浮点型函数
//第一个冒号,可以理解为标号,后面的冒号等于号则是Delphi中的赋值语法,给变量
//赋值,后面这个不加单引号的加号起加法运算作用
'-':result:=temp-StrToFloat(Edit1.Text);
//前面的'-'只是一个变量Oper的选项值而已,所以用单引号括起
//第一个冒号,可以理解为标号,后面的冒号等于号则是Delphi中的赋值语法,给变量
//赋值,后面这个不加单引号的减号起减法运算作用
'*':result:=temp*StrToFloat(Edit1.Text);
//前面的'*'只是一个变量Oper的选项值而已,所以用单引号括起
//第一个冒号,可以理解为标号,后面的冒号等于号则是Delphi中的赋值语法,给变量
//赋值,后面这个不加单引号的乘号起乘法运算作用
'/':result:=temp/StrToFloat(Edit1.Text);
//前面的'/'只是一个变量Oper的选项值而已,所以用单引号括起
//第一个冒号,可以理解为标号,后面的冒号等于号则是Delphi中的赋值语法,给变量
//赋值,后面这个不加单引号的除号起除法运算作用
end; //看这里代码块的结束,相当于C的后半个大括号!
对比C代码看下吧,希望能够帮到你! |