Pascal - 嵌套 if-then 语句
在 Pascal 编程中嵌套 if-else 语句始终是合法的,这意味着您可以在内部使用一个 if 或 else if 语句 另一个 if 或 else if 语句。 Pascal 允许嵌套到任何级别,但是,这取决于特定系统上的 Pascal 实现。
语法
嵌套 if 语句的语法如下 −
if( boolean_expression 1) then if(boolean_expression 2)then S1 else S2;
您可以像嵌套 if-then 语句一样嵌套 else if-then-else。 请注意,嵌套的 if-then-else 结构会导致哪些 else 语句与哪个 if 语句配对产生一些歧义。 规则是 else 关键字与尚未与 else 关键字匹配的第一个 if 关键字(向后搜索)匹配。
上面的语法相当于
if( boolean_expression 1) then begin if(boolean_expression 2)then S1 else S2; end;
它不等于
if ( boolean_expression 1) then begin if exp2 then S1 end; else S2;
因此,如果情况需要稍后的构造,那么您必须将 begin 和 end 关键字放在正确的位置。
示例
program nested_ifelseChecking; var { local variable definition } a, b : integer; begin a := 100; b:= 200; (* check the boolean condition *) if (a = 100) then (* if condition is true then check the following *) if ( b = 200 ) then (* if nested if condition is true then print the following *) writeln('Value of a is 100 and value of b is 200' ); writeln('Exact value of a is: ', a ); writeln('Exact value of b is: ', b ); end.
当上面的代码被编译并执行时,会产生以下结果 −
Value of a is 100 and b is 200 Exact value of a is : 100 Exact value of b is : 200