国家二级VB机试(控制结构)模拟试卷20
选择题
1.窗体上有一个名称为Textl的文本框,一个名称为Commandl的命令按钮。要求编写一个程序,统计文本框中0-9各数字字符的个数。某人编写如下程序:
Private Sub Commandl_Click()
Dim count(10)As Integer’第1个For循环
For i=0 To 9
count(i)=0
Next
S=Trim(Textl.Text)
strLen=Len(s)’第2个For循环
For i=1 To strLen
c=Mid(s,i,1)
Ifc>=”0”And C<=”9”Then
X=Val(c):count(i)=count(i)+1
End If
Next’第3个For循环
For i=0 TO 9
Print Str(i),count(i)
Next
End Sub
运行程序后,发现不能实现题目的要求,程序应该进行的修改是(D)
A. 将第2个For循环的初值改为0
B. 将第2个For语句改为For i=0 To 9
C. 去掉x=Val(c)语句
D. 将count(i)=count(i)+1改为count(x)=count(x)+1
解析:本题中要求分别统计数字0~9的个数,使用了一个数组count来存放各个数字的个数。在第一个For循环中,将数组的各个元素设置为0,在第二个循环中,依次取出字符串中的每一个字符,判断是不是在0~9之间,如果在范围内,则应该令对应的数组元素加1。如果写成count(i)=count(i)+l,只能顺序的令每一个数组元素都加1,只有改写成count(x)=count(x)+1,让x作为下标,才能保证让x对应的数组元素加1。
2.在窗体上画一个组合框,其名称为Combol,然后编写如下事件过程:
Private Sub Form_Load()
Combo1.Text=”1”
For i=1 To 10
Sum=Sum+i
Next i
Combo1.Text=Sum
End Sub
程序运行后,输出结果为(C)
A. 在组合框的编辑区中显示1
B. 在组合框的编辑区中显示不定值
C. 在组合框的编辑区中显示55
D. 出错信息
解析:组合框的Text属性将会返回或者设置编辑区中的文本,本题中显示的是1~10的累加和55。
3.下面循环语句中在任何情况下都至少执行一次循环体的是(C)
A. Do While
循环体
Loop
B. While
循环体
Wend
C. Do
循环体
Loop Until
D. Do Until
循环体
Loop
解析:本题考查循环,Do Loop Unt订循环至少会执行一次,该循环是先执行然后判断循环条件。
4.设a、b都是自然数,为求a除以b的余数,某人编写了以下函数:
Function fun(a As Integer,b As Integer)
While a>b
a=a-b
Wend
fun=a
End Function
在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是(D)
A. 把a=a.b改为a=b.a
B. 把a=a.b改为a=a\b
C. 把While a>b改为While a<b
D. 把While a>b改为While a>=b
解析:本题函数过程的原代码仅适合a不能被b整除的两数,而当a能被b整除时则不适用,如a=4,b=2,a除以b的余数为0,而原代码返回的函数值为2。因此需将语句While a>b改为While a>=b。
5.设有如下事件过程:
Pfivme Sub Form_Click()
x=0
While x<10
x=x+1:x=x*x
Wend
Print x
End Sub
运行程序,单击窗体,输出结果是(D)
A. 16
B. 19
C. 20
D. 25
解析:本题是简单while循环,在循环中改变循环变量x的值,要注意退出循环时x必然是不会满足循环条件的。本题中循环中x依次变化为1、4、25。
6.下面程序在调试时出现了死循环
Private Sub Commandl_Click()
n=InputBox(“请输入一个整数”)
Do
Ifn Mod 2=0 Then
n=n+1
Else
n=n+2
End If
Loop Until n=1 000
End Sub(D)
A. 只有输入的n是偶数时才会出现死循环,否则不会
B. 只有输入的n是奇数时才会出现死循环,否则不会
C. 只有输入的n是大于1000的整数时才会出现死循环,否则不会
D. 输入任何整数都会出现死循环
解析:本题考查循环。如果输入的n是偶数,那么在循环体中执行n=n+1,偶数+1是奇数,循环结束条件Loop Untiln=1000不会满足,形成死循环;如果输入的n是奇数,那么循环体内执行n=n+2,奇数+2依然是奇数,循环结束条件永远不会满足,也形成死循环。
7.假定有以下循环结构Do Until条件表达式循环体Loop则以下正确的描述是(D)
A. 如果“条件表达式”的值是0,则一次循环体也不执行
B. 如果“条件表达式”的值不为0,则至少执行一次循环体
C. 不论“条件表达式”的值是否为“真”,至少要执行一次循环体
D. 如果“条件表达式”的值恒为0,则无限次执行循环体
解析:本题考查的考点是有关Do型循环的。对于这种循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件如何至少执行一次循环体。在Until循环中条件为False时执行循环体,条件为True时退出循环;在while循环中条件为True时执行循环体,条件为False时退出循环,这一点要注意区分清楚。
8.以下Visual Basic不支持的循环结构是(D)
A. For…Next
B. For Each…Next
C. Do…Loop
D. Do…End Do
解析:Visual Basic支持的循环结构包括:For…Next循环、Fo
本文档预览:3600字符,共21549字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载