1、VB笔试模拟试卷 113及答案与解析 1 下列叙述中正确的是 ( )。 ( A)一个算法的空间复杂度大,则其时间复杂度必定大 ( B)一个算法的空间复杂度大,则其时间复杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)上述 3种说法都不对 2 下列叙述中正确的是 ( )。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构 可以有多种存储结构,且各种存储结构影响数据处理的效率 3 对长度为 n的线性表进行顺序查找,在最坏
2、情况下需要比较的次数为 ( )。 ( A) 125 ( B) n/2 ( C) n ( D) n+1 4 简单的交换排序方法是 ( )。 ( A)快速排序 ( B)选择排序 ( C)堆排序 ( D)冒泡排序 5 设计程序时,应采纳的原则之一是 ( )。 ( A)程序的结构应有助于读者的理解 ( B)限制 GOTO语句的使用 ( C)减少或取消注释行 ( D)程序越短越好 6 关于结构化程序设计原 则和方法的描述错误的是 ( )。 ( A)选用的结构只准许有一个入口和一个出口 ( B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 ( C)不允许使用 GOTO语句 ( D)语言中所没有的控制
3、结构,应该采用前后一致的方法来模拟 7 下列特征中不是面向对象方法的主要特征的是 ( )。 ( A)多态性 ( B)继承 ( C)封装性 ( D)模块化 8 在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送 ( )。 ( A)调用语句 ( B)命令 ( C)口令 ( D)消息 9 下列描述错误的是 ( )。 ( A)继承分为多重继承和单继承 ( B)对象间靠传递消息实现通信 ( C)在外面看不到对象的内部特征是基于对象的 “模块独立性好 ”这个特征 ( D)类是具有共同属性、共同方法的对象的集合 10 下列叙述中正确的是 ( )。 ( A)软件交付使用后还需要进行维护 ( B)软件
4、一旦交付使用就不需要再进行维护 ( C)软件交付使用后其生命周期就结束 ( D)软件维护是指修复程序中被破坏的指令 11 在窗体中放置控件,对该控件的操作错误的是 ( )。 ( A)单击 窗体上没有控件处,可把活动控件变为不活动控件 ( B)双击任一个控件内部,可激活该控件的代码窗口 ( C)双击一个控件内部,可把活动控件变为不活动控件 ( D)拖动一个活动控件四周的控制小方块可缩放控件 12 设在工程中定义了如下类型: Type stutype ino As Integer stmame As String*20 strsex As String*1 smark As Single End
5、Type 在窗体上正确 使用这个类型的是下列哪个操作 ( )。 ( A) Sub Command1_click() Dimstudent As Stutype With student .ino=12 .strname=smith .strsex=男 .smark=89 End With End Sub ( B) Sub Command1_Click() Dim student As Stutype With student .ino=12 .strname=“smith“ .strsex=“男 “ .smark=89 End With End Sub ( C) Sub Command1_Cl
6、ick() Dim student As Stutype With Stutype .ino=12 .strname=“smith“ .strsex=“男 “ .smark=89 End With End Sub ( D) Sub Command1_click() Dim student As Stutype With student .ino=12 .strname=“smith“ .strsex=“男 “ .smark=89 End student End Sub 13 表达式 Val(“.123E2“)的值是 ( )。 ( A) 123 ( B) 12.3 ( C) 0 ( D) 123
7、e2CD 14 已知 a=5, b=8, c=12,下列表达式的值为 True的是 ( )。 ( A) a b And c a ( B) a b Or c a ( C) a b Xor c a ( D) a b Eqv c a 15 下列程序段运行后窗体上输出结果为 ( )。 Private Sub Command1_Click() a=5: b=4: c=3: d=2 x=3 2*b Or a=c And b c Or c d Print x End Sub ( A) 1 ( B) True ( C) False ( D) 2 16 为了使用窗体输出,使 Print方法在 Form_Load
8、事件中起作用,必须设置窗体的 ( )属性。 ( A) AutoReDraw ( B) BackColor ( C) Moveable ( D) Caption 17 要在文本框获得焦点时操作文本框中的内容,应该在 ( )事件过程中编写程序。 ( A) GotFocus ( B) LostFocus ( C) Change ( D) SetFocus 18 在窗体上画两个文本框 Text1和 Text2,一个命令按钮 Command1,请阅读以下程序段: Private Sub Command1_Click() x=0 Do Until x =50 x=(x+4)*(x+3) n=n+1 Loo
9、p Text1.Text=Str(n) Text2.Text=Str(x) End Sub 运行程 序后,单击命令按钮,在两个文本框中显示的值分别为 ( )。 ( A) 1和 0 ( B) 2和 240 ( C) 3和 50 ( D) 4和 168 19 在窗体上放一个文本框 Text1,在文本框中输入 456,并有如下事件过程: Private Sub Form_Click() x=InputBox(“请输入一个整数 “) Print x+Text1.Text End Sub 单击该窗体,在输入对话框中输入 123,单击 “确定 ”按钮后,窗体上显示是 ( )。 ( A) 123 ( B)
10、456 ( C) 579 ( D) 123456 20 程序运行时,向图片框 P1中加载 “C:WINDOWSCar.bmp”图像文件,应使用( )。 ( A) Pieture1.Pieture=(“C:WINDOWSCar.bmp“) ( B) Picture1.Picture=LoadPicture(“C:WINDOWSCar.bmp“) ( C) P1.Picture1=LoadPicture(C:WINDOWSCar.bmp) ( D) P1.Picture=LoadPicture(“C:WINDOWSCar.bmp“) 21 窗体上有一个命令按钮,命令按钮的单击事件过程如下。运行程序
11、后,单击命令按钮,输出结果是 ( )。 Private Sub Command1_Click() Dim a a=Array(1,2,3,4,5) For k=1 To 4 S=S+a(k) Next k Print S End Sub ( A) 10 ( B) 14 ( C) 15 ( D) 120 22 若要建立一个学生管理系统的输入界面,其中要求选择学生的性别、政治面貌(党 /团 /群众 )及选课情况 (共有 5门课,可任选 ),下列设置方法正确的是 ( )。 ( A)将 5门课程用一组 5个选择框来表示,将性别和政治面貌用 5个单选按钮来表示 ( B)在一个框架上绘制有 5个复选框的控
12、件数组表示 5门课程,在一个框架上绘制两个单选按钮表示性别,在一个框架上绘制 3个单选按钮表示政治面貌的 3种情况 ( C)将 5门课程用一组 5个单选按钮来表示,将性别和政治面貌用 5个选择框来表示 ( D)用一组 10个选择框来表 示课程、性别和政治面貌 23 在窗体上画一个名称为 List1的列表框,一个名称为 Label1的标签。列表框中显示若干国家的名称,当单击列表中的某个国家名时,在标签中显示选中国家的名称。下列正确实现上述功能的程序是 ( )。 ( A) Private Sub List1_Click() Label1.Caption=List1.ListIndex End Su
13、b ( B) Private Sub List1_Click() Label1.Name=List1.ListIndex End Sub ( C) Private Sub List1_Click() Label1.Name=List1.Text End Sub ( D) Private Sub List1_Click() Label1.Caption=List1.Text End Sub 24 下列控件中,具有 Caption属性的是 ( )。 ( A)组合框 ( B)列表框 ( C)计时器 ( D)单选按钮 25 下列程序段的执行结果为 ( )。 Dim A(3,3) For M=1 To
14、3 For N=1 To 3 If N=M Or N=3-M+1 Then A(M,N)=1 Else A(M,N)=0 End If Next N Next M For M=1 To 3 For N=1 To 3 Print A(M,N) Next N Print Next M ( A) 1 0 0 0 1 0 0 0 1 ( B) 1 1 1 1 1 1 1 1 1 ( C) 0 0 0 0 0 0 0 0 0 ( D) 1 0 1 0 1 0 1 0 1 26 下述程序执行后,输出结果是 ( )。 For n=3 To 1 Stew -1 x$=String$(n,“#“) Print
15、x$ Next n ( A) 1# 2# 3# ( B) # # # ( C) # # # ( D) 3# 2# 1# 27 有如下事件过程: Private Sub Command1_Click() b=10 Do Until b=-1 a=InputBox(“请输入 a的值 “) a=Val(A) b=InputBox(“请输入 b的值 “) b=Val(B) a=a*b Loop Print a End Sub 程序运行后,依次输入数值 30,20, 10, -1后,输出结果为 ( )。 ( A) 6000 ( B) -10 ( C) 200 ( D) -6000 28 在窗体上放置一个
16、命令按钮 Command1,并编写下列单击事件的程序: Option Base 1 Private Sub Command1_Click() Dim c As Integer,d As Integer d=0 c=6 X=Array(2,4,6,8,10,12) For i=1 To 6 If X(i) c Then d=d+X(i) c=X(i) Else d=d-c End If Next j Print d End Sub 程序运行后,单击命令按钮,则在窗体上输出的内容为 ( )。 ( A) 10 ( B) 12 ( C) 16 ( D) 20 29 在一个窗体上添加一命令按钮控件,名为
17、 Command1,事件过程如下,则执行结果是 ( )。 Option Base 1 Private Sub Command1_Click() Dim a(5) As Integer Dim k As Integer Dim total As Integer a(1)=2 a(2)=5 a(3)=4 a(4)=10 a(5)=6 For k=1 To 5 tota11=tota1+a(k) Next k Print tota1 End Sub ( A) 10 ( B) 15 ( C) 27 ( D) 35 30 窗体上有一个命令按钮,命令按钮的单击事件过程如下。运行程序后,单击命令按钮,输出结
18、果是 ( )。 Private Sub Command1_Click() Dim a a=Array(1,2,3,4,5) For k=1 To 4 s=s+a(k) Next k Print s End Sub ( A) 10 ( B) 14 ( C) 15 ( D) 120 31 在窗体上画一个名称为 “Command1”、标题为 “计算 ”的命令按钮,再画 7个标签,其中 5个标签组成名称为 Label1的控件数组;名称为 Label2的标签用于显示计算结果,其 Caption属性的初始值为空;标签 Label3的标题为 “计算结果 ”。运行程序时会自动生成 5个随机数,分别显示在标签控
19、件数组的各个标签中。单击 “计算 ”按钮,则将标签数组各元素的值累加,然后计算结果显示在 Label2。以下为 “计算 ”按钮的事件过程,请为空白处选择合适的语句 ( )。Private Sub Command1_Click() Sum=0 For i=0 To 4 Sum=Sum+_ Next _=Sum End Sub ( A) Label1(i).Caption Label2.Caption ( B) label1(i).Caption label3.Caption ( C) label1.Caption label2.Caption ( D) label1.Caption label3
20、.Caption 32 Visual Basic应用程序中,下列关于过程的说法正确的是 ( )。 ( A)过程的定义可以嵌套,但过程的调用不能嵌套 ( B)过程的定义不可以嵌套,但过程的调用可以嵌套 ( C)过程的定义和调用都可以嵌套 ( D)过程的定义和调用都不能嵌套 33 单击命令按钮执行下列程序,其输出结果是 ( )。 Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer a=3 b=4 c=5 Print SecProc(c,b,A)End Sub Function FirProc(x As
21、Integer, y As Integer, z As Integer) FirProc=2*x+y+3*Z End Function Function SecProc(x As Integer,y As Integer, z As Integer) SecProc=FirProc(z,x,y)+x End Function ( A) 20 ( B) 22 ( C) 28 ( D) 30 34 下列不能打开菜单编辑器的操作是 ( )。 ( A)按 Ctrl+E组合键 ( B)单击工具栏中的 “菜单编辑器 ”按钮 ( C)执行 “工具 ”菜单中的 “菜单编辑器 ”命令 ( D)按 Shift+A
22、lt+M组合键 35 为了使一个窗体从屏幕上消失但仍在内存中,所使用的方法或语句为 ( )。 ( A) Show ( B) Hide ( C) Load ( D) UnLoad 36 算法的复杂度主要包括 _复杂度和空间复杂度。 37 在数据结构中,用一组地址连续的存储单元一次存储数据元素的方式是 _结构。 38 以下程序的功能是:把当前目录下的顺序文件 smtext1.txt的内容读入内存,并在文本框 Text1中显示出来。请填空。 Private Sub Command1_Click() Dim inData As String Textl.Text=“ “ Open “.smtext1.
23、_ As #1 Do While _ Input #1, inData Text1.Text=Text1.Text d=d-c=-18; 当 i=4时,X(i)=8; d= d+X(i)=-10; c=8; 当 i=5时, X(i)=10; d=d+X(i)=0; c=10; 当i=6时, X(i)=12; d=d+X(i)=12; c=12。 29 【正确答案】 C 【试题解析】 要得到数组中的每个元素时,可以通过数组的下标来分别引用数组中的各个元素。本程序的作用是通过一个 for循环,计算数组中各个元素值的总和并输出, for循环条件是 1 5,因此循环了 5次,即将数组元素 a(1) a
24、(5)累加起来,所以最后输出结果为: 2+5+4+10+6=27。 30 【正确答案】 B 【试题解析】 使用 Array函数为数组变量赋 值,数组变量不能是具体的数据类型,只能是变体 (Variant)类型,使用 Array函数给数组变量赋值的 3种形式如下: 显式定义为 Variant变量 (例如, Dim数组变量名 As Variant): 在定义时不指明类型 (例如, Dim数组变量名 ): 不定义而直接使用。 31 【正确答案】 A 【试题解析】 本题看似复杂,实际比较简单,只要读懂了题意就能很快地解答本题。题中要求单击 “计算 ”按钮后,累加标签数组各元素的值,那么 sum的值就应
25、该是标签数组中各元素值的累加,用下标引用各数组元素 labell(i).Caption;题目最后要求将和显示在 Label2中,因此第 2个空应该填写 Iabel2.Caption。 32 【正确答案】 B 【试题解析】 Sub过程的定义不能嵌套。在 Sub过程内,不能定义 Sub过程或Function过程,但可以通过调用形式来执行其他的 Sub过程,在调用时还可以嵌套调用。 33 【正确答案】 C 【试题解析】 本题是在 Command1过程中调用 SecProc函数,而在 SecProc函数中又调用了 FirProc函数。函数调用时,实参和形参要一一对应传递程序运行过程如下: Print
26、SecProc(c,b,A) Print SecProc(5,4,3) ; SecProc=FirProc(z,x,y)+xSecProc= FirProc(3,5,4)+5 ; FirProc=2*x+y+3*zFirProc=2*3+5 +3*4=23 ; SecProc=28Print SecProc(c,b,A)Print 28 。形参是在被调用的 Sub, Function过程中定义的参数名;实参则是在调用的 Sub或 Function过程中定义的参数名。 34 【正确答案】 D 【试题解析】 可以通过以下 4种方式来打开菜单编辑器: 执行 “工具 ”菜单中的“菜单编辑器 ”命令;
27、使用 Ctrl+E组合键; 单击工具栏中的 “菜单编辑器 ”按钮; 在要建立菜单的窗体上单击鼠标右键,在弹出的浮动菜单中选择 “菜单编辑器 ”命令。 35 【正确答案】 B 【试题解析】 Show方法用来显示 个窗体; Hide方法正好相反,它使窗体隐藏,不显示在屏幕上,但仍存在内存中; UnLoad方法的功能是清除内存中指定的窗体; Load方法正好相反,它把一个窗体装入内存。 36 【正确答案 】 时间 【试题解析】 算法的复杂度主要指时间复杂度和空间复杂度。 37 【正确答案】 顺序存储结构 【试题解析】 根据顺序存储结构的定义,用一组地址连续的存储单元依次存储数据元素的方式属于顺序存储
28、结构。 38 【正确答案】 For Input, Not EOF(1) 【试题解析】 本题考查顺序文件的打开与读写操作以及 EOF函数的用法。要打开 smtext1文件作为读入内容用,所以第 14空填: ForInput。 Do循环语句表达的意思是: 当还没有读完 smtext1文件中的内容时 ,持续读入,并把读入的内容赋给 inDate变量。 EOF函数用来测试文件读取完毕的状态。第 15空填: Not EOF(1),表示没有读取完文件中的内容。 39 【正确答案】 (999*RnD)+1,Mod,k=k+1 【试题解析】 本题综合考查 Visual Basic内部函数、 For循环等知识点。根据题意, For j循环用来为数组 a(100)赋值,所赋之值为 Rnd随机产生。由于需要产生100个小于 1000的正整数,故第一处空白填: (999(RnD)+1。注意,该处不能写成: (1000(RnD),因为 它有可能产生一个小于 1的小数,此时会被 Int函数转换为 0,如此就违反了题目中关于正整数的要求。 If语句判断数组中 5的倍数,故第二处空白填: Mod。表示取模。 由于要计算出 5的倍数所占的比例,故每判断出一个 5的倍数,便令一个变量加1,观察 Print k/100可以得出该变量为 k。故第三处空白填: k=k+1。