的数据类型及其运算PYM.ppt

上传人:本田雅阁 文档编号:2319751 上传时间:2019-03-20 格式:PPT 页数:45 大小:310.51KB
返回 下载 相关 举报
的数据类型及其运算PYM.ppt_第1页
第1页 / 共45页
的数据类型及其运算PYM.ppt_第2页
第2页 / 共45页
的数据类型及其运算PYM.ppt_第3页
第3页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《的数据类型及其运算PYM.ppt》由会员分享,可在线阅读,更多相关《的数据类型及其运算PYM.ppt(45页珍藏版)》请在三一文库上搜索。

1、天津医科大学,影像学程序设计,天津医科大学,第三章 VB的数据类型及其运算,数据类型,常用内部函数,数据是程序处理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型 数值型 字符型 数据类型 逻辑型 日期型 对象型 变体型,3.1 数据类型,整数: 整型/长整型 字节型 浮点型: 单/双精度 货币型,3.1 数据类型(Data Type),(1)字符串(String):是一个字符序列,放在双引号内,长度为0的字符串为空字符串。 例子:”Hello” ”VB 程序设计” ” ”(空字符串) 字符串分为两种:变长字符串和定长字符串。 变长字符串长度是不确定的,长度范围是0231; 定长字

2、符串含有确定的字符,最大长度不超过216,(2)整型(Integer)和长整型(Long) 不带小数部分的数,表示正整数、负整数和零 整型数: -3276832767 长整型数:-21474836482147483647 (3) 单精度型(Single)和双精度型(Double) 浮点数(实数),表示带有小数部分的数。由符号、指数、尾数组成。 单精度用”e”或”E”表示, 4.53E8(4.53108) 双精度用”D”或”d”表示,3.14D23,3.1 数据类型(Data Type),4. 货币型(Currency) 专门为处理货币而设计的数据类型 它可最多保留小数点右边4位和小数点左边15

3、位 5. 逻辑型(Boolean) 逻辑型又称布尔型,其数据只有True(真)和False(假)两个值 6. 日期型(Date) 表示日期和时间 时间:0:00:00到23:59:59 用两个“#”符号把日期值括起来 如:#08/20/2001#、#2001-08-20# 7. 对象型(Object) 对象型数据可用来表示应用程序中的对象,3.1 数据类型(Data Type),8. 变体型(Variant) 变体型数据是一种可变的数据类型,可以存放任何类型的数据 格式:Dim Temp As Variant Dim Temp 当指定变量为Variant变量时,VB会自动完成必要的转换 在程序

4、中不特别说明时,VB会自动将该变量默认为Variant型变量。 例: Temp=“22” 字符串 Temp=Temp-1 数值,3.1 数据类型(Data Type),3.1 数据类型(Data Type),9.用户定义的类型: Type 数据类型名 数据类型元素名 As 类型名 。 End Type,Type Student Number As Integer Name As String End Student,3.2 常量和变量(Constant and Variable),3.2.1常量 在程序执行期间其值不发生变化。 (1)文字常量 字符串常量:由除双引号和回车符之外的ASCII字符

5、组成的字符串。 长度不能超过65535个字符; ”这是一个字符串”、”This is a String”、”12345” 。 布尔常量:只有True和False两个值。,(2)数值常量 整数常量: 十进制整数常量只能包含数字0-9、正负号,且其数值范围必须在-32768-32767之间。如:100、999、20000。 八进制整数常量中由数字0-7组成且常量要以O或开头,其数值范围必须在O0-O177777之间,如:O100、O123、475。 十六进制整数常量由数字0-9、A-F(或a-f)组成,且以H或h开头,其数值范围必须在H0-HFFFF之间,如:H41、h6e。,3.2 常量和变量(

6、Constant and Variable),长整型常量: 十进制长整型常量由数字0-9组成、可带正负号,数值范围必须在-21474836482147483647之间。如:555555、250000。 八进制长整数常量由数字0-7组成且常量要以O或开头,以结尾,数值范围必须在O0-O37777777777之间,如:O11111111、70000000。 十六进制长整数常量由数字0-9、A-F(或a-f)组成,且以H或h开头,以结尾,其数值范围必须在H0HFFFFFFFF之间,如:H4000000、h68。 浮点数:由尾数、指数符号和指数符号和指数三部分组成,其中尾数部分本身也是一个浮点数,指数

7、符号为E或e(单精度),也可为D或d(双精度)。如-1.2E5、-3.4D-6。,3.2 常量和变量(Constant and Variable),(3)符号常量 定义一个符号来代替一个常量。 定义的格式为: Const 常量名=表达式,常量名=表达式 如:Const Maxchars=254 类型符:%整型 &长整型 !单精度型 #双精度型 货币型 $字符串型 可以用类型符来声明符号常量, 如 const Num%=1,3.2 常量和变量(Constant and Variable),3.2.2变量(在程序执行期间值是可变的) 变量的命名规则: 变量名只能由字母、数字和下划线组成; 变量名的

