Visual,Basic程序设计教程第3章.ppt_第1页
Visual,Basic程序设计教程第3章.ppt_第2页
Visual,Basic程序设计教程第3章.ppt_第3页
Visual,Basic程序设计教程第3章.ppt_第4页
Visual,Basic程序设计教程第3章.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 3 章 Visual Basic 语言基础,学习目标: 掌握数据类型、表达式、操作符的正确使用; 理解常见内部标准函数;了解简单的应用程序开发。,本章导读,教学重点和难点: 常量和变量的三要素(名称、类型、作用范围),运算符的优先级,常用内部函数的灵活使用。,授课学时 4课时,本章主要内容,3.1字符集 3.2数据类型 3.3常量与变量 3.4运算符与表达式 3.5常用内部函数 3.6Visual Basic语句及书写规则 3.7Visual Basic的基本语句,重点: 1.常量和变量的三要素(名称、 类型、作用范围) .运算符的优先级 3.常用内部函数的灵活使用,3.1 字符集,VB采用Unicode字符集。特点:一个汉字和一个英文均为1个字符,占两个字节。,系统定义,在语法上有固定的含义。书写时首字母会自动转为大写。如If、Cls、Print、True。,1. 字符集,2. 关键字(保留字),(最小语法单位),(语法组成部分),3.2 数据类型,数据是程序的必要组成部分,在VB中对数据进行分类处理。(因为不同数据类型的操作方式、取值范围、存储空间不同) Visual Basic提供了两种数据类型: 标准数据类型(系统定义) 自定义数据类型(用户定义) 标准数据类型主要有字符串型数据和数值型数 据,此外还提供了字节、货币、对象、日期、 布尔和变体数据类型。,VB标准的数据类型(见P38表3-1),1.字符串数据类型,注意: (1)用双引号“”括起来。如“ABC”、“中国”,凡是字符型数据必须用“”括起来。 (2)“”表示空字符串,“ ”表示有一个空格的字符串。 (3)字符串的长度(Length)是指它的字符个数,包括空格。 (4)由数字组成的字符串是不能计算的。,字符包括西文字符与汉字。,问? A+b 是不是字符串?“Visual Basic”的长度是? “10“+“20“是不是等于“30“呢?应该等于什么?,整型、实型(带小数),(1) 整型:带正负号的整数。 整型(Integer)(两个字节):十进制取值范围是 -3276832767 八进制前面冠以&或&O,由07组成。如 &O34 十六进制前面冠以&H,由07,AF(或af)组成。 如:&H16 长整型(Long)(4个字节) 表示长整数,在数字后加&,如123&。 Byte字节型 以一个字节存储无符号整型数。0255,整型数据在存储时占两个字节,长整型占4个字节,长整型存储的数据范围比整型大,2.数值数据类型,?整型和长整型的区别,(2) 实型(带小数部分的数) 单精度(Single)(4个字节) 精确到7位(有效数字个数为7)十进制。数字后加!,带小数点,科学记数法,如123.45!,123.45,0.12345E+3(相当于0.12345103 ) 双精度(Double)(8个字节) 精确到15或16位十进制数。表示双精度,数字后加#,在科学记数中用D代替E。如: 123.45#,0.12345D-3(相当于0.1234510-3) 货币型(Currency)(8个字节) 多用来表示钱款。精确到小数点后位(位以后的数字被舍去,不舍入),小数点前可多达15位。如1234,区别在于所表示数据的精度不同,一个是精确到7位十进制数,一个是精确到15、16位十进制数,还有保存数据的范围不同,?单精度和双精度的异同,(3)逻辑数据类型:Boolean (2个字节),表示比较和判断的逻辑结果,只有两种值:True(真)或False(假)。 如:x=1, y=3, xy的结果为布尔型,False 逻辑数据与整型的互转: True-1 False0 非0数True 0False ? 3变为逻辑值应该为_,其结果转换 成整型又为_,(4)日期数据类型:Date,用号码符#括起来。凡是日期型数据必须用#括起来。 如#11/12/1998#、 #23:35:45# Visual Basic 中有多种Date 和 Time 格式。例如: #1980-03-16#、 #3-6-93 13:20# #March 27 , 1993 1:20am# ?#11/12/1998#11结果为,#11/01/1998#,5.对象数据类型:Object,Object 变量采用 32 位(4 个字节)地址来存储对象,表示图形或OLE等对象。,6.变体数型类型:Variant,将什么类型的数据赋给它,它就是什么类型,一个变量在使用之前如果没有定义,则系统默认它是变体类型 。 如: St =label1.caption Label1.caption=label2.caption Label2.caption=St,自定义数据类型,由多个标准数据类型组合而成,有时称记录类型。比如定义一个“学生记录类型”,包括学生的“姓名、年龄、出生日期、是否团员”项数据,则定义方法为: Type Stu_Rec Name As String*8 姓名Name为个字符 Age As Integer 年龄Age为整数型 Birthday As Date 出生日期Birthda为日期 Member As Boolean 团员Member为布尔型 End Type Dim student as stu_rec 这里的Stu_Rec就是一个用户自定义的记录类型。它的 具体数据信息定义在Type与End Type之间。 (具体使用见第7章),枚举数据类型(Enumeratic) 像布尔型Boolean只有种取值True和False一样,当一种数据类型只有几种可能的取值时,可以定义为枚举型。“枚举型”是指将数据可能的取值一一列举出来,其数据取值只限于列举出来的值的范围。 如:Sun、 Mon、 Tue、 wed、 Thur、 Fri、 Sat 若其中Sun的值设为0,则Wed的值为3。,3.3 常量与变量,常量 变量 关键在于把握它们的三要素: 命名、数据类型、作用范围,命了名的存储单元,3.3.1 常量或变量的命名规则,1.以字母、汉字开头,由字母、汉字、数 字或下划线组成,长度小于等于255个字符; 2.不能使用VB中的关键字(系统专有词汇); 如if、 cls等。 3.不区分变量名的大小写;通常变量名首字母大写,其余字母小写,常量全部大写。 4为增加程序的可读性,可在变量名加一个缩写前缀。如,intCount,strMystring,? 5a、 3x_2、Print、Print_Num、 Abc、BB中哪些是合法的变量名。,3.3.2 常量,两种: 系统定义,其由Visual Basic系统或引用的对象提供。如: vbRed、 vbNormal 用户自定义,需要用 Const 语句来声明。 格式:Const 常量名As类型=表达式 (缺省表示变体型) 举例: Const PI=3.14159,G=9.18 该语句中用符号 PI替代3.14159,G替代9.18。 ?Const MAXA% = 1 Const ONE& = 1, TWO# = 1 这几个变量 有何区别?,3.3.3 变量,格式 : Dim 变量名As类型 (缺省为变体类型) 如:Dim intX As integer,sngAll As single 等价于: Dim intX As integer Dim sngAll As single,在 Visual Basic 中执行应用程序期间,用变量临时存储数据。变量有三要素:名字、数据类型、作用范围。 程序使用变量前通常要声明变量,声明时需要指出变量名称和类型,以便系统分配存储单元。,1显式声明(使用Dim),注意: (1) 字符串变量类型。有两种定义方法: Dim 字符串变量名 As string Dim 字符串变量名 As string *字符数 (定长) 如Dim xy As String*50 (2)定义时可以在变量名后加类型符来代替“As 类型” 如: dim x! 等价于 Dim x as single (3)一条dim 语句可同时定义多个变量,但每个变量 需要自己的类型说明。 如:dim x , y as integer (4)用DefType语句定义类型 如果遇到大量需要定义的变量时,用这种方法。 DefType 字母范围 DefInt A-F A-F打头的变量均为整型 DefDbl G-K G-K打头的变量均为双精度实型,在VB中,变量在使用时如果不定义,计算机默认是变体类型 Variant。它容易导致一些难以查找的错误。 如: temp=a a=b b=tmp,两种方法: (1)在程序模块的通用声明段加入语句: Option Explicit; (2)“工具/选项/编辑器”中,选中“要求变量声明”,2隐式声明,推荐使用显式声明。如何保证?,过程级变量(局部变量):在过程内部用Dim声明的变量,只在一个过程内部有效。 窗体级变量:在窗体的通用对象声明区中声明的变量,其特点是在所定义的模块的各个过程中都有效。 例:简单计算器,利用变量。 a=val(text1) b=val(text2),3作用域,3.4 运算符与表达式,程序中对数据的基本加工,是依靠运算符实现的。在Visual Basic中运算符的类型有:算术运算符、比较运算符、连接运算符、逻辑运算符。通过常量、变量、运算符、函数等的组合,由此构成表达式。,3.4.1算术运算符与算术表达式,用来进行算术运算,按优先级排列为: - * / MOD + - 乘方 取负 乘 浮点除 整数除 取余 加 减 同级自左向右顺序运算。 注意: (-8)(1/3) -8(1/3)哪个对? 2/6?26? 35.7(-20.1) ? 2 MOD 3? 6 MOD 3?(如果x MOD y等于,说明什么?) 5.3 mod -2 ? 3.52.5? -6.5 mod 3.5? ? 4+56*7/8 mod 9 5mod 2*62/62,ab,若a为负,则b必须是整数,当操作数带有小数点时,首先四舍五入为整型数再计算,如果操作数是实数,四舍五入取整 ,MOD运算结果的符号取决于左操作数的符号。如果x MOD y等于,则表示x能被y整除,在整除和取模运算时,若操作数是小数点后为5的数,如0.5,1.5,2.5,等,则:整数部分为奇数的四舍五入,整数部分为偶数的不四舍五入。(奇进偶退)即此时“”和“MOD”符号两边均是偶数。,3.4.2字符串运算符与字符串表达式,两个:“&”、“+”,都是将两个字符串拼接。 注意: (1)使用“&”时,变量与运算符“&”间应加一个空格;连接符两旁的操作数不管是字符型还是数值型,先转换为字符型,再连接 。 (2) “+”连接符两旁的操作数必须一致。均为字符型,则连接,若均为数值型则进行算术加运算,否则出错。 (3)连接符 & 和 只能连接前后两个字符串,如 果不是字符串,可以用Str函数转换。 a&b a & b “abc”+123 “abc”& 123 (注意:“4”123) 区分正误?,private sub form_click() a=10 b=20 s=a+b 这个+是算术运算的加 c=“a+b=“ Text1.Text=c+s 这个+是字符串的连接符 End sub 对不对?如不对,如何改?,= 或 = “ABC “ “ABC“ “Abc“ “34”=“4” “3“=“3”,3.4.3关系运算符与关系表达式,3.4.4 逻辑运算符与逻辑表达式,逻辑运算符(布尔运算)共有个: Not、And、Or、Xor、Eqv、Imp 作用:逻辑运算符用来把多个单条件联合成一个条件,称为“复合条件”。(用在if 语句中),如: X10 and x90 问? (Not True or True) And Not True的结果 A不等于C,并且B大于等于A这个VB表达式 如何写?,注意:算术运算符两边的操作数应是数值型,如果是数字字符或逻辑型,自动转换成数值型后再运算。 如: 30-true false+10+”4”,3.4.5 表达式的运算顺序,(1) 当表达式中有多种运算时,执行顺序为: 括号函数算术运算关系运算逻辑运算, 当运算级别一样时,按左到右顺序运算 (2)在算术运算中,如果不同数据类型的操作数混合运算,则VB规定运算结果的数据类型采用精度高的数据类型。 Integer160 Or (B*C200 And Not D60)的值是_。 的Visual Basic表达式为_ 。,3.5 常用内部函数,Visual Basic提供丰富的内置函数用于程序设计,包括:数学函数 、字符串函数、转换函数、日期时间函数、随机函数等方面的函数。,1.转换函数,(1) Str() Val() Str(“123”)=“ 123” (2) Chr()ASC() ASC(“BAC”)= (3) Fix()Int() 区别 Int(-45.6)= Fix(-45.6)= (4) Lcase()Ucase() (5) Cint(-0.5) Cint(-0.5)?为什么?,整数部分为奇数的做四舍五入,整数部分为偶数的不做四舍五入。(奇进偶退),2.数学函数,三角函数中的参数以弧度为单位 如 y=sin(30。) 错误 应为: y=sin(30*3.1415926/180) Sqr(9)错误。 Y=Sgn(6) 则y的值是1。 数学式ylnX在VB中正确的书写应为y=log(x),? 求cos(60。) sgn(-52) ln10的值,3.字符串函数,x=Instr (2,”ABEfCDEFG”,”EF”,0) x的结果为7(0或缺省区分大小写,1 不区分) x=Instr (2,”ABEfCDEFG”,”EF”,1) X的结果为3 x=Instr (2,”ABEfCDEFG”,”FE”) X的结果为0 A=“your”:b=“sname”:c=“iscr” print Right(A,3) print Mid(B,2,4) print Left(C,2) 在窗体上显示的结果分别为? Y=string(3,67) 结果为:? 区别 Rtrim()、Ltrim()、trim()作用? 以“ Visual basic ”为例,如:label1.caption=time,4.日期、时间函数(time(),5.随机函数 (Rnd(),产生0,1)的随机小数 Rnd与Rnd(1)效果相同 生成某个范围的随机整数的公式: Int(Upper-Lower+1)*Rnd+Lower) (3) 使每次产生的随机数不同,需利用Randomize语句 例子:随机产生学号,随机产生随机数1-6。,如:y=isnumeric(“12b34”) 则 y的结果为false. If Isnumeric(val(text1.text) then 含义?,判断函数 (IsNumeric(),补充:,Shell()函数,调用Windows下的任何可执行程序 举例: 调用计算器i=shell(“c:windowscalc.exe”) 调用 Word程序 并把指定文件打开,3.6 Visual Basic语句,VB源代码不区分字母的大小写 语句书写自由 例:a=3: b=4 多条语句写在一行上 ,用“:”分隔 例:dim a as integer,b as integer, _ c as integer 一条语句写在多行上,用 _ (空格下划线) 适当添加注释有利用程序的维护和测试 Rem (注释语句不执行) 保留行号与标号 如: a: end,3.6.1 Visual Basic语句书写规则,3.6.2 Visual Basic的基本语句,格式:目标操作符源操作符 注意: (1)目标操作符为:变量和对象名.属性 (2)区别等号 如: b2:c3 a=b=c 第一个是赋值号、第二个是等号 同理: C=b=a=8 第一个是赋值号、其它是等号。 为什么?,1. 赋值语句,说明: Basic提供的对某些数据类型的自动转换机制,可强制变量转换为适当的数据类型。 如: private sub Form_click() dim intA% intA=3.5 print intA 窗体上打印的是? end sub,2. 注释语句 格式: 注释内容 / Rem 注释内容 说明:注释语句是非执行语句。,3. 暂停语句 格式:Stop 说明:程序调试时使用。,4. 结束语句 格式:End 功能:通常用来结束一个程序的执行。,常 见 错 误,1. 逻辑表达式书写错,在VB没有造成语法错而形成逻辑错 例如,数学表达式 3x10 VB表达式写为 3=x10。 2. 同时给多个变量赋值,在VB没有造成语法错而形成逻辑错 例如:Dim x%,y%,z% x=y=z=1 3. 标准函数名写错 4. 变量名写错 检查方法:在通用声明段加Option Explicit 5. 语句书写位置错 在通用声明段只能有Dim语句,不能有赋值等其他语句,1.常量和变量的三要素(命名、数据类型、作用范围) 2.运算符的优先级 3.常用内部函数的灵活使用,小 结,前三章知识回顾,第一章 VB集成开发环境(各个窗口的作用、打开和关闭) 例题:欢迎使用VB 第二章 VB采用的是面向对象程序设计,编程四部曲中难点在于第三步,在事件过程中编写代码: Private sub 对象名_事件名() (1) 对象名.属性名属性值 Or (2) 对象名.方法 参数列表】 or (3) 语句。如, end 、 load form End sub 例题:标签交换问题 文本框密码问题 命令按钮简单计算器(加减乘除),前三章知识回顾,第三章 VB程序设计基础 作用:扩充代码(3) 如:private sub form_click() Const PI#=3.1415926 dim r%,s% r=val(text1.text) s=PI*r2 print “面积”;s end sub 例题: 常量求圆面积 变量交换两个变量的值 运算符和表达式 升级计算器,课后习题,1. len(str(1.3) mod 2= 2. 执行以下程序段后,变量C$的值为_ A$=Visual Basic Programing B$=Quick C$=B$&UCase(Mid$(A$,7,6)&right$(A$,11)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论