【计算机类职业资格】二级VISUAL+BASIC笔试302及答案解析.doc

上传人:sumcourage256 文档编号:1327989 上传时间:2019-10-17 格式:DOC 页数:10 大小:71.50KB
下载 相关 举报
【计算机类职业资格】二级VISUAL+BASIC笔试302及答案解析.doc_第1页
第1页 / 共10页
【计算机类职业资格】二级VISUAL+BASIC笔试302及答案解析.doc_第2页
第2页 / 共10页
【计算机类职业资格】二级VISUAL+BASIC笔试302及答案解析.doc_第3页
第3页 / 共10页
【计算机类职业资格】二级VISUAL+BASIC笔试302及答案解析.doc_第4页
第4页 / 共10页
【计算机类职业资格】二级VISUAL+BASIC笔试302及答案解析.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、二级 VISUAL+BASIC 笔试 302 及答案解析(总分:87.00,做题时间:90 分钟)一、B选择题/B(总题数:25,分数:75.00)1.用下面的语句定义数组元素的个数为 _。 Option Base 1 Dim Arr6(-2 to 6, -1 to 5)As Integer(分数:3.00)A.30B.48C.63D.722.在 Visual Basic 中,下列操作不能打开属性窗口的是 _。(分数:3.00)A.按 Ctrl+TB.执行“视图”菜单中的“属性窗口”命令C.单击工具栏中的“属性窗口”D.按 F4 键3.在窗体上有一个计时器控件 Timer1 和一个标签控件 L

2、abel1,在程序运行时可通过每隔 30 毫秒让Lable1 左移 100 缇,从而产生文字移动动画效果。文字从右向左移动,当移动到接近窗体左边界时停止移动。空格处应填 _。 Private Sub Form1_Load() Label1. Left=Form1. Width Timer1. Interval=30 _ End Sub Private Sub Timer1_Timer() Lable1.Left=Lable1. Left -100 If Lablel. Left100 Then Timer1. Enable=False End If End Sub(分数:3.00)A.Time

3、r1. Enable=TrueB.Label1.Enable=TrueC.Timer1. Enable=FalseD.Label1. Enable=False4.有如下程序,运行时从键盘输入 3,输出结果是 _。 Private Sub Command1_Click() a=InputBox(“请输入一个数字:“) Select Case a Case Is2 b=a+1 Case Is3 b=a+2 Case Is4 b=a3 Case Is5 ba4 End Select Print a b End Sub(分数:3.00)A.8 B.7 C.6 95.Command1_Click()事件

4、代码如下: Private Sub Command1_Click() Dim x As Integer, Y As Integer x = 6 : Y : 8 Call ABC(X, Y) Print X; Y End Sub Private Sub ABC(ByVal X As Integer,Y As Integer) X = X + 4 Y = Y = 2 End Sub 事件发生后,X 和 Y 的值分别为 _。(分数:3.00)A.6, 8B.10, 10C.10, 8D.6, 106.下列类型中,不适用于数值常量类型的是 _。(分数:3.00)A.货币型B.单精度型C.整型D.长整型

5、7.执行下面这段程序后,单击命令按钮,窗体中输出结果是 _。 Private Sub Command1_Click() a=1 : b=4 : c = 9 : d = 5 If a b Then If cd Then x=True Else If ac Then x=False Else x=True End If End If End If Print Val(x) End Sub(分数:3.00)A.TrueB.FalseC.0D.18.对于如下程序,单击 Co 皿 andl 事件发生后,窗体上显示的内容为 _。 Private Sub Command1_Click() Dim i As

6、Integer,a a As Integer Do While i20 Do While True If i Mod 10 = 0 Then Exit Do Else i=i-1 End If Loop i=i+11 a=a+1 Loop Print a End Sub(分数:3.00)A.21B.32C.33D.119.以下程序段的执行结果是 _。 Dim a As Integer,b As Integer For a=4 To 1 Step-1 b=b+a Next a Print b, a(分数:3.00)A.100B.9 1C.10 1D.9010.用八进制表示 Visual Basi