8、第一个字符必须是英文字母,最后一个字符可以是类型说明符; 变量名的有效字符为255个; 不能用Visual Basic的保留字作变量名,但可以把保留字嵌入变量名中;同时,变量名也不能是末尾带有类型说明符的保留字。如:Print,Print$是非法的,而变量Print_Number是合法的。,3.2 常量和变量(Constant and Variable),变量的声明就是向程序说明要使用的变量。 有以下2种方法(显式声明与隐式声明) (1) 声明变量(显式声明) Declare 变量名 as 类型 declare:Dim、Public、Private或Static 例如:Dim A As Int

9、eger 把A定义为整型变量 (2)用类型说明符来标识(隐式声明) 不加说明就直接使用变量,此时默认的变量类型为变体类型(Variant) 也允许使用类型符来声明变量的类型,如Num%,Sum!,3.2 常量和变量(Constant and Variable),3.2 常量和变量,变量的作用域 声明部分 窗体模块 通用部分 应用程序 事件部分 声明部分 标准模块 通用部分,3.2 常量和变量,根据变量的定义位置和所用的变量定义语句的不同,VB中的变量可分为3类,即全局(Public)变量、窗体和模块(Form and Module)变量及局部(Local)变量。,3.2 常量和变量,局部变量

10、在过程(事件过程或通用过程)内定义的变量叫局部变量,其作用域是它所在的过程。局部变量通常用来存放中间结果或用作临时变量。某一过程的执行只对该过程内的变量产生作用,对其他过程中相同名字的局部变量没有任何影响。 局部变量在过程中用Dim、Static定义 例: Sub Command1_Click() Dim num As Integer Static Total As Double End Sub,模块变量 模块变量又可称为窗体变量,用于该窗体内的所有过程,一个窗体可以含有多个过程(事件过程与通用过程),当同一窗体内的不同过程使用相同的变量时,必须定义窗体层变量。 模块变量在模块的声明部分用Pr

11、ivate或者Dim声明 Dim num As Integer Private num As Double,3.2 常量和变量,全局变量 全局变量的作用域最大,可以在工程的每个模块、每个过程中使用。全局变量也在模块的声明部分声明,但全局变量必须用Public语句来声明。全局变量只能在标准模块中声明。,3.2 常量和变量,内部函数是由VB系统提供的,每个内部函数完成某个特定的功 能。在程序中使用函数称为调用函数 函数调用的一般格式为: 函数名(参数1,参数2,) 参数(也称自变量)放在圆括号内,若有多个参数,以逗号分隔。 函数调用后,一般都有一个确定的函数值,即返回值。 例如:y=Sqr(289

12、) Sqr是内部函数名,289为参数,运行时该语句调用内部函数Sqr来求289的平方根,其计算结果由系统返回给变量y。,3.3 常用内部函数(Function),3.3 常用内部函数(Function),数学函数: Abs函数,Int函数,Sqr函数,Sin函数、Cos函数、Tan函数、Atn函数。 字符串函数: Space函数,Mid函数,Len函数,String函数。 系统函数: InputBox函数,MsgBox函数,RGB函数,LoadPicture函数。 转换函数集: CBool(expression)、CByte(expression)、CCur(expression)、CDate

13、(expression)、CDbl(expression)、CDec(expression)、CInt(expression)、CLng(expression)、CSng(expression)、CStr(expression)、CVar(expression)。,3.3.1数学函数 使用数学函数的几点说明: (1) 三角函数的自变量单位是弧度 如Sin47应写成 Sin(47*3.14159/180)。 (2) 函数Int是求小于或等于x的最大整数。 例如 Int(2)=2, Int(-2.5)=-3 当x0时就直接舍去小数,若x0则舍去小数位后再减1 利用Int函数可以对数据进行四舍五入。

14、例如,对一个正数x舍去小数位时进行四舍五入,可采用如下式子: Int(x+0.5) 当x=9.4时,Int(9.4 + 0.5)=9 当x=9.5时,Int(9.5 + 0.5)=10,3.3 常用内部函数(Function),(3)随机函数可以模拟自然界中各种随机现象,它所产生的随机数,可以提供给各种运算或试验使用 Rnd通常与Int函数配合使用 生成a, b区间范围内的随机整数,可以采用 Int(b-a+1)*Rnd + a) 例如 Int(4*Rnd+1)可以产生14之间(含1和4)的随机整数。可以是1,2,3或4,这由VB运行时随机给定 使用Rnd函数之前,先用Randomize语句来

