📜  Tcl-决策

📅  最后修改于: 2020-10-16 06:26:05             🧑  作者: Mango


决策结构要求程序员指定一个或多个要由程序评估或测试的条件,以及确定条件为真的情况下要执行的一条或多条语句,如果条件确定,则还可以指定要执行的其他语句确定为假。

以下是大多数编程语言中常见的典型决策结构的一般形式-

做决定

Tcl语言在内部使用expr命令,因此我们不需要显式使用expr语句。

Tcl语言提供以下类型的决策声明-

Sr.No. Statement & Description
1 if statement

An ‘if’ statement consists of a Boolean expression followed by one or more statements.

2 if…else statement

An ‘if’ statement can be followed by an optional ‘else’ statement, which executes when the Boolean expression is false.

3 nested if statements

You can use one ‘if’ or ‘else if’ statement inside another ‘if’ or ‘else if’ statement(s).

4 switch statement

A switch statement allows a variable to be tested for equality against a list of values.

5 nested switch statements

You can use one switch statement inside another switch statement(s).

? :运算符

我们已经涵盖了条件运算符? :在上一章中,可用于替换if … else语句。它具有以下一般形式-

Exp1 ? Exp2 : Exp3;

其中Exp1,Exp2和Exp3是表达式。注意冒号的使用和放置。

‘?的值表达式”的确定如下:计算Exp1。如果为true,则对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" 

当您编译并执行上述程序时,它将产生以下结果-

Value of b is 30
Value of b is 20