当前位置:文档之家› vb函数与过程习题精选

vb函数与过程习题精选

vb函数与过程习题精选
vb函数与过程习题精选

第三章函数与过程习题

一、选择题

1.如果要声明一个全局性的符号常量,则应将该声明放在( )。

A.过程中 B.窗体模块的通用声明段中

C.标准模块的通用声明段中 D.窗体模块或标准模块的通用声明段中

2.定义过程的语句为:

Sub Suba(X As Single,Y As Single)

则正确的调用语句为( )。

A.Suba 10,12 B.Call Suba("A",Sin(1.57))

C.Call Suba X,Y D.Call Suba(1 2,1 0,x)

3.在窗体的通用段声明变量时,不能使用( )关键字。

A.Dim B.Public C.Private D.Static

4.Sub过程与函数过程最主要的区别是( )。

A.后者可以有参数,而前者则不行

B.前者可以用Call语句直接调用,而后者则不行

C.两种过程的参数传递方式不同

D.前者的过程名不能返回值,而后者的过程名则可以返回值

5.要在过程调用后返回两个值,下列过程定义正确的是( )。

A.Sub Proc(ByVal n,ByVal m) B.Sub Proc(n,ByVal m)

C.Sub Proc(n,m) D.Sub Proc(ByVal n,m)

6.在程序模块的开头声明Option Explicit,则( )。

A.这个模块里所用到的变量必须声明后才能使用

B.整个工程里所用到的变量必须声明后才能使用

C.这个模块里所用到的变量不需要声明就能使用

D.整个工程里所用到的变量不需要声明就能使用

7.若希望在离开某过程后还能保存该过程中局部变量的值,则应使用( )关键字在该过程中定义局部变量。

A.Dim B.Private C.Public D.Static

8.在一个多窗口程序中,可以在标准模块或某个窗体模块的通用声明处分别用( )语句定义一个在所有窗体模块中都可以引用的变量IntA。

A.Private IntA As Integer,Public IntA As Integer

B.Public IntA As Integer,Private IntA As Integer

C.Public IntA As Integer,Public IntA As Integer

D.Private IntA As Integer,Private IntA As Integer

9.在应用程序中用“Private Function Fun(X As Integer,Y As Integer)”定义了Fun 函数。调用Fun函数的过程中的变量I、J均定义为Integer型,能正确引用Fun函数的是( )。

①Print Fun I,J ②Call Fun(I,3.65)

A.①③ B.②③④ C.①②③ D.①②③④

10.若在应用程序的标准模块、窗体模块和Sub1过程的说明部分分别用"Public G As Integer"、"Private G As Integer"和"Dim G As Integer"语句说明了3个同名变量G。

如果在Sub1过程中使用赋值语句"G=3596",则该语句是给在( )说明部分定义的变量G

赋值。

A.标准模块 B.Sub1过程 C.窗体模块 D.标准模块、窗体模块和Sub1过程11.下面关于SendKeys命令的说法中正确的是( )。

A.能把字符发送到任何窗口中 B.只能发送到活动窗口中

C.能把PrintScreen发送到当前窗口中 D.不能发送控制键,如Ctrl键

12.要使每一个新建的窗体和模块里自动出现Option.Explicit关键字,可以( )。

A.选择"工具"菜单中的"选项"命令,在弹出的对话框中选中"要求变量声明"复选框

B.选择"文件"菜单中的"选项"命令,在弹出的对话框中选中"要求变量声明"复选框

C.选择"工程"菜单中的"选项"命令,在弹出的对话框中选中"要求变量声明"复选框

D.选择"编辑"菜单中的"选项"命令,在弹出的对话框中选中"要求变量声明"复选框13.下列关于Int函数和Fix函数的说法中,正确的是( )。

A.如果调用的参数大于O,则Int()返回小于或者等于这个参数的第1个负整数,Fix() 返回大于或者等于这个参数的第1个负整数

B.如果调用的参数小于O,则Fix()返回小于或者等于这个参数的第1个负整数,Int() 返回大于或者等于这个参数的第1个负整数

C.如果调用的参数小于O,则两者返回的值相同

D.如果调用的参数小于O,则Int()返回小于或者等于这个参数的第1个负整数,Fix() 返回大于或者等于这个参数的第1个负整数

14.在进行参数传递的时候,ByVal和ByRef的含义分别是( )。

A.前者表示按地址,后者表示按数值 B.前者表示按数值,后者表示按地址

C.前者表示按地址,后者也表示按地址 D.前者表示按数值,后者也表示按数值

15.下列对不带参数的Add过程进行调用的方法中,( )是不正确的。

A.Call Add B.Add() C.Add D.Call Add()

16.在VB中,过程通常有三种,它们是( )。

A.事件过程、子过程和函数过程

B.事件过程、函数过程和属性过程

C.Sub过程、Function过程和Property过程

D.Sub过程、函数过程和通用过程

17.以下关于Sub过程的说法中,只有( )是正确的。

A.一个Sub过程必须有一个Exit Sub语句

B.一个Sub过程必须有一个End Sub语句

C.在Sub过程中可以定义Function过程

D.退出Sub过程也可以使用GoTo语句

18.Sub过程的定义( )。

A.一定要有形参 B.不一定要有过程的名称

D.一定要指定返回值的类型

19.以下叙述中,( )是正确的。

A.过程的定义可以嵌套,但过程的调用不能嵌套

B.过程的定义不能嵌套,但过程的调用可以嵌套

C.过程的定义与调用均不能嵌套 D.过程的定义与调用均可以嵌套

20.用Static关键字定义的过程是指( )。

A.声明的过程名是静态的 B.声明的形参是静态的

C.声明过程中的局部变量是静态的 D.声明过程的返回值是静态的

21.下列关于函数过程的叙述中正确的是( )。

A.函数名只能被赋值一次

B.如果没有对函数名赋值,就没有函数值返回到调用过程中

C.函数名可以被多次赋值 D.定义函数的类型是指定义形参的类型

22.下列定义MySub过程的语句中,( )是正确的。

A.Dim Sub MySub(x,y) B.Public MySub(x,y)

C.Private Sub MySub(x,y)As Integer D.Sub MySub(x,y)

23.下列定义Myfun.函数过程的语句中,( )是错误的。

A.Private Public Myfun(a) As Integer

B.Static Function Myfun(a)

C.Function Myfun(a As Integer)As Integer

D.Private Function Myfun(a As Integer)

24.在VB中调试VB应用程序时,除了( )外,其他都是可以利用的工具和方法。 A.使用窗体设计器 B.使用立即窗口 C.设置断点 D.单步执行25.在窗体上有一个命令按钮,编写如下程序:

Private Sub Command1_Click()

Dim n As Long,r As Long

N=InputBox("请输入一个数")

N=Clng(n)

r=fun(n)

Print r

End Sub

Function fun(ByVal num As Long)As Long

Dim k As Long

k=1

num=Abs(num)

Do While num

k=k*(num Mod 10)

num=num\10

Loop

fun=k

该程序运行后,单击命令按钮,在对话框中输入100,输出结果为( )。 A.0 B.100 C.200 D.300

26.有一个按钮事件及一个Sub过程:

Private Sub Command1_Click()

ind 2

End Sub

Sub ind(a As Integer)

Static x As Integer

x=x+a

Print x;

End Sub

程序运行后,单击命令按钮3次,输出结果为( )。

A.2 2 2 B.1 2 3 C.2 4 6 D.2 4 8

27.以下是在一个按钮事件过程中调用一个函数过程:

Private Sub Command1_Click()

a=100

b=25

x=gys(a,b)

Print x

End Sub

