重庆大学2022年秋季学期课程作业《可视化程序设计(VB)》在线题库

设有如下程序:Option Base 0Private Sub Form_Click()Dim aDim I As Integera=Array(1,2,3,4,5,6,7,8,9)For I=0 To 3Print a(5 – I);Next IEnd Sub程序运行后,单击窗体,则在窗体上显示的是( )。

A.4321

B.5432

C.6543

D.7654


参考答案:C


设有如下程序:

Option Base 1

Private Sub Command1_Click()

Dim arr1

Dim Min As Integer, i As Integer

arr1 = Array(12, 435, 76, -24, 78, 54, 866, 43)

Min = ______

For i = 2 To 8

If arr1(i) < Min Then______

Next

Print "最小值是:"; Min

End Sub

以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中各元素的最小值。请填空。


正确答案:

arr1(1) min=arr1(i) 


有如下程序:

Option Base 1

Private Sub Form_Click()

Dim arr,Sum

Sum=0

For i=1 To 10

If arr(i)/3=arr(i)\3 Then

End If

Next i

End Sub

程序运行后,单击窗体,消息框的输出结果为( )。


正确答案:27
27


下面程序:________Option Base 1Private Sub Command1_Click() Dim a(10),p(3)As Integer Dim i,k As Integer k=5 For i=1 To 10 a(i)=i Next For i=1 To 3 p(i)=a(i*i) Next For i=1 To 3 k=k+p(i)*2 Next Print kEnd Sub运行后的输出结果为________。

A.33

B.28

C.35

D.37


正确答案:A
解析:此题中共定义了两个数组:a(i),p(i),共用到三次For循环:
  第一个For语句是对数组a(i)赋值,a(1)到a(10)的值分别为1到10;
  第二个For语句是对数组p(i)赋值,p(1)=a(1)=1,p(2)=a(4)=4,p(3)=a(9)=9;
  第三个For语句是对k的值循环相加,三次循环的结果分别为:7,15,33。


下列程序共执行了______次循环。Private Sub Command1_ Click () Dim intsum As Integer Dim i AS Integer Dim j As Integer i = 1 j = 1 do do intsum = intsum + j =j+2 Print j; Loop until j >3 i = i+1 Loop until i>17 Print Print intsumEnd Sub

A.14

B.15

C.14

D.13


正确答案:A
解析:本题的难点是判断循环非正常退出。do ... Loop until循环是先执行后判断。


