页数:42页文件大小:347.5 KB来源: VB程序设计ppt课件
本课件系统讲解VB代码基础,先介绍字符集与基本数据类型,包括整型、长整型、单双精度、货币型、字符串型与日期型的存储与取值范围,随后说明常量与变量、常用内部函数、各类运算符与表达式的优先级,最后给出代码书写规则。
第3章 VB程序设计代码基础
第3章Visual Basic程序设计代码基础▲本章要点:字符集数据类型常量、变量常用内部函数运算符与表达式
3.1字符集
1.字符集使用Unicode字符集,其基本字符集包括:数字: 0~9英文字母:a~z,A~Z特殊字符:空格!" # $ % & ' ( ) * +-/\^,. : ; < = > ?@ [ ] _ { } | ~等。
2.关键字关键字又称为保留字VB自动将关键字的首字母转换为大写字母例如:PRINT5+6转换成Print5+6
3.2数据类型
基本数据类型:数值型字符串型布尔型日期型用户自定义的数据类型基本数据类型分为
3.2.1数值型数据
1. 整数类型:整型(Integer)以2个字节存储。
| 表示方式 | 组成 | 范围 |
|---|---|---|
| 十进制 | 由+、-号和0~9组成 | -32768 ~ 32767 |
| 八进制 | 以&O开头,由0~7组成 | &O0 ~ &O177777 |
| 十六进制 | 以&H开头,由0~9、A~F组成 | &H0 ~ &HFFFF |
例:-325、0、56、+100、&O456、&O36、&H1AC、&H38、&H2。
(2)长整型(Long):以4个字节存储。
| 表示方式 | 组成 | 范围 |
|---|---|---|
| 十进制 | 由+、-号和0~9组成 | -2147483648 ~ +2147483647 |
| 八进制 | 以&O开头,以&结束 | &O0& ~ &O37777777777& |
| 十六进制 | 以&H开头,以&结束 | &H0& ~ &HFFFFFFFF& |
例:453466、-34568、+1000000、&O456&、&O36&、&H1AC&、&H38&、&H2&。
2. 实数类型:浮点数采用IEEE格式,由尾数及指数组成:[±]…[. …][E|D][±]…。
| 类型 | 存储空间 | 有效精度 | 示例 |
|---|---|---|---|
| 单精度浮点型(Single) | 4个字节 | 精确到7位十进制数 | 3.234E+2表示3.234×10²;-28E9表示-28×10⁹;4.56E-17表示4.56×10⁻¹⁷ |
| 双精度浮点型(Double) | 8个字节 | 精确到16位十进制数 | 3.234D+2表示3.234×10²;-28D9表示-28×10⁹;4.56D-17表示4.56×10⁻¹⁷ |
(3)货币型(Currency)以8个字
节存储用于表示定点数,其小数点左边有15位数字,右边有4位数字。3.字节型(Byte)用于存储二进制数据,其取值范围为0~255。
3.2.2字符串型数据
(String)由""括起来的一串符号例: "abc" "ABC" "计算机""12.34" "3+2" ""(空串)如果字符串本身包括双引号,可用连续两个双引号表示。
例:要打印以下字符串:"You must study hard", he said.在程序中需要将该字符串表示成:"""You must study hard"", he said. "3.2.3布尔型数据(Boolean)用于进行逻辑判断,只有True和False两个值
3.2.4日期型数据
(Date)用于表示日期和时间格式:#……#VB接受许多种日期时间格式例:下面的Date/Time值全部有效。#3-6-93 13:20##March 27,1993 1:20am##Apr-2-93##14 April 1993##12/18/1999#3.2.5对象型数据(Object)以4个字节存储,用于引用程序中的对象。
3.2.6可变类型数据(Variant)可以包含任何类型的数据。可以包含Empty、Error、及Null等特殊值
3.2.7枚举类型
*3.2.7枚举类型(自学)3.2.8用户自定义类型是用户自己定义的类型,这种类型可以包含多个基本类型。例如,可以定义一个Students数据类型,该类型中的每一个数又包含了学生的班级、学号、姓名、成绩信息。
定义格式为:PrivateTypeStudentsClassAsString'班级NoAsString'学号NameAsString'姓名ScoreAsInteger'成绩EndType
3.3 常量
3.3常量指在程序运行期间其值不发生变化的量。两种形式:直接常量;符号常量3.3.1直接常量例: "欢迎使用Visual Basic"字符串常量12345数值型常量True布尔型常量#11/10/2001#日期型常量3.3.2用户自定义符号常量格式:Const<常量名> [As<类型>]=<表达式>类型:Integer Long Single DoubleString String*n BooleanDate Currency Byte Variant
符号常量定义示例
例:
Const Pi = 3.14159 Const MaxAs Integer= 9 Const BirthDate = #1/1/01# Const MyString = "friend"'用逗号分隔多个常量声明 Const Pi = 3.14,Max = 9,MyStr="Hello"'用先前定义过的常量定义新常量 Const Pi2 =Pi* 2使用:在程序中引用如:AREA=Pi*R^2在程序中不可修改如:Pi=3.14系统内部常量
VB内部已定义,可以直接使用的常量查看内部常量:视图→对象浏览器→选择库、类、成员如:库VBRUN类ColorConstantsShapeConstants成员VbredvbShapeCircle例:
Private Sub Form_Activate()ConstAAs String ="各种常量的使用" Form1.BackColor =vbGreen Form1.ForeColor =vbRed Form1.FontSize =14PrintA End Sub3.3.3系统定义符号常量3.4 变量
3.4变量程序执行期间,用变量临时存储数值。变量的值可以发生变化。每个变量都有名称和数据类型。2.变量的命名规则第一个字符必须是字母长度不超过255个字符不可以包含小数点或者内嵌的类型声明字符不能使用关键字不能与过程名或符号常量同名例:intMax strName Student1 MyName不区分大小写;变量名应便于识别、记忆……5A1.什么是变量?
一个有名称的内存单元称为变量。
变量的声明
3.变量的声明(1)声明变量格式:Dim|Private|Public| Static<变量名> [As <类型>]Dim:在窗体模块、标准模块或过程中声明变量。
Private:在窗体模块或标准模块中声明变量,使变量仅在该模块中有效。Public:在标准模块中声明全局变量,使变量在整个应用程序中有效。
Static:在过程中定义静态变量,即使该过程结束,也仍然保留变量的值。
变量声明示例
Option Explicit如果设置:工具→选项→编辑器→要求变量声明则在后续模块中自动插入Option ExplicitDim语句在窗体与过程中的区别
例:窗体模块和过程中使用Dim语句的区别。设在窗体中放置按钮Command1和Command2Dim a As Integer
Private Sub Command1_Click()a = a + 10 Print a End Sub Private Sub Command2_Click()a = a + 15 Print a End Sub观察程序运行结果将 Dim a As Integer放到过程内,观察运行结果。Static变量的作用
例:Staic的作用。设在窗体中放置按钮C1
Private Sub C1_Click() Static a As Integera = a + 10 Print a End Sub Private Sub C1_Click() Dim a As Integera = a + 10 Print a End Sub运行时,多次单击命令按钮C1,比较以上两个事件过程的执行效果3.5常用内部函数
函数形式:函数名[(<参数表>]参数:常量、变量或表达式。若有多个参数,参数之间以逗号分隔。函数值:也叫“返回值”函数的使用:函数在表达式中被调用。
函数分类内部函数用户自定义函数
取整函数Fix与Int
整除判断与对数换底
LTrim、RTrim与Trim函数
1.随机函数
Rnd[(x)]产生[0,1)之间的单精度随机数。x<0:每次使用x作为随机数种子得到相同的结果。x>0:以上一个随机数作种子,产生序列中的下一个随机数。
x=0:产生与最近生成的随机数相同的数。省略x:同x>02.Randomize语句初始化随机数发生器,格式:Randomize[n]n:种子,省略时以系统时间作为种子3.5.3随机函数
生成指定范围的随机整数
Asc、Chr、Str与Val函数
Format格式输出函数
Shell函数
用于调用Windows下的应用程序。格式:Shell(pathname[,windowstyle])pathname:要执行的可执行文件名,包含路径。
windowstyle:决定程序运行时窗口的样式。如果省略,则程序以具有焦点的最小化窗口执行。取值见P51表3-1。3.5.7Shell函数例:运行时单击窗体,打开计算器:
Private Sub Form_Click()Shell "c:\winnt\system32\calc.exe", vbNormalFocus End Sub这里Shell函数以语句形式出现,没有返回值。3.6 运算符与表达式
3.6运算符与表达式操作数:常量、变量、函数、对象运算符:圆括号算术运算符(算术表达式)字符串运算符(字符串表达式)关系运算符(关系表达式)布尔运算符(布尔表达式)
3.6.1 算术运算符与表达式
3.6.1算术运算符与算术表达式示例运算运算符优先级3^2乘方^1-9取负-23*5乘法*310/3浮点除法/310/3整数除法\410mod 3取模Mod52+3加法+62-3减法-6书写:一条线、无[ ]、无{ }
数学式改写为VB表达式
例:将以下表达式写成VB合法的表达式(xy)za1+a2a-b+a(-b)a1+a2a^(-b)+a*(-b)(x^y)^za^(1/n)y/(-x)+x/(-y)A/(4+(8/(3+B))
乘方运算与优先级
字符串运算符&与+
字符串运算符有两个:& +例: "Hello" & " World"结果为"Hello World""Check" & 123结果为"Check123"123 & 456结果为"123456""123" & 456结果为"123456"&:自动将两侧的操作数作为字符处理123 + 456结果为579"123" + 456结果为579"123" + "456"结果为"123456""Check" + 123错误+:仅当两侧操作数都为字符串时才做字符串连接3.6.2字符串运算符与字符串表达式
比较运算符
比较运算的结果
4.比较结果:True False例: 45 < 35结果为False45 = 45结果为True4 <> 3结果为True"abc" > "cdf"结果为False"for" < "fortran"结果为True例:要判断两个单精度型变量A和B的值是否相等,可以用下式判断:Abs(A-B)<ε例如:要判断1除以3是否等于0.3333,可以写成:Abs(1/3-0.3333)<10E-5
布尔运算符Not、And、Or
1.布尔运算符:Not And Or2.布尔表达式:<关系表达式1> <布尔运算符> <关系表达式2>3.优先级:Not→And→Or例:A = 10: B = 8: C = 6。
Not (A > B)结果为FalseNot (B > A)结果为TrueA > B And B > C结果为TrueB > A And B > C结果为FalseA > B Or B > C结果为TrueB > A Or B > C结果为TrueA < B Or B= C结果为False3.6.4布尔运算符与布尔表达式
布尔表达式书写示例
运算符的优先级顺序
3.7代码书写规则
及格式约定1.每条语句完成某种功能,通常单独占一行。2.语句应符合一定语法归则。3.VB对语句自动检查语法、自动格式化。
4.一行可以写多条语句,之间用冒号隔开例如:Form1.FontSize=14 : Form1.BackColor=vbRed5.语句太长时可以续行,使用空格加下划线表示例如:Text3.Text = Val(Text1.Text) +_Val(Text2.Text)
命令格式中的符号约定
6.命令格式中的符号约定< >必选参数表示符。如缺少必选参数,则语句发生语法错误。[ ]可选参数表示符。如方括号中的内容省略,则VB会使用该参数的缺省值。
|多个取一表示符。分隔多个选择项,必须选择其中之一。{ }括起多个选择项。, …同类项目的重复出现。…省略了在当时叙述中不涉及的部分。
注意:这些专用符号和其中的提示,不是语句行或函数的组成部分,在输入具体命令或函数时,上述符号均不能作为语句的组成部分。
本章小结
:1.常用数据类型整型:Integer长整型:Long单精度:Single双精度:Double货币型:Currency字节型:Byte可变长度字符串:String固定长度字符串:String * length布尔:Boolean日期型:Date对象类型:Object可变类型:Variant
第3章 小结(续)
2.常量:直接常量用户自定义符号常量:Const语句系统定义符号常量3.变量命名规则声明:Dim语句4.内部函数数学函数、字符串函数、随机函数转换函数、日期时间函数5.表达式:算术表达式字符串表达式关系表达式布尔表达式日期表达式对象表达式
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}