1、常量与变量的定义有何异同?
答:同:常量与变量定义时,都是常量名与变量名在前,常量值或类型名在后;
在定义一个全局常量或全局变量后,再定义一个相同的模块变量时,程序任然能运行,在模块中按定义的模块变量运行
异:常量定义时const声明,常量的值是在声明时确定的,不能改变,常量名和常量值之间由“=”隔开,声明常量时,编译器自动确定它的类型; 变量定义时由VAR声明,变量的值是不固定的,可以在运行中发生改变;变量名和类型名之间由“:”隔开,所有的变量都要遵循先声明后引用的规则。 2、系统保留字与指令字有何区别?
保留字是由
系统规定的,具有特定意义和用途的单词,在编程时不能被重新定义或做他用;
指令字只在特定的程序位置,或当上下文关联时有意义的区段有自己的特殊的意义,而在其他场合,用户可以对其重新定义或用作其他用途,既可以将某个指令福定义为标识符。 *3、子程序调用需要遵循的规则有哪些?
答:1)子程序可以调用其相邻的内层子程序,不能隔层调用; 2)内层子程序可以调用外层的子程序而且允许隔层调用; 3)同一层的子程序,允许后定义的子程序调用先定义的子程序; 4)如果需要调用同层中后定义的子程序,必须用保留字forward(超前引用)对后面的子程序提前说明。 4、参数: 1)形参和实参 形参:形式参数是只出现在过程或者函数首部“形式表”中的变量名,表示用于接收数据的变量; 实参:实际参数施主再调用过程或者是函数是,传递给过程或函数的常量、变量或表达式。
2)参数的传递方式 在过程或者函数的首部“<形参表>”中的参数前面,使用系统的保留字Var或者Out的形参变量表示为“按地址传递”,使用Const或没有任何保留字的形式参数,将使用“按值传递”的方式、
声明:为“按值传递”的参数仅负责得到实际参数的值,不保留内部对该参数的改变,而声明为“按地址传递”的参数将保留函数或者过程内部对时间参数值的改变,并在调用结束后返回该值。 *5、变量的作用域
1)变量的作用域是指变量可以被识别的范围。 2)公有变量和私有变量
在单元接口部分声明的变量属于公有变量,不仅可以被本单元中的所有过程和函数使用,同时还可以被其他单元中的过程和函数使用。在本单元的实现部分后声明的变量属于私有变量,不能被其他单元使用。 说明:公有变量虽然对其他单元是可见的,但是如果其他单元需要引用某一单元的公有变量,必须在接口部分或是在implementation后面使用uses命令进行引用。 3)全局变量和局部变量
局部变量是指在过程或函数的内部声明的变量,它们的作用范围仅限在过程内部,对外部是不可见的。而定义在单元的现实部分的变量,对整个单元内部的过程和函数都是有效的,因此是全局变量。公有变量也是全局变量。当全局变量和局部变量的名称相同时,在过程和
函数的内部,使用的是局部变量的值。 4)变量的存储方式
从空间上来看,全局变量的作用范围是整个
程序,局部变量仅在本程序段内部有效,从变量的存储时间上来看,全局变量是静态存储,局部变量是动态存储。所谓的静态存储是变量在指变量在程序运行期间一直占有固定的存储空间,直到整个程序结束变量所占用的空间才得到释放。而动态变量则是程序在运行期间根据需要动态的分配存储空间,子程序一旦结束,变量所占有的空间立即释放。 6、文件的编程
1)文件的打开和关闭
①以读的方式打开文件(Reset):通过Reset函数可打开一个已经存在的文件。如果该文件是一个文本文件,那么文件变量(F)的属性为只读。如果指定的文件不存在,则会产生错误,如果指定的文件已经打开,则先关闭再重新打开。当前文件的位置设置在文件的开始