Function gys(ByVal y As Integer,ByVal y As Integer)As Integer

Do While y<>0

remi=x Mod y

x=y

y=remi

Loop

gys=x

End Function

程序运行后的结果是( )。

A.O B.25 C.50 D.100

28.有如下程序:

Private Sub Command1_Click()

Dim a As Integer

a=2

For i=1 To 3

Print f(a)

Next i

End Sub

Function f(a As Integer)

Static C

b=b+1

c=c+1

f=a+b+C

End Function

程序运行后,单击命令按钮,其输出结果为( )。 A.4 B.4 C.4 D.4

4 5 6 8

4 6 8 16

29.阅读下面的程序。

Private Sub Command1_Click()

Dim a(1 To 4)As Integer

a(1)=1:a(2)=2:a(3)=3:a(4)=4

subP a()

For i=1 To 4

Print a(i)

Next i

End Sub

Sub subP(b()As Integer)

For i=1 To 4

b(i)=2*i

Next i

End Sub

程序运行后,单击命令按钮,输出结果为( )。

A.1 B.5 C.2 D.出错

2 6 4

3 7 6

4 8 8

30.有如下函数与调用过程:

Private Sub Command1_Click()

i=Val(InputBox("请输入一个数"))

a=fact(i)

Print a

End Sub

Function fact(x As Integer)As Long

Dim P As Long,i As Integer

P=1

For i=1 To X

P=P*i

End Function

程序运行后,若输入5,则运行结果为( )。

A.120 B.60 C.80 D.100

31.有一个函数:

Function total(x As Integer)As Long

Dim ss As Long,i As Integer

ss=0

For i=1 To x

ss=ss+i

Next i

total=ss

End Function

下面是调用它的事件过程。

Private Sub Command1_Click()

Dim i As Integer,sum As Long

For i=1 To 5

sum=sum+total(i)

Next i

Print "和数为:";sum

End Sub

该程序的运行结果为( )。

A.55 B.15 C.5 D.35

32.有一个过程如下:

Sub Cmax(X,Y,max)

max=Iif(x>Y,x,Y)

End Sub

调用过程如下:

Private Sub Command1_Click()

i=Val(InputBox("请输入第1个数"))

j=Val(InputBox(" 请输入第2个数"))

Cmax i,j,a

Print a

End Sub

程序运行后,分别输入12、56,结果为( )。

A.12 B.56 C.24 D.112

33.单击窗体时,下列程序的执行结果为( )。

Sub Procl(x As Integer,ByVal y As Integer,z As Integer) x=3*z

Print x;y;z

End Sub

Private Sub Form_Click()

Dim x As Integer,y As Integer,z As Integer

x=1:Y=2:Z=3

Call Procl(X,X,Z)

Call Procl(X,Y,Y)

End Sub

如果在定义过程时,在y前面加上ByVal关键字,则运行结果会变为( )。

A.6 6 12 B.9 6 5 C.9 6 5 D.9 10 10

6 10 1O 6 10 10 6 4 10 9 10 15

34.单击命令按钮时,下列程序代码的执行结果为( )。

Dim a As Integer,b As Integer,C As Integer

Private Sub Command1_Click()

a=2:b=4:c=6

Call Procl(a,b)

Print "a=";a;"b=";b;"c=";c

Call Proc2(a,b)

Print "a=";a;"b=";b;"c=";c

End Sub

Public Sub Procl(X As Integer,Y As Integer)

Dim C As Integer

X=2*X:Y=Y+2:Z=X+Y

End Sub

Public Sub Proc2(x As Integer,ByVal Y As Integer)

Dim C As Integer

x=2*X:Y=Y+2:z=X+Y

End Sub

A.a=2 b=4 c=6 B.a=4 b=6 c=10 C.a=4 b=6 c=6 D.a=4 b=6 c=14 a=4 b=6 c=10 a=8 b=8 c=16 a=8 b=6 c=6 a=8 b=8 c=6 35.在窗体模块的通用声明处用下面的语句声明变量、数组,正确的语句有( )。

①Public a(5)As Integer ②Public n As Integer

③Public st As String ④Public b()As Integer

A.2 B.3 C.4 D.1

36.运行程序产生死循环时,( )可以终止程序的运行。

A.按Ctrl+C键 B.按Ctrl+Z键

C.按Ctrl+Break键 D.单击“停止运行”按钮

37.在语句"Public Sub Sort(i As Integer)"中,i是一个按( )传递的参数。

38.假定有以下两个过程:

Sub s1(ByVal x As Integer,ByVal y As Integer)

Dim t As Integer

t=x

x=y

y=t

End Sub

Sub s2(x As Integer,y As Integer)

Dim t As Integer

t=x

x=y

y=t

End Sub

则以下说法中正确的是( )。

A.s1可以实现交换两个变量的操作,s2则不能

B.s2可以实现交换两个变量的操作,s1则不能

C.s1和s2均可以实现交换两个变量的操作

D.s1与s2都不能实现交换两个变量的操作

39.以下几种方法中,只有( )不能进入中断模式。

A.使用单步调试方式运行程序 B.在程序运行时按Ctrl+Break键

C.单击“运行”按钮 D.程序中设置了断点,当程序运行到断点处时40.要跟踪程序代码的运行,可采用除( )以外的任何一种方法。

A.单步执行 B.设置断点 C.设置监视表达式 D.观察程序的运行结果41.窗体上有一个文本框Textl,有如下的事件过程:

Private Sub Text1_KeyPress(keyascii As Integer)

Dim str1 As String

Str1=Chr(keyascii)

keyascii=Asc(Ucase(str1))

Text1.Text=String(2,keyascii)

End Sub

程序运行后,在文本框中输入字母b,则在文本框中显示的是( )。

A.bbb B.BBB C.BB D.bb

42.有一个鼠标事件过程如下,程序运行后,为了能在文本框内得到Hello,应在窗体上执行( )操作。。

Private Sub Form_MouseDown(button As Integer,shift As Integer,_

X As Single,Y As Single)

If shift=1 And button=2 Then

Text1.Text="Hello"

End If

A.同时按下Shift键与鼠标左键 B.同时按下Shift键与鼠标右键

C.同时按下Ctrl+Alt键与鼠标左键 D.同时按下Ctrl+Alt键与鼠标右键43.如果窗体有如下事件过程,则程序运行后,为了能在窗体上输出Ok,必须( )。 Private Sub Form_MouseMove(button As Integer,shift As Integer,_

X As Single,Y As Single)

If buttnn=2 Then

Print"Ok"

End If

End Sub

A.只能按左键并拖动 B.只能按右键并拖动

C.同时按下鼠标左、右键并拖动 D.按鼠标左或右键并拖动

二、填空题

1.在过程定义中出现的变量名叫做参数,而在调用过程时传送给过程的、、或叫做实际参数。

2.静态变量只能在中声明和使用。

3.在用Public、Private、Dim、Static四种关键字声明的变量中,声明的变量作用域最大。

4.在VB开发环境中,标题栏中可以指出当前正处在模式、模式和中断模式。

5.模块级变量声明使用关键字Dim或。

6.根据变量的定义位置和所使用的定义语句的不同,VB中的变量可以分为3类,

即、和全局变量。

7.在过程的定义中,如想使用按值传递的参数传递方式,则必须在相应的形参前加上

关键字。

8.在调用过程时,如果不用Call命令,则在调用命令中必须省略加在实际参数前、后的。

9.为了能在过程调用结束后仍然能保存过程中某个变量的值,则应将该变量声明成变量。

