国家二级VB机试(选择题)模拟试卷232(题后含答案及解析)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国家二级VB机试(选择题)模拟试卷232(题后含答案及解析) 题型有:1.
1.以下关于VB的叙述中,错误的是
A.VB采用事件驱动的编程机制
B.如果程序中有Sub Main过程时,则一定从该过程开始执行
C.工程文件中包含多个窗体时,可以指定启动窗体
D.VB程序既可以编译执行,也可以解释执行
正确答案:B
解析:Visual Basic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言。

在设计Visual Basic程序的过程中可以随时以解释方式运行程序,也可在整个应用程序设计完成后,经编译生成可脱离Visual Basic环境而在Windows下直接运行的可执行文件(.EXE)。

VB程序代码中,工程文件中包含多个窗体时,可以指定启动窗体,也可以指定从Sub Main过程开始执行。

知识模块:Visual Basic程序开发环境
2.在Visual Basic中,所有标准控件都具有的属性是
A.Caption
B.Name
C.Text
D.Value
正确答案:B
解析:窗体和控件都是Visual Basic对象,不同类型的控件具备的属性也不同,但是所有控件都具备一个属性就是名字(Name)属性。

知识模块:对象及其操作
3.设在工程中有一个标准模块,并定义了如下类型:Type Stutype ino AS Integer strname As String*20 strsex AS String*2 smark As Single End Type 在窗体上画一个名为Command1的命令按钮,要求当执行事件过程Command1 Click时,在C盘根目录下的随机文件Student.dat中写入一条记录。

下列能够完成该操作的是( )。

A.Sub Command1_Click( ) Dim student As Studtype Dimrecord_no As Integer record_no=1 With student .ino=12:.stmame =”smith”:.strsex=”男”:.smark=89 End With Open”c:\Studont.dat”For Input As #1 Len =Len(Student) Put #1,record_no Student Close#1 End Sub
B.Sub Command 1_Click( ) Dim Student As Stutype Dim Record_no As Integer Record no=1 With Student .ino=12:.strname =”smith”.strsex=”男”:.smark=89 End With Open”c:\
student.dat”For Random As#1 Len=Len(Student) Put#1,Record_no,Student Close #1 End Sub
C.Private Sub Command 1_Click( ) Dim Student As Stutype Dim Record_no As Integer Record no=1 With Student .ino=12:.stmame =”smith”.strsex=”男”:.smark=89 End With Open”c:\student.dat”For Random As 1 Len=Len(Student) Write#1,Record_no,Student Close#1 End Sub
D.Sub Command1_Click( ) Dim Student As Stutype Dim Record_no As Integer Record_no=1 With Student .ino=12:.stmame =”smith”.strsex=”男”:.smark=89 EndWith Open”c:\student.dat”For Output As#1 Len=Len(Student) Put#1,Record_no,Student Close #1 End Sub
正确答案:B
解析:本题考查文件操作。

题目中要求以随机的方式(Random)打开一个文件,打开文件的方法格式为:Open FileName For Random As#文件号[Len=记录长度],然后以Put方法写入一条记录,方法的格式为:Put[#]文件号,[记录号],变量名。

4.下面描述中,不属于软件危机表现的是
A.软件过程不规范
B.软件开发生产率低
C.软件质量难以控制
D.软件成本不断提高
正确答案:A
解析:软件危机主要表现在以下6个方面:①软件需求的增长得不到满足:②软件开发成本和进度无法控制;③软件质量难以保证;④软件不可维护或维护程度非常低;⑤软件的成本不断提高;⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

知识模块:软件工程基础
5.在窗体上画一个名称为Label1的标签,然后画一个名称为HScroll1的水平滚动条,其Min和Max属性分别设置为0和255。