7、c 的整型常数时,需要在前面加上的符号是 _。(分数:3.00)A. Y End Sub Private Sub ABC(ByVal X As Integer,Y As Integer) X = X + 4 Y = Y = 2 End Sub 事件发生后,X 和 Y 的值分别为 _。(分数:3.00)A.6, 8B.10, 10C.10, 8D.6, 10 解析:解析 事件发生时,首先定义两个变量 X,Y 并给他们赋值 6 和 8。然后调用过程 ABC,在过程ABC 中有两个形参 X,Y。X 是按值传递,Y 是按地址传递,所以在 ABC 过程中,对形参 x 的修改并不影响对应的实参 x,但对形

8、参 Y 的修改将影响到相应的实参 Y。所以过程调用后,输出的 X、Y 值分别为6、100。6.下列类型中,不适用于数值常量类型的是 _。(分数:3.00)A.货币型B.单精度型 C.整型D.长整型解析:解析 Visual Basic 的常量分为字符串常量、符号常量和数值常量。其中数值常量又分为整数型、长整数型数、浮点数和货币型数等四种表示方式。7.执行下面这段程序后,单击命令按钮,窗体中输出结果是 _。 Private Sub Command1_Click() a=1 : b=4 : c = 9 : d = 5 If a b Then If cd Then x=True Else If ac

9、Then x=False Else x=True End If End If End If Print Val(x) End Sub(分数:3.00)A.TrueB.FalseC.0 D.1解析:解析 当 ab 为真时,程序继续进行;当 cd 为假时,执行 else 分支;当 ac 为真时,执行x=False,跳出三层 If 语句,执行输出语句。Val 函数返回字符对应的数值,Val(x)为 0,在窗体中输出结果。8.对于如下程序,单击 Co 皿 andl 事件发生后,窗体上显示的内容为 _。 Private Sub Command1_Click() Dim i As Integer,a a

10、As Integer Do While i20 Do While True If i Mod 10 = 0 Then Exit Do Else i=i-1 End If Loop i=i+11 a=a+1 Loop Print a End Sub(分数:3.00)A.21B.32 C.33D.11解析:解析 本题内层循环的条件始终为 True,因此内层循环体内的 Exit Do 语句为终止循环语句。首先,判断外层循环 Do While 后面的表达式“i20”为 True,接着执行内层循环的 If 语句。表达式“i Mode 10=0”的值为 True,执行 Exit Do,跳出内层循环,执行下

11、面的语句,得 i=11, a=11。回到外层循环,判断 Do While 后面的表达式“i20”为 True,执行内层循环的 If 语句,表达式“i Mode 10=0”的值为 False,执行 i=i-1,i=10。跳出内层循环,执行下面的语句,得到 i=21,a=32。9.以下程序段的执行结果是 _。 Dim a As Integer,b As Integer For a=4 To 1 Step-1 b=b+a Next a Print b, a(分数:3.00)A.100 B.9 1C.10 1D.90解析:解析 For 循环的结束条件是循环变量的值在变化方向上超过终值,本题的循环变量

12、a 的初值为4,终值为 1,步长为-1,所以变化方向是从大到小,在 a 的值为 4,3,2,1 时分别执行一次循环,循环中把循环变量 a 的值分别加到变量 b 中。四次循环完成后,循环变量的值变为 0,循环结束,b 值为4+3+2+1=10。10.用八进制表示 Visual Basic 的整型常数时,需要在前面加上的符号是 _。(分数:3.00)A.&O B.&HC.OD.H解析:解析 在 Visual Basic 常量中,十六进制的常量需要冠以&h,八进制的常量需要冠以&o。11.在窗体上画一个名称为 List1 的列表框,为了对列表框中的每个项目都能进行处理,应使用的循环语句为 _。(分数

13、:3.00)A.For i = 0 To List1.ListCount - 1 NextB.For i = 0 To List1. Count- 1 NextC.For i = 0 To List1. ListCount NextD.For i = 0 To List1.Count Next 解析:解析 滚动条的属性值代表滚动条当前的位置,Max 的属性值代表滚动条变化的最大值, Min 的属性值代表滚动条变化的最小值,LargeChange 的属性值代表单击滚动条滑块两边的空白,滚动条增大或减小的值,SmallChange 的属性值代表单击滚动条滑块两边的箭头,滚动条增大或减小的值。12.

