《VB语言基础知识培训.ppt》由会员分享,可在线阅读,更多相关《VB语言基础知识培训.ppt(68页珍藏版)》请在三一文库上搜索。
1、第三章 VB语言基础,3.1 编码规则 3.2 数据类型 3.3 变量与常量 3.4 运算符和表达式 3.5 常用函数 3.6 常见错误,第3章 VB语言基础,语言 语言是人类最重要的交际工具,是人们进行交流、沟通的表达符号。人们借助语言保存和传递人类文明的成果。语言是民族的重要特征之一,各民族一般都有自己的语言 联合国的工作语言:汉语,英语,法语,俄语,西班牙语,阿拉伯语 汉语是世界上使用人口最多的语言,英语是世界上使用最广泛的语言,第3章 VB语言基础,计算机语言 计算机语言(Computer Language)是实现人-机交流的语言,是人与计算机之间传递信息的媒介 人们通过计算机语言所规
2、定的符号(指令或语句)编写程序来要求计算机解决现实世界中的各种问题,第3章 VB语言基础,计算机语言种类,机器语言,汇编语言,FORTRAN BASIC COBOL PASCAL JAVA C C+ C# .,高级语言,第3章 VB语言基础,感性认识机器语言 机器语言程序就是由0和1的序列构成的一系列指令代码,例如: 机器指令:0 1 0 1 0 0 0 0 电脉冲:,第3章 VB语言基础,感性认识机器语言,0001 1110 0010 1011 1100 0000 0101 0000 1011 1000 0110 1111 0001 1000 1000 1110 1101 1000 1000
3、 1110 1100 0000 1100 0110 0000 0110 0000 0000 0000 0000 0000 0001 1100 0110 0000 0110 0000 0001 0000 0000 0000 0010 1010 0000 0000 0000 0000 0000 0000 0000 0000 0010 0000 0110 0000 0001 0000 0000 1100 0010 0000 0010 0000 0000 1000 1101 0001 0110 0000 0011 0000 0000 1011 0100 0000 1001 1100 1101 0010
4、 0001 1000 0000 0000 0110 0000 0010 0000 0000 0011 0000 1000 1010 0001 0110 0000 0010 0000 0000 1011 0100 0000 0010 1100 1101 0010 0001 1011 0010 0000 1010 1100 1101 0010 0001 1011 0010 0000 1101 1100 1101 0010 0001 1100 1011,计算并显示 1+2 的结果 3,这样的程序不便记忆、也极易出错,基本上是没法掌握的!,这是一个机器语言的程序,第3章 VB语言基础,感性认识汇编语言
5、 机器语言的主要问题:不便记忆、难以编写和修改程序 解决方案:使用汇编语言给每个机器指令指定一个便于记忆的符号,例如: 机器语言中指令:0 1 0 1 0 0 0 0 汇编语言中语句:PUSH AX,第3章 VB语言基础,感性认识汇编语言 等价的汇编语言程序,data segment a db ? b db ? c db ? mystr db c=$ data ends code segment main proc far assume cs:code, ds:data, es:data start: push ds sub ax,ax push ax mov ax,data mov ds,a
6、x,mov es,ax mov a,1 mov b,2 mov al,a add al,b mov c,al lea dx,mystr mov ah,09 int 21h add c,30h mov dl,c mov ah,2 int 21h mov dl,0ah int 21h mov dl,0dh int 21h ret main endp code ends end start,第3章 VB语言基础,感性认识高级语言 汇编语言程序通过用便于记忆的符号来代替指令代码,使得程序易于编写也便于维护 但是,汇编语言代码实质上仅仅是机器语言代码的等价翻译,因此仍继承了机器语言代码冗长繁杂的特点,编
7、写程序的效率仍然很低 为解决汇编语言存在的问题,高级语言粉末登场,第3章 VB语言基础,感性认识高级语言 计算 1 + 2 的 Basic 解决方案 Dim a, b, c As Integer a = 1 b = 2 c = a + b print c,第3章 VB语言基础,高级语言的内容 数据类型 常量与变量 运算符与表达式 语句 过程(函数) 其他:数组、结构,3.1 数据类型,数据类型 数据:记载客观事实的符号 狭义:数值型数据,例如年龄、工资、奖金、收入、负债、成本、毛利 广义:数值,文本,日期,时间,图形,图像,声音 要通过计算机语言编写程序来解决现实世界中的问题,首先需要明确:
8、计算机语言能处理哪些种类的数据 计算机语言如何表示及处理这些数据 这就是数据类型的基本概念,3.1 数据类型,数据类型(续) 计算机语言用特定的符号(关键字)来区分各种类型的数据 不同的语言所使用的表示数据类型的符号打大同小异 VB中表示数据类型的符号:Integer、String、Date、Boolean 不同的数据类型,除表示它的符号(关键字)不同外,其数据的表示范围、形式以及对存储空间的要求等方面也各有不同,3.1 数据类型,VB中的数据类型 数值数据类型:Byte,Integer,Long,Single,Double,Currency 日期数据类型:Date 逻辑数据类型:Boolea
9、n 字符数据类型:String 对象数据类型:Object 变体数据类型:Variant,3.1 数据类型,VB中的数据类型,3.1 数据类型,数据类型备注 Date 表示形式一:用#括住日期、时间 #January 1,2000# #10/24/2000# 表示形式二:用数值表示日期时间 小数点左边、右边的数值分别代表日期、时间 正数:表示1899年12月31日及其后的日期、时间 0:表示1899年12月30日 负数:表示1899年12月31日前的日期、时间 -1 1899-12-29 0 1899-12-30 1 1899-12-31 -2.5 1899-12-28 12:00:00,3.
10、1 数据类型,数据类型备注(续) String 可声明为定长、变长字符串 必须使用双引号“”括住 Boolean 逻辑型数据与整型数据之间可以相互转换 逻辑型转换为整型 True -1 False 0 整型转换为逻辑型 非0数值 True 0 False,3.1 数据类型,数据类型备注(续) Object 用于保存应用程序中指定对象的32位地址 通过这种类型的变量引用并操作各种对象 Variant 用于声明暂时无法确定(可变)的数据类型 究竟表示什么数据类型由程序上下文才能确定 实际的数据类型可能是整型、字符串型、日期型以及其他数据类型,3.1 数据类型,对象数据类型 关键字:Object 空
11、间要求:4字节 说明:这种数据类型用于保存一个32位的地址应用程序中对象的地址,通过这种类型的变量去引用任何对象,3.2 变量与常量,概述 通过计算机解决现实世界中的问题,简单而言,就是编写应用程序对数据进行必要的加工处理 应用程序运行时,程序必须先加载到内存中,然后才能运行 程序所处理的数据,也必须先加载到内存中才能进行处理 在应用程序对数据进行处理的过程中,涉及到如何表示(存取)数据的问题,3.2 变量与常量,概述(续) 计算机语言规定:程序所处理的数据都必须取一个名字,即使用不同的名字来表示不同的数据 程序运行中可以改变的数据命名为“变量” 程序运行中不能改变的数据命名为“常量” 示例
12、Dim sName As String Dim iAge As Integer sName = “文立斌” iAge = 87,3.2.1 变量与常量的命名规则,变量、常量的命名规则 必须以字母或汉字开头,由字母、汉字、数字或下划线组成 iAge,年龄,s姓名,i123 应尽可能简短、有意义、明白易懂 不能使用关键字VB已经使用的名称: Integer、Long、Date、String、Select、 If、End 长度不超过255个字符,3.2.1 变量与常量的命名规则,变量、常量的命名规则(续) VB不区分变量、常量名的大小写: xyz、XYZ、xYz:视为完全相同 建议变量的首字符大写、
13、其他字符小写,常量名全大写 为可读性考虑,建议名称前使用前缀(参见表1.3.1),3.2.1 变量与常量的命名规则,变量、常量的命名规则(续) 错误或不当命名例举 1ab 不能是数字开头 _name 不能是下划线开头 y+Z 不能使用+号 Emp Name 不能夹杂空格 Dim Dim是VB的关键字 Rgb 虽被允许,但应尽量避免,因为Rgb 是VB的标准函数,容易混淆,3.2.2 变量,变量 变量指程序运行过程中其值可以改变的量 变量的声明 变量声明语句的形式 Dim 变量名称 As 数据类型 说明 Dim:Dimesion 数据类型:表1.3.1中的某个关键字 中部分可以省略(表示类型为V
14、ariant) 变量名称:你给变量取的名字,3.2.2 变量,变量的声明(续) 示例 Dim iCount As Integer 等价于Dim iCount% Dim sAllsum As single 等价于 sAllsum! Dim sA As String 变长字符串变量 Dim sB As String *50 定长字符串变量,不够 50时补空格,超过50时 截去多余的字符 可以在一个语句中定义多个变量 Dim intX, intY As Integer Dim intX, intY As Integer, dblPI As Double,注意:各部分之间必须加空格!,3.2.2 变量
15、,隐式声明 指不经声明而直接使用变量,其类型都是Variant类型。建议尽量显式声明变量,3.2.3 常量,常量 常量指程序运行过程中其值不能改变的量 常量的类型 直接常量 系统预定义常量 用户(程序员)定义符号常量,3.2.3 常量,直接常量 指程序中直接使用的常数 示例 123 整型常数 123& 长整型常数 123.45 单精度浮点数(小数形式) 1.234E2 单精度浮点数(指数形式) 123D3 双精度浮点数 “I love me” 字符串常数 #1962-11-13# 日期常数 &HFF 16进制常数(255) &O377 8进制常数(255),3.2.3 常量,系统预定义常量 指
16、VB系统为应用程序或控件预定义的常量,程序员可以使用常量值,也可以使用相应的符号 示例 关于窗体的WindowState属性,系统预定义: 0 vbNormal 1 vbMinimized 2 vbMaximized 可以这样使用: Me.WindowState = 1 也可以这样使用: Me.WindowState = vbMinimized,使用符号常量,程序的可读性更强,也更易于维护,3.2.3 常量,用户定义符号常量 指程序员用常量声明语句声明的常量 常量声明语句的形式 Const 常量名称 As 数据类型 = 表达式 说明 Const:Constant As 数据类型:可省略(类型由
17、表达式决定) 表达式:由数值或字符串常数及运算符组成 常量名称:尽可能有意义! 常量一经定义,其值就不能再改变!,3.2.3 常量,用户定义符号常量(续) 示例 Const PI = 3.14159 单精度常量 Const MAXSCORE = 100 整型常量 Const MAX As Integer = &H64 整型常量 Const COUNTS# = 45.67 双进度常量 Const 大学 = “东莞理工学院” 字符串常量 Const 生日 = #1893/12/26# 日期常量,3.3 运算符和表达式,概述 计算机问题求解,最终转换为数据的加工处理“运算” 高级语言中,能够执行的各
18、种运算,都用一个符号来表示,这就是“运算符” 有“运算”,当然就要有运算对象数据,如此一来,“运算符”与其所处理的数据共同构成所谓的“表达式” 示例: I love you,3.3.1 运算符,运算符类别 算术运算符: 单目运算符:- 双目运算符:+,-,*,/,Mod 字符串运算符:&,+ 关系运算符:=,=,Like,Is 逻辑运算符:Not,And,Or,Xor,Equ,Imp,3.3.1 运算符,算术运算符 表1.3.3 算术运算符(假设 x 为整数3),3.3.1 运算符,算术运算符(续) 综合举例 30 True 31 False + 10 + “4” 14 5 + 10 mod
19、10 9 / 3 + 2 2 + True 9,3.3.1 运算符,字符串运算符 字符串运算符 & + 功能:都是用于将两个字符串连接(拼接)成为一个字符串,3.3.1 运算符,字符串运算符(续) & 运算符 两个操作数既可以是字符串也可以是数值 连接前,系统先将数值型操作数转换为字符串,然后再连接 示例 “abcdef” & 12345 “abcdef12345” “12000” & 12345 “1200012345” “12000” & “12345” “1200012345”,3.3.1 运算符,字符串运算符(续) + 运算符 操作数都是字符串时,执行简单连接 “你好,” + “VB爱
20、好者” “你好,VB爱好者” 操作数都是数值时,执行加法算术运算! 一个操作数是数字字符串、另一个是数值时,系统会先将数字字符串操作数转换为数值,然后执行加法算术运算 “1200” + 2345 3545数值! 1200 + “123” & 100 “1323100”字符串! 不允许两个操作数分别是非数字字符串及数值 “a2000” + 12345 Error,3.3.1 运算符,关系运算符 关系运算符包括: =,=,Like,Is 用于比较两个操作数的大小,比较结果为逻辑值(True或False) 所比较的两个操作数可以是: 数值数据 字符数据 日期数据 逻辑数据,3.3.1 运算符,关系运
21、算符(续) 比较规则: 数值、日期数据:按数据的实际大小进行比较 字符数据 英文字符数据按ASCII码值从左到右逐一比较确定大小 汉字字符按其内码(国标码)值大小逐一比较确定大小,绝大多数常用字的内码是按汉语拼音的顺序编码的,且所有汉字的内码值都大于ASCII码值 逻辑数据:True为-1,False为0,3.3.1 运算符,关系运算符(续) 示例 23 “ABC” True “bc” = “abcde” True “ABCDE” = “ABR” False “ABCDE” “ABR” False “bc” = “abcde” True #2013-01-02# #2012-01-01# Fa
22、lse,3.3.1 运算符,关系运算符 Is 用于比较两个对象变量,本课程不涉及 Like 运算符中可以使用通配符 ? 表示单个字符 * 表示0个或多个字符 # 表示09之间的任何一个数字 字符列表 表示“字符列表”中给出的任何单一字符 !字符列表 表示非“字符列表”中给出的任何单一字符,3.3.1 运算符,关系运算符(续) 示例 sName Like “张*” sName Like “赵钱孙李*” sName Like “!赵钱孙李*” sName Like “?春暖花开*” 例3.1 Like运算符,3.3.1 运算符,逻辑运算符 逻辑运算符包括: Not:取反 优先级:1 单目运算符 A
23、nd:与 优先级:2 Or:或 优先级:3 Xor:异或 优先级:3 Eqv:等价 优先级:4 Imp:蕴含 优先级:5 说明: 对逻辑值进行运算时,运算结果仍为逻辑值 对数值进行运算时,是对数值中各二进制位逐位进行逻辑运算,其结果仍为数值,3.3.1 运算符,逻辑运算符(续) 逻辑值运算示例 Not 年龄 = 35 等介于: Not (年龄 = 35)年龄 = 35 And Not 党派 = “中共” 年龄 = 35 Or 党派 = “中共” 年龄 = 35 And 职称 = “经济师” And 党派 = “中共” 年龄 = 35 And (职称 = “经济师” Or 职称 = “工程师”)
24、 数值按位运算示例 12 And 7 ; 4 12 Or 7 ; 15 12 Xor 7 ; 11,3.3.2 表达式,表达式组成 表达式由变量、常量、运算符、函数和圆括号按一定的规则组成 表达式运算结果的数据类型由运算符及参与运算的数据的类型决定,3.3.2 表达式,表达式组成 表达式的书写规则 乘号不能省略,且必须写成 * a乘以b,必须写成 a * b,不能写成 a b 2乘以x,不能写成 2X,而应写成 2 * x 类似地,除号必须写成 / 或 ,求幂必须写成 2 3 括号必须是圆括号(),且按运算符优先级成对出现 表达式从左到右在同一基准上编写,无高低、大小之分,3.3.2 表达式,
25、表达式组成 示例:,a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g),sin(45*3.14/180)+(exp(10)+log(10)/sqr(x+y+1),3.3.2 表达式,不同数据类型的转换 算术运算中,如操作数具有不同的精度,VB规定运算结果的数据类型采用精度高的数据类型,即: Integer Long Single Double Currency 例外情形:Long 型数据与 Single 型数据运算时,结果为 Double 型数据,3.3.2 表达式,优先级 除所有关系运算符的优先级都相同外,其他各类运算符中的每个运算符都有其特定的优先级,必要时可通过圆括号()改变
26、优先级 总的而言:算术运算符 字符运算符 关系运算符 逻辑运算符 示例:假设要选拔优秀学生的条件为:年龄(Age)小于19岁,三门课的总分(Total)高于285分,其中至少有一门课为100分,则表达式应写成怎样?,3.3.3 常用内部函数,函数 用以执行特定功能的预定义程序 函数的调用方法: 函数名称 (参数1, 参数2, , 参数n),3.3.3 常用内部函数,VB标准函数 数学函数 字符函数 日期函数 转换函数 格式输出函数 Shell函数 熟练地使用常用函数,是衡量程序设计语言掌握程度的重要指标!,3.3.3 常用内部函数,程序设计,想说爱她不容易仅这些函数,就够您喝一壶的!,不过,只
27、要把握好方法,其实也没有想象中那么难!,3.3.3 常用内部函数,数学函数,3.3.3 常用内部函数,数学函数(续),3.3.3 常用内部函数,数学函数(续) Rnd备注 功能:返回 0 和 1(包括 0 但不包括1,记为 0, 1 ) )之间的单精度随机数 Int(Rnd * 21)+ 30:产生 3050 之间的随机数 Int(Rnd * 101)+ 0:产生 0100 之间的随机数 Int(Rnd * 随机数个数)+ 基数,3.3.3 常用内部函数,转换函数,3.3.3 常用内部函数,字符串函数,3.3.3 常用内部函数,字符串函数(续),3.3.3 常用内部函数,字符串函数(续) 字符
28、概念 西文字符:ASCII码,每个字符占多少字节? 中文字符:国标码,每个字符占多少字节? 字符集概念 Windows使用:双字节字符集(Double Byte Character Set,DBCS) VB使用:全球统一编码字符集(Unicode),西文字符也好,汉字也罢,全都用两个字节来表示一个字符,其中,ASCII由单字节添加 1 个值 0 的字节变成 2 字节 StrConv:执行Unicode、DBCS的转换,3.3.3 常用内部函数,日期函数,3.3.3 常用内部函数,日期函数(续),3.3.3 常用内部函数,日期函数(续),3.3.3 常用内部函数,格式输出函数 函数原型 Form
29、at ( 表达式 , 格式 ) 说明: 表达式:需要进行格式化输出的数值、日期和字符串类型表达式 格式:用于指定输出格式(数值、日期、字符串)的字符串,省略该参数时,Format 提供与 Str 函数类似的功能 除本函数外,VB6还增加了FormatCurrency、FormatNumber、FormatPercent三个函数,3.3.3 常用内部函数,格式输出函数(续) 数值格式 日期和时间格式 字符串格式 Shell函数 用于调用外部程序(.exe) 计算器,3.4 编码规则,基本的VB编码规则 VB代码不区分字母大小写,但出于可读性考虑,VB会自动进行必要的转换 可以在同一行编写多个语句(用:分隔开) 一个语句可分几行书写,只是需要在行尾加入续行符(空格及下划线) 一行最多只能有255个字符 代码中可增加必要的注释(使用Rem或或工具栏按钮) VB可接受行号、标号,不过一般不建议!,3.4 编码规则,本章常见错误 逻辑表达式书写错,例如,数学表达式 3x10 VB表达式写为 3=x10 同时给多个变量赋值,例如,Dim x%,y%,z% : x=y=z=1 标准函数名写错 变量名写错, 检查方法:在通用声明段加Option Explicit以要求强制显式声明变量 语句书写位置错 在通用声明段只能有Dim语句,不能有赋值等其他语句,
链接地址:https://www.31doc.com/p-3818073.html