运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。
Tcl语言有丰富的内置运算符,运算符提供的以下几种类型:
算术运算符
关系运算符
逻辑运算符
位运算符
三元运算符
本教程将一个一个地来解释算术,关系,逻辑,位及其他运算符。
算术运算符
下表列出了所有Tcl语言支持的算术运算符。假设变量A=10,变量B=20,则:
算术运算实例

关系运算符
下表列出了所有Tcl语言支持的关系运算符。假设变量A=10,以及变量B=20,则:
关系运算符例子

逻辑运算符
下表列出了所有Tcl语言支持的逻辑运算符。假设变量A=1和变量B=0,则:
逻辑运算符例子

位运算符
位运算符适用于位并进行逐位操作。&, |, 和 ^ 的真值表如下:

假设,如果A =60;且B =13;现在以二进制格式它们将如下:
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001 |
通过Tcl语言支持位运算符列在下表中。假设变量A=60和变量B=13,则:
位运算符例子

三元运算符
三元运算符例子

Tcl运算符优先级
运算符优先级决定术语的表达分组。这会影响一个表达式是如何进行计算。某些运算符的优先级高于其他运算符;例如,乘法运算符的优先级比所述加法运算高。
例如:x =7 + 3* 2;这里,x被赋值13,而不是20,因为运算符 * 优先级高于+,所以它首先被乘以3
* 2,然后加上 7。
这里,具有最高优先级的操作出现在表格上方,那些具有最低出现在底部。在一个表达式中,更高的优先级运算符将首先计算。
运算符优先级示例

|