case语句
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CASE I OF 1,2,3:WRITELN(’OK’); 4,5:WRITELN(’NO!’) END 上面的CASE也可以写成 CASE I OF 5,4:WRITELN(’NO!’); 3,1,2:WRITELN(’OK’); END 上面两段的作用效果是一样的!
Case解决的问题
输入年、月,输出该月有几天。 讨论:每年1、3、5、7、8、10、12月有31天; 4、6、9、11月有30天;2月闰年有29天,平 年28天; 28 提示:年号能被4整除,但不能被100整除, 或者年号能被400整除的年均为闰年。
数值n
语句1
语句2
语句n
语句
看看下面的程序段将怎样执行: I:=3; CASE I OF 注意:是冒号!
1,2,3:WRITELN(’YES’); 注意:有分号! 4:WRITELN(’NO’); ELSE WRITELN(’OK!’) END 注意:无分号!
CASE语句使用注意
注意: <1>表达式可以是整型,字符型,布尔型,但不能是实 型. <2>所有情况常量应互不相同,并且每个只允许出现 一次,并且应与表达式具有相同类型. <3>表达式所有可能的值必须在情况常量之内,即 若没有一个情况常量等于表达式的值是错误的. <4>每个语句的前面可附以一个或多个常量,用逗 号分开,语句可以是复合语句.
看看下面的程序是否合法:
不是唯一
CASE I*J OF 1,3:WR来自百度文库TELN(’YES’); 2,3:WRITELN(’NO’); END
设 I 是整型变量,看看下面两个例子哪个合法,哪个不合法?
程序一:CASE I OF 1,2,3:WRITELN(’OK!’) END; 程序二:CASE I OF ‘A’,’B’,’C’:WRITELN(’OK!’) END; 请大家注意:字符型的数据一定要加单引号!
条件 程序执行过程: 1当程序执行到CASE 语句部分的时候,首先 要先得到变量的值, 2然后在到下面去找看 跟哪个值一样,发现一 样的话就执行后面的那 个语句。 3如果都没有的话就执 行ELSE那个语句, 4如果没有ELSE语句就 跳过ELSE部分执行后 面的语句。
数值1
数值2
数值3
数值4
…….
PROGRAM JJZX(INPUT,OUTPUT); VAR J:INTEGER; BEGIN WRITELN(’请输入数字‘); READLN(J); CASE J OF 1: WRITELN(‘MONDAY’); 2: WRITELN(‘TUESDAY’); 3: WRITELN(‘THURSDAR’); 4: WRITELN(‘WENSDAY’); 5: WRITELN(‘FRIDAY’); 6: WRITELN(‘SATURDAY’); 7: WRITELN(‘SUNDAY’);(*注意此处有分号*) ELSE WRITELN(‘输入的数据不合法’) (*注意此处无分号* ) END END.
CASE语句 (或称情况语句) 语句
CASE语句是实现选择结构程序设计的另一种语句。它 的使用有时比IF语句来得简单、直观。
一般形式是: 一般形式是: CASE 表达式 OF 值表1:语句1; 值表2:语句2; …… 值表n:语句n; ELSE 语句n+1; END;
•语句可以是任何语句,包括复合语句 语句可以是任何语句, 语句可以是任何语句 和空语句。 和空语句。 •空语句:只是一个分号 空语句: 空语句 •值表里面可以有一个或若干个用逗号 值表里面可以有一个或若干个用逗号 隔开的值 •在CASE语句头上的表达式必须是有序类 在 语句头上的表达式必须是有序类 整型、字符型、 型(整型、字符型、布尔型以及后面要介 绍的枚举型、子界型,不能是实型)。 绍的枚举型、子界型,不能是实型)。 •值表是一些由逗号分开的多个数值。表达 值表是一些由逗号分开的多个数值。 值表是一些由逗号分开的多个数值 式所有可能的值必须在值表中出现, 式所有可能的值必须在值表中出现,且每 个值只能出现一次。 个值只能出现一次。
本节课需要完成的网站习题: 本节课需要完成的网站习题 d015, d017, d051
PROGRAM JJZX(INPUT,OUTPUT); VAR year, MONTH,DAY:INTEGER; BEGIN WRITELN(’input year and month:‘); READLN( year, MONTH); CASE MONTH OF 9,4,6,11: DAY:=30; 2:if (year mod 4=0) and (year mod 100<>0) or (year mod 400=0) then DAY:=29 else day:=28; 1,3,5,7,8,10,12:DAY:=31; END; WRITELN(year:6, MONTH:4,DAY:4) END.
Jie_227@126.com
第 九 课
Pacal语言中选择 Pacal语言中选择 结构语句(分支) 结构语句(分支)
CASE语句
前面几堂课我们学习了IF语句,但IF 语句有一个 致命的缺点——就是只能对两种情况做出判断,即: 是或不是。如果有多种情况就要采用复合的IF语句, 这又为编程带来了一些不方便,同时也为以后的阅读 程序、修改程序带来了不方便。 比如说下面的情况: 实现把数字的星期几变成英文的星期几。 也就是说:在键盘上输入一个1,那么就显示: MONDAY。输入一个2,就显示TUESDAY。 想想用IF语句来实现这个程序应该如何做?