计算机专业第二次月考试卷一、选择题(本大题共10小题,每小题2分,共20分)1.在Visual Basic中,Print Int(35*Rnd)+n产生的随机数的范围是10至44(含10及44),则n是...............................................()A.10 B. 20 C. 30 D. 352. 在Visual Basic中,下列可作为Visual Basic变量名的是............()A. FilenameB. ValC. X%DD. Print3. 在Visual Basic中,下列语句用来设置窗体中文本框(名称Text1)的属性,其中在运行时不能正确操作的语句是..................................()A. Text1.Text="Text Test"B. ="Text Test"C. Text1.Enabled = FalseD. Text1.Visible = False4. 在Visual Basic中,下列运算符优先级最高的是......................()A. +B. *C. > D.And5. 执行下面Visual Basic程序后,结果是哪个选项......................()For i = 1 To 6If i Mod 2 = 0 ThenPrint "#";ElsePrint "*";End IfNext iA.###### B.******C.*#*#*# D.#*#*#*6. 下面的Visual Basic程序是对数组a中的元素按升序排列,程序中空白位置应该填下列选项中的哪一个............................................()Option Base 1Dim i As IntegerDim j As Integera = Array(2, 4, 7, 9, 3, 6, 20, 11)For i = 1 To 7For j = i + 1 To 8If a(i) > a(j) Thena(i) = a(i) + a(j)a(j) = a(i) - a(j)_____________End IfNext jNext iFor i = 1 To 8Print a(i);Next iA. a(i)=a(j)B. a(i) = a(i) - a(j)C. a(j)=a(i)-a(j)D. Exit For7. 执行下面Visual Basic程序后,s=s+1语句被执行了多少次...........()Dim s As Integers = 0For i = 1 To 10For j = 0 To i - 1s = s + 1Next jNext iA. 0B. 10 C.55 D. 668. 执行下面Visual Basic程序,数组a中的数字50所在位置的下标是....()Option Base 1Private Sub Command1_Click()Dim i As IntegerDim k As IntegerDim t As IntegerDim w As IntegerDim m As Integera = Array(3, 56, 8, 10, 89, 94, 78, 82, 20, 50, 100)m = UBound(a)k = m / 2For i = 1 To kw = a(i): a(i) = a(m - i + 1): a(m - i + 1) = wNext iEnd SubA. 1B. 2C. 3D. 59. 在Visual Basic中,关于控件及窗体说法不正确的是................()A. 任何一个控件都有名称B. 任何一个控件都有属性C. 任何一个控件都有单击事件D. 控件是对象,窗体也是对象10. 执行下面Visual Basic程序,输入a的值为10,最后输出s的值是....()Dim a As IntegerDim s As Integera = InputBox("a=")Select Case a Mod 2Case 1: s = 1Case 2: s = 10Case 3: s = 11Case Else: s = 100End SelectPrint sA. 1B. 2C. 3D. 100二、判断题(本大题5小题,每小题2分,共10分。
)1.在Visual Basic中,对顺序文件既有读的操作语句,也有写的操作语句。
()2. 在Visual Basic中,窗体appearance属性的功能是返回或设置对象的边框样式。
()3. 在Visual Basic中,定时器控件在运行时是可见的。
()4. 在Visual Basic中,窗体的move方法中,参数left、width、height都不可以省略。
()5. 在Visual Basic中,form1.visible=true,这时窗体不可见。
()三、填空题(本大题共5小题,每小题2分,共10分。
)1. Visual Basic的算术表达式4 / 3 Mod 3 * 2 + 2的结果是。
2.在Visual Basic中,将文本框的scrollbar的属性设置为2,但没有垂直滚动条显示,原因是没有将属性设置为True。
3.在Visual Basic中,有以下的循环:X=1Do while x<=5X=Loop程序运行后,要求执行3次循环体,请填空。
4. 在Visual Basic中,根据数组占用内存方式的不同,将数组分为常规数组和。
5. 在Visual Basic中,要将某一控件从tab键顺序中删除,只要将其tabstop属性设置成。
四、程序分析(本大题共1小题,每小题5分,共5分)阅读下面的Visual Basic程序,程序运行后s的值是Option Base 0Private Sub Command1_Click()Dim a(4) As IntegerDim i As IntegerDim j As IntegerDim w As IntegerDim s As Integerj = 0: s = 0For i = 1 To 100w = Int(6 * Rnd)If w = 2 Thena(j) = ws = s + a(j)j = j + 1Elsei = i - 1End IfIf j = 5 Then Exit ForNext iPrint sEnd Sub五、写出下列程序的运行结果(本大题共2小题,每小题5分,共15分)1.分析下面Visual Basic程序段。
窗体中有一命令按钮(名称为Command1)。
Private Sub Command1_Click()Dim a(3) As IntegerDim i As Integer, w As Integerw = 0For i = 0 To 3a(i) = iNext iFor i = 0 To 3w = w + fu(a(i))Next iPrint wEnd SubPrivate Function fu(k As Integer)k = k + 1fu=kEnd Function窗体启动后单击命令按钮,输出w的值为。
2.分析下面Visual Basic程序段。
窗体中有一命令按钮(名称为Command1)Option Base 1Private Sub Command1_Click()a = Array(23, 24, 17, 8, 11, 15, 16, 13)Dim i As IntegerDim num As IntegerDim k As IntegerDim j As IntegerDim flag As Integernum = 0For i = 1 To 8flag = 0k = Int(Sqr(a(i)))For j = 2 To kIf a(i) Mod j = 0 Then flag = 1Next jIf flag = 0 Then num = num + a(i)Next iPrint numEnd Sub窗体启动后单击命令按钮,输出语句Print num执行结果是__________________。
3.在窗体上有一个名称为Command1的命令按钮,然后编写如下事件过程:Option Base 1Private Sub Command1_Click()Dim a As Varianta = Array(5, 6, 7, 8, 9)Sum = 0For i = 1 To 5Sum = Sum + a(i)Next ip = Sum / 5For i = 1 To 5If a(i) > p Then Print a(i);Next iEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容为:。
六、Visual Basic程序改错(本大题共2小题,每个错误5分,共20分,每个程序有两个错误行,请在答题纸上写出错误行代码和对应的正确代码,改对一处得一处分,改错不减分。
注:要把整行写完整)1.有数组:s = Array("a42", "b3c56", "de7fg", "hi", "jk35kmn")统计数组s的各个元素中含有数字字符个数,把结果放到数组b相应元素中,如上述数组s,当程序运行后b中各元素的值分别为:2,3,1,0,2。
程序中有两处错误,请按要求改正。
程序如下:(两个数组的下标都是从1开始,程序中定义的每个变量都用到,程序中只能用变量total 统计数组中每个元素含数字字符个数)s = Array("a42", "b3c56", "de7fg", "hi", "jk35kmn")Dim b(5) As IntegerDim total As IntegerDim i As IntegerDim j As IntegerFor i = 1 To 5b(i) = 0For j = 1 To Len(s(i))If Mid(s(i), j, 1) >= "0" And Mid(s(i), j, 1) <= "9" Then total = total + b(i) Next jb(i) = totalNext iFor i = 1 To 5Print b(i);Next i2.如图所示,窗体有两个框架,左边框架中有三个单选按钮(名称分别为Option1,Option2和Option3),单选按钮分别设置了标题为小学、初中、高中;右边的框架中是一个列表框(名称为List1);两个框架中间是命令按钮(标题为存放结果,名称为Command1),命令按钮功能:单击命令按钮,清除列表框中的内容,然后将选中单选按钮的标题放入列表框中。