14、为了在运行时能显示窗体左上角的控制菜单框,必须 _。(分数:3.00)A.把窗体的 Visible 属性设置为 TrueB.把窗体的 Visible 属性设置为 FalseC.把窗体的 Conbolbox 属性设置为 FalseD.把窗体的 Contolbox 属性设置为 True 解析:解析 把窗体的 Visible 属性设置为 False,窗体不可见:把窗体的 Visible 属性设置为 True,窗体可见;把窗体的 Controlbox 属性设置为 True 时显示窗体左上角的控制菜单框:把窗体的 Controlbox 属性设置为 False 时不显示窗体左上角的控制菜单框。13.将同一

15、窗体上的多个 Option Button 控件分为多个组,可以使用的控件是 _。(分数:3.00)A.PictureboxB.ShapeC.TextboxD.Frame 解析:解析 通常窗体中都会有许多控件,这时需要将控件在窗体上按照功能适当分组,通常使用frame 控件宋实现。14.要使文本框 Text1 不可用且文字居中,可以用以下语句 _。(分数:3.00)A.Text1. Enabled = False Text1.Alignmem = 2 B.Text1. Enabled = False Text1. Alignment = 0C.Text1. Enabled = True Text

16、1. Alignment = 0D.Text1. Enabled = True Text1. Alignment = 1解析:解析 文本框的 Enable 属性为 True 时,文本框可用:为 False 时,文本框不可用。文本框的Alignmem 属性有 3 个值,0、1、2,分别对应文本框中内容的左、右、居中对齐。15.执行下面的程序,单击命令按钮后,窗体中的输出结果是 _。 Private Sub Cotomand1_Click() Ch$=“Welcome Home!“ a=Len(ch$) For i= 1 To a b$ = Mid(ch$, i 1) If b$ = “m“ Th

