【精品】运算符、布尔运算、表达式、标准函数
运算符、布尔运算、表达式、标准函数 hb007 发表于 2006-3-22 19:24:26 一、运算符 例如: 4 + 5 = 9 2*3 = 6/ 2 = 2. 5 5 div 2=2 1、算术运算符 运算 符 运算 运算对象 结果类型 + 加 整型、实型 只要有一个运算对象是实型,结果就 是实型,如果全部的运算对象都是整 型并且运算不是除法,则结果为整型, 若运算是除法,则结果是实型 - 减 整型、实型 * 乘 整型、实型 / 除 整型、实型 div 整除 整型 整型 mod 取余 整型 整型 8-3 = 5 12 * 24 = 408 34 / 12 = 2. 83 123 div 4 = 30 5 mod 2=1 12 mod 5=2 2、逻辑运算符 运算符 运算 运算对象 结果类型 not 逻辑非 布尔型 布尔型 and 逻辑与 布尔型 布尔型 or 逻辑或 布尔型 布尔型 它们的运算真值表如下: a b not b a and b a or b false false t rue false false false t rue t rue false t rue t rue false false false t rue t rue true false t rue t rue 3、关系运算符 运算符 运算 运算对象 结果类型 = 等于 简单类型 布尔型 不等于 简单类型 布尔型 大于 简单类型 布尔型 〈二 小于等于 简单类型 布尔型 〉二 大于等于 简单类型 布尔型 例如:设a, b为标准数据类型的变量,则: a=b aOb ab a=b 如果a等于b结果为真,否则为假。 如果a不等于b结果为真,否则为假。 如果a小于b结果为真,否则为假。 如果a大于b结果为真,否则为假。 如果a小于等于b结果为真,否则为假。 如果a在于等于b结果为真,否则为假。 例如: 5=5 5=10 结果为真。 结果为假。 falsetrue结果为假。 A 〈 C 12. 5>-8 24>=21 10. 3Y”是否成立,其结果不是一个算术量(即数值),而是“成 立”或“不成立”,也可以用“真”表示“成立”,用“假”表示“不 成立”,也就是说,它的结果是一个逻辑值(“真”或者“假”)。逻 辑运算又叫布尔运算。布尔(Bool)是英国数学家的名字,他首先提岀对 二值变量进行逻辑运算的代数,称为布尔代数。 1、布尔常量 Pascal语言中“真”用true表示,“假”用False表示。所以布尔类型 只有true与false两个常量。 2、布尔型符号常量(boolean) 在程序的说明部分,可以定义布尔符号常量。如: const t=true; f=false; 执行部分就可以用t代表true,用f代表false。例如: write (t, f) 将输出: TRUEFALSE 3、布尔变量 如果我们将某些变量说明成布尔型,那么这些变量就是布尔变量,它们 只能用于存放布尔值(ture或false)。 例如I, var a, b:boolean; begin a:=true; b:=false; 4、布尔类型是顺序类型 由于这种类型只有两个常量,Pascal语言中规定ture的序号为1, fals e的序号为0。若某种类型的常量是有限的,那么这种类型的常量通常都 有一个序号,我们称这种类型为顺序类型。如前面我们学过的整型Cint eger),字符型(char)都是顺序类型。 四、表达式 表达式是描述数值诸规则的算法结构,它是由操作数(变量名、常量名、 函数名等)和运算符联结而成。 (一)算术表达式: 算术表达式是由算术运算符连接常量、变量、函数的式子。 算术表达式中各个运算符的次序为:()一函数一*, /, div, mod-+, - 同一级别的运算符,按在表达式中的次序“先左后右”的原则。 例如:a=17, b=24, c=8, d=5, e=21 b - c * d Div(e Mod a) t t t t ④②③ ① 最后的结果是14o (二)逻辑(布尔)表达式 1、简单布尔表达式(关系表达式) 下例这些都是关系表达式: x>=0, b*b-4*a*c>0, x=y+z, aOb, true>false, a > b 所谓关系表达式是由一个关系运算符将两个数值量(或字符型数据或布 尔型数据)联结起来的式子。关系运算符的两侧可以是常量、变量或表达 式(仅限数值型、字符型、布尔型)。 关系表达式的值是一个布尔常量(True或False),而不是一个数值。 Turbo Pascal中有六个关系运算符,它们的书写与含义如下所示: 大于大于或等于小于小于或等于等于不等于 > >= 12, 实际上是按number>12. 0进行比较的。 由于实数在内存中的存贮存在误差,因此,可能会出现这样的情况:在 理论上应该相等的两个数,用计算机判断它们却为“不相等”。例如,X =L X/10却不等于0. 1,关系表达“x/10=0. 1”的值可能为“假”(Fals e)o因此,应该避免对两个实数作是否“相等”的比较。若想判断a是 否等于b,应该写为:Abs (a-b) <1E~6 (abs绝对值)或小于一“其他足 够小的数,只要小于此数,就认为a和b足够地接近,近似地认为相等; 如果a和b的值比较大(如心10鋼,则a-b之斧可能大于10“,因此,可 用相对误差,即:Abs ((a-b) /x) b是允许的。布尔表达式的值可 以输出。若a的值为12.5,则write (a<10)将输出逻辑值False。 以后还要介绍一个关系运算符“in”,它的两侧是集合表达式。 2、布尔运算符和布尔表达式 布尔运算符:not (逻辑非),and (逻辑与),or (逻辑或