15、初始化随机数生成器,3.3 常用内部函数(Function),例1 给定一个两位正整数(如36),要求交换个位数和十位数的位置,把处理后的数显示在窗体上 编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = 36 a = Int(x / 10) 求十位数 b = x Mod 10 求个位数 c = b * 10 + a 生成新的数 Print “处理后的数: “; c End Sub 运行程序后单击窗体,输出结果是: 处理后的数:63

16、,3.3 常用内部函数(Function),编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Randomize 初始化随机数生成器 a = Int(90 * Rnd + 10) 产生10,99区间内的随机整数 b = Int(90 * Rnd + 10) c = a + b 求两数之和 Print “产生的两个随机数: “; a, b Print “和数: “; c End Sub 运行程序后单击窗体,输出结果是: 产生的两个随机数:56 71 和数:127,例2 通过

17、随机函数产生2个两位正整数,求这2个数 之和并显示出来,再次运行程序,单击窗体后输出另一组结果是: 产生的两个随机数:18 37 和数:55,3.3.2 字符串函数 字符串函数用于进行字符串处理 使用字符串函数的几点说明: (1)函数Mid(字符串,p,n)从位置p开始取字符串的n个字符 Mid(“ABCDEG”,3,2)的结果为”CD” 若省略n,则得到的是从P开始的往后所有字符,如 Mid(“ABCDE”,2) 的结果为 “BCDE” (2)插入字符串语句Mid,该语句格式如下: Mid(字符串, p,n) = 子字符串 用“子字符串”替换“字符串”中从P开始的与“子字符串”等长的一串字符

18、。 例如,假设S=“ABCDE“,执行语句Mid(S,3)=“99“后,S的值为“AB99E“,3.3 常用内部函数(Function),(3) Instr(f, 字符串1,字符串2,k) :字符串2在字符串1中最先出现的位置 在函数Instr中,f和k均为可选参数,f表示开始搜索的位置(默认值为1),k表示比较方式,若k为0(默认),表示区分大小写;若k为1,则不分大小写。 例如 Instr(3, ”A12a34A56”, ”A”) 的结果为 7 Instr(3, ”A12a34A56”, ”A”, 1) 的结果为 4 Instr(”A12a34A56”, ”A”) 的结果为 1 (4)在函

19、数String中,字符也可以用ASCII代码(附录一)来表示 例如 String(6, 42) 与 String(6, ”*”)作用相同,3.3 常用内部函数(Function),Left$(字符串,n),取字符串左部的n个字符 Right$(字符串,n),取字符串右部的n个字符 Ltrim$(字符串),去掉字符串左边的空白字符 Rtrim$(字符串),去掉字符串右边的空白字符,先从字符串a中找出某个指定字符(本例为空格),再以此字符为界拆分成两个字符串。编写的窗体单击过程代码如下: Private Sub Form_Click() Dim a As String, b As String,

20、c As String, n As Integer a = “VisualFoxPro“ 表示空格 n = InStr(a, “) 查找空格位置 b = Left(a, n - 1) 取左边部分 c = Mid(a, n + 1) 取右边部分 Print b 显示左边部分 Print c 显示右边部分 End Sub 程序运行后单击窗体,输出结果是: Visual FoxPro,例3 使用字符串函数示例,日期与时间函数 日期/时间函数用于进行日期和时间处理 说明: 函数Weekday返回值17,依次表示星期日到星期六。,3.3 常用内部函数(Function),3.4 运算符与表达式,赋值运算

21、符 功能:“=(等号)”用来把一个常数、文字、变量或表达式的值(等号右侧)赋给另一个变量(等号左侧)。 例子:Y=X,算术运算符 “+”加法运算符:用来做加法运算。也可将字符串连接(注意与”运算符的区别)。 “-”减法运算符:做减法运算。另外,把它用在某个数字前时就表示该数字是一个负值。 “*”乘法运算符:星号用来对两个变量、常数或文字进行乘法运算,并且生成积。 “/”除法运算符:正斜杠用来对两个变量、常数或文字进行除法运算。注意零不能作为除数。 “”整除运算符:先对两个数(不一定要是整数)进行圆整,然后运算产生一个整数结果,而标准的十进制除法操作则不对操作数和结果进行圆整或去尾操作。 “”指

22、数运算符:用来指定一个数为指数 “Mod”模运算符:用来求两个整数相除后的余数。,3.4 运算符与表达式,接(Concatenation)运算符: 把两个字符串连接到一起。注意,字符串连接操作符不 会自动加入空格。 连接符有两个:&和+ 其作用都是将两个字符串连接起来,运算结果是一个字符串。 例如: ”计算机”&”网络” 的结果是: ”计算机网络” ”123”+”45” 的结果是: ”12345” ”123”&”ABC” 的结果是: ”123ABC”,3.4 运算符与表达式,关系运算符与逻辑运算符: 关系运算符(Relational Operators): 、=、或。 逻辑运算符(Logica

23、l Operators,布尔表达式): Not(非) And(与) Or(或) Xor(异或) Eqv(等价) Imp(蕴含),3.4 运算符与表达式,3.4 运算符与表达式,表达式的执行顺序: (1)进行函数运算。 (2)进行算术运算:指数();取负(-);乘、浮点除(*、/);整除();取模(Mod);加、减(+、-);连接(&)。 (3)进行关系运算:=、=。 (4)进行逻辑运算:Not;And;Or;Xor;Eqv;Imp。 注:可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。,3.4 运算符与表达式,语句及语法 VB中的程序语句是执行具体操作