17、en m = m + 1 Next 1 Print m End Sub(分数:3.00)A.2 B.3C.1D.0解析:解析 题中程序的功能是统计字母 m 在字符串“Welcome Home!”中出现的次数。程序中有两个字符串函数,Len()和 Mid()。Len()函数的作用为计算字符串中字符的个数,而 Mid()函数的作用为取子串。题中依次选取字符串中的字母,与字符“m”进行比较,所以答案选 A。16.要随机产生一个两位数并赋值给 y,下面语句正确的是 _。(分数:3.00)A.y=10+Int(91*RnB.y=Int(10+90*RnC.y=10+Int(89*RnD.y=10+Int

18、(90*Rn 解析:解析 Rnd 的作用是产生一个 0 到 1 之间的随机数。通过它产生从 A 到 B 范围的随机整数可使用以下公式:Int(B-A+1)*Rnd)+A=Int(99-10+1)*Rnd)+10。17.窗体上有一个列表框,编写下列程序: Private Sub Command1_Click() List1. RemoveItem3 End Sub Private Sub Form_Load() List1. AddItem “拉瓦锡“ List1. AddItem “道尔顿“ List1. AddItem “汤姆森“ List1. AddItem “门捷列夫“ End Sub

19、程序执行时,单击 Commandd1,则在列表框中将不再出现 _。(分数:3.00)A.拉瓦锡B.道尔顿C.汤姆森 D.门捷列夫解析:解析 在窗体加载的时候,通过 Form Load 事件给列表框添加了四个选项。当单击 Command1 的时候,移去序号为 3 的选项,即“汤姆森”。18.用 Write 和 Print 语句向文件中写入多个数据的差别在于 _。(分数:3.00)A.Write 语句不会自动在数据项之间插入逗号B.Print 语句自动在数据项之间插入逗号C.write 语句写入字符串会自动给字符串加上双引号,写入的正数前面没有空格 D.Print 语句写入字符串会自动给字符串加上

20、双引号,写入的正数前面没有空格解析:解析 Write 语句和 Print 语句的基本功能相同,其主要区别有以下两点: 1)用 Write 语句向文件写数据时,数据在磁盘上以紧凑格式存放,能自动在数据项之间插入逗号,并给字符串加上双引号。一旦最后一项被写入,就插入新的一行。 2)用 Write 语句写入的正数的前面没有表示符号位的空格。19.运行下面的程序,单击命令按钮后,当输入分别为 123 和 456 时,输出结果为 _。 Private Sub Command1_Click() a=InputBox(“请输入一个数字:“) b=Val(InputBox(“请再输入一个数字:“) PrInt

21、 a+b End Sub(分数:3.00)A.123B.456C.123123D.579 解析:解析 InputBox 函数的默认返回值是字符类型。当输入“123”后,a 的值是字符串“123”。当在第二个弹出的对话框内输入 456 后,经过 Val 函数的转换,b 值为数值 456,按照出具类型的自动结合原则,a 自动转换为数值型数据后与 b 进行相加,最终输出结果为 579。20.在窗体上画一个命令按钮,然后编写如下程序: Private Sub Command1_Click() Dim a As Integer, b As integer b = 1 For a = 1 To 100 I

22、f b 10 Then Exit For If b Mod 3 = 1 Then b = b + 3 End If Next a Print a End Sub 在命令按钮上单击后,窗体上显示的结果是 _。(分数:3.00)A.101B.6C.5D.4 解析:解析 事件发生时给变量 b 赋值 1,然后执行 For 循环。先给 a 赋初值 1,判断 If 后面的条件“b=10”为 False,接着执行 If 语句,判断“b Mod 3=1”为“True”,执行语句“b=b+3”,第一次循环结束后,b=4,a=2。第二次循环结束后,b=7,a=3。第三次循环后,b=10, a=4。接着执行第四个循

23、环,判断 If 后面的条件“b=10”为 True,退出循环,a 的输出值为 4。21.当窗体为“模态型”(强制响应方式)时,窗体的模式值为 _。(分数:3.00)A.VbModaless 或者 0B.VbModal 或者 0C.VbModaless 或者 1D.VbModal 或者 1 解析:解析 参数“模式”的取值可以是 VbModal(或者 1),VbModaless(或者 0)。前者表示窗体为“模态型”,鼠标只在该窗体内起作用,在关闭该窗体之前不能激活其他窗体。后者表示窗体是“非模态型”窗体,允许在不关闭该窗体的同时操作其他窗体。22.下面可以打开立即窗口的操作是 _。(分数:3.00

24、)A.Ctrl+CB.Ctrl+G C.Ctrl+SD.Ctrl+B解析:解析 立即窗口可用来调试应用程序。打开立即窗口后可以用 Print 方法宋显示需要跟踪的表达式或者变量的当前值。打开立即窗口的快捷键是 Ctrl+G。23.代数式,|e 2Algy1 3+sin y2|对应的 Visual Basic 表达式是 _。(分数:3.00)A.Abs(e2*a+Log(y13)+Sin(y2)B.Abs(Exp(2)*a+Log(y13)Log(10)+Sin(y2) C.Abs(e2*a+lg(y13)+Sin(y2)D.Abs(Exp(2)*a+Log(y13)+Sin(y2)解析:解析

25、e 在 Visual Basic 中不是常量,e 2可使用函数 Exp(2)来表示。在 Visual Basic 中没有常用对数lg 只能通过自然对数函数 Log(x)来求常用对数,公式为 18x=In x/ln 10。正弦函数为 Sin,绝对值函数为 Abs。故选答案 B。24.要令图像的大小自动适应图像框的大小,应将 _。(分数:3.00)A.其 Autosize 属性值设置为 TrueB.其 Stretch 属性值设置为 True C.其 Autosize 属性值设置为 FalseD.其 Stretch 属性值设置为 False解析:解析 Autosize 属性是标签控件属性,当其值设置

26、为 True 时,标签控件的大小将和里面显示的文本长度一致。图像框无 Autosize 属性,它有一个 Stretch 属性,当其值为 True 时,图像的大小将自动缩放到与图像框大小一致。25.下列程序执行后,按住 Cbl 键并在文本框中输入 a,则在窗体上输出的结果为 _。 Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer) Print keyCode, Shift End Sub(分数:3.00)A.a 2B.65 2 C.97 1D.97 2解析:解析 文本框的 KeyDown 事件有两个参数:KeyCode 和

27、 Shift。KeyCode 参数返回用户操作的那个键的扫描代码。a 的扫描代码为 65。Shift 参数用来表述用户按下了 Shift、Ctrl、Alt 键中的一个或多个。按下 Shift 键,Shift 参数的位 0 变为 1;按下 Ctrl 键,Shift 参数的位 1 变为 1;按下 Alt 键,Shift 参数的位 2 变为 1。因此当按下了 Ctrl 键时,Shift 键的参数的值变为 2。二、B填空题/B(总题数:6,分数:12.00)26.设 a=1,b=2,c=3,d=4,表达式 Not b=a Or 4 * a+1=d And ca+b 的值为U 【1】 /U。(分数:2.

28、00)填空项 1:_ (正确答案:False)解析:解析 Visual Basic 的运算次序是先运算算术运算符,其次是关系运算符,最后是逻辑运算符。逻辑运算符中,Not 优先级最高,其次是 And,最后算 Or。因此,不难算出本题表达式运算结果为False。27.运行下列程序,最后在窗体中输出U 【2】 /U。 Private Sub command1_Click() a=65 : b = 17 a = a Mod b 2 a = a / 4 Print a End Sub(分数:2.00)填空项 1:_ (正确答案:16)解析:解析 首先给 a 和 b 赋值 65 和 17。然后,运算一个

29、表达式。首先计算,然后计算取余运算符Mod,计算得出此时 a 值为“。最后计算 a/4 的值为 16。28.下列程序的功能是,单击命令按钮时随机生成 15 个 100 以内的正整数,放到 35 的数组中,找出该数组中最大的元素,并指出该元素的行标和列标。请填空。 Option Base 1 Private Sub Command1_Click() Dim a(1 To 3, 1 To 5) As Integer, n As Integer, m As Integer Dim maximum As Integer, max n As Integer, max_m As Integer Rando

30、mize For m=1 To 3 For n = 1 To 5 a(m, n)=U 【3】 /U Next n Next m maximuma(1, 1) max n=1 : max m=1 For i = 1 To 3 For j=1 To 5 IfU 【4】 /UThen maximum=a(i, j) max m=i max_n=j End If Next j Next i Print maximum, max m, max n End Sub(分数:2.00)填空项 1:_ (正确答案:Int(100*Rnd) a(i,0maximum)解析:解析 首先通过一个双循环结构,生成 15

31、 个随机正整数,要求正整数在 100 以内。因此第一个空应该填 Int(100*Rnd)。第二个双循环结构用来寻找数组中的最大元素。从第一个元素 a(1,1)开始, 如果有元素比先前的元素值大,则把该元素的值赋给 maximum 变量,并用 m,n 记录其下标。因第二个空的条件表达式应该填 a(i,j)maximum。29.下列程序段的作用是控制窗体的显示与隐藏。请填空。 Private Sub Form_Click() Dim msg As Integer Me.U 【5】 /U MsgBox “单击 Ok 显示窗体“ Form1.U 【6】 /U End Sub(分数:2.00)填空项 1

32、:_ (正确答案:Hide Show)解析:解析 隐藏窗体但不从内存中清除窗体的方法是 Hide。显示窗体的方法是 Show。30.在 Visual Basic 中,实参传递给形参有两种方式,U 【7】 /U方式可以通过改变过程中的相应的参数来改变实参变量的值;而U 【8】 /U被调用过程中改变了这个形参的值,但对应的实参的值并不改变。(分数:2.00)填空项 1:_ (正确答案:引用 传值)解析:解析 变量(即实参)的值存放在内存的某个地址中,当通过引用来调用一个过程时,向该过程传送变量,实际上是把变量的地址传送给该过程,因此,变量的地址和被调用过程中相应参数的地址是相同的。如果通用过程中的

33、操作修改了参数的值,则它同时也修改了传送给过程的变量的值。而传值方式即实参把值传递给对应的形参。这种数据传递方式的特点是:在被调用过程中改变了这个形参的值,但对应的实参的值并不改变。传值方式是通过使用 ByVal 关键字来实现的。31.下列程序段的功能是,单击命令按钮后,将随机产生 10 个三位数,并将这些数写到 C 盘根目录下的data.txt 文件中。请填空。 Private Sub Command1_Click() Dim a As Integer OpenU 【9】 /UFor Output As #100 Randomize For i =1 To 10 a=100+Int(899*Rnd) U 【10】 /U Next i Close #100 End Sub(分数:2.00)填空项 1:_ (正确答案:“d:/datalll.txt“ Write #100,a)解析:解析 首先打开顺序文件。第一个空填文件的路径与文件名。使用 Write 将数据写入文件内,格式为“Write #100,a”,即把变量 a 的值写入文件号为 100 的文件内。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1