tcl表达式:运算符和优先级
2006-09-12 22:42:0
下面的表格中列出了TCL中用到的运算符,它们的语法形式和用法跟ANSI C中很相似。这里就不一一介绍。下表中的运算符是按优先级从高到低往下排列的。同一格中的运算符优先级相同。
语法形式 | 结果 | 操作数类型 |
-a !a ~a | 负a 非a | int,float int,float int |
a*b a/b a%b | 乘 除 取模 | int,float int,float int |
a+b a-b | 加 减 | int,float int,float |
a<<b a>>b | 左移位 右移位 | int int |
a<b a>b a<=b a>=b | 小于 大于 小于等于 大于等于 | int,float,string int,float,string int,float,string int,float,string |
a= =b a!=b | 等于 不等于 | int,float,string int,float,string |
a&b | 位操作与 | int |
a^b | 位操作异或 | int |
a|b | 位操作或 | int |
a&&b | 逻辑与 | int,float |
a||b | 逻辑或 | int,float |
a?b:c | 选择运算 | a:int,float |
tcl表达式:数学函数
2006-09-12 22:45:0
TCL支持常用的数学函数,表达式中数学函数的写法类似于C\C++语言的写法,数学函数的参数可以是任意表达式,多个参数之间用逗号隔开。例如:
%set x 2
2
% expr 2* sin($x<3)
1.68294196962
其中expr是TCL的一个命令,语法为: expr arg ?arg ...?
%set x 2
2
% expr 2* sin($x<3)
1.68294196962
其中expr是TCL的一个命令,语法为: expr arg ?arg ...?
两个 ?之间的参数表示可省,后面介绍命令时对于可省参数都使用这种表示形式。 expr可以有一个或多个参数,它把所有的参数组合到一起,作为一个表达式,然后求值:
%expr 1+2*3
7
%expr 1 +2 *3
7
需要注意的一点是,数学函数并不是命令,只在表达式中出现才有意义。
TCL中支持的数学函数如下
abs( x) Absolute value of x.
acos( x) Arc cosine of x, in the range 0 to p.
asin( x) Arc sine of x, in the range -p/2 to p/2.
atan( x) Arc tangent of x, in the range -p/2 to p/2.
atan2( x, y) Arc tangent of x/ y, in the range -p/2 to p/2.
ceil( x) Smallest integer not less than x.
cos( x) Cosine of x ( x in radians).
cosh( x) Hyperbolic cosine of x.
double( i) Real value equal to integer i.
exp( x) e raised to the power x.
floor( x) Largest integer not greater than x.
fmod( x, y) Floating-point remainder of x divided by y.
hypot( x, y) Square root of ( x 2 + y 2 ).
int( x) Integer value produced by truncating x.
log( x) Natural logarithm of x.
double( i) Real value equal to integer i.
exp( x) e raised to the power x.
floor( x) Largest integer not greater than x.
fmod( x, y) Floating-point remainder of x divided by y.
hypot( x, y) Square root of ( x 2 + y 2 ).
int( x) Integer value produced by truncating x.
log( x) Natural logarithm of x.
log10( x) Base 10 logarithm of x.
pow( x, y) x raised to the power y.
round( x) Integer value produced by rounding x.
sin( x) Sine of x ( x in radians).
sinh( x) Hyperbolic sine of x.
sqrt( x) Square root of x.
tan( x) Tangent of x ( x in radians).
tanh( x) Hyperbolic tangent of x.
TCL运算符优先级按从高到低排列中有很多命令都以表达式作为参数。最典型的是expr命令,另外if、while、for等循环控制命令的循环控制中也都使用表达式作为参数。
TCL运算符优先级按从高到低排列中有很多命令都以表达式作为参数。最典型的是expr命令,另外if、while、for等循环控制命令的循环控制中也都使用表达式作为参数。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论