1O.在程序输入或编译时没有出现,而只在运行时出现的错误称为错误。11.为了调试VB应用程序,VB设置了多种跟踪程序运行的工具,其中最主要的有。12.有一个Sub过程如下:

Sub s(x As Single,y As Single)

t= x

x=t/y

y=t Mod y

End Sub

调用的事件过程如下:

Private Sub Command1_Click()

Dim a As Single,b As Single

b=4

s a,b

Print a,b

End Sub

则程序运行后,单击命令按钮时输出。

13.有如下Sub过程与调用过程:

Private Sub Command1_Click()

ind 2

End Sub

Sub ind(a As Integer)

Static X As Integer

X=X+a

Print X;

End Sub

程序运行后,单击命令按钮3次,其输出结果为。

14.下列过程的功能是:在对多个文本框进行输入时,对第1个文本框(Text1)输入完毕后,用Enter键使焦点跳到第2个文本框中,而不是用Tab键来切换。试补充以下程序。Private Sub KeyDown(keycode As Integer,shift As Integer)

If keycode Then

Text2.

End If

End Sub

15.以下程序用来计算1至指定数(由调用程序传人)之间所有奇数的和,试将程序补充完整。

Function mult( )

Dim Sum As Integer

Sum=0

Dim i As Integer

For i=1 To

If i Mod 2 Then

Next i

mult=Sum

End Function

若要计算并输出100之内所有奇数的和,则正确的调用语句是。16.运行下面的程序,单击窗体后在窗体上显示的第1行结果是,第2行结果是。

Private Function Digit(n As Integer,k As Integer)As Integer

Digit=0

Do While k>0

n=n \10

k=k-1

Loop

End Function

Private Sub Form_Click()

Print Digit(1234,2)

Print Digit(1234,3)

End Sub

17.运行下面的程序,单击窗体后在窗体上显示的第1行结果是,第3行结果是。

Private Sub Test(x As Integer)

Dim i As Integer

If x<>0 Then

Call Test(x-1)

For i=1 To x

Print x;

Next i

Print

End If

End Sub

Private Sub Form_Click()

Test 3

End Sub

18.执行下面的程序后,第1行输出,第3行输出。

Private Sub Form_Click()

Dim a As Integer,i As Integer

a=2

For i=1 To 9

Call Subl(i,a)

Print i.a

Next i

End Sub

Private Sub Sub1(ByVal X As Integer,Y As Integer)

For i=3 To 1 Step -1

y=y+x

x=x-1

Next i

End Sub

19.执行下面的程序后,第1行输出,第2行输出。

Private Sub Form Click()

Dim i As Integer,j As Integer

i=1:j=2

Call Test(i,j)

Print i,j

Call Test(i,j)

Print i,j

End S1 lh

Private Sub Test(m As Integer,n As Integer)

Static sta As Integer

m=m+n

n=n+m+sta

sta=sta+m

End Sub

20.下面程序的功能是当循环次数一定时,统计生成的互不相同的1~100之间的随机整数的个数。试补充程序。

Option Explicit

Option Base 1

Private Sub Form_Click()

Dim Data()As Integer,i As Integer,idx As Integer

Dim n As Integer,temp As Integer,fig As Boolean

n=InputBox("输入循环次数")

ReDim Data(1)

idx=1

Data(1)=Int(100*Rnd(1))+1

For i=2 To n

temp=Int(100*Rnd(1))+1

Call Compare(Data,temp,fig)

If fig==True Then

idx=idx+1

Data(idx)=temp

End If

Next i

Print "生成";idx;"个不相同的整数"

For i=1 To idx

Print Data(i)

If i Mod 10=0 Then Print

End Sub

PriVate Sub Compare(Arrayl()As Integer,k As Integer,1ogic As Boolean) Dim ub As Integer,i As Integer

For i=1 To ub

If Arrayl(i)=k Then

End If

Next i

logic=True

End Sub

21.执行下面的程序后,第1行输出,第2行输出(Ubound函数用于返回指定数组维数的上界)

Private Sub Form_Click()

Dim i As Integer,j As Integer

Dim m As Integer,n As Integer

Dim a()As Integer

Call Arry(a)

n=Ubound(a,1):m=Ubound(a,2)

For i=1 To m

For j=1 To n

Print a(i,j);

Next j

Print

Next i

End Sub

Private Sub Arty(b()As Integer)

Dim i As Integer,j As Integer,k As Integer

ReDim b(3,3)

For i=1 to 3

For j=1 To 3

b(i,j)=i*1O+j

Next j

Next i

End Sub

22.执行下面的程序后,输出的第1行结果是,第2行结果是。Private Sub Form_Click()

Dim a As Integer,b As Integer

a=1

Call Proc1(a,b)

Print a,b

End Sub

Private Sub Proc1(c As Integer,d As Integer)

Dim a As Integer,b As Integer

c=a+b

d=a-b

Print c,d

End Sub

将Sub语句改为:

Private Sub Proc1(ByVal C As Integer,ByVal d As Integer)

则执行后的第1行结果是,第2行结果是。

23.根据图形界面(如图3—1所示)和程序,填写表3—1中对象的相关属性和程序中的相关语句,×表示对象无该属性。

表3-1

图3—1

Private Sub cmdEnd_Click()

End Sub

Private Sub Form_Click()

Dim x As Integer,y As Integer,sum As Integer

x=1:y=2

Call Addition( )

Text1.Text=sum

End Sub

Private Sub Addition(n As Integer,m AS Integer,sum As Integer)

sum=n+m

End Sub

24.执行下面的程序后,第1行输出,第3行输出。Private Sub Form_Click()

Dim n As Integer,i As Integer

n=2

For i=9 To 1 Step -1

Call Sub2(i,n)

Print i,n

Next i

End Sub

Private Sub Sub2(x As Integer,y As Integer)

Static n As Integer

Dim i As Integer

For i=3 To 1 Step -1

n=n+x

x=x-1

Next i

End Sub

25.执行下面的程序后,第1行输出,第2行输出。 Private Sub Form_Click()

Dim a As Integer

a=2

Call Sub1(a)

End Sub

Private Sub Sub1(X As Integer)

X=X*2+1

If X<10 Then

Call Sub2(x)

End If

X=X*2+1

Print X

End Sub

Private Sub Sub2(Y As Integer)

Y=Y*2+1

Print Y

End Sub

26.变量作用域的示例程序。

Option Explicit

Private X As Integer

Public Y As Integer

Sub test()

Dim Y As Integer

Print"x2=";X,"y2=";Y

Print"x3=";X,"y3=";Y

End Sub

Private Sub Form_Click()

X=1:Y=1

Print"x1=";x, "y1=";y

test

Print"x4=";x, "y4=";y

End Sub

该程序运行后,调用程序中的两行输出结果分别是、。27.变量作用域的综合示例。

Option Explicit

Public intX As Integer

Sub test()

intX=3

End Sub

Private Sub Command1_Click()

Module1.test

MsgBox Module1.intX

End Sub

Private Sub Command2_Click()

Module2.test

MsgBox Module2.intX

End Sub

Private Sub Command3_Click()

test

MsgBox intX

End Sub

第1个标准模块的代码为:

Public intX As Integer

Sub test()

intX=1

End Sub

第2个标准模块的代码为:

Public intX As Integer

Sub test()

intX=2

End Sub

在分别单击了3个命令按钮后,3个消息输出框中输出的值分别是、、。

VB6.0函数

