第4章 选择结构解析.pptVIP

  • 23
  • 0
  • 约1.37万字
  • 约 52页
  • 2016-10-28 发布于湖北
  • 举报
2、switch语句构成多分支 break;结束switch语句 switch(开关表达式) { case 常量1: 语句1; break; case 常量2: 语句2; break;  … case 常量n: 语句n; break; default : 语句n+1; break; } #include stdio.h void main() {int a; printf(input a integer: ); scanf(%d,a); switch(a) {case 1: printf(Monday\n); break; case 2: printf(Tuesday\n); break; case 3: printf(Wednesday\n); break; case 4: printf(Thursday\n); break; case 5: printf(Friday\n); break; case 6: printf(Saturday\n); break; case 7: printf(Sunday\n); break; default: printf(Error\n); } } 【例4-10】修改例4-9的程序,在每一个case语句之后增加break语句, 使每一个case执行之后均可跳出switch语句,从而避免输出不需要的结果。 switch语句使用注意事项 ? ? switch后“开关表达式”允许为任何类型,但一般为整型。 在每一个case后各常量表达式的值不能相同,否则会出错。 (3) 在case后,允许有多个语句,可以不用{ }括起来。 (4) case和default子句出现顺序可以变动,有break语句时不会影响程序执行结果。default子句也可以没有。 (5) 多个case可以共用一组执行语句。例如: case A: case B: case C:printf(60\n);break; (6) break(中断)语句放在switch某语句组之后,跳出(该层) switch语句。 (7)switch语句遇break或右大括号}结束。 switch嵌套应用 #include stdio.h void main() { int x=1,y=0,a=1,b=0; switch(x) { case 1: switch(y) { case 0: a++; case 1: b++; break; } case 2: a++; b++; break; } printf(a=%d,b=%d\n,a,b); } 4.3.3 if语句的嵌套 当if语句中的语句体又是if语句时,就叫if语句的嵌套。C语言对if嵌套的层数没有限制。在双分支if语句中语句1和语句2均嵌套的形式为: if (表达式) if (表达式) 语句11; else 语句12; else if (表达式) 语句21; else 语句22; 有时可能只有语句1或语句2嵌套,也可能有多层嵌套(各层可能单分支或双分支),因此有很多种情况。 嵌套if语句避免出错要点 ①按if—else配对原则设计嵌套。(使每个else与其前面最近的尚未配对的if匹配。) ②当内层if语句是单分支时,尽可能嵌套在外层else子句中;如果一定要嵌套在内层if子句中,必须要加花括号。 ③按正确的缩进格式书写程序。 if (表达式) if (表达式) 语句1; else 语句2; 注意: else 与第二个if配对,要让其与第一个if配对,则应写成 if(表达式) { if(表达式) 语句1; } else 语句2; 【例4-12】求符号函数 的值 #include stdio.h void main() { int x,y ;? scanf(” %d ”?,x)?; if(x0) y=-1?; else if(x==0) y=0?; else y=1; print

文档评论(0)

1亿VIP精品文档

相关文档