一、单项选择题(共 30 题、共 60 分)得分:48 分1.设有如下程序: Option Base 0 Private Sub Form_Click() Dim a Dim I As Integer a=Array(1,2,3,4,5,6,7,8,9) For i=0 To 3 Print a(5-i); Next End Sub 程序运行后,单击窗体,则在窗体上显示的内容是_。A、5 4 3 2 B、6 5 4 3 C、7 6 5 4D、4 3 2 1答案正确得分22.在文本框Text1中输入“(hello)”,则输出结果为( )。Private Sub Text1_KeyPress(KeyAscii As Integer)Dim count1%If Chr(KeyAscii) = ( Thencount1 = count1 + 1ElseIfChr(KeyAscii) = ) Thencount1 = count1 - 1End IfIf KeyAscii = 13 ThenIf count1 = 0 ThenPrint 左右括号配对ElseIf count1 0 ThenPrint 左括号多于右括号; count1; 个ElsePrint 右括号多于左括号; -count1; 个End IfEnd IfEnd SubA、左括号多于右括号B、右括号多于左括号C、程序出错D、左右括号配对答案正确得分23.下列程序段的执行结果为( )。a=100:b=50If ab Thena=a-belseb=b+aEnd ifPrint aA、50B、100C、200D、10答案错误得分04.复选框的value属性为1时,表示( )。A、复选框被选中 B、复选框内右灰色的勾C、复选框操作有错误D、复选框未被选中 答案错误得分05.下面的子过程语句说明合法的是_。A、 Sub fib(j%) As IntegerB、Function f%(f%) C、Function f1!(ByVal n%)D、Sub fib(ByRef i%() 答案正确得分26.下列选项中叙述正确的是( )。A、Select Case语句中的条件表达式只能是数值表达式或者字符表达式B、在执行Select Case语句时,所有的Case子句都按出现的次序被顺序执行C、Select Case语句的测试表达式会多次计算D、Select Case语句中的条件表达式可以是任何形式的表达式答案错误得分07.关于VB描述错误的是( )。A、VB是面向过程的程序设计语言B、VB具有事件驱动的编程机制C、VB的工具箱窗口由被绘制成按钮形式的图标构成。D、VB集成开发环境是一组软件工具,集应用程序的设计、编辑、运行调试等于一体答案正确得分28.下列程序执行后,变量x的值为() Dim a , b , c , d , x As Single a = 200 : b = 100 : c = 500 If b a Then d = a : a = b : b = d End If If b c Then x = b ElseIf a c Then x = c Else x = a End If Print xA、100B、200C、500D、0答案正确得分29.以下语句输出结果是( )。Private Sub Form_Click()A=Beijing b=ShangHai Print a;bEnd SubA、AbeijingShangHaiB、BeijingShangHaiC、AbeijingD、Beijing ShangHai答案正确得分210.在使用菜单编辑器设计菜单时,必须输入的项是( )。A、名称 B、索引 C、快捷键D、标题 答案正确得分211.对象的属性用来描述对象的特征,它们是一组( )。A、程序B、属性名C、操作D、数据答案正确得分212.表达x大于10且小于100的关系表达式为()。A、10x10 and xx10 or x100 答案正确得分213.可用于设置系统当前时间的语句是( )。A、Date$B、TimeC、TimerD、Date答案错误得分014.有如下事件过程,程序的功能是()。 Private Sub Commandl _Click ( ) S1=0: S2=0 M1=0: M2=0 N=1 Do while N b Then t = a : a = b : b = t If a c Then t = a : a = c : c = t If b c Then t = b : b = c : c = t Print a , b , c End Sub 程序运行后,单击命令按钮,依次在输入对话框中输入10、5、20,则输入结果为()A、51020B、10520C、20510D、20105答案错误得分026.要禁用计时器控件,需要设置为False的属性是( )。A、VisibaleB、TimerC、IntervalD、Enable答案正确得分227.要将一个组合框设置为简单组合框(Simple Combo),则应将其Style属性设置为( )。A、1B、2C、3D、0答案正确得分228.在过程定义中用 ( )表示形参的传值方式。A、ByRef B、ByVal C、ValueD、Var答案正确得分229.图像框根据加载的图像的大小调整尺寸,需要设置为False的属性是( )。A、StretchB、Picture C


设有如下程序: Option Base 1 Private Sub Command1 Click() Dim a(10) As Integer Dim n As Integer n=InputBox(“输入数据”) If n< 10 Then Call,GetArray(a, n) End If End Sub Private Sub GetArray(b() As Integer, n As Integer) Dim c(10)As Integer j=0 For i=1 To n b(i)=CInt(Rnd()*100) If b(i) /2 =b(i) \2 Then j=j + 1 c(j) = b(i) End If Next Print j End Sub 以下叙述中错误的是

A.数组b中的偶数被保存在数组c中

B.程序运行结束时,在窗体上显示的是c数组中元素的个数

C.GetArray过程的参数n是按值传送的

D.如果输入的数据大于10,则窗体上不显示任何信息


正确答案:C
解析:GetArray过程返回c数组中元素的个数。c数组元素由b(i)赋值,但只有b(i)中为偶数的元素才能赋值给c数组中的元素。单击按钮时,如果输入的n值小于10,则调用GetArray过程。据此A、B、D项都是正确的。C项的错误比较明显,GetArray过程的参数n前没有关键字“ByVal”,则默认为“ByRef”,即n是按传地址的方式传送参数的。


有如下程序: Private Sub Form_Click( ) Dim i As Integer, Sum As Integer Sum = 0 For i = 2 To 10 If i Mod 2=0 And i Mod 3<>0 Then Sum = Sum + i End If Next Print Sum End Sub 程序运行后,单击窗体,输出结果为

A.12

B.30

C.24

D.18


正确答案:C
解析:纵观题目可以看出,本题程序段的作用是将从2到10中是2的倍数但不是3的倍数的数加求然后输出。在2到10中满足条件的数字是2,4,8,10,所以和是24,故本题的正确答案是选项C。


设有如下程序: Option Base 1 Private Sub Command1_Click() Dim a(10) As Integer Dim n As Integer n=InputBox("输入数据") If n<10 Then Call GetArray(a,n) End If End Sub Private Sub GetArray(b()As Integer,n As Integer) Dim c(10)As Integer j=0 For i=1 To n b(i)=Clnt(Rnd()*100) Ifb(i)/2=b(i)\2 Then j=j+1 c(j)=b(i) End If Next Print j End Sub 以下叙述中错误的是( )。

A.数组b中的偶数被保存在数组C中

B.程序运行结束时,在窗体上显示的是c数组中元素的个数

C.GetArray过程的参数n是按值传送的

D.如果输入的数据大于10,则窗体上不显示任何信息


正确答案:C


设有如下程序: Option Base 0 Private Sub Form_Click( ) Dim a Dim i As Integer a=Array(1,2,3,4,5,6,7,8,9) For i=0 To 3 Print a(5-i); Next End Sub 程序运行后,单击窗体,则在窗体上显示的是( )。

A.4 3 2 1

B.5 4 3 2

C.6 5 4 3

D.7 6 5 4


正确答案:C
C。【解析】OptionBase0指示程序中数组下标从0开始,因此在For循环中打印的数组元素分别为第6、5、4、3个元素,结果为6、5、4、3。


设有如下程序: Option Base 0 Private Sub Form Click() Dim a Dim i As Integer a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9) For i = 0 To 3 Print a(5 - i); Next End Sub 程序运行后,单击窗体,则在窗体上显示的是