程序运行后,如果用鼠标移动滚动框,则在标签Label1中显示滚动条的当前值,以下能实现上述操作的程序段是
A.Private Sub HScroll1_Change( )Label1.Text=HScroll1. CaptionEnd Sub B.Private Sub HScroll1_Click( )Label1.Caption=HScroll1.ValueEnd Sub
C.Private Sub HScroll1_Change( )Label1.Caption=HScroll1.ValueEnd Sub D.Private Sub HScroll1_Click( )Label1.Text=HScroll1.CaptionEnd Sub
正确答案:C
解析:标签Label的Caption属性用来显示在标签标题中显示的文本;滚动条HScroll1的Value属性用于表示滚动块在滚动条中的当前位置。

故正确答案为选项C。

6.设a=10,b=4,c=5,d=7,表达式a>b And Not c<d+6的值为( )。

A.True
B.False
C.1
D.0
正确答案:B
解析:本题中包含的三种运算符的优先级别由高到低依次为:算术运算符、比较运算符、逻辑运算符。

其中,逻辑运算符的优先级为:Not(非)→And(与)→Or(或)。

And前面表达式的值为True,And后面表达式的值为False,所以最后输出的也是False。

因此,答案为B)。

知识模块:Visual Basic程序设计基础
7.以下关于命令按钮的叙述中正确的是
A.命令按钮上可以显示图片
B.命令按钮能够分别响应单击、双击事件
C.程序运行时,不能改变命令按钮上的文字
D.若命令按钮的Cancel属性设为True,焦点在其他控件上时,按下回车键与单击该按钮的效果相同
正确答案:A
解析:命令按钮的Picture属性用来设置命令按钮上显示的图片;命令按钮只能响应单击事件而不能响应双击事件:程序运行时可以通过改变按钮的Caption属性值来改变命令按钮上的文字;Cancel属性用来设置窗体的“取消”按钮,程序运行时,按下<Esc>键将执行该命令按钮的单击事件过程,Default 属性用于设置窗体的缺省命令按钮,程序运行时,按下<Enter>键将执行该命令按钮的单击事件过程。

知识模块:常用标准控件
8.设在一个工程的窗体中有如下代码:Public x As IntegerPrivate Sub Form_Load( )Dim y As IntegerEnd Sub在该工程的标准模块的声明部分有代码:Public a As Integer:Private b As Integer关于上述代码,以下叙述中错误的是A.变量x的作用域是整个工程
B.变量y的作用域是Form_Load过程
C.变量a的作用域是整个工程
D.变量b的作用域是整个标准模块
正确答案:A
解析:根据变量的定义位置和定义关键字的不同,变量可以分为以下3种类型:.局部(Local)变量:在过程(事件过程或通用过程)内定义的变量,其作用域为该变量所在的过程,定义时使用Dim、Static关键字;.模块(Module)变量:模块变量包括窗体变量和标准模块变量2种。

其中,窗体变量可用于该窗体内的所有过程,其作用域为该变量所在的窗体;标准模块变量是在标准模块中定义的变量,变量的声明和使用与窗体模块中窗体变量类似。

区别是标准模块是只含有程序代码的应用程序文件,其扩展名为.bas:.全局(Public)变量:全局变量也称为
全程变量,在标准模块的声明部分声明。

全局变量的作用域最大,可以在工程的每个模块、每个过程中使用。

知识模块:数据类型及运算
9.执行语句Dim X,YAs Integer后,
A.X和Y均被定义为整型变量
B.X和Y均被定义为变体类型变量
C.X被定义为整型变量,Y被定义为变体类型变量
D.X被定义为变体类型变量,Y被定义为整型变量
正确答案:D
解析:本题考查的考点是有关变量定义的。

在VB中有一种特殊的类型:变体类型(Variant),这种类型可以包含大部分其他类型的数据。

在VB中,如果没有显式声明变量的类型,则该变量默认为变体型(Variant)。

如果一条定义语句定义多个变量,每个变量必须单独说明其类型,若不说明则为变体型。

