中国高校课件下载中心 》 教学资源 》 大学文库

湖南大学:《C语言程序设计》课程电子教案(PPT教学课件)第四章 逻辑运算和判断选取控制 §4.4 switch 语句–––开关语句 §4.5 程序举例、第五章 循环控制

文档信息
资源类别:文库
文档格式:PPT
文档页数:52
文件大小:905KB
团购合买:点击进入团购
内容简介
§4.4 switch 语句–––开关语句 §4.5 程序举例 §5.1 概述 §5.2 goto语句及与if语句构成循环 § 5 . 3 while 语 句 §5.4 do …while语句 §5.5 for语句 §5.6 循环的嵌套 §5.7 几种循环的比较 §5.8 break语句和contiune语句 §5.9 程序举例
刷新页面文档预览

888从从从从从座座从从从8从从幽8从从从从B8从从 G语 程序设计 i制作h刘金连

第一章C语言概述 ·第二章数据类型、运算符与表达式 ·第三章最简单的c程序设计 第四章逻辑运算和判断选取控制 ·第五章循环控制 第六章数组 ·第八章编译预处理 第九章指针 第十章结构体与共用体 第十二章文件的基本操作 第十三章位运算

• 第一章 C语言概述 • 第二章 数据类型、运算符与表达式 • 第三章 最简单的C程序设计 • 第四章 逻辑运算和判断选取控制 • 第五章 循环控制 • 第六章 数组 • 第八章 编译预处理 • 第九章 指针 • 第十章 结构体与共用体 • 第十二章 文件的基本操作 • 第十三章 位运算

s4.4 switch语自一开关语自 可题:当某一表达式有n个取值每一取值执行 语句,则如果用内嵌f十分繁锁,而用 switch简单. 般形式: switch(表达式) case常量表达式1:语句1 case常量表达式2:语句2 case常量表达式n:语句n default 语句n+1 c語醒设计

§4.4 switch 语句–––开关语句 问题: 当某一表达式有n个取值,每一取值执行一 语句,则如果用内嵌if十分繁锁,而用switch简单. 一般形式: switch(表达式) { case 常量表达式1: 语句1 case 常量表达式2: 语句2  case 常量表达式n: 语句n default : 语句n+1 }

例:根据成绩等级打印百分数段 switch(grade) i case A': printf("85-100n); case B: printf( 70-84n") case 'C: printf( 60-69n") case D: printf("<60n default: printf("errorin") c語醒设计

例: 根据成绩等级打印百分数段. 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"); }

功能 根据表达式的取值,判断其与哪一个 常量表达式相等。如=表达式i,则自语 句于始执行,直到语句n+1止 若与所有常量表达式值不相等,则从 default后的语句开始执行 c語醒设计

根据表达式的取值, 判断其与哪一个 常量表达式相等。如=表达式i,则自语 句i开始执行,直到语句n+1止。 若与所有常量表达式值不相等,则从 default后的语句开始执行。 功能:

例如: /*exp55c*/ #include maino char grade; scanf(%oc", &grade); switch(grade i case 'A: printf(85-100 n); case 'B: printf( 70-84n; case ' C: printf(60-69(n; case D: printf("<60 n); default: printf("ErrorIn") c語醒设计

例如: /*exp55.c*/ #include 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"); } }

运行结果: Au 85-100 70-84 60-69 <60 Error 程序运行结果不在预料之中 产生错误的原因:没有完全起到分支作用 c語醒设计

运行结果: A 程序运行结果不在预料之中! 产生错误的原因: 没有完全起到分支作用。 85-100 70-84 60-69 <60 Error

解决办法:增加 break语句,使之跳出 switch结构。 般形式为:|swch(表达式) {case常表1:语句1; re case常表2:语句2; break: case 常表n:语句n; breaks default:语句n+1; 设计

switch (表达式) { case 常表1: 语句1; break; case 常表2 : 语句2; break; … … case 常表n : 语句n; break; default: 语句n+1; } 一般形式为: 解决办法: 增加break语句, 使之跳出switch结构

修改程序为:/exp56C* #include main (0 i char grade; scanf("%", &grade); switch(grade) i case 'A: printf(85-100 n; break; case 'B: printf( 70-84 n); break; case 'C: printf( 60-69n"); break; case D: printf( <60n); break; default: printf( ErrorIn); c語醒设计

修改程序为: /*exp56.c*/ #include 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"); } }

注意 1.常量表达式的值必须互不相等,否则会有 二异性。 2.case顺序无关紧要。 3.不一定非用 break不可,有时几种情况合并 执行一组语句。 c語醒设计

1. 常量表达式的值必须互不相等,否则会有 二异性。 2. case顺序无关紧要。 3. 不一定非用break不可,有时几种情况合并 执行一组语句。 注意

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档