A.4 3 21

B.543 2

C.6 54 3

D.7 6 54


正确答案:C
解析:本题综合考查For循环控制语句与用Array函数为数组进行初始赋值.注意,由于“Option Base 0”,故数组的下标下界为0,所以a(5)应该是数组a的第六个元素“6”,以此类推,可知正确答案为C。


相关考题:

考题 编写如下事件过程: Option Base 1 Private Sub Form Click() Dim x1()As Integer Dim i As Integer Dim s As Integer ReDim x1(3) For i = 1 To UBound(x1) x1(i)=i + 1 Next i Call sub1(x1) For i = 1 To UBound(x1) s = s + x1(i) Next i Print s End Sub Private Sub sub1(n()As Integer) Dim i As Integer ReDim Preserve n(5) For i = 3 To 5 n(i)=n(i-1)*2 Next i End Sub 程序运行后,单击窗体,则窗体上显示的内容是A.6B.12C.24D.47 正确答案:D解析:在主过程中,数组x1的下标最大值为3,赋初值分别为2、3、4,通过实参和形参的调用,数组x1的值传给了数组n。在子过程中,数组n的下标最大值被重新定义为5,下标3~5的值计算的结果分别为6、12、24。在主过程中,将数组x1的各值相加得:2+3+6+12+24=47。

考题 下列程序打印结果为 ______。Private Sub Command1_ Click() Dim a(5)As String Dim b As Integer Dim i As Integer for i = 0 To 5 a(i)= i +1 Print a(i); Next iEnd SubA.12345B.6C.1 2 3 4 5 6D.0 正确答案:C解析:本题是针对输出格式的问题。字符串输出没有正负号,字符之间没有空格;数字输出有正负号,字符之间有空格。打印的结果为123456。

考题 单选题设有如下程序: Option Base 0 Private Sub Form_Click( ) Dim a Dim i As Integer a = Array(1,2,3,4,5,6,7,8,9) For i = 0 To 3 Print a(5 – i); Next End Sub 程序运行后,单击窗体,则在窗体上显示的是()A4;3;2;1B5;4;3;2C6;5;4;3D7;6;5;4正确答案: C解析: 暂无解析