知识模块:数据类型及运算
10.设窗体上有一个名称为List 1的列表框,并有若干列表项。

下面语句中不能在所有列表项之后追加一个列表项的是
A.List 1.List(List 1.ListCount)=“VB程序”
B.List 1.List(List 1.ListCount.1)=“VB程序”
C.List 1.AddItem”VB程序”
D.List 1.Addltem”VB程序”,List 1.ListCount
正确答案:B
解析:列表框的List属性是一个字符串数组,数组的一项就是一个列表项目,可以通过下标访问数组中的值。

ListIndex属性可返回当前所选项目的索引号,其起始值为0,最后一项的值为ListCount-1。

所以A选项为List 1List(List 1.List Count)赋值,是在最后追加了一项;C选项使用AddItem方法在最后追加一项:D选项是在List 1ListCount的位置追加一项,其实也是在最后追加;B选项将会把现有列表的最后一项值改为”VB程序”。

知识模块:常用标准控件
11.为了使命令按钮的Picture、DownPicture或DisabledPicture属性生效,必须把它的Style属性设置为
A.0
B.1
C.True
D.False
正确答案:B
解析:命令按钮的Style属性用来设置命令按钮的外观,可设置成以下两种形式。

值为Standard,按钮以标准的形式显示,即文字形式,为默认值;值为Graphical,按钮将以图形的方式显示。

为了使命令按钮的Picture、DownPicture 或DisabledPicture属性生效,必须把它的Stvle属性设置为1。

知识模块:常用标准控件
12.编写如下程序:Private Sub Command1_Click( ) Dim m As Integer.n As Integer m=1:n=0 Do Whle m<20 n=m+n m=3*m+1 Loop Print m.n End Sub程序运行后,单击命令按钮Command1,输出结果为( )。

A.40 18
B.40 19
C.20 64
D.21 64
正确答案:A
解析:循环中各变量值变化如下:n=m+n=1+0=1 ,m=3*m+1=3+1=4,4小于20继续循环;n=m+n=4+1=5,m=3*m+1=12+1=13,13小于20继续循环;n=m+n=13+5=18,m=3*m+1=39+1=40,40不小于20,循环结束。

此时m=40,n=18。

知识模块:控制结构与数组
13.在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:Private Sub Commandl_Click( ) A$=“VisualBasic” Print String(3,a$)End Sub程序运行后,单击命令按钮,在窗体上显示的内容是
A.VVV
B.Vis
C.sic
D.11
正确答案:A
解析:本题考查VB常用内部函数。

String函数的语法是:String(number,character)作用是产生字符串,其中character是需要生成的字符,number是生成的个数,比如string (3,”ht”)就会生成含义3个“h”的字符串。

本题中调用String函数,number参数为3,character参数是A$变量的首字母,因此返回值为:VVV。

知识模块:数据类型及运算
14.设Label1、Command1、Text1、Check1分别为标签、命令按钮、文本框、复选框的名称,则以下属性设置语句中,运行时不会出错的是A.Label1.BackStyle=2
B.Command1.Style=1
C.Text1.ScrollBars=4
D.Check1.Value=2
正确答案:D
解析:标签的:BackStyle属性用于设置是否让标签覆盖背景,可以取0(标签不覆盖背景,以透明方式显示)和1(默认值,标签覆盖背景):按钮的Style属性用来设置命令按钮的外观,可设置成Standard,按钮以标准的形式显示,即文字形式,为默认值,值为Graphical,按钮将以图形的方式显示;文本框的ScrollBars 属性用于设置文本框是否有水平或垂直滚动条,可设置成4种值:0-None,表示
没有滚动条(默认值);1-Horizontal,表示只有水平滚动条;2-Vertical:表示只有垂直滚动条;3-Both:表示有水平和垂直滚动条;复选框的VaIue属性可设置为以下3种值:值0-Unchecked表示未选(默认值),“√”消失;值1-Checked表示选中,复选框将显示“√”;值2-Grayed表示以灰色呈现。

