




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Basic 编码规则,4.1 数据类型,4.2 变量与常量,4.5 运算符和表达式,第4章 Visual Basic程序设计语言基础,4.4 常用内部函数(含字符串函数),4.3 变量的作用域,编码规则,(1)VB代码不区分字符的大小写,但关键字将会自动转换 为大写字母开头,后续字母为小写字母。 (2)一行可以书写多条语句,各语句之间用冒号“:”分隔。 (3)一行书写不完的语句,可以在该行后加上续行符(由 空格+下划线_组成),然后换行书写。 (4)一行最多为255个字符,一条语句最多含1023个字符。 (5)用户自定义的变量、过程名等,VB以第一次定义为准, 其后的输入自动转换
2、。 (6)程序中可以使用标号用于程序的转向,标号为以字母 开头、冒号结尾的字符串。,(7)注释行以Rem 或撇号“”开头,但是只有用撇号引导的注释可以 出现在语句之后。可以使用“编辑”工具栏中的“设置注释块”命 令将选定的若干行语句或文字设置为注释项,也可以使用“解除 注释块”命令将选定的若干行解除注释。 (8)对象名命名约定:每个对象名由三个小写字母组成前缀和表 示该对象作用的缩写字母组成,前缀表明对象的类型,如 cmdExit为一个退出按钮,cmdEnter为一个确认命令按钮。,4.1 数据类型,表4-1 Visual Basic 的标准数据类型,1数值型数据(Numeric),数值型数据
3、一般分为整型数和浮点数两类。整型数分为整数(Integer)和长整数(Long),浮点数分为单精度浮点数(Single)和双精度浮点数(Double)。有时也把货币型数据(Currency)和字节型数据(Byte)划归数值型数据。,1)整数(Integer),整数是不带小数点和指数符号的数,在机器内部以2字节(双八位)二进制码形式表示。VB中用n%来表示整数,其中%为整数的类型符,可以省略。如-123%、123%都表示整数。,2)长整数(Long) 整数的最大值为32767,大于此数,程序运行时就会因为溢出产生中断。此时可使用长整数。 长整数用4字节(四个八位)二进制数存储,可以表示更大的整数
4、,其取值范围为-21474836482147483647。VB中用n 如果在窗体模块中定义, 则必须在“Type”关键字前面加上“Private”.,例如, 当在窗体模块中定义上面的记录类型时, 应改为: Private Type TypeDemo Genvar. Num1 Genvar. Num2 Genvar. Var End Type 4.3 变量的作用域 变量的作用域指的是变量的有效范围, 即变量的“可见性”. 定义了一个变量后, 为了能正确地使用变量值, 应当明确可以在程序的什么地方访问该变量. 4.3.1 局部变量与全局变量 如前所述, Visual Basic应用程序由3种模块组
5、成, 即窗体模块(Form)、标准模块(Module)和类模块(Class). 本书不介绍类模块, 因此应用程序通常由窗体模块和标准模块组成. 窗体模块包括事件过程(Event Procedure)、通用过程(General Procedure)和声明部分; 而标准模块由通用过程和声明部分组成. 如同4.3所示.,图4.3 Visual Basic应用程序的构成 根据变量的定义位置和所使用的变量定义语句的不同, Visual Basic中的变量可以分为3类, 即局部(Local)变量、模块(Module) 变量及全局(Public) 变量, 其中模块变量包括窗体模块变量和标准模块变量. 各种变
6、量位于不同的层次.,声明部分(Declaration) 窗体模块 通用过程(General Procedure) (Form) 事件过程(Event Procedure) 应用程序 (Applicayion) 声明部分 标准模块 (Module) 通用过程,1. 局部变量 在过程(事件过程或通用过程)内定义的变量叫做局部变量, 其作用域是它所在的过程. 局部变量通常用来存放中间结果或用作临时变量. 某一过程的执行只对该过程内的变量产生作用, 对其他过程中相同名字的局部变量没有任何影响. 因此, 在不同的过程中可以定义相同名字的局部变量, 它们之间没有任何关系. 如果需要, 则可以通过“过程名.
7、变量名”的形式分别引用不同过程中相同名字的变量. 局部变量在过程内用Dim、Static定义, 例如: Sub Commandl_Click( ) Dim Tempnum As Integer Static Total As Double End Sub 在上面过程中, 定义了两个局部变量, 即整型变量Tempnum和双精度静态变量Total.,2. 模块变量(窗体变量和标准模块变量) 窗体变量可用于该窗体内的所有过程., 一个窗体可以含有若干个过程(事件过程或通用过程), 这些过程连同窗体一起存入窗体文件(.frm)中. 当同一窗体内的不同过程使用相同的变量时, 必须定义窗体层变量. 在使用
8、窗体层变量前, 必须先声明, 也就是说, 窗体层变量不能默认声明. 其方法是, 在程序代码窗口“对象”框中选择“通用”, 并在“过程”框中选择“声明”, 然后就可以在程序代码窗口中声明窗体层变量. 标准模块中模块层变量的声明和使用与窗体模块中窗体层变量类似. 标准模块是只含有程序代码的应用程序文件, 其扩展名为.bas. 在默认情况下, 模块级变量对该模块中的所有过程都是可见的, 但对其他模块中的代码不可见, 模块级变量在模块的声明部分用Private或Dim声明. 例如: Private intTemp As Intege 或 Dim intTemp As Intege,在声明模块级变量时,
9、 Private和Dim没有什么区别, 但Private更好些, 因为可以把它和声明全局变量的Public区别开来, 使代码更容易理解. 3. 全局变量 全局变量也称全程变量, 其作用域最大, 可以在工程的每个模块、每个过程中使用. 和模块级变量类似, 全局变量也在标准模块的声明部分中声明. 所不同的是, 全局变量必须用Public语句声明, 不能用Dim语句声明, 更不能用Private语句声明; 同时, 全局变量只能在标准模块中声明, 不能在过程或窗体模块中声明.,4.3.2 默认声明 用Dim和Public语句可以定义局部变量、模块级变量和全局变量. 对于局部变量来说, 也可以在需要时直
10、接给出变量名. 变量的类型可以用类型说明符(%、&、!、#、$、)来标识. 如果没有类型说明符, Visual Basic把该变量指定为变体数据类型. 例如, 假定在窗体上建立了一个命令按钮, 定义单击(Click)的事件过程如下: Sub Commandl_Click( ) Answer=InputBox$( “Are you student?”) If Answer= “Yes” then MsgBox “He is a student” Else MsgBox “He is not a student” End if End Sub 这里的InputBox$和MsgBox是Visual
11、Basic中的函数和语句, 将在下一章介绍它们的用法.在上面的事件过程中, 变量Answer没有用Dim语句定义, 而是默认定义为局部变量.,默认定义的变量不需要使用Dim语句, 因而比较方便, 并能节省代码, 但有可能带来麻烦, 使程序出现无法预料的结果, 而且较难查出错误. 为了安全起见, 最好能显式地声明程序中使用的所有变量. 默认声明一般只适用于局部变量, 模块级变量和全局变量必须在代码窗口中用Dim或Public语句显式声明. Visual Basic不是强制类型语言, 但提供了强制用户对变量进行显式声明的措施, 这可以通过 “选项”对话框来实现. 其操作是, 执行 “工具”菜单中的
12、 “选项”命令, 打开“选项”对话框, 选择该对话框中的 “编辑器”选项卡, 在该对话框中选择 “要求变量声明”项, 如图4.4所示, 然后单击 “确定”按钮.,4.4.1数学运算函数,表 数学函数,(2)求ASC码值 Asc 函数用来求一个字符串中首字符的ASC码值. 语法格式为: Asc(string) 参数string可以是任何有效的字符串表达式。如果 string 没有包含任 何字符,则在运行时会产生错误。 (3)求ASC码字符 Chr$函数求一个ASC码值所对应的ASC码字符 。其语法格式 为: Chr$(charcode) 参数charcode是一个用来识别某字符的 Long型数。
13、charcode 的正 常范围为 0 255。0 到 31 之间的数字与标准的非打印 ASCII 代码相 同。例如,Chr(10) 可以返回换行字符。,(4)字符串转换为数值 Val 函数的作用是返回包含于字符串内的数字,字符串中 是一个适当类型的数值。语法格式为: Val(string) (5)数值转换为字符串 Str$ 函数的作用是将一个数值表达式转换为一个字符串,且表达式 的类型不变。其语法格式为: Str$(number) 参数number为一 Long型数值表达式,其中可包含任何有效的数值表达式。 当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的
14、字符串包含一前导空格暗示有一正号。 使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str$ 不同的是,Format 函数不包含前导空格来放置 number 的正负号。,2. 取整函数Int和Fix,Int和Fix函数的作用都是返回参数的整数部分. 其语法格式为: Int(number) Fix(number) 参数number是 Double 或任何有效的数值表达式.如果 number 包 含 Null,则返回 Null。 二者的区别在于,Fix函数去掉一个浮点数的小数部分,保留其整数 部分.而Int函数求不大于自变量的最大整数.,3. 数制转换函
15、数,Hex$ 函数的作用是将一个十进制数转换成一个十六进制数. Oct$ 函数的作用是将一个十进制数转换成一个八进制数。 语法格式为: Hex$(number) Oct$(number) 说明: 参数number为任何有效的数值表达式或字符串表达式; 如果 number 不是一个整数,那么在执行前会先被四舍五入成最接近的整数。,1.算术运算符,算术运算符用于数学计算,VB有8个算术运算符(其中减号运算符和取负运算符形式相同),在这8个算术运算符中,只有取负“”是单目运算符,其它均为双目(需要两个运算量)运算符。表3-3按优先级别的高低列出了算术运算符。,表 算术运算符,2.字符串运算符,字符串
16、运算符只有“&”和“+”两个,如表3-4所示,表 字符串运算符,3.关系运算符,关系运算符属于双目运算符,用来对两个表达式的值进行比较,比较的结果为逻辑值,即若关系成立则返回True,否则返回False。在VB中,分别用-1和0表示True和False。表3-5列出了VB中的关系运算符。,表 关系运算符,4.逻辑运算符,逻辑运算符的作用是将操作数进行逻辑运算,结果是逻辑值True 或False。逻辑运算符中,除Not为单目运算符外,其它都为双目运算符。,表 逻辑运算符,4.5.2 表达式 1表达式概念 表达式是由变量、常量、运算符、函数和圆括号,按一定的规则组成的式子,表达式运算结果的类型由参与运算的数据类型和运算符共同决定。 2表达式的种类 根据表达式中运算符的类别,可以将表达式分为算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式等。 3表达式的书写规则 (1)每个符号占1格,所有符号都必须并排写在同一行上,不能出 现上标和下标。 (2)不能按常规习惯省略乘号(*),如:2x要写成2*x。 (3)只能使用小括号(),且必须配对。 (4)不能出现非法的字符,如。,4表达式中不同数据类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 买卖种子合同范本
- 农业委托种植合同范本
- 体育新城租房合同范本
- 剩余瓷砖售卖合同范本
- 人工包给劳务公司合同范本
- 协助出口退税合同范本
- 农资经营聘用合同范本
- 3人共同合作合同范本
- lng承运合同范本
- 医保专员劳动合同范本
- 2022年医学专题-健康危险因素干预
- 平冈中学教师任职条件
- 小老鼠找朋友 演示文稿
- 2023年青岛职业技术学院高职单招(英语)试题库含答案解析
- 2023年苏州卫生职业技术学院高职单招(数学)试题库含答案解析
- GB/T 37864-2019生物样本库质量和能力通用要求
- 中国国防:新中国国防建设成就【2】
- 慢性病建档表系列
- GB 19641-2015食品安全国家标准食用植物油料
- 科室会专用-元治-盐酸贝尼地平-产品介绍
- 英语四六级翻译技巧课件
评论
0/150
提交评论