一、单项选择题(共10小题,每题2分,共20分)1、Visual Basic是一种面向对象的程序设计语言,构成对象的三要素是()A属性、控件和方法B.属性、事件和方法C.窗体、控件和过程D.控件、过程和模块2、下列语句在任何条件下都至少执行一次的循环体是()A.Do While<条件>B. While<条件>循环体循环体Loop WendC. DoD.Do Until<条件>循环体循环体LoopUntil<条件> Loop3、下面控件中,没有caption属性的()A.框架B.组合框B.命令按钮 D.复选按钮4、要使标签透明须将其()属性改为0A.StyleB. backcolorC.visibleD.borderstyle5、下列关于过程叙述不正确的是()A.过程的传值调用时将实参的具体值传递给形参B.过程的传址调用是将实参在内存的地址传递给形参C.过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的D.无论过程传值调用还是传地址调用,参数传递都是双向的6、设a=6, b=8, c=10 则函数lif(a<b,lif(b<c,c,b),a+b)的返回值是()A.1OB.6C.8D.127、下面程序的执行结果是()Dim S(10) AS IntegerFor i=0 to 10S(i)=2*iNext iPrint S(S(3))A.12B.6C.0D.48、一下程序输出的结果是()Option Base1Private Sub Command1_Click()Dim a(10),p(3)As IntegerK=5For i=1 to 10A(i)=iNext iFor i =1to 3P(i)=a(i*i)Next iFor i = 1 to 3K=k+p(i)*2Next iPrint kEnd subA. 33B.28C.35D.379、在窗体上画一个命令按钮,名称为Command1。
然后编写如下程序:Private Sub Command1_Click()For i=1 to 4For j=0 to iPrint chr$(65+i);Next jPrintNext iEnd Sub程序运行后,如果单击命令按钮,则在窗体上现实的内容是( )A. BBCCCDDDDEEEEEB. ABBCCCDDDDC. BCCDDDEEEED. AABBBCCCCDDDDD10、下列过程语句中,一定按传值方式进行数据传递的定义语句是( )A. Sub pro2(a AS integer)B. Sub pro2(ByRef a AS integer)C. Sub pro2(ByVal a AS integer)D.Sub pro2(arr( ) )二、填空题(共5小题,每题2分,共10分。
)1.数学式222233y y x b a ++⋅+对应的VB 表达式为___ __________ 2.已知a=2,b=3,c=4,d=5 .表达式Not a<=c Xor 4*c=b^2 Or b<>a+c 的值为_____ _________3.设变量x是一个两位正整数,写出判断x的十位数是个奇数数字的VB逻辑表达式: _4.写出表达式Val("10abc.5")*Int(-2.7)的值5.写出DateDiff(“m”,#8/30/1999#,#8/30/2000#)的值三、判断题(本题15分,每小题1分)1.标签控件是专门用来显示信息的,所以不能响应鼠标的单击事件。
2.窗体的Move方法不但可以移动窗体,而且可以改变窗体的大小,同时也会改变窗体与大小和位置有关的属性值。
3.窗体的Enabled属性为False时,窗体上的按钮、文本框等控件都不会对用户的操作作出反应。
4. 一条Visual Basic 话句如果不超过80个字符是不能续行的。
5. 在Visual Basic 程序中不可能同时出现tstA和tsta两个控件名。
6. If与EndIf关键字必须成对地使用,有个If就有个End if与之相对应。
7. Do和Loop关键字区须成对使用,有个Do就必须有个Loop与之对应。
8. For和Exit For须成对使用,有个For就必顿有个Exit For与之对应。
9. Select Case语句实现的是一种循环结构。
10. 一个Do循环只能使用一个Loop关键字,但可以使用彩个Exit Do语句。
11.如果过程的个形参使用了ByRef 修饰,且调用时相应的实参是个变量;则实参变量的数据类型必须与形参相同。
12.因为函数过程有返回值,所以只能用在表达式中,不能使用Call班句调用。
13.事件过程只能在事件发生时由系统调用,不能在程序中使用代码直接调用。
14.使用Static关键字定义的通用过程中过程级变量都为静态变量。
15. 在窗体模块中,不能定义全局通用过程。
四、阅读程序(共4小题,每题5分,共20分)。
1.一下程序运行后,单击命令按钮,写出程序的运行结果。
Private Sub Command1_click()Dim n%,b,tt=1 :b=1 :n=2Do While n<=4if b>1 Then Exit Dob=b*n : t=t+b : n=n+1LoopPrint "t" & tEnd Sub2. 在窗体中添加一个命令技钮Command1, 并编写如下程序:Private Sub Command1_Click()X=InputBox(x)if x^2<=9 Then y=1/xif x^2>9 Then y= x^2+1if (x^2)-7=9 Then y=xPrint "y=" & yEnd Sub程序运行后,在InputBox中输入4,单击命令按钮,写出程序的运行结果。
3. 窗体上画一个命令按钮,并编写以下半件过程和子过程:Private Sub Command1_Click()Dim x As Integer, y As IntegerX=12 :y=20Call Value(x.y)Print"x="&x,"y="&yEnd SubPrivate Sub Value(ByVal m As Integer, n As Integer)m=m*2n =n-5End Sub程序运行后,单击命令按钮,写出程序的输出结果。
4.窗体上画一个命令按钮和一个图像框,并编写以下事件过程:Private Sub Command1_Click()Dim a(3,3)For m 1T03For n= 1To3If n=m Or n=4 -m Thena(m,n)=m+nElsea(m,n)=0End ifPicture1.Print a(m,n)Next nPicture1.PrintNext mEnd Sub程序运行后,单击命令按钮,图像框中显示的内容是什么?五、程序填空题(5个空,每空5分,共25分)。
程序1 [程序说明]以下程序随机产生100个两位正整数,先对这些数按从大到小的顺序排序每行10个显示在窗体上。
再找出所有的个位数字与十位数字之和等于10的数。
[程序]Private Sub Form_ Click()Dim a(100) As Integer, i As Integer, j As Integer, t As Integer, X As Integer,y As IntegerFor i= 1 To 100a(i)=____________________Next iFor i= 1To99Forj=i+ 1To 100If a(i)< a(j)Then___________________________End IfNext jNext iFori= 1To 100Print a(i);________________________________NextiFor i= 1 To 100X=______________________’取十位数字Y= a(i) Mod10 '取个位数字If x+y = 10Then Print a(i)Next iEnd SubPrivate Sub Swap______________________________________ Dim Temp As IntegerTemp=X:X=Y:Y= TempEnd Sub。