|
发表于 2012-2-23 09:15:07
|
显示全部楼层
你好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代码看下吧,希望能够帮到你! |
|