知识模块:常用标准控件
15.设有如下程序:Private Sub sV(ByVal in As Integer,11 As Integer) m=m*2 n=n-5 Print m;n End Sub Private Sub Form_Click( ) Dim x As Integer,y As Integer x=10 y=15 sV x,Y Print x;y End Sub运行程序,单击窗体,输出结果为( )。

A.20 1010 10
B.10 1520 10
C.20 1510 15
D.20 1020 10
正确答案:A
解析:函数传递参数有值传递和引用传递。

默认是引用传递。

sV(ByVal m As Integer,n As Integer)函数中m为值传递,n为引用传递。

值传递不改变实参值。

即在FormClick( )过程中调用sV不会改x的值。

选A。

知识模块:过程
16.设程序中有以下语句:MsgBox“Visua1”,“Basic”,“等级考试”,2执行该语句后,显示一个信息框,以下关于该信息框的叙述中,正确的是A.提示信息是Visual
B.提示信息是Basic
C.标题栏显示为Visual
D.标题栏显示为“等级考试”
正确答案:A
解析:MsgBox过程用于显示提示信息,并可返回一个代表用户单击了哪个按钮的Integer类型值,其常用语法为:MsgBox(prompt【,buttons]f,title】)。

其中,prompt参数为消息框的提示信息;buttons参数是一个整数,用于控制消息框中按钮的数目、类型及消息框图标的样式;title参数为消息框标题栏中显示的内容。

知识模块:数据的输入与输出
17.设有如下数组定义语句:Dim a(-1 To 4,3)As Integer以下叙述中正确的是
A.a数组有1 8个数组元素
B.a数组有20个数组元素
C.a数组有24个数组元素
D.语法有错
正确答案:C
解析:二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用
To连接,即给出下标可取值的变化范围。

“数组元素个数”指的是数组中成员的个数,每一维的长度是上界-下界+1,数组元素个数等于各维长度之积。

数组下标的默认下限值为0,此时数组某一维的元素个数等于该维下标上界值加1。

18.设a=“MicrosoflVisualbasic”,则以下使变量b的值为“Visualbasic”的语句是
A.b=Left(a,10)
B.b=Mid(a,10)
C.b=Right(a,10)
D.b=Mid(a,11,10)
正确答案:B
解析:本题考查常用函数,Mid(a,M,N)功能是从a字符串左起第M位下标开始取值(包含M位),共取N位字符;Right(a,M)表示从右起第一位开始取值,向左取M位;Left(a,N)表示从a字符串左起第一位开始取值,向右取N位。

题目要求取字符串右边的11个字符,可以使用Mid或者或者Right函数。

选项C)错误是由于少取了一个字符;选项D)错误,只取了10个字符:选项B)正确,表示从a字符串的第10位下标开始取右边的字符串。

知识模块:数据类型及运算
19.窗体上有一个名称为Command1的命令按钮,一个名称为Text1的文本框。

编写如下程序:Private Sub Command1_Click( )Private Function fun(ByRef n As Integer) Dim x As Integer If n Mod 3=0 Then x=Val(InputBox(“输入数据”)) n=n+n Text1=Str(x+fun(x)+fun(x)) Else End Sub n=n*nEnd Iffun=n End Function 对于上述程序,以下叙述中错误的是
A.语句fun=n有错,因为n是整型,fun没有定义类型
B.运行程序,输入值为5时,文本框中显示655
C.运行程序,输入值为6时,文本框中显示42
D.ByRef表示参数按址传递
正确答案:A
解析:本题中的函数fun的功能是判断参数是否能被3整除,若可以整除则将n翻倍,否则将n变为n的平方返回。

在函数头部没有声明函数的返回值类型,默认为变体型,可以接受任何数据类型的赋值:ByRef表示参数按址传递,对形参的改变将会影响实参;当输入5的时候输出5+25+625=655;当输入6的时候输出6+12+24=42。

