1 / 32

Visual Basic 程序设计 第 3 章 BASIC 语言基础

Visual Basic 程序设计 第 3 章 BASIC 语言基础. 信息学院 魏洪涛. 主要内容. 基本数据类型:数值型、字符型、日期型、布尔型、变体型 常量与变量及其定义 不同数据类型的运算 表达式 内置函数. 基本数据类型. 均指二进制的位,尾数和指数都含 1 位符号位。 尾数在(- 1 , 1 )之间。. 基本数据类型 ( 续 ). 常量. 直接常量 数值常量,如 : 3.12 , -5 , 1.3E-8 日期时间常量,如: #10/12/2002 10:30# 字符串常量,如: "I'm fine" , "99.9"

cicily
Download Presentation

Visual Basic 程序设计 第 3 章 BASIC 语言基础

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Basic 程序设计第3章 BASIC 语言基础 信息学院 魏洪涛

  2. 主要内容 • 基本数据类型:数值型、字符型、日期型、布尔型、变体型 • 常量与变量及其定义 • 不同数据类型的运算 • 表达式 • 内置函数

  3. 基本数据类型 • 均指二进制的位,尾数和指数都含 1 位符号位。 • 尾数在(-1,1)之间。

  4. 基本数据类型(续)

  5. 常量 直接常量 • 数值常量,如: 3.12,-5,1.3E-8 • 日期时间常量,如:#10/12/2002 10:30# • 字符串常量,如:"I'm fine","99.9" • 逻辑常量:True,False • 用符号表示的VB常量,如:vbCrLf回车换行 chr(13) & chr(10)vbYesNo =4,在消息框msgbox中显示 Yes 和 No按钮

  6. 常量 符号常量分VB已定义的符号常量和自定义符号常量。 • VB常量,如:vbCrLf回车换行 chr(13) & chr(10)vbYesNo =4,在消息框msgbox中显示 Yes 和 No按钮 • 好处:便于记忆,便于程序阅读 • 查阅定义:在对象管理器中

  7. 声明常量的好处: 便于识别(使用有意义的符号,如PI) 便于修改(只需修改定义部分) 减少差错:避免输入错误,便于查错 例: Const PI=3.1415926 Const VB as string _ = “Visual Basic“ Public Const conMax=99 Const PI2=PI*2 Const T911= #2001-9-11# 自定义符号常量-声明 [Public|Private] Const [as <类型>] <常量名>=<常量表达式>

  8. 语法 [Public|Private] Enum 类型名 <成员名> [=常量表达式] <成员名> [=常量表达式] …… End Enum 如果没有常量表达式,则第一个成员等于0,后一个成员等于前一个成员加1。 常量表达式为Long类型 类型定义后,可以用在变量声明语句中 例如: Enum Season Spring =1 Summer Fall Winter End Enum 结果:Season是个符号常量集合,其中包含4个符号常量:Spring=1,Summer=2 Fall=3,Winter=4 使用:Dim jd As Season 枚举类型-定义符号常量集合 在对象浏览器中观察自定义的类型

  9. 变量及其命名规则 • 变量分内存变量和属性变量。 • 属性变量即对象的属性,其名称与类型是确定不变的,例如Caption属性,其变量名是对象名.Caption,而其类型为String。 • 一般变量即指内存变量,其名称与类型是由程序员定义的。 • 变量名不能以数字开始,不能用VB的保留字 • 变量名只能由字母、数字和下划线组成 • 变量名可以使用中文,但较少见。

  10. 变量的声明 • 变量的声明语句: Dim|Public|Static <变量名> [as <类型>] • 显式声明语句: Option Explicit 该语句强制变量必须先声明才能使用 • 例: Dim x As Double Dim i As Integer, j As Single, s As String 或: Dim i%, j!, s$ 注意:如声明 Dim x,y As Single 则x为Variant型(变体型),y才是Single型

  11. 表达式 • 常量、变量、函数用运算符连接而成 • 单独一个常量,或变量,或函数都可以看作是一个表达式 • 运算结果称为表达式的值,该值的数据类型即为表达式的类型。

  12. 运算符 • 数值运算:+ - * / (加减乘除) \ (整除) , 如: 10\3= 3 mod (求余数),如: 12 mod 5 = 2 ^ (幂), 如: 3^4 =81 ( 34) • 比较运算: < <= = >= > <> • 连接运算: & (或+) • 逻辑运算: not and or xor equ imp • VB内置函数

  13. 数值运算 • 算术运算:+ - * / (加减乘除) • 整除:\ 如 11\3,结果为 3 求余数:mod 如 14 mod 5 ,结果为 4 幂运算:^ 如 3^4 即 34,结果为81 注意:整除(\)和模运算符(mod)两侧遇小数点时,先四舍五入,再运算。如:10.5\3.5=11\4=27.2 mod 3.5=7 mod 4=3

  14. 数值运算的精度 • 数值表达式的运算结果一般为Double或Long类型。但如果含Single类型的变量或常量,则可能降低其运算精度。 • 数值常量也可以使用类型后缀(%,&,!,#),从而改变其参加运算的表达式的运算精度。例如:?1/3 输出 .333333333333333? 1/3! 输出 .3333333 其中3!表示单精度常数3,不是3的阶乘!

  15. 日期型数据的运算 • 日期型数据可以加减天数(可含小数),结果仍为日期型。例如:#2005-9-25# - 10 • 两个日期型数据之差为两个日期之间相隔的天数。例如: #2005-9-25# - #1986-5-20# • 日期型数据可以看作一个数值型数据,即该日期与 #1899-12-30 00:00# 之间相差的天数,其中的整数部分为日期,小数部分为时间。该数值称为日期的 “系列数”。例如,用单精度数显示#1900-1-1 6:00# :? Csng(#1900-1-1 6:00#) 输出: 2.25

  16. 比较运算 • 运算: < <= = >= > <> • 比较结果为 True 或 False • 双字符运算符( <=、>= 和 <> )两字符之间不能有空格,也不能写成 =<、=>、> < • 字符型数据按其内码(Unicode)大小比较Unicode:2字节无符号整数,国际通用码。 • ASCII码表中的符号,码值不变,位长16。 • 注意:对浮点(单精度、双精度)数不要进行=(等于)比较,如 ?1/3 显示.333333333333333?1/3= .333333333333333 显示False

  17. 字符串的连接运算 字符串的连接运算: &(推荐使用) 或:+ (尽量不用) 例如: • “安徽“& “合肥“ = “安徽合肥“ • 在文本框Text1和Text2中分别输入3 和 4,则表达式 Text1.Text+Text2.Text 的值为“34”而不是7。这是因为Text属性 的类型是字符型,而不是数值型。

  18. 逻辑运算

  19. 按位运算 例:

  20. 运算的优先级

  21. 14 2 True 2008-8-8 6=1+2+3 9 False True 7 2

  22. VB内置函数 • VB内置函数是可以直接使用的函数 • 内置函数是调用内部子程序后返回的结果,称为函数的值。此值的类型称为函数的类型。 • 不同的函数有不同的参数,要注意每种函数所带参数的个数和类型。 • 函数可以直接放在表达式中,为数据处理带来很大方便。

  23. { -1 当 x < 0 0 当 x = 0 1 当 x > 0 VB内置函数 数学函数 • 三角函数: 用弧度 Cos(x), Sin(x), Tan(x), Atn(x) 单位:弧度sin235° 表示为 sin(35*3.1416/180)^2 • 对数:Log(x),指数:Exp(x) (以e为底) • 平方根: Sqr(x) • 绝对值: Abs(x) | x-y | 表示为: abs(x-y) • 取整: Int(x) 取≤x的最大整数 Fix(x) 取x的整数部分 • 符号函数Sgn:Sgn(x)=

  24. 数学函数的应用实例 • ∵ Tan(π/4)=1∴π=4*Atn(1) = 3.14159265358979可用于定义常量:Const PI= 4*Atn(1) • e = exp(1) = 2.71828182845905 π=4 * Atn(1) e=Exp(1)

  25. VB内置函数 随机函数 • (伪)随机函数 Rnd : 产生0~1之间的1个随机数,0 < Rnd < 1随机函数在测试、模拟、游戏等程序中有广泛应用。例如,要产生一个1~6之间的随机整数,可以用表达式: Int(Rnd*6)+1 • Randomize语句:产生随机数的种子,从而改变随机数序列。

  26. VB内置函数 日期时间函数 • 不带参数: • 日期函数 Date 和 Date$ 取系统日期 • 时间函数 Time 和 Time$ 取系统时间 • 日期和时间函数 Now 取系统日期和时间 • 当天已过时间总秒数 Timer • 带参数(日期型表达式): • Year,Month,Day 分出年月日 • Weekday 算出星期几 • Hour,Minute,Second 分出时分秒

  27. VB内置函数 字符串函数(1) • 取子字符串: • Left函数:取左边 n 个字符,如Left(“Basic”,3)=“Bas” • Right函数:取右边 n 个字符,如Right(“Basic”,2)=“ic” • Mid 函数:取中间 n 个字符,如 :Mid(“Basic”,2,3)=“asi” , Mid(“Basic”,2)=“asic” • 取长度(字符数)函数 Len,如 Len(“Go!”)=3

  28. VB内置函数 字符串函数(2) • 求子串位置 InStr,如 InStr(“Welcome”,”come”) = 4 • 转换函数: • 求值Val,取前面可作数值的字串转换,如 val(“1.23mm”)=1.23而 val(“1.23e2abc”)=1.23e2=123 • 数值转字符 Str:Str(12.3)=“12.3” • 代码→字符 Chr :例如 Chr$(65)=“A” • 字符→代码 Asc : 例如 Asc(“A”)=65 注:中文VB使用双字节的Unicode码

  29. VB内置函数 字符串函数(3) • 空格函数Space(n),返回n个空格 • 字符重复函数 String(n,c),返回n个字串c的第一个字符 • 大小写转换函数: Lcase(s) 转换为小写 Ucase(s) 转换为大写

  30. VB内置函数 转换函数和判断函数 • 转换函数 Cint,CLng,CSng,CStr,… 注意其命名法:C+<类型缩写> • 判断函数 • IsNumeric(表达式) 判是否数值,布尔型 • IsEmpty(变量) 判是否空值,布尔型 • IIf(条件,值1,值2) • Typename(表达式)返回表达式的类型名 • IsDate (表达式)判是否日期,布尔型

  31. VB内置函数 格式转换函数 • 函数格式:Format(<表达式>,<格式字串>) • 功能:将表达式的值按指定格式进行转换。 • 例: • Format(1.2,”00.000”)=”01.200” • Format(Date,”yy.m.d”)=”05.3.8”

  32. 语句的书写格式 • 一般情况下,每行一条语句 • 一行多条语句之间用冒号( : )作分隔符,如a=1 : b=2 : c=3 • 长语句分多行书写是,可在换行前加续行符(下划线_),例如: MsgBox “Sum Of 1,2,3,…,100 is “ _ & vbcrlf & x , vbInformation • 注释部分以单引号 ( ‘ ) 开头,止换行

More Related