C语言项目式教程项目三 使用选择结构实现系统菜单--选择结构之switch语句

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

语句序列n+1
例题1:根据输入的数据判断星期几
分析:这个问题其实就 是根据输入数据的值( 1-7),输出相应的星期 几(Monday-Sunday) ,程序流程如图
开始
输入整数变量a的值 T 输出 “Monday” 输出 “Tuesday” 输出 “Wednesday” 输出 “Thursday”
计算表达式 T
表达式的值==常量表达式1 F 表达式的值==常量表达式2 F 表达式的值==常量表达式i F 表达式的值==常量表达式n F
语句序列1 T 语句序列2 T 语句序列i T
语句序列n
执行过程:先计算switch表达式的值,然 后自上而下和case后的常量表达式的值 进行比较,如果相等则执行其后的语句序 列,假定入口是常量表达式2,那么该语 句执行语句序列2,当语句序列2执行完 毕后,若有break语句,则中断switch语 句的执行,否则继续执行语句序列3、语 句序列4,一直到语句序列n。如果没有 和表达式的值相匹配的常量表达式,则执 行default后的语句。
(1)运行该程序,结果会是多少? (2)若a=5,b=4,结果会是多少?
(3)若a=4,b=4,结果会是多少?
(4)设a=5,b=6,若在第1个case 5要执行 的语句后再加一个break,结果会是?
}
} return 0;
case 6:printf("D\n"); break; default:printf("E\n");
输入 Input the score:70
输出 C
课后习题:
运行如下程序,分析并给出结果 int a=5,b=6,i=0,j=0; switch(a) { case 5:switch(b) { case 5: i++; break; case 6: j++; break; default: i++; j++; } case 6: i++; j++; break; default: i++; j++; } printf("i=%d,j=%d\n",i,j);
学习目标
掌握switch多分支语句的格式; 掌握switch语句的执行过程; 理解多分支选择结构,并能用switch语句 解决实际问题。
switch语句 C语言中,解决多分支选择问题,除了可以利用if语句的嵌套外,还可以 采用switch语句来实现。switch语句称为开关语句,其一般格式为: switch(表达式) { case 常量表达式1: 语句序列1; [break] case 常量表达式2: 语句序列2; [break] …; case 常量表达式n: 语句序列n; [break] default: 语句序列n+1; }
输入 Input integer number:1 输出
Monday Tuesday
任务诠释
根据学生成绩输出A、B、C、D、E
#include <stdio.h> int main(){ int a,s; printf("Input the score:"); scanf("%d",&s); a=s/10; switch (a){ case 10: case 9:printf("A\n"); case 8:printf("B\n"); break; case 7:printf("C\n"); break;
a==1 F a==2 F a==3 F a==4 F
break;
TБайду номын сангаас
break;
T
break;
T
break;
T a==5 F a==6 F a==7 T 输出“Sunday” break; T 输出 “Saturday” break; 输出“Friday” break;
输出“error”
结束
#include <stdio.h> int main(){ int a; printf("input integer number:"); scanf("%d",&a); switch (a) { case 1:printf("Monday\n"); 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"); } return 0; }
C语言程序设计
选择结构之
switch 语句
任务场景 在第一次数学考试后,老师要小芳帮忙统计 课程成绩,并要求根据百分制成绩输出对应 的等级。
请你帮助小芳设计好程序,输入 课程成绩,输出对应的等级吧!
任务分析 今天任务中提出的根据输入的百分制成绩输出对应的等级 信息,首先得了解成绩与等级相对应的条件: 成绩>=90 输出等级为:A; 80<=成绩<90 输出等级为: B; 70<=成绩<80 输出等级为: C; 60<=成绩<70 输出等级为: D; 成绩<60 输出等级为: E 完成此编程任务就需要根据成绩进行多次比较,才能求出 对应的等级,解决这种多分支选择问题,除了上回讲解的if 语句的第三种形式外,还可使用switch语句。
相关文档
最新文档