当前位置: 首页 > 文档资料 > Pascal 中文教程 >

Show 例子 5

优质
小牛编辑
130浏览
2023-12-01

运算符优先级确定表达式中的术语分组。 这会影响表达式的计算方式。 某些运算符的优先级高于其他运算符; 例如,乘法运算符的优先级高于加法运算符。

例如x = 7 + 3 * 2; 这里,x被赋值为13,而不是20,因为operator *的优先级高于+,所以它首先乘以3 * 2然后加到7中。

此处,具有最高优先级的运算符显示在表的顶部,具有最低优先级的运算符显示在底部。 在表达式中,将首先评估更高优先级的运算符。 下表表示Pascal运算符优先级 -

操作者优先权
~, not,Highest
*, /, div, mod, and, &
|, !, +, -, or,
=, <>, <, <=, >, >=, in
否则,然后Lowest

请尝试以下示例以了解Pascal中可用的运算符优先级 -

program opPrecedence;
var
a, b, c, d : integer;
e: real;
begin
   a := 20;
   b := 10;
   c := 15;
   d := 5;
   e := (a + b) * c/d;      (* ( 30 * 15 )/5 *)
   writeln('Value of (a + b) * c/d is : ',  e:3:1 );
   e := ((a + b) * c)/d;    (* (30 * 15 )/5  *)
   writeln('Value of ((a + b) * c)/d is  : ' ,  e:3:1 );
   e := (a + b) * (c/d);   (*  (30) * (15/5)  *)
   writeln('Value of (a + b) * (c/d) is  : ',  e:3:1);
   e := a + (b * c)/d;     (*  20 + (150/5)  *)
   writeln('Value of a + (b * c)/d is  : ' ,  e:3:1 );
end.

编译并执行上述代码时,会产生以下结果:

Value of (a + b) * c/d is : 90.0
Value of ((a + b) * c)/d is  : 90.0
Value of (a + b) * (c/d) is  : 90.0
Value of a + (b * c)/d is  : 50.0