决策结构要求程序员指定程序要评估或测试的一个或多个条件,以及在条件被确定为真时要执行的语句,以及可选的其他语句如果条件被确定为假.
以下是在大多数编程语言中找到的典型决策结构的一般形式 :
Tcl语言在内部使用expr命令,因此我们不需要使用expr语句显式.
Tcl语言提供以下类型的决策制定语句 :
Sr.No. | Statement&说明 |
---|---|
1 | if语句 'if'语句由一个布尔表达式后跟一个或多个语句组成. |
2 | if ... else语句 'if'语句后面跟一个可选的'else'语句,该语句在布尔表达式时执行是假的. |
3 | 嵌套if语句 您可以在另一个内部使用一个'if'或'else if'语句if'或'else if'statement(s). |
4 | switch语句 A 开关声明允许变量针对值列表进行相等性测试. |
5 | 嵌套 switch语句 您可以使用一个在另一个开关语句中切换语句. |
我们已经涵盖了条件运算符? :在前一章中,可用于替换 if ... else 语句.它具有以下一般形式 :
Exp1? Exp2:Exp3;
其中Exp1,Exp2和Exp3是表达式.注意冒号的使用和放置.
a'的值?表达式'是这样确定的:评估Exp1.如果是,那么Exp2会被评估并成为整个'?的值?如果Exp1为false,则计算Exp3,其值变为表达式的值.示例如下所示.
#!/usr/bin/tclsh set a 10; set b [expr $a == 1 ? 20: 30] puts "Value of b is $b\n" set b [expr $a == 10 ? 20: 30] puts "Value of b is $b\n"
编译并执行上述程序时,它会产生以下结果 :
b的值是30 b的值是20