Abs 函数返回数的绝对值。 And 运算符执行两个表达式的逻辑连接。 Array 函数返回含一数组的变体。 Asc 函数返回字符串首字母的ANSI 字符代码。 赋值运算符(=) 给变量或属性赋值。 Atn 函数返回数的反正切值。 调用语句将控制移交Sub 或Function 过程。 CBool 函数返回已被转换为Boolean 子类型的变体的表达式。 CByte 函数返回已被转换为字节子类型的变体的表达式。 CCur 函数返回已被转换为货币子类型的变体的表达式。 CDate 函数返回已被转换为日期子类型的变体的表达式。 CDbl 函数返回已被转换为双精度子类型的变体的表达式。 Chr 函数返回指定ANSI 字符码的字符。 CInt 函数返回已被转换为整数子类型的变体的表达式。 Class 对象提供对已创建的类的事件的访问。 Class 语句声明类名 Clear 方法清除Err 对象的所有属性设置。 CLng 函数返回已被转换为Long 子类型的变体的表达式。 颜色常数颜色常数列表。 比较常数用于比较运算的常数列表。 连接运算符(&) 强制两个表达式的字符串连接。 Const 语句声明用于字母值的常数。 Cos 函数返回角度的余弦值。 CreateObject 函数创建并返回对“自动”对象的引用。 CSng 函数返回已被转换为单精度子类型的变体的表达式。 CStr 函数返回已被转换为字符串子类型的变体的表达式。 日期和时间常数在日期和时间运算中用来定义星期几和其他常数的常数列表。日期格式常数用于日期和时间格式的常数列表。 Date 函数返回当前系统日期。 DateAdd 函数返回加上了指定的时间间隔的日期。 DateDiff 函数返回两个日期之间的间隔。 DatePart 函数返回给定日期的指定部分。 DateSerial 函数返回指定年月日的日期子类型的变体。 DateValue 函数返回日期子类型的变体。 Day 函数返回日期,取值范围为1 至31。 Description 属性返回或者设置说明某个错误的字符串。 Dictionary 对象存储数据键、项目对的对象。 Dim 语句声明变量并分配存储空间。 除法运算符(/) 两数相除并以浮点数格式返回商。 Do...Loop 语句当条件为True 或者当条件变为True 时,重复一语句块。Empty 表示尚未初始化的变量值。 Eqv 运算符使两个表达式相等。 Erase 语句重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象含有关于运行时错误的信息。

VB6常用函数大全

VB常用函数大全 现在的编程软件像VB,C++等,大多自带功能很强的函数库,可以很省力得完成各种功能。很多时候,想不起来实现某个功能的函数或函数格式,导致编程大费周折。作为一个编程人员,我对此深有体会。因此,特地准备了几期VB常用函数的介绍,供大家学习或参考。有说的不当之处,也欢迎在本网站的论坛中提出,大家学习。 (一)类型转换类函数 1、CType(X) [格式]: P=CBool(X) 将X转换为“布尔”(Boolean)类型 P=CByte(X) 将X转换为“字节”(Byte)类型 P=CCur(X) 将X转换为“金额”(Currency)类型 P=CDate(X) 将X转换为“日期”(Date)类型 P=CDbl(X) 将X转换为“双精度”(Double)类型 P=CHr(X) 返回字符码对应的字符 P=CInt(X) 将X转换为“整型”(Integer)类型 P=CLng(X) 将X转换为“长整型”(Long)类型 P=CSng(X) 将X转换为“单精度”(Single)类型 P=CStr(X) 将X转换为“字符串”(String)类型 P=Cvar(X) 将X转换为“变体型”(Variant)类型 P=CVErr(X) 将X转换为Error值 [ 范例]:(1) CStr(13)+CStr(23) 数值转换成字符串后,用“+”号连接,结果:1323 (2) CInt("12")+12 字符串转换成整型后与12相加,结果:24 (3) P=CInt(True) 输出结果为-1,布尔值与数值的转换时要注意,布尔值只有True和False,其中True在内存中为-1,False存为0 (4) CBool(-0、001) 输出结果为True。将数值转换为布尔型时,等于0的数值将得到False,不等于0的数值得到True 2、Int(X),Fix(X):取X的整数值 [格式]: P=Int(X) 取<=X的最大整数值 P=Fix(X) 取X的整数部分,直接去掉小数 [范例]:(1) Int(-54、6) 结果为-55,取<=-54、6的最大整数 (2) Fix(54、6) 结果为54,取整数并直接去掉小数 (二)常用数学函数 [格式]: 1、Abs(N) 取绝对值 例:Abs(-3、5) 结果:3、5 2、Cos(N) 余弦函数 例:Cos(0) 结果:1 3、Exp(N) e为底的指数函数 例:Exp(3) 结果:20、068 4、Log(N) 以e为底的自然对数

VB常用函数

VB常用函数: 1.数值型函数: int(num): 取整int(99.8)=99; int(-99.2)=-100 fix(num):取整fix(99.8)=99; fix(-99.2)=-99 round(num,n): 四舍五入取小数位round(3.14159,3)=3.142 中点数值四舍五入为近偶取整round(3.25,1)=3.3 sqr(num) 取根号 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 trim(str):去除字符串两端空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符1;替代次数不限;比较方法区

分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置InStrrev() split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选CHR(num)通过ASCII值获取一个字符 chr(32) 空格 chr(13) 回车 Ucase(str)所有字符转成大写 Lcase(str)所有字符转成小写 3.数据类型转换函数: Cint(str):转换正数True -1;False 0;日期距离1899/12/31天数;时间上午段0;下午段1; Cstr(str):日期输出格式yyyy/mm/dd;时间输出格式Am/Pm hh:mm:ss Csng(str):转换为单精度数值 Cdbl(str):转换为双精度数值 Cdate() 4.时间函数: date:取系统当前日期

VB函数与过程

VB函数与过程 教学目的: 1、熟悉VB中函数的含义及函数的分类。 2、掌握VB中用户函数的定义及应用。 3、掌握VB中通用过程的含义及使用方法。 教学重点: 1、VB中函数基本概念的理解。 2、VB中用户函数定义方法。 3、VB中变量的作用范围。 4、VB中通用过程的应用。 课时安排: 理论教学安排6课时,上机练习8课时 一、VB通用过程 1、重复使用的程序段独立定义为过程。 2、过程的分类 (1)事件过程(例如click,dblclick,……) (2)通用过程(由用户定义,可供VB过程来调用;用户定义的过程称为“子过程”)3、通用调用流程: 程序过程: (1)调用过程可以事件过程或者用户定义过程。调用过程按顺序执行时,遇到CALL命令则转向指定的子过程。 (2)子过程按顺序执行,遇到子过程的结束语句时,返回到调用过程的断点后一条语句(CALL的下一条语句)。

(3)调用过程接着执行,遇CALL命令重复(2);否则执行到程序结束。 4、VB中的通用过程: (1)SUB(过程)------无返值 (2)FUNCTION(函数)-------有返值 二、SUB过程 上机练习: P165例7.1 Private Sub Form_Load() Show Call sub1(30) Call sub2 Call sub2 Call sub2 Call sub2 Call sub2 Call sub2 Call sub1(30) End Sub Private Sub sub1(n) Print String(n, "*") 'string函数用来重复出现n次"*" End Sub Private Sub sub2() Print "*"; T ab(30); "*" End Sub 1、Sub过程的定义 Private|public|static sub 过程名(形式参数列表) 过程语句块(可以含有Exit sub) End sub (1)Private表示过程只在当前模块有效,public则表示在整个程序范围都有效。 (2)Static表示过程的局部变量静态分配空间(局部变量保持到整个程序结束才释放,而动态变量则是过程退出就释放变量。) 2、Sub过程的建立 (1)窗体中打开代码窗口(.frm),选择通用过程,直接编写sub过程。 (2)在标准模块(.bas)中来创建sub过程。 第一步,在“工程”菜单或工程面板的快捷菜单中选择“添加模块”。 第二步,在“工具”菜单中选择“添加过程”,弹出“过程对话框”,输入过程名,录入过程代码;也可以直接在通用代码框中录入过程。 注意:在标准模块书写通用过程时,单独保存.bas的模块文件。如果过程中使用窗体等对象,不能省缺对象名。 3、Sub过程的调用 Call 过程名(实参数表) 过程名实参表 上机练习:

