PASCAL基础知识.doc_第1页
PASCAL基础知识.doc_第2页
PASCAL基础知识.doc_第3页
PASCAL基础知识.doc_第4页
PASCAL基础知识.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PASCAL基础知识第一节 数据类型1. 常量:整型常量 Maxint表示计算机系统所允许的最大整数,-Maxint-1表示最小整数实型常量:实型常量包括正实数,负实数,零。表示方法有两种:十进制表示法和科学 计数法。科学计数法:有位数,底数和指数构成。字符常量:单个引号括起来布尔常量:符号常量:符号常量必须先定义后使用 CONST2. 变量:自定义标识符必须以字母(包括下划线)开头,后面的字符可以是字母或数字。3. 算术表达式:常用的6个算术运算符:+,-,*,/(实数除),DIV(整除),mod(求余)。/(实数除)得到的结果为实数4/2=2.0而不等于2。DIV(整数除)要求参与运算的两个数都是整型,结果也为整形。10 DIV 3=3,5 DIV 10=0,DIV运算只取商的整数部分。mod(求余)也只能用于整数运算,结果也为整形4. pascal标准函数:odd() 判断变量是否为奇数Abs() 绝对值Sqr() 求平方Sqrt() 求平方根Chr(数值表达式) 返回以数值表达式值为编码的字符。数值表达式的取值范围0-255。ord() 返回字符的ASCII码,结果为整形。在字符范围内和chr()函数互为反函数。Trunc(1.999)为截尾函数 其值为1。round() 舍入函数random()随机函数mod()求余函数succ(x) 求x的后继 succ(b)=c succ(5)=6 succ(false)=true pred(x) 求x的前导 pred(b)=a pred(5)=4 pred(true)=false第三节 输出语句(WRITE语句)1. write 语句 write(表达式1,表达式2,表达式3,.);2. writeln 语句 writeln(表达式1,表达式2,表达式3,.);和write的不同之处是输出后有换行。第四节 输入语句1. 写语句的输出格式:对整数的默认输出格式是十进制形式,对实数的输出,默认的形式是科学计数法形式。在pascal中一个数据所占的宽度称为“场宽”或“字段宽”。turbo pascal中默认的字段宽为:整形:实际长度 实型:17 布尔型:4或5 字符串:串长2. 指定场宽:1)指定单场宽:指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出。若数据的实际长度小于指定场宽时,一律“向右靠齐,左留空格”。对于标准实型数据指定单场宽时,如果场宽大于标准场宽时,右对齐按标准场宽格式输出17位,左留空格。若场宽小于标准场宽时,第一位为符号位,最后四位仍为“E+nn”,中间部分为尾数显示部分(四舍五入过的数据),如果指定的宽度小于8位,则数据按8位格式输出。2)指定双场宽:用于实型数据不想用科学计数法的形式输出,而按小数的格式输出这种情况。Write(实型表达式:m:n)其中m是指整个数据所占宽度,n是小数部分的宽度。当双场宽不能满足数据输出的最低要求,系统自动突破指定的场宽限制,按实际长度输出。3. 输入语句:read()和readln()的重要区别:前者后面一定要带参数表,而后者可以不带参数表,即没有任何输入项,只是等待一个回车,经常用于暂停程序的运行,直到输入一个回车。建议按下列原则使用读语句:1.如果没有特殊需要在一个程序中尽量避免混合使用read语句和readln语句。2.尽量用readln语句来输入数据,一个数据行对应一个readln语句。3.由于在执行read或者readln语句时,系统不会出现任何提示信息,因此在realn语句前加以适当提示。第三张 选择结构的程序设计第一节IF语句Integer和real型的数据都是数值型的,其中integer类型的数据取值范围为:-32768到32767。布尔类型是一种数据类型,由于这种类型只有两个常量,pascal中规定:ture的序列号位1,false的序列号为0。若某种类型的常量是有限的,那么这种类型的常量通常都有一个序号,称这种类型为顺序类型。如前面我们学的整形(integer)和字符型(char)。布尔类型的变量不能通过读语句给他们赋值。运算符的优先顺序:括号-函数-not-*、/、div、mod、and-+、-、or、xor-关系运算符例:超市里卖电池,每个电池8毛钱,若数量超过10个,可打7.5折.Writeln(total=,total:0:2); /这里total的场宽应设为小数部分为2,数值场宽为0,这样在保证了两位小数的基础上,保证了数值的正确不溢出。记住。.例:输入三个正整数,然后按从小到大的顺序输出vara,b,c,t:longint;beginreadln(a,b,c);if ab then begin t:=a; a:=b; b:=t; end;if ac then begin t:=a; a:=c; c:=t; end;if bc then begin t:=b; b:=c; c:=t; end;writeln(a, ,b, ,c);end.例:输入一个不多于三位的正整数,求出它是几位数,并打出各位上的数字。.var i,m,n,k:integer;.M:=i div 100;N:=(i-m*100) div 10; k:=(i-m*100-n*10) mod 10; writeln(m, ,n, ,k);第三节 情况语句1. 情况语句的一般格式:case of:语句1;:语句2;.:语句nend;表达式的值必须是顺序类型,它可以是整型,布尔型,字符型,枚举型,子界型。情况标号表是一串用逗号隔开的与表达式类型一致的常量序列。语句可以是任何语句,包括复合语句和空语句。2. case语句的执行过程:先计算表达式的值,如果它的值等于某一常量(称为情况常量,也称为情况标号),则执行该情况常量后面的语句,在执行完语句后,跳到case语句的末尾END处。3. 说明:1. 情况表达式必须是顺序类型的。2. 情况常量是情况表达式可能具有的值,因而应与情况表达式具有相同类型。3. 情况常量出现的次序可以是任意的。4. 同一情况常量不能在同一case语句中出现两次以上。5. 每个分句前可以有一个或若干个用逗号隔开的情况常量。6. 如果情况表达式的值落在情况常量的范围外,则认为本case语句无效,执行下一个语句。可以有一个else语句,也可以省略。7. 每个常量后面只能是一个语句或一个复合语句。例: 根据输入的字符,判断是字母还是数字Program zijie;Var x:char;BeginWriteln(input a char:);Read(x);Case x of0.9:writeln(shuzi);a.z,A.Z:writeln(zimu); /分句前可以有一个或若干个用逗号隔开的情况常量。Else writeln(qita);Readln;End;End.第四章 循环结构程序设计第五章 枚举和子界类型1. 枚举类型的定义:枚举类型的一般格式:(标识符1,标识符2,.,标识符n)说明:1. 括号中的每一个标识符都称为枚举元素或枚举常量。 2. 定义枚举类型时列出的所有枚举元素构成了这种枚举类型的值域(取值范 围),也就是说,该类型变量的所有可能的取值都列出来了。注意:标识符必须以字母(包括下划线)开头,后面的字符可以是字母或数字。下列类型的定义是错误的:type colortype=(red,yellow,green,blue); /标识符中不能有单引号 number=(1,3,5,7,8); /标识符必须以字母开头 ty=(for,do,while) /含有系统内置标识符。2. 枚举类型的性质1. 枚举类型属于顺序类型 succ(x) 求x的后继, pred(x)的前继。枚举类型中的第一个元素无前继,最后一个元素无后继。2. 枚举类型只能进行数值运算和关系运算3. 枚举变量的值只能用赋值语句来获得,而不能用read(readln)来读一个枚举型的值,同样也不能用write(writeln)来输出一个枚举型的值。4. 同一个枚举元素不能出现在两个或两个以上的枚举类型定义中。第二节 子界类型1. 定义:.1. 常量1称为子界的下界,常量2称为子界的上界。2. 下界和上界必须是同一顺序类型(给类型称为子界的基类型),且上界的序号必须大于下界的序号。3. 可以在变量说明中直接定义子界类型。2. 子界类型数据的运算规则:1. 凡可使用基类型的运算规则同样适用该类型的子界类型。2. 对基类型的运算规则同样适用于该类型的子界类型。3. 基类型相同的不同子界类型可以进行混合运算。第六章 数组第七章 函数和过程第二节 过程1. 过程的定义:Procedure 过程名(形式参数); var 过程变量说明; begin 过程体 end; 对该格式说明如下:1.过程的首部。括号里是形式参数,如形式参数不止一种,则中间用“;”隔开,同类参数如不止一个,则中间用“,”隔开。另:有时候过程不用加参数。2. 过程的说明部分,用var开头,它只能对过程中的变量进行时说明,同样是局部变量。另:如过程不用变量,则可将说明部分省略。2. 过程的调用: 在过程定义的语句中,有个参数表,在参数表中除了形参以外,还有变量形参。变量形参的作用是:他可以作为过程的出口参数。我们可以把过程中求出的结果用变量形参输出到过程外,在过程外可以调用该参数,因此,该参数是全局变量。其格式上的区别是在变量形参的前面加上VAR即可。1. 形参:在函数或过程的定义中,没有参加var说明的参数,在调用函数或过程时,调用程序将实参的值直接传递给形参,起着赋值的作用。 2变量形参:在函数或过程的定义中,加有VAR说明的参数,在调用函数或过程时,调用程序将实参的变量地址传递给变量形参,因此当过程或函数处理中,改变变量形参的值,则实参变量的值也随之改变。(共享同一个存储单元)小结:形参和变量形参的区别: 1. 形参传值:为形参分配存储单元,将实参的值赋予形参,过程体内对形参的操作不影响实参的值。一旦过程体执行完毕,系统将回收形参所占的存储单元,形参的值也就不复存在。 2. 变量形参传地址: 将实参的地址传给对应的变量形参,即变量形参和实参共享实参的地址,因此对变量形参的的操作就是对实参的操作。一旦过程执行完毕,系统将回收变量形参所占的存储单元,但运算结果以保留在对应的实参中。3. 函数和过程的区别:1. 标识符不同2. 函数中一般不用变量形参,用函数名直接返回函数值,而过程如有返回值,则必须用变量形参返回。3. 过程无类型,不能给过程名赋值;函数有类型,最重要将函数值传送给函数名。4. 函数在定义时一定要进行函数类型的说明,过程则不进行过程类型的说明。5. 调用方式不同。函数的调用出现在表达式中,过程的调用,有独立的过程调用语句来完成。6. 过程一般会被设计成求若干个运算结果,完成一系列的数据处理,或与运算无关的各种操作;而函数往往只为了求的一个函数值。3. 变量及其作用域 全程变量:主程序中被说明的变量。 局部变量:在过程或函数中被说明的变量。 局部变量的作用域是他们所在的子程序。因形式参数也只是在子程序中有效,因此也属于 局部变量。 全程变量的作用域分为两种情况: 1. 在全程变量和局部变量不同名时,其作用域是整个程序。 2. 在全程变量和局部变量同名时,局部变量屏蔽了全程变量。第九章 文件在pascal中,文件被定义为同一类型的元素组成的顺序集合。文件所含的元素个数,称为文件的长度。文件具有以下三个特点:1. 顺序性2. 永久性3. 容量大文件的分类:按文件的结构分,可以分为文本文件,类型文件和无类型文件。文本文件又称为text文件,文件的内容是以字符形式(ASCII码)存放的。类型文件又称为file文件、二进制文件,它的内容以二进制代码形式存放的。无类型文件是一个低层的I/O通道,主要直接来访问固定长度的元素的任意磁盘文件。 按照文件的存取方式分,文件可以分为顺序存取文件和随机存取文件两种。顺序文件的读写都要从文件的开头顺次进行,而随机文件可以从文件的任意指定位置进行读写。在PASCAL中文本文件属于顺序存取文件,而类型文件属于随机存取文件。1. 文件操作的一般步骤。1、在使用文件前,必须对文件的类型和变量进行说明;2、把磁盘上的实际文件(外部文件)和pascal程序当中的文件(内部文件)建立关联。3、打开文件,将文件的指针指向开始位置,为文件的读写做准备。4、对文件进行读写操作;5、在使用文件结束,一定要记住关闭文件,确保文件的完整性和可靠性。2. 文本文件的操作步骤:1、文本问价的变量在使用前必须说明其类型为text; var f1:text;2、在使用文本前,要先调用assign过程,把外部文件名赋予文本文件变量。 assign(f1,a:/test/input1.txt)3、当将数据写入(输出)到文件时,应先rewrite或append过程打开文件,在调用wri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论