Pascal - if then else 语句
if-then 语句后面可以跟一个可选的 else 语句,该语句在布尔表达式为 false 时执行。
语法
if-then-else 语句的语法是 −
if condition then S1 else S2;
其中,S1和S2是不同的语句。 请注意,语句 S1 后面没有分号。 在if-then-else语句中,当测试条件为true时,执行语句S1,跳过S2; 当测试条件为 false 时,则绕过 S1 并执行语句 S2。
例如,
if color = red then writeln('You have chosen a red car') else writeln('Please choose a color for your car');
如果布尔表达式条件计算结果为true,则将执行if-then代码块,否则将执行else代码块。
Pascal 假定任何非零和非零值均为 true,如果为零或 nil,则假定为 false 值。
流程图
示例
让我们尝试一个完整的示例来说明这个概念 −
program ifelseChecking; var { local variable definition } a : integer; begin a := 100; (* check the boolean condition *) if( a < 20 ) then (* if condition is true then print the following *) writeln('a is less than 20' ) else (* if condition is false then print the following *) writeln('a is not less than 20' ); writeln('value of a is : ', a); end.
当上面的代码被编译并执行时,会产生以下结果 −
a is not less than 20 value of a is : 100
if-then-else if-then-else 语句
if-then 语句后面可以跟一个可选的 else if-then-else 语句,这对于使用单个 if-then-else if 语句测试各种条件非常有用。
使用 if-then 、 else if-then 、 else 语句时,有几点需要牢记。
if-then 语句可以有 0 个或 1 个 else,并且它必须位于任何 else if 之后。
if-then 语句可以有零到多个 else if,并且它们必须位于 else 之前。
一旦 else if 成功,则不会测试其余的 else if 或 else。
最后一个 else 关键字之前没有分号 (;),但所有语句都可以是复合语句。
语法
Pascal 编程语言中 if-then-else if-then-else 语句的语法为 −
if(boolean_expression 1)then S1 (* Executes when the boolean expression 1 is true *) else if( boolean_expression 2) then S2 (* Executes when the boolean expression 2 is true *) else if( boolean_expression 3) then S3 (* Executes when the boolean expression 3 is true *) else S4; ( * executes when the none of the above condition is true *)
示例
下面的例子说明了这个概念 −
program ifelse_ifelseChecking; var { local variable definition } a : integer; begin a := 100; (* check the boolean condition *) if (a = 10) then (* if condition is true then print the following *) writeln('Value of a is 10' ) else if ( a = 20 ) then (* if else if condition is true *) writeln('Value of a is 20' ) else if( a = 30 ) then (* if else if condition is true *) writeln('Value of a is 30' ) else (* if none of the conditions is true *) writeln('None of the values is matching' ); writeln('Exact value of a is: ', a ); end.
当上面的代码被编译并执行时,会产生以下结果 −
None of the values is matching Exact value of a is: 100