国家二级(VB)机试模拟试卷221
选择题
1.下面是求最大公约数的函数的首部:
Function gcd(ByVal x As Integer, ByVal y As Integer)As Integer
若要输出8、12、16这3个数的最大公约数,下面正确的语句是( )。(D)
A. Print gcd(8,12),gcd(12,16),gcd(16,8)
B. Print gcd(8,12,16)
C. Print gcd(8),gcd(12),gcd(16)
D. Print gcd(8,gcd(12,16))
解析:调用函数过程时的实参与函数过程的形参必须是类型、顺序、个数相同。
本题中函数过程的形参有2个,调用时实参也要是2个,故排除选项B和C。
选项A虽然语法没错误,但不符合题意。
选项D是正确的。调用函数过程时可以嵌套调用。
2.表达式2*3^2+4*2/2+3^2的值是( )。(B)
A. 30
B. 31
C. 49
D. 48
解析:根据VB中算术运算符的优先级顺序计算。先计算^,即2*9+4*2/2+9;再计算*/,即18+4+9;最后计算+,结果为31,故选B。
3.在运行阶段,要在文本框Text1获得焦点时选中文本框中所有内容,如图所示,对应的事件过程是( )。
(B)
A. Private Sub Text1_LostFocus()
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
End Sub
B. Private Sub Text1 GotFocus()
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
End Sub
C. Pfivme Sub Text1_Change()
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
End Sub
D. Private Sub Text1_SetFocus()
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
End Sub
解析:本题考查文本框的常见事件。文本框中常见的事件主要有:当改变文本框的Text属性时会触发Change事件;当在文本框中输入时触发KeyPress事件,并可返回一个KeyAscii参数;当控件失去焦点时触发LostFocus事件:当控件获得焦点时触发GotFocus事件。
4.Fibonacci数列的规律是:前2个数为1,从第3个数开始,每个数是它前2个数之和,即:1,1,2,3,5,8,13,21,34,55,89,…。某人编写了下面的函数,判断大于1的整数X是否是Fibonacci数列中的某个数,若是,则返回Tme,否则返回False。
Function Isfab(x As Integer)As Boolean
Dim aAs Integer,bAs Integer,eAs Integer,flagAs Boolean
flag=False
a=1:b=1
Do While X<b
C=a+b:a=b:b=C
Ifx=b Then flag=True
Loop
Isfab=flag
End Function
测试时发现对于所有正整数X,函数都返回False,程序需要修改。下面的修改方案中正确的是( )。(C)
A. 把a=b与b=c的位置互换
B. 把c=a+b移到b=c之后
C. 把Do While xb
D. 把Ifx=b Then flag=True改为Ifx=a Then flag=True
解析:在本题中通过分析题干中的程序可以看出,函数的返回值就是变量flag的值。错误现象是无论输入哪个正整数均会返回False,这就代表着没有执行循环,直接输出的就是变量flag的初值False。进一步分析可以看出,由于b的初值为1,而任何正整数均不会小于1,所以永远无法满足循环条件从而进入循环,因此需要将条件xb。
5.在窗体上画1个命令按钮,名称为Command1,然后编写如下程序:
Dim Flag As Boolean
Private Sub Command1_Click()
Dim intNum As Integer
intNum=InputBox(\\(B)
A. 0
B. 5
C. 15
D. 无任何输出
解析:本题考查If语句和函数过程的分析。函数过程f的功能是如果X小于10则返回X,否则返回X+10。窗体的MouseUp事件是松开鼠标时触发的事件。程序运行后,单击窗体,则全局变量Flag的值为True,然后单击命令按钮,在输入对话框中输入5,执行If分支语句,调用f函数,由于5<10,因此输出X,即输出5。
6.设有如下Commandl的单击事件过程及fun过程:
Private Sub Commandl_Click( )
Dim X As Integer
X=Val(InputBox(“请输入一个整数”))
fun(X)
End Sub
Private Sub fun(X As Integer)
If X Mod 2=0 Then fun(x/2)
Print X;
End Sub
执行上述程序,输入6,结果是( )。(A)
A. 3 6
B. 6 3
C. 6
D. 程序死循环
解析:题目中fun过程是一个递归过程,它的结束条件是参数值为奇数。第一次调用,参数值为6,是偶数所再次调用fun过程,这次参数为6/2=3,是奇数,不再调用自身,接着执行下一句输出参数值即3,然后返叫第一次调用过程中执行下一句输出第一次调用参数值,即6。因此程序会输出3 6。
7.在数据处理中,其处理的最小单位是( )。(B)
A. 数据
B. 数据项
C. 数据结构
D. 数据元素
解析:数据元素是由多个数据项组成,数据是能够被计算机识别、存储和加工处理的信息载体,数据处理的最小单位是数据项。
8.将E-R图转换为关系模式时,实体和联系都可以表示为( )。(C)
A. 属性
B. 键
C. 关系
D. 域
解析:从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。
9.计算z的值,当x大于等于y时,z=x;否则z=y。下列语句中错误的是( )。(A)
A. If x>=y Then z=x:z=y
B.
本文档预览:3600字符,共18607字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载