版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Basic辅导讲义,计算机与数学基础教学部 :刘冰,数据 运算符和表达式,数据类型,VB语言数据类型: 基本数据类型 自定义类型 枚举类型,计算机能够处理的信息都叫做数据,数据不单单是数字,还包括字符、日期、图像、声音、逻辑值等一系列在计算机中能够表达的信息。,基本数据类型 p48,注意: Vb中类型符可以用来声明变量或者函数结果的数据类型,比如:Dim x as integer 和 dim x%是完全一样的 ,在程序中也可以直接使用。 A!=123.456 B%=123.456 Print A,B,a = 123 b = 234 c$ = 123 d$ = 234 Print
2、a + b Print c + d,Str$(200) Mid$(“abc”,1,2),字节,字节是计算机中存储数据的最小单位。由8位二进制数组成。 比如:1字节长度的数据如果没有符号则 最小为00000000 (0) 最大为11111111(255) 如果带有符号,则最高位为0代表正数,最高位为1代表负数。剩下的7位为有效数字。 最大为01111111 (127) 最小为最大值取反-1 ,即-128(编码方式不同),可进行算术运算的数据,包括整数、实数类型 整数类型:不带小数的数,可以有正、负号 字节型(Byte)1字节。 存储无符号整数,只存储0255之间的数 整型(Integer) 2字
3、节。 -3276832 767 * 长整型(Long)4字节。-21474836482147483647,1.数值型(Numeric),实数类型: 由符号、指数和尾数组成。 单精度浮点型(Single)4 个字节, 只有7个有效数字,当数字大于7个有效数字可以表示的时候,用E或者e来作为科学计数法表示。 Dim x As Single, y!, z!, k! x = 100 / 3 y = 100000 / 3 z = 10000000 / 3 k = 100000000000 / 3 Print x Print y Print z Print k,双精度浮点型(Double)8个字节(64位
4、), 有15个有效数字,用D或者d来作为科学计数标志 123.33D+3 786.7D+308 货币型(Currency)8个字节 运算精确到小数点后4位.,以上为数值类型,数值类型的变量初始值都是0。,运算和表达式 运算符是表示数据之间运算方式的符号,操作数是参与运算的数据,表达式是由运算符和操作数组成的式子。 例如:算术表达式“1+2”中1、2 是操作数,“+”是运算符。,以 X=5, Y=2 为例 (p53),提示:整除和取余运算时,如操作数为小数,均四舍五入后再参与运算。,整除:取商的整数部分 取余:取商的余数部分 100/3 1003 100 mod 3,Print 8 mod 3.
5、2 Print 3.2 mod 8 Print 84.2 Print 84.6,注意与数学中表达式写法的区别: 在VB中不能省略乘号运算符 如:数学上的表达式b2-4ac中省略了乘号,但在写成对应的VB表达式的时候,要写成b2-4*a*c。 表达式中所有括号一律用小括号 如:数学中的表达式(x+y)/(a-b)+cx,在VB中要(x+y)/(a-b)+c)*x。 算术运算符优先级从高到低的顺序为:乘方负数(乘、除)整除取模(加、减) 优先级高则先运算,但如果有括号则先运算括号内的表达式。,练习,Print -2 4 Print 3 -2 Print 6 (1 / 2) Print (10 -
6、4) Mod 2 + 7 / (3 - 1) Print (-(-(4-1)*-2-1)*-2-1)*-2-1 Print 3 3 2 Print 4 Mod 8 / 3 Print 3 * 2 3 / 2,1.字符型(String),字符型数据是一个字符序列,由ASCII码和中文字符构成。在vb中,字符串是放在双引号中的一串字符。由两个连续双引号扩起来的字符串叫做空串。 ABC 中国 12345 计算机 长度为3 长度为0,为空串。 Text1.Text = ,Dim x as string,y$ 字符型变量的初始值为空字符串。,ASCII字符表,高三位,低 四 位,字符运算,字符串运算符:
7、“&”和“+”,功能是字符串连接。,异同: 同:操作数同为字符型时,完成字符串相连接操作。 异:操作数两边不同为字符,结果不同。,? “abc”+”123” ? “abc”& “123” ? “100” + “123” ? “100” & “123”,? 100 + “123” ? 100 & “123” ? “abc”+123 ? “abc”& 123,X=5+7 Print “x=”,x Print “x=”+x Print “x=” & x Print “x=”+str(x),3.日期型(Date)8个字节 表示日期信息,以定界符#括起来,可以表示公元100年1月1日到9999年12月3
8、1日。 时间表示为0:00:00到23:59:59 格式mm/dd/yyyy或mm-dd-yyyy 例如:#2005-3-2# #03-15-1999#,日期运算,日期运算符:“+”和“-”。 “+” 日期+数值,表示该日期后的若干天。 【例】 ?#02-01-2011#+10 结果为:2011-02-11 “-” 日期-数值,表示该日期前的若干天。 日期-日期,表示两个日期之间相差的天数。 【例】 ?#01/01/2010# - 2 结果为2009-12-30 ?#2008-08-24# - #2008-08-08# 结果为:16,4.布尔型(Boolean)2个字节 又称逻辑型,为真Tru
9、e和假False,在计算机中也用-1来表示True ,用0来表示False。 print TrueFalse print True+False+2,If 3 + 1 = 2 Then Print a Else Print b End If,If 3 + 1 Then Print a Else Print b End If,关系运算,运算规则: 数值型:比较它们的数值大小。 字符型:从左到右逐个字符比较ASCII码值,到不同字符为止。 日期型:将日期看成“yyyymmdd”的8位整数,再按数值进行比较。,注意:同类型数据才能比较,结果为逻辑值。,字符比较时 “空格”09AZaz汉字。 汉字按照拼
10、音比较,字典序。,Print 5=8-3 x = 6 y = 7 z = 0 Print x = y = z,Print “a” ”h” Print “a”ABC” Print “ab”+”c”abd”,Print Date #8/8/2011#,15. 设a=10,b=5,c=1,执行语句Print a b c后,窗体上显示的是 A)True B)False C)1 D)出错信息,以下关系表达式中,其值为False的是 A) “ABC”“AbC” B) thethey C) VISUAL=UCase(Visual) D) IntegerInt,逻辑运算,将操作数进行逻辑运算,结果是逻辑值。,
11、逻辑运算优先级: Not(非)And(与)Or(或)Xor(异或)Eqv(等价)Imp(蕴含)。 equal value implication 混合运算优先级:算术字符日期关系运算逻辑运算,? ab + “e 0,设a = 4, b = 3, c = 2, d = 1 表达式a b + 1 Or c d And b Mod c的值是: A)True B)1 C)-1 D)0,设a = 2, b = 3, c = 4 表达式Not a a + c的值是 A)-1 B)1 C)True D)False,5.变体型(Variant) 一种可以变的数据类型,可以定义为系统中任何数据类型。例数值、字符
12、串、日期时间等。,dim x as Integer Dim y As Long y = 100000 x = y Print x,Dim y As Long y = 100000 x = y Print x,由于vb语言中存在变体类型,所以对变量声明的要求不是十分严格,变量未经dim 等命令声明的情况下都作为变体型处理。,自定义类型,当处理一组相关的、类型不同的数据时,用Type语句自定义数据类型。,类似这个表,每一行数据都是不可分割的,用来描述一个对象的,这样最好不用单独的没有关联的变量来保存数据,这时,需要用自定义类型,格式: Type 数据类型名 End Type,数据类型元素名 as
13、数据类型名 数据类型元素名 as 数据类型名 ,【例】 Type student no as integer 定义No为整型 Name as String 定义不定长字符串 Sex as String*1 定义为1个字符的定长字符串 phone as string*11 End type,枚举类型,格式: Enum 枚举名称 成员名1 =常数表达式 成员名2 =常数表达式 End Enum,当一个变量有几种可能的取值时,可以定义为“枚举”类型。将该变量的取值一一列举出来。变量的值只限于列举出来的值的范围。,在窗体模块、标准模块中声名 表示可以缺省;常数表达式可以省略 枚举的第一个初始化为0,其
14、后加1。,【例】 定义一个枚举类型Workday 包含7个成员 Public Enum Workday Monday Tuesday Wednesday Thursday Friday Saturday Sunday End Enum,常量和变量,常量 固定不变的量。,1直接常量 程序中具体给出数据的值。 数值常量: 5678 233.5E-6 0.58D3 字符串常量: this is a string 你好!VB! 逻辑常量:True False 日期常量: #2004-12-26# 可以指明常量的类型,即在数值的后面加上相应的类型说明符。,2.75! 11.25#,Print 2.545
15、679 + 11.4 Print 2.545679! + 11.4!,2符号常量 用一些有意义的字符代替直接常量。 格式:Const 常量名 = 表达式 Const pi=3.1415926 Const tomorrow = #8/8/2008# Const num! = 1.25, max As Double = 2.65 Const a , b , c=100 (错误) 使用符号常量可以方便记忆 BackColor = &HFF& BackColor = VBred 符号常量一旦定义,不可以在程序运行中更改 ,这点区别于变量.,Const vbred= &HFF&,变量 临时存储单元,可存
16、放数、文字、日期、对象属性等。 比如在程序中经常用到字符串”abcde”,如 Print “ab”+”abcde” Print “abcde”abd” 则可以将”abcde”赋值给某个变量,让该变量代替”abcde”做运算 X=“abcde” Print “ab”+x print x”abd”,命名规则 字母、数字或下划线组成;(name, x1_1,num1) 字母为首,最后可以是类型说明符;(num1,y!,name1$) 有效字符长度小于等于255个字符; 禁用VB中的关键字; 不区分大小写。,1变量的声明 显式声明 在变量使用前用声明语句声明程序中用到的变量。 格式:Dim 变量名 A
17、s 数据类型 Static 变量名 As 数据类型 静态变量 Public变量名 As 数据类型 全局变量 Dim x as integer Dim y as single Dim var1 as Integer, var2 as Integer 定义多个变量,逗号分隔 Static total! 定义total为单精度实型变量 Dim average 定义average为货币型变量,Dim name as String*6 定义name为定长字符串,这行命令定义了三个变量a,b,c 但是只说明了c 是整数型,a和b没有说明,当作变体型处理,Dim x As String * 5 x = 10
18、0 Print x & ab x = 1000000 Print x & ab,Dim a,b,c as integer,ab 10000ab,实验: Dim a, c As Integer a = 100 / 3 c = 100 / 3 Print a Print c,正因为有变体型的存在,使得在vb语言中,变量的定义并不十分严格,各种类型间可以自动相互转换 “100” + 200 “100” & 200 等都是可以的,而在一些定义严格的语言中是绝对禁止的,注意:在通用说明处加Option Explicit语句强制显式声明变量。,Private Sub Command1_Click() va
19、rl = 50 Print var1 + 50 End Sub, 隐式声明 变量不经过dim等声明语句直接使用。 【例】 Private Sub Command1_Click() Varl = 50 Print Varl End Sub,变量实际上是在内存中的一个存储区域,当使用Dim等语句声明变量的时候,按照数据类型要求分配存储空间,隐式声明时动态分配存储空间。 变量有一定的作用范围,当某个范围内的变量使用结束时,保存变量的存储空间被系统收回,即变量消失。,Option Explicit Private Sub Command1_Click() Dim x x = 100 Print x E
20、nd Sub Private Sub Command2_Click() Print x End Sub,Dim与Static 相同点:都是提前声明变量,分配存储空间,使用命令的格式相同 不同点: 用Dim声明的变量,每次执行过程都重新定义变量;过程结束,变量的内容自动消失,存贮单元释放。 用 Static声明的变量,在每次执行过程时,变量保持原来的值(上次运行结果),这种变量称为静态变量。,Private Sub Command1_Click() Dim x% Static y% x = x + 1 y = y + 1 Print x, y End Sub 连点按钮4次,窗体上出现的内容是?,
21、Private Sub Command2_Click() y = y + 1 Print y End Sub 如果在按钮2中写以上代码,在单击按钮1后点按钮2,窗体上出现的结果是什么?,2. 变量的作用域 按其变量作用的有效区域分为: 局部变量、模块变量、全局变量。,当使用变量时,要区分变量的作用范围,即变量可以在哪些过程中使用,Private Sub Command1_Click() x = x + 5 Print x End Sub Private Sub Command2_Click() x = x + 10 Print x End Sub Private Sub Command3_Cl
22、ick() Print x End Sub,Dim x As Integer Private Sub Command1_Click() x = x + 5 Print x End Sub Private Sub Command2_Click() x = x + 10 Print x End Sub Private Sub Command3_Click() Dim x As Integer x = x + 100 Print x End Sub,存在同名变量时,作用范围小的优先使用,Dim x As Integer Dim y As Integer Private Sub Command1_Cl
23、ick() Static x As Integer x = x + 10 y = y + 10 Print x, y End Sub Private Sub Command2_Click() x = x + 10 y = y + 10 Print x, y End Sub Private Sub Command3_Click() Dim y As Integer x = x + 10 y = y + 10 Print x, y End Sub,三个按钮点击次序如下: Command1 Command1 Command2 Command2 Command3 Command3 Command1 C
24、ommand2 Command3 问题:9次单击按钮后,窗体上得到的9行数字序列为:,在窗体上画一个名称为Command1的命令按钮和三个名称分别为Label1、Label2、Label3的标签,然后编写如下代码: Private x As Integer Private Sub Command1_C1ick() Static y As Integer Dim z As Integer n10 z=n+z y=y+z x=x+z Label1.Caption=x Label2.Caption=y Label3.Caption=z End Sub 运行程序,连续三次单击命令按钮后,则三个标签中显
25、示的内容分别是 A)10 10 10 B)30 30 30 C)30 30 10 D)10 30 30,函数,函数的简单定义:设在某变化过程中有两个变量x与y,如果对于x的每一个值,y都有唯一的值与它对应, 那么就说y是x的函数 在计算机领域,函数已不单纯的是数字的映射,它可以将复杂运算符号化,用户只需要记住函数的名字,而没有必要了解函数的全部计算过程。 vb函数分为系统函数(vb提供)和自定义函数(用户编写),函数的调用格式: (参数1,参数2) 说明: 每一个函数都有函数名,通过函数名调用函数。 括号内的值称为“参数”,函数运算的结果称为“返回值”。 函数是以表达式的形式调用的,而不能单独作为一个语句。 例如: Let a = Str$(100) Let z = Sin(x) + Cos(x + y) Print val(text2.text) 而单独的函数写成一行语句是不正确的。 Sqr(4) Abs(-100),数学函数,字符串函数,时间函数 now date time 测试函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理-病历管理制度
- 天津市东丽区2026届初三下学期3月联考数学试题含解析
- 江苏省苏州市梁丰重点达标名校2026年初三第四次模拟考试(5月)数学试题含解析
- 吉林省长春市教研室重点达标名校2026届初三第一次模拟数学试题试卷含解析
- 北京市崇文区名校2025-2026学年初三物理试题5月月考含解析
- 浙江省绍兴市海亮重点名校2025-2026学年初三练习题(一)(全国卷II)物理试题含解析
- 沈阳市铁西区重点中学2025-2026学年重点高中联盟领军考试4月初三物理试题(文)试题含解析
- 广东省汕头市科利园实验校2026年初三5月阶段质量检测试题数学试题含解析
- 山西省吕梁市蕴华国际双语校2026届第一次中考模拟考试物理试题含解析
- 江苏省宜兴市张渚徐舍教联盟重点中学2025-2026学年初三下学期期中数学试题含解析
- 2026年宁夏石嘴山市单招职业适应性测试题库及一套答案详解
- 2026广东广州市黄埔区机关事务管理局招聘政府雇员3人笔试备考题库及答案解析
- 2026年巡特辅警笔试题库及完整答案一套
- 中烟机械技术中心招聘笔试题库2026
- 矿山运输车队运营管理制度
- 钛厂生产耗材领用制度
- 码头安全员培训内容
- 2026年淮南联合大学单招职业技能测试题库附答案
- (正式版)DB61∕T 2107-2025 《矿产资源规划实施评估技术规范》
- 文书模板-申请筹设职业高中的申请书
- SJG 172-2024装配式建筑工程消耗量标准
评论
0/150
提交评论