QBasic程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Continue
写操作语句 格式: Put #文件号,[位置],变量 关闭文件语句 格式: Close [#文件号 [,#文件号…...]] 说明:位置从1开始,为整形数,表明从第几个字节开始读数据。若省略位置参 数表示从当前位置的下一个字节开始读数据。变量从位置开始处连续读入多 少个字节,取决于变量的类型(或变量所占有的内存空间)。在读入数据时, 也可以用函数,Input[$](字节数,#文件号) 设定文件数据指针位置 格式: Seek [#]文件号,位置 说明: 位置取值范围为1——2,147,483,647 对于随机文件该参数为记录号。对于顺序文件和二进制文件,该参数 为相对于文件头的字节位置,文件第一个字节该值为1,第二个字节 为2,依此类推。通过这条语句,可先设定好记录号和位置,为下一次 对打开文件的读写做好准备。
Continue
随机文件的操作语句 打开文件 格式:Open “文件名” For Random As #文件号 Len=记录长度 读操作语句 格式: Get #文件号,[记录号],变量 写操作语句 格式: Put #文件号,[记录号],变量 关闭文件语句 格式: Close [#文件号 [,#文件号…...]] 二进制文件的操作语句 打开文件 格式:Open “文件名” For Binary As #文件号 读操作语句 格式: Get #文件号,[位置],变量
过程与函数的参数传递
VB传递参数有两种机制
传址参数(Passed By Reference) 传值参数(Passed By Value)
Continue
By Reference:引用参数。传递到函数或过程中的是参数的内存地址。如果在函 数或过程中对它进行运算或修改,参数所在内存中的内容会发生变化,参数 原来的值被覆盖。这种参数传递方式,有利于提高效率。使用时不加说明既 为传址参数。 By Value:形式参数。在调用过程和函数时实际参数并没有传递,而是将参数值 进行拷贝,仅将参数内容进行传递。如果在函数或过程中对它进行了运算或 修改,参数在内存中的实际值并没有随被调用过程的运算或修改而改变,仍 保持原来的值。这种传值参数在VB中调用C语言函数时非常有用,它可避免 数据传递时的格式限制。 一般传址参数比传值参数效率高。在程序设计时,为了方便高效,一般字符 串、数组参数用传址参数;整形、长整形、浮点数、货币形用传值参数;用 户自定义类型和对象变量只能用传址参数。 数组作为参数传递时,只能用数组名和一对空扩号。如果使用下标表示传递 进去的参数,只是数组的某一个元素。
QBasic程序设计基础
2、表达式
算术表达式 关系表达式 逻辑表达式
3、Qbasic使用环境及基本输出输入语句
Continue 2 过程与函数
过程与函数的调用
过程调用格式:过程名 参数1,参数2, … 函数调用格式:变量名=函数名(参数1,参数2, … ) 方法调用格式:对象名.方法名 参数1,参数2, … 说明:方法(Method)实际上就是一个过程,它是封装在对象中的,针对该对 象使用的一段过程代码。不同的对象有不同的方法。方法一般是用来实现对 该对象的一些常用操作。
123.78E-3,
89.3#,
3.48D-9
Continue …
自定义类型 定义格式:Type 自定义类型名称 元素名称 as 类型名称 …… End Type 引用格式:Dim 变量名 as自定义类型名称 例子:Type recordstru names As String * 20 maleorfemale As String * 2 age As Integer salary As single End Type 引用: Dim member As recordstru s=“李剑霜” member.maleorfemale=“女” member.age=22 member.salary=20300.22
14 文件
按照文件的存取方式分类 顺序文件 随机文件 按照文件的数据编码方式分类 ASCII文件:文件的数据是以ASCII码进行编码。 Binary File(二进制文件):文件中的数据是以二进制格式进行编码存储的。它是 以字节数来定位数据,允许程序按所需的任何方式组织和访问数据,二进制文件可 允许对文件中各数组名(下标[,下标]…)as 数据类型 例子: Dim A(2,3) as integer Dim BCD!(-2 to 5) Dim good(1 to 5,4) as current 动态数组 格式:Dim 数组名()[as 数据类型] 例子: Dim A() as integer 说明:程序中的数组常常放置的数据的多少是变化的,有效时段也是变化的。 动态数组可重复使用,还可在程序运行时,随时改变其大小。 (注意:但不能改变数组的数据类型和维数) 当程序中要用到动态数组时可用以下语句规定数组长度 Redim [Preserve]数组名(下标[,下标]…)as 数据类型
continue
Preserve是一个关键字,当没有Preserve时,表示重复使用动态数组,不保留 原来数组中所存放的值,创建一个全新的数组; 使用Preserve,表示重复使 用该数组时是在保留原数组内容的基础上动态改变数组的长度。 使用动态数组,可以使多个数组共享同一内存空间,而且是可变大小的内存 空间。 例子: type stu ABC(1 to 12) as integer sal as long end type dim ku as stu 访问形式 ku.abc(2) ku.abc(5) dim sd() as stu redim sd(6) 访问形式 sd(1).abc(2) sd(4).abc(5)
Continue
Private Sub 过程名(…...) ……. End Sub Private Function 函数名(…...) as 类型 …… End Function 全局变量、常量 全局变量、常量用Global关键词定义 global 变量名 as 类型 global const 常量名=常数 用Global关键词定义的变量、常量只能放在模块的general/declaration中,自定 义数据类型只能在模块的general/declaration中定义。定长的数组可以如同变量 一样定义。动态数组只能在窗体和模块的general/declaration中定义,不能在局 步过程中定义动态数组,而Redim则可以用于各个过程和函数。 例子:
QBasic程序设计基础
1、QB的数据类型
标准数据类型
数据类型 Integer(整型) Long(长整型) Single(单精度) Double(双精度) String(串,变长) String(串,定长) 标识符 % & !(缺省类型) # $ 存储尺寸 2 bytes 4 bytes 4 bytes 8 bytes 1 byte per character 0 to 65,500 bytes.
注意:变量如在程序中不加说明,单精度为缺省类型
User-defined (自定义) None
Continue …
变量与常量的说明
变量 格式:Dim 变量名 AS 数据类型 例子:Dim username as string Dim abc%, dd,Bossname$ Dim receiver Dim x,y as integer Dim k as string*5 常量 格式:Const 常量名=表达式 例子: Const PI!=3.14 Const boss=“David” 123, 65777&, 1.98, “ I love Qbasic Program.”
11 常量、变量、数组、过程、函数在程序中的作用域
局部变量和局部常量 放在过程和函数中的变量和常量,作用范围为本过程和函数中。不同过程和函 数可有相同的变量名、常量名。 窗体级变量、常量、过程和函数 在窗体的general/declaration中说明的变量和常量,以及窗体的所有过程和函数, 可在本窗体范围内相互调用。 模块级变量、常量、过程和函数 在模块的general/declaration中说明的变量和常量,仅限于本模块的各通用过程 和函数使用,不能被其他模块和窗体的程序使用。模块中的过程与函数是全局 性的,对项目的所有窗体和模块均为可见。所以模块中的过程与函数不能重名, 也不能与动态链接库重名,也不能与项目中的变量、常量重名。 若希望模块的某过程和函数,仅作用于本模块。可以用Private关键词说明。
Continue
顺序文件的操作语句 打开文件语句 格式:Open “文件名” For 模式 [访问操作类型] [锁定] As #文件号 [Len=缓冲区长 度] 模式: Input Output Append 操作类型: Read/只读 Write/只写 ReadWrite/读写 锁定: Shared Lockread Lockwrite 读操作语句 格式: Input #文件号[,变量列表] Line Input #文件号,字符型变量 函数: Input$(读取字符数,#文件号) 写操作语句 格式: Print #文件号[,变量或表达式列表] Write #文件号[,变量或表达式列表] 关闭文件语句 格式: Close [#文件号 [,#文件号…...]]