C语言教学课件之选择结构程序设计.pptVIP

  • 1
  • 0
  • 约9.91千字
  • 约 53页
  • 2019-11-06 发布于广东
  • 举报
第*张 关系运算符 算术运算符 赋值运算符 低 高 !(非) 如果有 a>b?a∶b+1 相当于 a>b?a∶(b+1) 3.条件运算符优先级 || 条件运算符 第*张 4.条件运算符的结合方向 “自右至左” 如果有以下条件表达式: a>b?a∶c>d?c∶d 相当于 a>b?a∶(c>d?c∶d) 如果a=1,b=2,c=3,d=4,则条件表达式的值等于多少? 4 第*张 5.说明: 如 x? a∶b‘ x是整型变量,若x=0,则条件表达式的值为‘b’。 如  x>y?1∶1.5 如果x=y,则条件表达式的值为1.5,若x>y,值应为1,由于1.5是浮点型,比整型高,因此,将1转换成浮点型1.0。 (1)表达式1的类型可以与表达式2和表达式3的类型不同。 (2)表达式2和表达式3的类型也可以不同,此时条件表达式的值的类型为二者中较高的类型。 第*张 例5.4输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符 开始 ch是大写字母? 将ch转换成小写 输出ch Y N 结束 输出ch 怎么判断ch是大写还是小写? 第*张 main() {char ch; scanf(“%c, ch); ch=(ch=A ch=’Z)?(ch+32)∶ch; printf(“%c,ch) }      A(回车) a 第*张 5.4 switch 语 句 switch语句是多分支选择语句。用来实现如图所表示的多分支选择结构。 表达式 语句A 语句B 语句M 语句N p=p1 p=p2 p=pn p=pm …… switch结构只能对等式进行测试。 第*张 1.一般形式: switch(表达式) { case 常量表达式1:语句1 case 常量表达式2:语句2 … case 常量表达式n:语句n default :语句n+1 } 是整型、字符型或枚举类型表达式,case后面的常量表达式类型必须与之匹配。 每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象 第*张 例如,要求按照考试成绩的等级打印出百分制分数段 switch(grade) {case A∶printf(85~100\n); case B∶printf(70~84\n); case C∶printf(60~69\n); case D∶printf(<60\n); default∶printf(error\n); } 第*张 main() {char grade; scanf(%c,grade); switch(grade) {case A:printf(85~100\n); case B:printf(70~84\n); case C:printf(60~69\n); case D:printf(60\n); default:printf(error\n); } } 完整程序: A(回车) 85~100 70~84 60~69 60 error B(回车) 70~84 60~69 60 error 不会吧? 第*张 main() {char grade; scanf(%c,grade); switch(grade) {case ‘A’:printf(“85~100\n”);break; case ‘B’:printf(“70~84\n”); break; case ‘C’:printf(“60~69\n”); break; case ‘D’:printf(“60\n”); break; default:printf(“error\n”); break; } } 修改后的程序 A(回车) 85~100 B(回车) 70~84 在执行一个case分支后,使流程跳出switch结构,可以用一个break语句来达到此目的。最后一个分支(default)可以不加break语句。 各个case和default的出现次序不影响执行结果。 第*张 2.说明: (1)“case常量表达式”只是起语句标号作用,在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句。 (2)

文档评论(0)

1亿VIP精品文档

相关文档