VB中sub过程与function函数的区别

function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有 function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值。 Sub 过程与Function 过程的区别: 1.Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型”定义函数返回值类型。 2.Sub 过程中没有对过程名赋值的语句,而Function 过程中一定有对函数名赋值的语句。 3.调用过程:调用Sub 过程与Function 过程不同。调用Sub 过程的是一个独立的语句,而调用函数过程只是表达式的一部分。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。 4.调用Sub 过程有两种方法: 以下两个语句都调用了名为MyProc 的Sub 过程。 Call MyProc (FirstArgument, SecondArgument) MyProc FirstArgument, SecondArgument 注意当使用Call 语法时,参数必须在括号内。若省略Call 关键字,则也必须省略参数两边的括号。 在VB中,子过程与函数过程只有一处区别(要学好VB一定要记住),区别就是:子过程没有返回值,函数过程有返回值。 子过程用于编写一些代码的集合,函数过程用于建立函数。我兴个例吧。 例如,我要做多处要做如下事件,我只要编写一个子过程,在其它事件下,我只要把子过程的名称写下就行了。 Private Sub ABC(A As Integer, B As Integer, C As Integer) A = 1 B = 1 C = 1 End Sub Private Sub Command1_Click() ABC '按扭一就调用了该子过程了,而不用再写子过程的代码。 End Sub Private Sub Command2_Click() ABC '按扭二就调用了该子过程了,而不用再写子过程的代码。 End Sub

VB内置函数详细解释大全

VB内置函数大全 Abs(number) 返回参数的绝对值,其类型和参数相同。 必要的 number 参数是任何有效的数值表达式,如果 number 包含 Null,则返回 Null,如果 number 是未初始化的变量,则返回 0。 一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。 Array(arglist) 返回一个包含数组的 Variant。 所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。 用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。在下面的示例中,第一条语句创建一个 Variant 的变量 A。第二条语句将一个数组赋给变量 A。最后一条语句将该数组的第二个元素的值赋给另一个变量。Dim A As Variant A = Array(10,20,30) B = A(2) 使用 Array 函数创建的数组的下界受 Option Base 语句指定的下界的决定, 除非 Array 是由类型库(例如 VBA.Array )名称限定。如果是由类型库名称限定,则 Array 不受 Option Base 的影响。 注意没有作为数组声明的 Variant 也可以表示数组。除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。尽管一个包含数组的 Variant 和一个元素为 Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。 Asc(string) 返回一个 Integer,代表字符串中首字母的字符代码。 必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何

VB系统函数

VB系统函数 Abs 函数返回数的绝对值。 And 运算符执行两个表达式的逻辑连接。 Array 函数返回含一数组的变体。 Asc 函数返回字符串首字母的ANSI 字符代码。 赋值运算符(=) 给变量或属性赋值。 Atn 函数返回数的反正切值。 调用语句将控制移交Sub 或Function 过程。 CBool 函数返回已被转换为Boolean 子类型的变体的表达式。 CByte 函数返回已被转换为字节子类型的变体的表达式。 CCur 函数返回已被转换为货币子类型的变体的表达式。 CDate 函数返回已被转换为日期子类型的变体的表达式。 CDbl 函数返回已被转换为双精度子类型的变体的表达式。 Chr 函数返回指定ANSI 字符码的字符。 CInt 函数返回已被转换为整数子类型的变体的表达式。 Class 对象提供对已创建的类的事件的访问。 Class 语句声明类名 Clear 方法清除Err 对象的所有属性设置。 CLng 函数返回已被转换为Long 子类型的变体的表达式。 颜色常数颜色常数列表。 比较常数用于比较运算的常数列表。 连接运算符(&) 强制两个表达式的字符串连接。 Const 语句声明用于字母值的常数。 Cos 函数返回角度的余弦值。 CreateObject 函数创建并返回对“自动”对象的引用。 CSng 函数返回已被转换为单精度子类型的变体的表达式。 CStr 函数返回已被转换为字符串子类型的变体的表达式。 日期和时间常数在日期和时间运算中用来定义星期几和其他常数的常数列表。日期格式常数用于日期和时间格式的常数列表。 Date 函数返回当前系统日期。 DateAdd 函数返回加上了指定的时间间隔的日期。 DateDiff 函数返回两个日期之间的间隔。 DatePart 函数返回给定日期的指定部分。 DateSerial 函数返回指定年月日的日期子类型的变体。 DateValue 函数返回日期子类型的变体。 Day 函数返回日期,取值范围为 1 至31。 Description 属性返回或者设置说明某个错误的字符串。 Dictionary 对象存储数据键、项目对的对象。 Dim 语句声明变量并分配存储空间。 除法运算符(/) 两数相除并以浮点数格式返回商。 Do...Loop 语句当条件为True 或者当条件变为True 时,重复一语句块。

vb函数与表达式练习题

函数与表达式练习题 一、选择题 1、X=-9.8,表达式INT(X)+FIX(-X)的值是( ) A.1 B.17 C.0 D.-1 2. 执行A=9\4后,A的值为( 2 ) A.9/4 B.3 C.2 D.2.25 3.表达式Int(8*sqr(36)*10^(-2)*10+0.5)/10的值是(). (A) .48 (B) .048 (C) .5 (D) .05 4.表达式Val(".123E2CD")的值是(). (A).123 (B) 12.3 (C) 0 (D) .123E2CD 5. 表达式SQR(2^3^2) MOD 7的值为( ) A.0 B.1 C.2 D.3 6.表达式(7\3+1)*(18\5-1)的值是(). (A)8.67 (B)7.8 (C) 6 (D)6.67 7.表达式5^2 Mod 25\2^2的值是(). (A)1 (B)0 (C)6 (D)4 8.表达式25.28 Mod 6.99的值是(). (A)1 (B)5 (C)4 (D)出错 9.下面表达式中,()的运算结果与其他三个不同. (A) Exp(-3.5) (B) Int(-3.5)+0.5 (C) -Abs(-3.5) (D) Sgn(-3.5)-2.5 10.Int(100*Rnd(1))产生的随机整数的闭区间是(). (A) [0,99] (B) [1,100] (C) [0,100] (D) [1,99] 11.产生[10,37]之间的随机整数的Visual Basic表达式是(). (A) Int(Rne(1)*27)+10 (B) Int(Rnd(1)*28)+10 (C) Int(Rnd(1)*27)+11 (D) Int(Rnd(1)*28)+11 12.表达式Int(Rnd(0)+1)+Int(Rnd(1)-1)的值是(). (A) 1 (B) 0 (C) 01 (D) 2 13.表达式Int( - 17.8) +Sgn(17.8)的值是(). (A) 18 (B)-17 (C) -18 (D) -16 14.表达式Int( - 17.8) +Abs(17.8)的值是(). (A) 0 (B) 0.8 (C) - 0.2 (D) 0 34.8 15.表达式Left("how are you",3)的值是(). (A) how (B) are (C) you (D) how are you 16.表达式Right("Biejing",4)的值是(). (A) Bei (B) jing (C) eiji (D) ijin 17.表达式Abs( - 5) +Len("ABCDE")的值是(). (A) 5ABCDE (B) 0 5ABCDE (C) 10 (D) 0 18.表达式Mid("SHANGHAI",6,3)的值是(). (A) SHANGH (B) SHA (C) ANGH (D) HAI 19.函数Len(Str(Val("123.4")))的值为(). (A) 11 (B) 5 (C) 6 (D) 8 20.设A="12345678",则表达式Val(Left(A,4) + Mid(A,4,2))的值为(). (A) 123456 (B) 123445 (C) 8 (D) 6 21.设A="abcdefghijklm",下面()的函数值为"jklm".(多选) (A) Mid(A,10,14) (B) Right(A,4) (C) Mid(A,10,4) (D) Left(A,10,4) 22.函数InStr("VB程序设计教程","程序")的值为(). (A) 1 (B) 2 (C) 3 (D) 4 23.函数Ucase(Mid("Visual basic",8,5))的值为(). (A) Visual (B) basic (C) VISUAL (D) BASIC 24.表达式Str(Len("123")) + Str(77.7)的值为(). (A) 377.7 (B) 3 77.7 (C) 80.7 (D) 12377.7 25.表达式( - 1)*Sgn( - 100 +Int(Rnd*100))的值是(). (A) 0 (B) 1 (C) - 1 (D) 随机函数 26. 15.5\2的结果是__ ___。 (A) 1 (B) 1.5 (C) 7 (D) 8 27. 下列选项中,为字符串常量的是______。 (A) 6/12/2001 (B) "6/12/2001" (C) #6,12,2001# (D) 6,12,2001# 28. 设有如下声明: Dim X As Integer 如果Sgn(X) 的值为-1,则X的值是( ) A) 整数B) 大于0的整数C) 等于0的整数D) 小于0的数 29.在一个语句行内写多条语句时,语句之间应该用()分隔.

