第二讲PASCAL的基础语法主讲人:张志刚标识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来表示常量、变量、程序、函数等。1、Pascal字符与符号标识符的分类(一共3类):A类.保留字(关键字)所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。早期标准Pascal语言中的保留字一共有35个。下面是Pascal语言的保留字:AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH等B类.标准标识符:指Pascal语言预先定义的标识符,具有特殊含义。以下列举了Pascal语言部分常用的标准标识符:标准常量FalseMaxintTrue标准类型BooleanCharRealInteger标准函数AbsArctanChrCosEofEolnExpLnOddOrdPredRoundSinSqrSqrtSuccTrunc标准过程DisposeGetNewPackPagePutReadReadlnResetRewriteUnpackWriteWriteln标准文件InputOutputC类.用户自定义标识符:由你自己根据需要来定义。(1)选用的标识符不能和保留字相同。(2)语法上允许预定义的标准标识符作为你自己定义的标识符使用,但最好还是不要用。以下列举了你自己在定义标识符时可以用的字符:A——Z;a——z;0——9;programlt1;vara,b:integer;sum:integer;begina:=3355;b:=789;sum:=a+b;writeln('sum=',sum);end.观察左边程序,判断A、B、C三类标识符A:programvarbeginendB:writelnC:lt1absum'sum='思考:那么integer是什么呢?Pascal数据类型可以分为三大类:简单类型、构造类型和指针类型2、Pascal数据类型简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、记录类型和文件类型。指针类型是动态数据类型简单类型和构造类型是静态数据类型。一个整型数据用来存放整数。Pascal支持五种预定义整型,它们是shortint(短整型)、integer(整型)、longint(长整型)、byte(字节型)和word(字类型),Pascal分别用相同的名字作为他们的标识符。每一种类型规定了相应的整数取值范围以及所占用的内存字节数。类型数值范围占字节数格式shortint-128..1281带符号8位integer-32768..327672带符号16位longint-2147483648..21474836474带符号32位byte0..2551带符号8位word0..655352带符号16位2-1、整型提问:现在同学们知道integer是什么类型?Vara,b:integer;请问a和b现在是什么数据类型?一个实型数据用来存放实数。TurboPascal支持五种预定义实型,它们是real(基本实型)、single(但精度实型)、double(双精度实型)、extended(扩展实型)、comp(装配实型),TurboPascal分别用相同的名字作为他们的标识符。每一种类型规定了相应的实数取值范围、所占用的内存字节数以及它们所能达到的精度类型数值范围占字节数有效位数real2.9e-39..1.7e38611..12single1.5e-45..3.4e3847..8double5.0e-324..1.7e308815..162-2、实型提问:现在同学们知道real是什么类型?Vara,b:real;请问a和b现在是什么数据类型?一个布尔型数据用来存放逻辑值(布尔值)。布尔型的值只有两个:false和true,并且false的序号是0,true的序号是1。false和true都是预定义常数标识符,分别表示逻辑假和逻辑真。并且truefalse。boolean是布尔型的标识符。2-3、布尔型Vara,b:boolean;请问a和b现在是什么数据类型?字符型用char作为标识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串(string)。2-4、字符型Vara,b:char;请问a和b现在是什么数据类型?3、常量和变量3-1.常量(1)常量:在某个程序的整个过程中其值不变的量。(2)常量定义:常量定义出现在说明部分。它的语法格式是:const常量标识符=常量;...常量标识符=常量;常量标识符的类型由定义它的常量的类型决定。例如:consta=12隐含说明a是整型;constr=3.21隐含说明r是实型......3-2变量(1)变量:在某个程序中的运行过程中其值可以发生改变的量(2)变量说明:变量说明出现在说明部分。它的语法格式是:var变量标识符列表:类型;...变量标识符列表:类型;其中,保留字var表示开始一个变量说明部分。变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符。每个变量说明均以分号结束。例如:vara,b,c:integer;m,n:real;4、标准函数4-1.算术函数函数标识符变量类型意义结果类型abs(x)整型、实型绝对值同变量arctan(x)整型、实型反正切实型cos(x)整型、实型余弦实型exp(x)整型、实型指数实型frac(x)整型、实型小数部分实型int(x)整型、实型整数部分实型ln(x)整型、实型自然对数实型pi无变量圆周率实型sin(x)整型、实型正弦实型sqr(x)整型、实型平方同变量sqrt(x)整型、实型平方根实型abs(-4)=4abs(-7.49)=7.49round(3.71)=4sqr(4)=16sqrt(4)=2练习:函数标识符自变量类型意义结果类型odd(x)整型判断奇数布尔型pred(x)离散类型求前趋同变量succ(x)离散类型求后继同变量练习:odd(1000)=falsepred(2000)=1999succ(2000)=2001odd(3)=truepred('x')='w’succ('x')='y'4-2.转换函数函数标识符自变量类型意义结果类型chr(x)byte自变量对应的字符字符型ord(x)离散类型自变量对应的序号longintround(x)实型四舍五入longinttrunc(x)实型截断取整longintchr(66)='B'ord('A')=65round(-4.3)=-5trunc(2.88)=24-3.其他函数函数标识符自变量类型意义结果类型random无自变量[0,1间的随机实数realrandomword[0,自变量间的随机整数)wordrandomize无自变量初始化内部随机数产生器longintupcase字符型使小写英文字母变为大写字符型downcase字符型使大写英文字母变为小写字符型请同学们实践一下,发现upcase可以实现小写转换成大写,而downcase则不能运行!5.运算符和表达式5-1运算符运算符运算运算对象结果类型+加整型、实型只要有一个运算对象是实型,结果就-减整型、实型是实型,如果全部的运算对象都是整*乘整型、实型型并且运算不是除法,则结果为整型,/除整型、实型若运算是除法,则结果是实型。div整除整型整型mod取余整型整型5-2.逻辑运算符运算符运算运算对象结果类型not逻辑非布尔型布尔型and逻辑与布尔型布尔型or逻辑或布尔型布尔型xor逻辑异或布尔型布尔型5-3.关系运算符运算符运算运算对象结果类型=等于简单类型布尔型不等于简单类型布尔型小于简单类型布尔型大于简单类型布尔型=小于等于简单类型布尔型=大于等于简单类型布尔型5-4优先级运算符优先级not1(高)*,/,div,mod,and2xor,+,-,or3in,=,,=,=,,4(低)练习:1、熟记Pascal的保留字和标准标识符,明确自定义标识符的定义要点。2、取整函数int与截断取整函数trunc有什么区别?举例说明。3、判断以下标识符的合法性:a33aa17abcdex9.5αβλ5、将下列的数学表达式改写成PASCAL表达式:b^2-4acb*b-4*a*c6、求下列表达式的值:20mod19=115mod9=67div8=019div3=6(45)and(78)=false(89)or(910)=true2and((3=3)or(37))=表达式出错!家庭作业完成本讲练习预习PASCAL的顺序结构