第四章语言语句.pptVIP

  • 0
  • 0
  • 约6.78千字
  • 约 37页
  • 2023-03-27 发布于广东
  • 举报
第四章语言语句 第1页,共37页。 7.1 switch 语句: switch 语句是一条多分支选择语句. 在实际应用中,要在多种情况中选择一种情况,执行某一部分语句。 当然可以使用嵌套的if , if else if语句来处理,但其分支过多,程序冗长,难读, 不够灵巧。 * 第2页,共37页。 switch语句是C语言中处理多路选择问题的一种更直观和有效的手段. 在测试某个表达式是否与一组常量表达式中的某一值相配时,switch语句显得更为方便. 一般形式如下: * 第3页,共37页。 switch(表达式 ) { case ? 常量表达式1: 语句1 [break]; case ? 常量表达式2: 语句2 [break]; … case ? 常量表达式n: 语句n [break]; [default: 语句n+1] } 说明: (1). 关于表达式: 表达式可以是整型、字符型等表达式。 有一个确定的值(不是逻辑值). (2). 关于常量表达式1~n: 只起到一个标号的作用,根据表达式的值来判断, 找到一个相匹配的入口处,程序往下执行。 各个case后的常量表达式的值必须互不相同. (3). 每个case分支可有多条语句,可不用花括号{ }。 * 第4页,共37页。 switch(表达式 ) { case 常量表达式1: 语句1 [break]; case 常量表达式2: 语句2 [break]; … case 常量表达式n: 语句n [break]; [default: 语句n+1] } (4). 各个case 语句只是一个入口标号,并不确定执行的终止点. (5). 一般在各个case 语句最后应该加一break语句, 可使程序流程跳出Switch结构. 否则会从入口处一直向下执行. (6). 各个case和default 出现的先后次序,并不影响执行结果. default可以没有. * 第5页,共37页。 (7). 多个case可共用一组执行语句. 例如为了统计一段文字中的数字,字母及分隔符的个数, 可用下列程序段实现: switch(ch) { case ? ‘0’: case ? ‘1’: …. case ‘8’: case ‘9’: digit ++ ; break ; case ‘? ’: case ‘\n’: case ‘\t’: white++ ; break ; default : character++; break; } 这里有一个空格. 表达式后都有一冒号”:” . * 第6页,共37页。 无break语句 表达式==常量表达式1? 语句序列1 真(非0) break 假(0) 有break语句 无break语句 表达式=常量表达式2? 语句序列2 break 有break语句 真(非0) 假(0) 表达式=常量表达式n? 语句序列n break 真(非0) 假(0) 无break语句 语句序列n+1 有break语句 switch(表达式) * 第7页,共37页。 说明: switch语句不等同于if语句: 1. switch只能进行值的相等性的检查. 2. if语句不但可以进行相等性的检查, 还可以计算关系表达式或逻辑表达式,进行逻辑判断的真假. 只进行值的相等性 的检查,不是逻辑判断! * 第8页,共37页。 例7.1 键盘输入0-6之间的整数,分别代表每周的星期日、星期一、…、星期六 #include stdio.h int main( ) { int day; printf(请输入星期的数字编号(

文档评论(0)

1亿VIP精品文档

相关文档