考题 设有如下程序: Option Base 1 Private Sub Command1_Click( ) Dim a(10) As Integer Dim n As Integer n=InputBox(“输入数据”) If n10 Then Call GetArray(a,n) End If End Sub Private Sub GetArray(b( )As Integer,n As Integer) Dim c(10) As Integer j=0 For i=1 To n b(i)=CInt(Rnd( )*100) If b(i)/2=b(i)\2 Then j=j+1 c(j)=b(i) End If Next Print j End Sub以下叙述中错误的是A.数组b的偶数被保存在数组c中B.程序运行结束时,在窗体上显示的是c数组中元素的个数C.GetArray过程的参数n是按值传送的D.如果输入的数据大于10,则窗体上不显示任何信息 正确答案:C解析:GetArray过程的作用是将数组b中的偶数保存到数组c中,同时输出数组C中元素的个数,所以选项A)和选项 B)正确;观察单击事件中,如果n10,才能调用该过程,所以选项D)正确;在GetArray工程中两个参数缺省传送方式,则参数是按地址传递的,选项C)错误。

考题 在窗体上绘制一个名称为Commandl的命令按钮,然后编写如下程序: Option Base 1 Private Sub Commandl_Click() Dim c As Integer,d As Integer d=0 c=6 x=Array(2,4,6,8,10,12) Fori=1 To 6 1fx(i)>c Then d=d+x(i) c=x(i) ElseA.10B.16C.12D.20 正确答案:C

考题 有如下程序: Private Sub Form_Click() Dim i As Integer, Sum As Integer sum=0 For i=2 To 10 If i Mod 2<>0 And i Mod 3=0 Then sum=sum+i End If Next i Print sum End Sub 程序运行后,单击窗体,输出结果为______。A.12B.30C.24D.18 正确答案:A解析:本题程序的功能是:将从2到10中既是奇数(i Mod 2>0)又是3的倍数(i Mod 3=0)的数求和,在2到10中满足条件的数字是3,9,其和是12。

考题 有如下程序: Private Sub Form Click() Dim i As Integer,sum As Integer sum=0 For i=2 To 10 If i Mod 2<>0 And i Mod 3=0 Then sum=sum+i End If Next i Print sum End Sub 程序运行后,单击窗体,输出结果为A.12B.30C.24D.18 正确答案:A解析:本题考查For循环以及表达式运算。考生需要掌握Mod函数的用法“Mod”表示取模。题目程序的功能是将2到10之间的不能被2整除,但能被3整除的数求和。如果掌握了这个就很容易计算,结果为3+9=12,选项A正确。

考题 设有如下程序: Option Base 0 Private Sub Form_Click( ) Dim a Dim i As Integer a=Array(1,2,3,4,5,6,7,8,9) For i=0 To 3 Print a(5-i) Next End Sub 程序运行后,单击窗体,则在窗体上显示的是A.4 3 2 1B.54 3 2C.6 5 4 3D.7 6 5 4 正确答案:C解析:注意,由于"OptionBase0",故数组的下标下界为0,所以a(5)应该是数组a的第六个元素"6",以此类推,可知正确答案为C。

考题 程序代码如下,当单击窗体上的Command1控件时,在窗体上输出的结果是( )。 Private Sub Command1_Click() Dim aa(3,3)As Integer Dim i As Integer,j As Integer Dim s As Integer For i=0 To 3 For j=0 To 3 aa(i,j)=i*4+j+1 Next j Next i For i=0 To 3 s=s+aa(i,1) Next i Print s End SubA.32B.28C.30D.36 正确答案:A解析:当发生Command1_click事件时,将定义一个4行4列的数组aa(数组下标从0开始),然后通过一个两层For循环给它的各个元素赋值,赋值规律是给每一个元素赋它的行下标值乘以4,再加上列下标值再加1。然后通过一个For循环把数组元素aa(0,1)、aa(1,1)、aa(2,1)和aa(3,1)的值2、6、10、14加到s中,s的值为32。

考题 有如下程序: Private Sub Form_Click( ) Dim i As Integer, Sum As Integer Sum = 0 For i = 2 To 10 If i Mod 2< >0 And i Mod 3=0 Then Sum = Sum + i End If Next Print Sum End Sub 程序运行后,单击窗体,输出结果为A.12B.30C.24D.18 正确答案:A解析:本题考查额是For循环语句和If条件语句的应用。纵观本题可以看出,本题程序段的作用是将从2到10中不是2的倍数但是3的倍数的数加和然后输出。在2到10中满足条件的数字是3和9所以和是12。