结构化程序设计2
让编程改变世界
Change the world by program
多分支Case语句
[codesyntax lang="delphi"]If ( a = 'F' ) Then ShowMessage('F'); If ( a = 'i' ) Then ShowMessage('i'); If ( a = 's' ) Then ShowMessage('s'); If ( a = 'h' ) Then ShowMessage('h'); If ( a = 'C' ) Then ShowMessage('C');[/codesyntax] // 大家对这段代码有何感想?! 当分支很多时,用IF语句来实现,需要嵌套很多层,写书不但烦琐,而且也容易出错。 为实现多分支,Delphi提供了Case语句,该语句又称多分支语句,其语法格式与功能如下。 [codesyntax lang="delphi"]
Case (表达式) of 值1: 语句1; 值2: 语句2; … 值n: 语句n; Else //这里的Else之前可以有分号 语句n+1; end;[/codesyntax] [功能]:根据变量的值,决定执行某个分支语句。 [说明]:执行Case语句时,首先计算“表达式”的值,如果是“值1”到“值n”之间的某个值,则执行该值后面对应的语句,否则执行Else 后面的语句,执行一个分支后将跳转到end;后面的语句执行。 [注意]: (1)“表达式”的值必须是顺序类型,即整型、字符型、布尔型、子界型和枚举型。 (2)“值1”到“值n”应该是“表达式”可能出现的值,它们还应该各不相同。如果“表达式”的某几个值对应的执行语句是相同的,那么可以将这几个值写在同一行上,以逗号分隔。 例如,当变量等于值1和值2时,都执行语句1,那么可以这样写: [codesyntax lang="delphi"]
Case (表达式) of 值1,值2: 语句1; …… …… ……[/codesyntax] (3)语句可以是简单语句,也可以是复合语句。 (4)Else 语句可以省略,省略时如果“表达式”的值与“值1”~“值n”中的任何一个值均不相等,则不执行任何分支,直接跳转到end后面的语句执行。 (5)Case语句可以用IF语句来实现,但IF语句不一定能用Case语句实现(请理解)。 [caption id="attachment_559" align="aligncenter" width="300"] 多分支Case语句[/caption] 实践时间:霓虹灯程序V2.0