1、国家二级 VB机试(选择题)模拟试卷 163及答案与解析 一、选择题 1 在窗体上画两个文本框,其名称分别为 Text1和 Text2,然后编写如下程序: Private Sub Form_Load( ) Textl Text=“”: Text2 Text=“”: Textl SetFocus End Sub Private Sub Textl_Shange( ) Text2 Text=Mid(Textl Text, 6) End Sub 程序运行后,如果在文本框 Textl中输入 ChinaBeijing,则在文本框 Text2中显示的内容是 ( A) ChinaBeijing ( B) C
2、hina ( C) Beijing ( D) ChinaB 2 设有如下通用过程: Public Function Fun(xStr As String)As String Dim tStr As String, strLAs Integer tStr=” strL=Len(xStr)i=1 Do While i0 Then Print Mid(num, P+1) Else Print“END” End If End Sub 运行程序单击窗体 j根据提示输入一个数值。如果不是输入实数,则输出 “END”;否则 ( A)用字符方式输出该实数 ( B)输出该实数的整数部分 ( C)输出该实数的小数
3、部分 ( D)去掉实数中小数点,保留所有数码输出 11 在窗体上画一个文本框,名称为 Text1,然后编写如下程序: Private Sub Form Load()Private Sub Form Click() Text1 Text=”: Te: xtl SetFocus Dim aAs String S As String End Suba=Textl Text: s=” For k=1 To Len(A) S=UCase(Mid(a, k, 1)+s Next k Text1 Text=S End Sub 程序运行后,在文本框中输入一个字符串,然后单击窗体,则文 ( A)与原字符串相同
4、( B)与原字符串中字符顺序相同,但所有字母均转换为大写 ( C)为原字符串的逆序字符串,且所有字母转换为大写 ( D)为原字符串的逆序字符串 12 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl Click() aS=InputBox(“请输入一个二进制数 ”): n=Len(a$) For i=1 To n Dec=Dec*2+_(a$, i, 1) Next i Print Dec End Sub 程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入一个二进 制数,并单击 “确定 ”按钮,则把该二进制数转换为等值的十进制数。这个
5、程序不完整,应在横线处填入的内容是 ( A) Left ( B) Right ( C) Val ( D) Mid 13 以下程序的功能是随机产生 10个两位的整数: Option Base 1 Private Sub Command1_Slick( ) Dim a(10)As Integer,i As Integer Randomize For i=1 To 10 a(i)=Int(Rad*100)+1: Print a(i) Next i End Sub 运行以上程序,发现有错误,需要对产生随机数的语句进行修改。以下正确的修改是 ( A) a(i)=Int(Rnd*100) ( B) a(i
6、)=Int(Rnd*90)+10 ( C) a(i)=Int(Rnd*100)+10 ( D) a(i)=Int(Rnd*101) 14 窗体上有一个名称为 Commandl的命令按钮,单击该按钮时所实现的功能是产生 10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找到,输出该数的位置:若没有找到,给出相应的提示。该命令按钮的单击事件过程如下: Private Sub Commandl Click() Dim a(10)As Integer,xAs Integer For i=1 To 10 a(i)=Int(Rnd*100) Next x=Inputaox(“输入 100以
7、内的整数: ”): P=0 For i=1 To 10 I ( A)本程序实际产生的随机数是 0一 99 ( B)若产生的随机数中有相同数,则 P是其中最后一个数的位置 ( C)程序有错, P的初值设置不对 ( D)程序有错, InputBox函数产生的数据与 X的类型不匹配 15 窗体上有一个名称为 Text1的文本框,一个名称为 Commandl的命令按钮。窗体文件的程序如下: Private Type X aAs Integer: bAs Integer End Type Private Sub Command 1Click() Dim y As x y a=InputBox(“”) I
8、f y a 2=y a 2 Then y b=y a*y a Else y b=Fix(y a 2) End If Text1 Text=y b End Sub 对以上程序,下列叙述中错误的是 ( A) x是用户定义的类型 ( B) InputBox函数弹出的对话框中没有提示信息 ( C)若输入的是偶数, y b的值为该偶数的平方 ( D) Fix(y a 2)把 y a 2的小数部分四舍五入,转换为整数返回 16 窗体上有两个名称分别为 Text1、 Text2的文本框。 Text1的 KeyUp事件过程如下: Private Sub Text 1 KeyUp(KeyCode As Inte
9、ger,Shift As Integer) Dim C As String C=UCase(Chr(一 KeyCode): Text2 Text=Chr(Asc(C)+2) End Sub 当向文本框 Text1中输入小写字母 a时,文本框 Text2中显示的是 ( A) A ( B) a ( C) C ( D) c 17 窗体上有名称分别为 Text1、 Text2的文本框,名称为 Command1的命令按钮。运行程序,在 Text1中输入 “FormList”,然后单击命令按钮,执行如下程序: Private Sub Command l Click() Text2 Text=UCase(M
10、id(Textl Text, 5, 4) End Sub 在 Text2中显示的是 ( A) form ( B) list ( C) FORM ( D) LIST 18 窗体上有 1个名称为 Commandl的命令按钮,事件过程如下: Private Sub Command lClick() m=一 3 6 If Sgn(m)Then n=Int(m) Else n=Abs(m) End If Print n End Sub 运行程序,并单击命令按钮,窗体上显示的内容为 ( A)一 4 ( B)一 3 ( C) 3 ( D) 3 6 19 设有如下程序: Private Sub Form Cl
11、ick() hum=InpuBox(“请输入一个实数 ”): P=InStr(num, “.”) Ifp0 Then Print Mid(num, P+1) E1Re Print“END” End If End Sub 运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序输出“END”;否则 ( A)用字符方式输出该实数 ( B)输出该实数的整数部分 ( C)输出该实数的小数部分 ( D)去掉实数中的小数点,保留所有数码输出 20 在窗体上画一个文本框,名称为 Text1,然后编写如下程序: Private Sub Form Load0 Private Sub Form_Cli
12、ck() Textl Text=“Textl SetFocus Dim a As SUing, S As SUing End Suba=Textl Text: s=” For k=1 To Len(A) S=UCase(Mid(a, k, 1)+s Next k Text1 Text=s End Sub 程序运行后,在文本框中输入一个字符串,然后单击窗体,则文本框中 ( A)与原字符串相同 ( B)与原字符串中字符顺序相同,但所有字母均转换为大写 ( C)为原字符串的逆序字符串,且所有字母转换为大写 ( D)为原字符串的逆序字符串 21 在 窗体上画一个命令按钮,然后编写如下事件过程: Pri
13、vate Sub Command 1 Click() aS=InputBox(”请输入一个二进制数 ”) n=Len(a$) For i=1 To n Dec=Dec*2+_(aS, i, 1) Next i Print Dec End Sub 程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入二个进制数,并单击 “确定 ”按钮,则把该二进制数转换为等值的十进制数。这个程序不完整,应在横线处填入的内容是 ( A) Left ( B) Right ( C) Val ( D) Mid 22 以下程序的功能是随机产生 10个两位的整数: Option Base 1 Private
14、 Sub Commandl Click() Dim a(10)As Integer,i As Integer Randomize Fox i=1 To 10 a(i)=Int(Rnd*100)+1 Print a(i) Next i End Sub 运行以上程序,发现有错误,需要对产生随机数的语句进行修改。以下正确的修改是 ( A) a(i)=Int(Rnd * 100) ( B) a(i)=Int(Rnd*90)+10 ( C) a(i)=Int(Rnd*100)+10 ( D) a(i)=Int(Rnd*101) 23 窗体上有一个名称为 commandl的命令按钮,单击该按钮时所实现的功
15、能是产生 10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找到,输出该数的位置;若没有找到,给出相应的提示。该命令按钮的单击事件过程如下: Private Sub Commandl Click() Dim a(10)As Integer,x As Integer For i=1 To 10 a(i)=Int(Rnd*100) Next x=InputBox(”输入 100以内的整数: ”) Ifp=0 Then Print”没 ( A)本程序实际产生的随机数是 0-99 ( B)若产生的随机数中有相同数,则 P是其中最后一个数的位置 ( C)程序有错, P的初值设置不对 (
16、D)程序有错, InputBox函数产生的数据与 x的类型不匹配 24 在 Visual Basic中,表达式 3*2 5 Mod 3的值是 ( A) 1 ( B) 0 ( C) 3 ( D)出现错误提示 25 表达式 2*32+4*2 2+32的值 ( A) 30 ( B) 31 ( C) 49 ( D) 48 26 设 a=4, b=5, c=6,执行语句 Print a b And b c窗体上显示的是 ( A) True ( B) False ( C)出错信息 ( D) 0 27 以下关系表达式中,其值为 True的是 ( A) ZYZ “XYz“+3 ( B) VisualBasic “visualbasic“ ( C) the ( D) “Integer”b And c(大于 )、 =(大于或等于 )、 =(等于 )、 、 、 =);最后进行逻辑运算,顺序为:NotAndOrXorEqVlmp 。 【知识模块】 数据类型及运算