vb函数与过程习题精选

第三章函数与过程习题 一、选择题 1.如果要声明一个全局性的符号常量,则应将该声明放在( )。 A.过程中 B.窗体模块的通用声明段中 C.标准模块的通用声明段中 D.窗体模块或标准模块的通用声明段中 2.定义过程的语句为: Sub Suba(X As Single,Y As Single) 则正确的调用语句为( )。 A.Suba 10,12 B.Call Suba("A",Sin(1.57)) C.Call Suba X,Y D.Call Suba(1 2,1 0,x) 3.在窗体的通用段声明变量时,不能使用( )关键字。 A.Dim B.Public C.Private D.Static 4.Sub过程与函数过程最主要的区别是( )。 A.后者可以有参数,而前者则不行 B.前者可以用Call语句直接调用,而后者则不行 C.两种过程的参数传递方式不同 D.前者的过程名不能返回值,而后者的过程名则可以返回值 5.要在过程调用后返回两个值,下列过程定义正确的是( )。 A.Sub Proc(ByVal n,ByVal m) B.Sub Proc(n,ByVal m) C.Sub Proc(n,m) D.Sub Proc(ByVal n,m) 6.在程序模块的开头声明Option Explicit,则( )。 A.这个模块里所用到的变量必须声明后才能使用 B.整个工程里所用到的变量必须声明后才能使用 C.这个模块里所用到的变量不需要声明就能使用 D.整个工程里所用到的变量不需要声明就能使用 7.若希望在离开某过程后还能保存该过程中局部变量的值,则应使用( )关键字在该过程中定义局部变量。 A.Dim B.Private C.Public D.Static 8.在一个多窗口程序中,可以在标准模块或某个窗体模块的通用声明处分别用( )语句定义一个在所有窗体模块中都可以引用的变量IntA。 A.Private IntA As Integer,Public IntA As Integer B.Public IntA As Integer,Private IntA As Integer C.Public IntA As Integer,Public IntA As Integer D.Private IntA As Integer,Private IntA As Integer 9.在应用程序中用“Private Function Fun(X As Integer,Y As Integer)”定义了Fun 函数。调用Fun函数的过程中的变量I、J均定义为Integer型,能正确引用Fun函数的是( )。 ①Print Fun I,J ②Call Fun(I,3.65)

最全VB常用函数

一、类型转换函数 1、Int(x):求不大于自变量x的最大整数 2、Fix(x):走 失一个浮点数的小数部分,保存其整数部分 3、Hex$(x):把一个十进制数转换为十六进制数 4、Oct$(x):把一个十进制数转换为八进制数 5、Asc(x$):返回字符串x$中第一个字符的ASCII字符 6、CHR$(x):把x的值转换为相应的ASCII字符 7、Str$(x):把x的值转换为一个字符串 8、Cint(x):把x的小数部分四舍五进,转换为整数 9、Ccur(x):把x的值转换为货币类型值,小数部分最多保存4 位且主动四舍五进 10、CDbl(x):把x值转换为双精度数(Double) 11、CLng(x):把x的小数部分四舍五进转换为长整数型数(Long) 12、CSng(x):把x值转换为单精度数(single) 13、Cvar(x):把x值转换为变体类型值(variant) 14、VarPtr(var):获得变量var的指针 二、数学函数 1、Sin(x):返回自变量x的正弦值 2、Cos(x): 返回自变量x的余弦值 3、Tan(x): 返回自变量x的正切值 4、Atn(x): 返回自变量x的横竖切值 5、Abs(x): 返回自变量x的尽对值

6、Sgn(x): 返回自变量x的标记,即卖x为负数时,返回-1;卖x为0时,返回 0;卖x为正数时,返回1 7、Sqr(x):返回自变量x的平方根,x务必大于或即是0 8、Exp(x):返回以e为底,以x为指数的值,即求e的x次方 三、日期函数 1、Day(Now):返回卖前的日期 2、WeekDay(Now):返回卖前的星期 3、Month(Now):返回卖前的月份 4、Year(Now):返回卖前的年份 5、Hour(Now):返回小时(0~23) 6、Minute(Now):返回分(0~59) 7、Second(Now):返回秒(0~59) 四、随机数函数 1、Rnd[(x)]:孕育发生一个0~1之间的单精度随机数 2、Randmize[(x)]:功能同上,不过更好 五、字符串函数 1、LTrim$(字符串):走 失字符串左边的空缺字符 2、Rtrim$(字符串):走 失字符串右边的空缺字符 3、Left$(字符串,n):取字符串左部的n个字符

vb过程间参数的传递

一、形式参数与实际参数 1 形式参数:就是在定义函数或过程的时候命名的参数。通俗讲就是一个记号。 2 实际参数:就是在执行时,调用函数或过程时,传递给函数或过程的参数。通俗讲就是实际值。 3 参数嘛,就是一个可变量,它随着使用者的不同而发生变化。举个例子,在中学的时候学过sin(x)函数,这里的x就是形式参数,当你需要求1的正弦值时,你会使用sin(1),这里的1就是实际参数。 4 形参和实参间的关系:两者是在调用的时候进行结合的,通常实参会将取值传递给形参,形参去之后进行函数过程运算,然后可能将某些值经过参数或函数符号返回给调用者。 在过程之间传递参数,形式参数和实际参数是很重要的概念。我们通常说形式参数是过程为了运行的需要预先在内存中保留的地址单元,而实际参数就是在调用过程时放入这些内存地址中进行处理的数据。如果形式参数是一个盒子,那么实际参数就是盒子里面装的东西。在参数传递的过程中,形式参数和实际参数的数据类型要一致。 二、参数传递 函数参数的传递方式有两种,一种是按地址传递,一种是按值传递。 按地址传递:调用函数时,不直接把实参的值“告诉”函数,而是把地址“告诉”它,函数根据这个地址来寻找并处理值,如果函数修改了这个值,也就修改了这个地址对应的值。 按值传递:把值复制一份再给函数,这个值只属于函数,函数对这个值的修改不影响原值。 VBScript中,要按地址传递可在形参前加 ByRef,要按值传递得在形参前加 ByVal,如果什么也不加则表示按地址传递。 1)按值传递

