switch结构实例(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
switch 结构实例
switch 结构是另一种形式的选择结构。程序员可以根据一个单精度整形数,字符或逻辑表达式的值来选择执行特定的代码语句块。
switch (switch_expr)
case case_expr_1,
⎭⎬⎫Statement 1Statement 2...
Block 1 case case_expr_2
⎭⎬⎫Statement 1Statement 2...
Block 2 ...
otherwise,
⎭⎬⎫Statement 1Statement 2...
Block n end
如果switch_expr 的值与case_expr_1相符,那么第一个代码块将会被执行,然后程序将会跳到switch 结构后的第一个语句。如果switch_expr 的值与case_expr_2相符,那么第二个代码块将会被执行,然后程序将会跳到switch 结构后的第一个语句。在这个结构中,用相同的方法来对待其他的情况。otherwise 语句块是可选的。如果它存在的话,当switch_expr 的值与其他所有的选项都不相符时,这个语句块将会被执行。如果它不存在,且witch_expr 的值与其他所有的选项都不相符,那么这个结构中的任何一个语句块都不会被执行。这种情况下的结果可以看作没有选择结构,直接执行MA TLAB 语言。
如果说switch_expr 有很多值可以导致相同代码的执行,那么这些值可以括在同一括号内,如下所示。如果这个switch 表达式和表中任何一个表达式相匹配,那么这个语句块将会被执行。
switch (switch_expr)
case {case_expr_1, case_expr_2, case_expr_3},
⎭⎬⎫Statement 1Statement 2...
Block 1 otherwise,
⎭⎬⎫Statement 1Statement 2...
Block n end
switch_expr 和每一个case_expr 既可以是数值,也可以是字符值。
注意在大多情况下只有一个语句块会被执行。当一个语句块被执行后,编译器就会跳到end 语句后的第一个语句开始执行。如果switch 表达和多个case 表达式相对应,那么只有他们中的第一个将会被执行。
例:
下面的语句用来判断1到10之间的数是奇数还是偶数。它用来说明一系列的case 选项值的应用和otherwise 语块的应用。
switch (value)
case {1, 3, 5, 7, 9},
disp('The value is odd.');
case {2, 4, 6, 8, 10},
disp('The value is even.');
otherwise,
disp('The value is out of range.'); end