For example,suppose we have a large program containing a construct like the one that follows. if (test1) if (test2) ■ if (test3) ■ … end ■ end end 11
11 For example, suppose we have a large program containing a construct like the one that follows. … if (test1) … if (test2) … if (test3) ... end … end … end
例:根据考试成绩,分成AB/CD/F等级。 grade≥95 A 95>grade≥ 86 B 86>grade≥76 C 76>grade≥66 D 66>grade≥0 F ■用f结构进行分级描述: (a)多个if语句结构 (b)嵌套f结构 12
12 例:根据考试成绩,分成A/B/C/D/F等级。 grade ≥ 95 A 95 > grade ≥ 86 B 86 > grade ≥ 76 C 76 > grade ≥ 66 D 66 > grade ≥ 0 F 用 if 结构进行分级描述: (a) 多个if语句结构 (b) 嵌套 if 结构
Solution (a)多个if语句结构 if grade >=95.0 disp('The grade is A.'); elseif grade >=86.0 disp("The grade is B.'); elseif grade >=76.0 ■ disp("The grade is C.'); elseif grade >=66.0 ■ disp("The grade is D.'); ■ else ■ disp("The grade is F.'); end 13
13 Solution (a) 多个if语句结构 if grade > =95.0 disp('The grade is A.'); elseif grade > =86.0 disp('The grade is B.'); elseif grade > =76.0 disp('The grade is C.'); elseif grade > =66.0 disp('The grade is D.'); else disp('The grade is F.'); end
■ (b)嵌套f结构 if grade >=95.0 disp('The grade is A.'); else if grade >=86.0 disp("The grade is B.); else ■ if grade >=76.0 ■ disp('The grade is C.); ■ else ■ if grade >=66.0 ■ disp('The grade is D.) ◆ else ■ disp('The grade is F.); end ■ end 图 end 14 ■ end
14 (b) 嵌套if 结构 if grade > =95.0 disp('The grade is A.'); else if grade > =86.0 disp('The grade is B.'); else if grade >= 76.0 disp('The grade is C.'); else if grade >= 66.0 disp('The grade is D.'); else disp('The grade is F.'); end end end end
迎 2.3.3 switch结构 switch (switch_expr) otherwise case case expr I statement1 statement1 statement2 > block3 statement2 block1 end case case expr 2 说明: statement1 ()switch_expr是标量或字 statement2 block2 符串; (2)case后面的值可以是标 量、字符串或元胞数组; 15
15 2.3.3 switch 结构 说明: (1)switch_expr是标量或字 符串; (2) case后面的值可以是标 量、字符串或元胞数组; case case_expr_1 statement1 statement2 block1 ………… case case_expr_2 statement1 statement2 block2 ………… otherwise statement1 statement2 block3 …………. end switch (switch_expr)