如果在声明过程时,形式参数名前面加上关键字“ByVal”,即规定了在调用此过程时该参数是按值传递的。按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所做的改动只影响副本而不会影响变量本身。 代码1 ********************************** Private Sub Command1_Click() Dim num1 As Integer num1 = 5 Print num1 Call MySub(num1) Print num1 ' 输出结果为5 Call MySub2(num1) Print num1 ' 输出结果仍为5 End Sub Private Sub MySub(ByVal A As Integer) A = 10 End Sub Private Sub MySub2(ByVal A As String)

2.1VB语言及程序开发环境

2.1.2VB语言及程序开发环境 一、教学目标 1、知识与技能 掌握VB定义的常用的基本数据类型,常量与变量的定义方法,运算符、函数和表达式的描述。熟悉VB程序设计语言的开发环境,能调试简单的VB程序。 2、方法与过程 本节涉及到基础知识较多,所以要一个一个问题解决,从一个简单的求圆的面积的程序入手,从中分析VB程序一般包括的四部分,基本数据类型、常量与变量,运算符、函数和表达式,而且结合练习来加强对这些新知识的巩固。通过介绍VB程序的开发环境中的菜单、常用工具和常用窗口等,再通过上机操作运行一个程序,让学生更容易上手。 3、情感态度和价值观 这一节是学习VB程序的重要的入门课,授课时要注意结合学生的思路,逐个问题解决,不可一蹴而就。 二、重点难点 1、教学重点 (1)VB常用的的基本数据类型,常量与变量,运算符和表达式 (2)VB程序的开发环境 2、教学难点 把本节的内容加以运用 三、教学环境 1、教材处理 教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第一节,教材的内容编排合理,导入的方式也很好,而且能结合练习,所以直接使用教材的内容,不作修改。练习的题量可以适当地增加。 2、预备知识 学生已掌握使用计算机解决问题的四个步骤——分析问题、建立模型、设计算法和编写程序。 3、硬件要求 建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。 4、所需软件 学生机要安装VB6.0或以上版本。 5、所需课时 2课时

四、教学过程 导入: 以下是一个“求半径为r的圆的面积”的程序,请你注意观察程序的组成结构及其功能,并思考如下的问题: (1)程序有多少行,每一行的作用是什么? (2)如果按语句的作用区分,这个程序包含几个部分? Private sub command1_click() 定义名为command1_click()的事件过程 Const pi as single=3.14 说明程序中pi是常量∏ Dim r as single,s as single 定义半径r和面积s为单精度实型 r=inputbox(“r=”,”请输入半径”)输入r的值 s=pi*r*r 把表达式pi*r*r的值赋给s print “圆的面积s=”;s把s的值输出到当前的窗体上 End sub 过程结束 考察上述程序,我们容易看到:程序共有代码7行,每一行都是VB的一个语句,VB的程序就是由这样的一组语句组成。每一个语句都是按照一定的规则书写的。 总结上述分析,我们可以得到VB程序的一般包括如下部分: (1)数据类型说明部分 (2)数据的输入部分 (3)数据的处理部分 (4)数据的输出部分 一、基本数据类型 描述客观事物的数、字符以及所有能输入到计算机中,并被计算机程序加工处理的集合称为数据。数据既是计算机程序处理的对象,也是运算产生的结果。 为了更好地处理各种数据,VB定义了多种数据的类型。基本数据类型是系统预先定义的数据类型,表2-1中列出了VB定义的常用的基本数据类型。 例如在上述的程序中,既有单精度实型数的数据(如3.14等),也有字符类型的数据,如“输入半径”、“圆的面积S=”。 二、常量与变量 (1)常量

VB常用函数用法详解

VB函数 数学函数 (1)A bs 函数语法:Abs(number)绝对值 返回一数值的绝对值。 参数 number 可以是任何数值表达式。如果 number 的值为 Null,则返回 Null;如果其参数是没有初始值的变数,则返回0。 注解:一个数值的绝对值就是将正负号去掉以后的值。例如 Abs(-1) 和 Abs(1) 的返回值都是1。 (2)A tn 函数 语法:Atn(number) 反正切 该函数返回参数的「反正切」(arctangent) 值。 参数 number 可以是任何有效的数值表达式。 注解:Atn 函数的参数 (number) 是直角三角形中构成直角两边的比值(正切函数值),其返回值则为相对应之底角的度数, 以「弧度」为单位。正切函数值 (number) 的算法为「对边除以邻边」。返回值的范围落在 pi/2 到 pi/2 的「弧度」之间。 「角度」与「弧度」的转换方法为:将「角度」乘以 pi/180 即为「弧度」。反过来将「弧度」乘以180/pi 便得「角度」。

语法:Cos(number) 该函数返回一角度的 cosine (余弦函数)值。参数 number 可以是任何有效的数值表达式,其值代表一个角度,以「弧度」为单位。 注解:Cos 函数的参数表示角度,返回值为该角度两邻边的比值。其比值的定义为「连接另一锐角的邻边除以连接直 角的邻边」。 返回值的范围在 -1 到 1 之间。 (4)E xp 函数 语法:Exp(number) 自然对数之底数 该函数返回 e(自然对数之底数)的某次方。 参数 number 可以是任何的数值表达式。 注解:如果 number 的值超过 709.782712893,会产生程式错误。常数 e 的值大约是 2.718282。 (5)L og 函数自然对数值 语法:返回参数的自然对数值。 Log(number) 参数 number可以是任何的数值表达式,条件是参数值必须大于 0。注解:自然对数是以 e 为底数的对数。常数 e 的值大约是 2.718282。VB函数

VB常用函数.