24、的指令。 由VB关键字、属性、表达式以及VB可识别符号的组合。 例如,下列两个语句: Print a 2 * b 关键字 表达式 Text1.Text “VB程序设计” 对象名 属性名 赋值号 表达式 简单的语句只有一个关键字。示例: End,程序代码编写规则,建立程序语句时必须遵守的构建规则称为语法 统一约定符号如下: 方括号,可选项 多项中选一项 (竖线)用来分隔多个选择项(选其中之一项) , 表示同类项目的重复出现,在编写程序代码时,要遵守一定的规则。不能超越其规定来自由发挥 (1) 一行写多条语句。冒号分隔 Sum=Sum+x : Count=Count+1 (2) 一条语句写成多行

25、使用续行符(一个空格后面跟随一个下划线“_”),将长语句分成多行。例如: Print Text1.Text & Text2.Text & Text4.Text &_ & Left(Text3.Text,3) (3) 不区分大小写字母 VB不区分应用程序代码字母的大小写,代码书写规则,(4) 各关键字之间,关键字和变量名、常量名、过程名之间一定要有空格分隔 示例: Private Sub Form_Click() (5) 使用缩进 在编写程序代码时,可以使用缩进来反映代码的逻辑结构和嵌套关系 例如: Private Sub Form_Click() x=4 If x=1“ End If End

26、Sub,在一个语句行内写多条语句时,语句之间应该用( )分隔。 A.逗号 B. 分号 C.顿号 D. 冒号 在代码编辑器中,如果一条语句太长,无法在一行内写下(不包括注释),要折行书写,可以在行末使用续行字符( ),表示下一行是当前行的继续。 A.一个空格加一个下划字符(_) B. 一个下划字符(_) C.直接回车 D. 一个空格加一个连字符(-) Visual Basic允许的常量有( )。(多选) A.E7 B.4.8E2 C.2.5*10 D.E-5 E.1/2 F.1.1e-2 G. H.False 下列符号哪一个是VB的合法变量名( )? A.x23 B.8xy C.END D.X8

27、B,9.如果将布尔常量值Ture赋值给一个整型变量,则整型变量的值为( 2)。 A.0 B.-1 C.True D.False 10.数学式子sin30写成VB表达式是( )。 A.Sin30 B.Sin(30) C.SIN(30) D.Sin(30*3.14/180) 11.求一个三位正整数N的十位数的正确方法是( 1 )。 A.Int(N/10)-Int(N/10)*10 B.Int(N/10)-Int(N/100) C.N-Int(N/100)*100 D.Int(N-Int(N/100)*100) 12.如果x是一个正实数,对x的第3位小数四舍五入的表达式是( )。 A.0.01*In

28、t(x+0.005) B.0.01*Int(100*(x+0.005) C. 0.01*Int(100*(x+0.05) D. 0.01*Int(x+0.05),14.以下( )程序段可以实施X、Y变量值的变换。 A.Y=X:X=Y B.Z=X:Y=Z:X=Y C.Z=X:X=Y:Y=Z D.Z=X:W=Y:Y=Z:X=Y 15.表达式(73+1)*(185-1)的值是( 1 )。 A.8.67 B.7.8 C.6 D.6.671 C 16.表达式”12”+”34”的值是( 1 )。表达式”12”&”34”的值是( 2 )。 A.”1234” B.”12”34” C.”46” D.46,17.

29、选拔身高T超过1.7米且体重W小于62.5公斤的人,表示该条件的布尔表达式为( 1 )。 A.T=1.7 And W=62.5 C.T1.7 And W1.7 Or W=C Or A+C=B Or B+C=A B.Not (A+BC And A+CB And B+CA 19.代表式x1-|a|+sin(x2+2)/cos(57)对应的Visual Basic表达式是( 3 )。A.X1-Abs(A)+Sin(X2+2*3.14)/Cos(57*3.14/180) B.X1-Abs(A)+Sin(X2+2*)/Cos(57*3.14/180) C.X1-Abs(A)+Sin(X2+2*3.14)/Cos(57) D.X1-Abs(A)+Sin(X2+2*)/Cos(57),实验(二),1.把下列数学表达式,改写为等价的VB算术表达: ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1