第五课布尔表达式IF语句
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这些关系运算符分别为等于、不等于、大于、小于、大于等于和小于等于。关系式 代表一个布尔值,关系式成立时的值为TRUE,否则值为FALSE。所以关系式是简单的布尔 表达式。 除了整型和实型可以在关系运算符两边混合出现外,关系运算符两边的表达式的值 必须是相同的有序类型。例如,字符不能和数值比较。 两个及多个关系运算符不能连用。例如,a<b<c不是符合语法的关系式。 布尔表达式是由布尔型的常量、变量、函数、关系式、布尔运算符及圆括号组成的 表达式,它的值是布尔类型。 Pascal语言中有3个布尔运算符:AND(逻辑与)、OR(逻辑或)和NOT(逻辑否)。布尔运 算也称逻辑运算。
a 0 0 1 1
b 0 1 0 1
and 0 0 0 1
or 0 1 1 1
not 1 0 0 0
习题
1.当a=TURE、b=FALSE、c=FALSE时,下列布尔表达式的值是什么? (1) NOT a AND b OR c (2) NOT (a AND b) OR c (3) NOT a AND (b OR c) (4) 6 DIV 4 = 5 MOD 4 2。P41:分析例4-12
一、布尔常量和布尔变量 1.布尔常量的数据只有二个:真和假,分 别用标准常量 TRUE( 真 ) 和 FALSE( 假 )• 来表示。
第五课
布尔表达式、IF语句
二、布尔表达式 关系式是由一个关系运算符(也称比较符)将两个算术表达式或两个字符表达式联 结起来的式子。关系运算符有以下6个: = <> > < >= <=
本例也可以用两条if语句来实现,程序如下。
program example4_1_2; var x,y: integer; begin readln(x,y); if x<y then writeln(x); if y<=x then writeln(y) end.
第五课
布尔表达式、IF语句
例4-2 输入一个年号(year),判断它是不是闰年。 判断某年是否闰年的条件是被4整除而不能被100整除,或者能被•400整除。 因此当布尔表达式 ((year MOD 4=0) AND (year MOD 100<>0)) OR •(•year MOD 400=0) 的值 等于TRUE时,这一年就是闰年。 program example4_2; var year:integer; begin write('Enter year: '); readln(year); if ((year MOD 4=0) AND (year MOD 100<>0)) OR (year MOD 400=0) then writeln(year:6, ' is a leap year.') else writeln(year:6, ' is not a leap year.'); readln; end.
第五课选择结构
布尔表达式、IF语句
选择结构
选择性语句包括 if 语句和 case 语句。选择 性语句实现程序的选择结构。 第一节 布尔运算 要判断“a>b”是否成立,其结果并不是一 个数值,而是“成立”或“不成立”。也可用 “真”或“假”这样的逻辑值来表示。在 Pascal 语言中,具有这种性质的数据类型是布 尔类型。 2.布尔变量必须预先定义后 使用。 例如: var a,b:boolean; begin a:=TRUE; b:=FALSE; …… 其中, a 和 b 为布尔类型 的变量。boolean是预定义标 识符,意为“布尔型”。
第五课
布尔表达式、IF语句
由于布尔表达式中可能同时出现算术运算符、关系运算符和布尔运算符,为了确定表达式的求值规则, Pascal规定了这些运算的优先顺序: ① 括号 ② 函数 ③ NOT ④ *、/、DIV、MOD、AND ⑤ +、-、OR ⑥ >、<、>=、<=、<>、= 例如,当a的值为TRUE时,b为FALSE时,以下是一些符合语法的布尔表达式及其值。 a AND b 的值为FALSE a OR b 的值为TRUE NOT a AND b 的值为FALSE NOT a OR b 的值为FALSE NOT (a OR b) 的值为FALSE NOT b OR a 的值为TRUE NOT (b OR a) 的值为TRUE 3>4 的值为FALSE (3<=4) AND a 的值为TRUE a<>b 的值为TRUE a<b 的值为FALSE (a=b) OR (’a’<’b’) 的值为TRUE
第五课
布尔表达式、IF语句
FALSE 布尔表达式 布Biblioteka Baidu表达式
FALSE
TRUE
TRUE
语句1
语句1
语句2
第五课
布尔表达式、IF语句
例4-1 输出两个整数中的较小数。
program example4_1_1; var x,y:integer; begin readln(x,y); if x<y then writeln(x) else writeln(y) end.
F
T F
T
第五课
布尔表达式、IF语句
三、布尔型数据的输入和输出 将一个布尔表达式赋值给一个布尔变量时,可以用赋值语句。不能用read•或readln 语句从外部设备向计算机输入一个布尔变量的值。 例如,定义a为布尔变量,read(a)•是一条错误的语句,赋值语句a:=(3>=4) or (7<8) 是符合语法的。 输 出 一 个 布 尔 型 数 据 可 用 write 或 writeln 。 例 如 当 a 的 值 为 TRUE 时 , 执 行 语 句 writeln(’a=’,a),则输出结果是: a= TRUE 例如执行语句writeln(3+4<5),则输出结果是: FALSE。
第五课
布尔表达式、IF语句
第二节 if语句
if语句由一个布尔表达式和两个供选择的语句组成。运行时根据布尔表达式求值的结 果,选取其中之一的语句执行。
有两种形式的if语句:
① if ② if <布尔表达式> <布尔表达式> then then else <语句1> <语句1> <语句2>
当布尔表达式的值为真,则执行then后面的语句。值为假时有两种情况:要 么什么也不做,要么执行else后面的语句。注意else前面没有分号,•因为分号 是两个语句间的分隔符号,而else并非语句。如果在该处画蛇添足加了分号, 则编译时就会认为if语句到此结束,而把else当作另一语句的开头,输出语法 错误的信息。