你所说的是msgbox是信息提示窗口还有一些函数如下面的(一)类型转换类函数 1. CType(X [格式]: P=CBool(X ' 将X转换为“布尔”(Boolean)类型 P=CByte(X ' 将X转换为“字节”(Byte)类型 P=CCur(X ' 将X转换为“金额”(Currency)类型 P=CDate(X ' 将X转换为“日期”(Date)类型 P=CDbl(X ' 将X转换为“双精度”(Double)类型 P=CInt(X ' 将X转换为“整型”(Integer)类型 P=CLng(X ' 将X转换为“长整型”(Long)类型 P=CSng(X ' 将X转换为“单精度”(Single)类型 P=CStr(X ' 将X转换为“字符串”(String)类型 P=Cvar(X ' 将X转换为“变体型”(Variant)类型 P=CVErr(X ' 将X转换为Error值 [ 范例 ]: (1. CStr(13+CStr(23 ' 数值转换成字符串后,用"+"号连接,结果:1323 (2. CInt("12"+12 ' 字符串转换成整型后与12相加,结果:24 (3. P=CInt(True ' 输出结果为-1 ' 布尔值与数值的转换时要注意,布尔值只有True和False,其中True在内存中为-1,False存为0 (4. CBool(-0.001 ' 输出结果为True ' 将数值转换为布尔型时,等于0的数值将得到False,不等于0的数值得到True. 2. Int(X,Fix(X:取X的整数值 [格式]: P=Int(X ' 取<=X的最大整数值 P=Fix(X ' 取X的整数部分,直接去掉小数 [范例]: (1 Int(-54.6 ' 结果为-55,取<=-54.6的最大整数 (2 Fix(54.6 ' 结果为54,取整数并直接去掉小数(二)常用数学函数 [格式]: 1. Abs(N 取绝对值例:Abs(-3.5 结果:3.5 2. Cos(N 余弦函数例:Cos(0 结果:1 3. Exp(N e为底的指数函数例:Exp(3 结果:20.068 4. Log(N 以e为底的自然对数例:Log(10 结果:2.3 5. Rnd[(N] 产生随机数例:Rnd 结果:0--1之间的数 6. Sin(N 正弦函数例:Sin(0 结果:0 7. Sgn(N 符号函数 ' 说明:取正负号。Y=Sgn(X 既 X>0 则Y=1;X=0 则 Y=0;X<0 则Y= -1 8. Sqr(N 平方根例:Sqr(9 结果:3 9. Tan(N 正切函数例:Tan(0 结果:0 10.Atn(N 反切函数例:Atn(0 结果:0 [注意]:在三角函数中,以弧度表示。 (一字符串类函数: 1. ASC(X,Chr(X:转换字符字符码 [格式]: P=Asc(X 返回字符串X的第一个字符的字符码 P=Chr(X 返回字符码等于X的字符[范例]:(1P=Chr(65 ‘ 输出字符A,因为A的ASCII码等于65 (2P=Asc(“A” ‘ 输出65 2. Len(X:计算字符串X的长度 [格式]: P=Len(X [说明]:空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算一个字符。 [范例]: (1 令X=”” (空字符串 Len(X 输出结果为0 (2 令X=”abcd” Len(X 输出结果为

第三章-Visual Basic常用内部函数

第三章 Visual Basic 常用内部函数 §3.1 VB内部函数概述 数学上的函数:指对一个或者多个自变量进行特定的计算,获得一个因变量得值。在程序设计语言中的函数: 1.定义:指能够完成特定的操作并且返回一个值的多条语句的集合。 2.使用位置:在程序中被直接调用;像一个变量一样被嵌入在表达式内。3.分类:内部函数和自定义函数 Visual Basic 的内部函数大致分为六类 数学函数;字符串函数;转换函数;日期/时间函数;随机函数;输入输出函数。 一、内部函数 函数是一段完成特定功能的独立程序段。也是一种可以参加运算的量。一般说来,函数提供某一种特定的功能。 VB系统中,函数分为内部函数和用户自定义函数,这种情况和传统的Basic 语言中的情形是相似的。内部函数是VB系统提供的,使用时只要直接调用函数名即可。自定义函数需要用户自己定义并编写相应的程序。定义并编写好了程序的函数供用户自己调用,且调用方法与内部函数相同。 本节主要介绍VB系统的内部函数。VB系统提供了约一百多个十余种类型

函数一般是由函数名和参量构成,参量被放在函数名后的圆括号内。 二、内部函数的调用 内部函数在被调用时,一般规则是访问函数名,参量被放在其后的圆括号内,参量可以被常量、变量或表达式代替。有的函数可以省去参数和括号;有的函数的参数可以省略,但是小括号不能省略。 1、在表达式中使用 变量=……函数名(参数表)…… 2、在Print语句中使用 Print函数名(参数表),……,……函数名(参数表)…… 例如: S=100*Sin(3.14*30/180) A=Int(123.345) Print "y=2sin(л/4)=";2*sin(3.14159/4) §3. 2 数学函数 数学函数包括了:绝对值函数,取整函数,指数函数,对数函数,求平方根函数,三角函数,符号函数 一、绝对值函数(Abs) Abs( x ) 返回x的绝对值,返回值类型与参数相同。 例如:Abs(6.5)的值为6.5 Abs(-6.5)的值也为6.5 二、取整函数(Fix , Int) Fix(x) 删除x的小数部分,返回其整数部分 Int(x) 返回不大于x的整数 1、Int—取整函数

VB常用的内部函数

(一)VB常用的内部函数: Abs (x):求x的绝对值例:Abs(-3.2)= 3.2 Sqr (x):求x的平方根例:Sqr(9)= 3 Int (x):求不大于给定数x的最大整数例:Int (-1.6) = -2 Mod : 整除取余数例:9 Mod 5 = 4 (二)阅读下列程序段,写出运行结果。 1、 x = 3 y = Abs (-4.8) *2 z = x+y Print y , z 运行结果:() 2、 A= Sqr (4) * 3 B= Int (1.9) +3 Print A+B 运行结果:() 3、A= 9.8 B= 8 Mod 4 C = Int (9.8) S= A*B + C Print “S=”; S 运行结果:()

4、下列程序的功能是求长方体的体积,请将程序补充完整,并上机验证。 Private sub command1_click() Dim A As Single Dim B As Single Dim H As Single Dim V As Single A= Val(InputBox(“A=”,”输入长”)) B= Val(InputBox(“B=”,”输入宽”)) H= Val(InputBox(“H=”,”输入高”)) V =_________________________________ PRINT “长方体的体积V=”; V End Sub 顺序题 小李同学参加了一场模拟考试,其一道题目是已知长方体的长为10,宽为3,高为5,求长方体的体积V,小李同学编写出了如下的不完整程序: 一、 ′算法描述: ′注意事项: ′1、请在func()函数中实现算法,返回算法结果 ′2、请不要修改main()过程

VB中的过程

VB中的过程 函数的调用方法 VB程序是由过程组成的,每个过程是为了完成一定的任务,由一组独立的程序代码组成。VB中有两大类过程,事件过程和通用过程。事件过程是当对象的某个事件发生时,对该事件做出响应的程序代码段,它是应用程序的主体。当多个不同的事件过程需要执行一段相同的代码,完成相同或相似的任务,为了避免程序代码的重复,同时便于程序代码的修改,把这段代码独立出来,作为一个过程,这样的过程称为通用过程。可见,通用过程是多个事件过程的,相同之处、公共部分。 事件过程是由对象的某一时间驱动或由系统自动调用,而通用过程不依附于某一对象,通过被调用语句(如call语句)调用才起作用,而且通用过程可以被多次调用,调用该过程的过程叫调用过程。 通用过程分为两种类型,sub过程和Function过程。Function和sub过程的区别:Function过程有返回值,可以像变量一样出现在表达式中, 如:Function max(m as integer,n as Integer)as Integer If m

End sub Sub过程不返回值,就不能出现在表达式中。 所以声明Function过程要指明数据类型,也是返回值的数据类型。默认为variant类型。 Function过程的调用直接使用函数名的调用方法有两种形式: 1,如果函数又返回值,按如下方式调用: 被赋值对象=函数名(实际参数1,实际参数2,…)t=max(x,y) 2,如果放弃函数的返回值,一般按如下方式调用: 函数名实际参数1,实际参数2,… 使用call语句来调用Function过程,这种方法放弃了函数的返回值。 Call 函数名(参数1,参数2,…) 因为在VB中代码是模块化的,所以不同的模块就需求不同的过程,过程是有作用域的。 VB应用程序的结构如下: 模块级过程又称为文件级过程,是在某个模块内定义的过程,在定义sub 过程和Function过程时选择Private关键字,该过程仅限于本模块中调用。 全局级过程又称工程级过程,是指在定义sub过程和Function过程时选择Public关键字或缺省选择,作用域为整个工程,可被该工程中的所有过程调用。 调用窗体中的过程:格式为:call form1.subex() 调用类模块中的过程:不用类名,而是用该类提前声明的实例变量名,如: Dim sample as new class1 Call sample.subex() 调用标准模块中的过程:如果该过程在整个工程中名字是唯一的,可以按名直接调用。如果其他模块中有同名过程,为了区别需要前置模块名。

相关主题
文本预览
相关文档 最新文档