知识模块:过程
20.设有下面的程序段:x=InputBox(“请输入一个整数”)ReDim a(x)For k=x To 0 Step-1a(k)=kNext k一般,在这段程序之前应先进行数组a的定义。

下面定义语句中正确的是
A.Dim a(100)As Integer
B.Dim a( ) As Integer
C.Dim a As Integer
D.Dim a(0 To 100)As Integer
正确答案:B
解析:动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:首先在窗体层、标准模块或过程中用Dim或Public声明一个没有下标的数组(括号不能省略),然后在过程中随时用ReDim语句可以重定义变量作为下标的数组,重定义后原数组的所有元素值被清空。

知识模块:数组
21.窗体上有名称为Commandl的命令按钮,其事件过程如下:Option Base 1Private Sub Commandl_Click( ) Dim a Dim b(10)As Integer a=Array(2,4,7,3,9,6) For i=LBound(a)To UBound(a) b(i)=a(i)+i Sum=Sum+b(i) Next i Print SumEnd Sub运行程序,单击命令按钮时,窗体上显示的是A.44
B.46
C.50
D.52
正确答案:D
解析:本题中使用了一个循环为b数组进行赋值,每个元素的值是对应a数组元素的值加上下标的值。

因此b数组中的元素为(3、6、10、7、14、12),然后累加和为52。

知识模块:数组
22.在窗体上画一个名称为Command1的命令按钮,编写如下事件过程:Private Sub Commandl_Click( ) n=0 For i=0 To 10 X=2*i-1 Tf X Mod 3=0 Then n=n+1 Next 1 Print n End Sub 运行程序,单击命令按钮,则窗体上显示的是
A.1
B.3
C.5
D.7
正确答案:B
解析:本题的For循环共执行11次,在每次循环中计算出一个X的值,然后判断能否被3整除,如能整除则令计数器n自加1。

知识模块:控制结构
23.设有如下程序:Private Sub sV(ByVal m As Integer,n As Integer) m=m*2:n=n一5:Print m:n End Sub Private Sub Form_Click( ) Dim x As Integer,y As Integer x=10:y=15:sV x,y Print x;y End Sub 运行程序,单击窗体,输出结果为
A.20 10 10 10
B.10 15 20 10
C.20 15 10 15
D.20 10 20 10
正确答案:A
解析:在Visual Basic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。

其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。

本题中sV的参数m是按值传递的,n是按地址传递的,因此在sV中对m的改变不会影响实参x,对n的操作会影响实参y。

知识模块:过程
24.下面关于VB数据文件的叙述中错误的是
A.VB数据文件不包括VB的窗体文件
B.VB应用程序可以用随机方式读写数据文件
C.VB应用程序在读写数据文件之前,必须用Open语句打开该文件
D.VB应用程序不能把一个二维表格中的数据存入文件
正确答案:D
解析:根据数据性质,文件可分为程序文件和数据文件,窗体文件属于程序文件而不是数据文件;数据文件可以使用顺序方式读写,也能使用随机方式读写;VB应用程序在读写数据文件之前,必须用Open语句打开该文件;可以把一个二维表格中的数据按记录存入数据文件。

知识模块:数据文件
25.在VB中,函数过程与子程序过程的区别之一是
A.函数过程必须有参数,而子程序过程可以没有
B.函数过程的参数传递只采用值传递,而子程序过程只采用地址传递
C.在程序中,子程序过程调用的代码可以写在表达式中,而函数过程不能D.函数过程有返回值,而子程序过程没有
正确答案:D
解析:函数过程和Sub子过程一样,也可以有参数也可以没有参数;参数传递也可以使用地址传递也可以使用值传递:都是在代码中进行调用,只是函数过程必须有一个返回值,子过程没有。

相关文档
最新文档