1、二级 VISUAL+BASIC-33及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列关于栈叙述正确的是_。(分数:2.50)A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先能被删除2.下列叙述中正确的是_。(分数:2.50)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化3.某二叉树共有 7个结点,其中叶子
2、结点只有 1个,则该二叉树的深度为(假设根结点在第 1层)_。(分数:2.50)A.3B.4C.6D.74.软件按功能可以分为应用软件、系统软件和支撑软件(工具软件)。下面属于应用软件的是_。(分数:2.50)A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统5.结构化程序所要求的基本结构不包括_。(分数:2.50)A.顺序结构B.GOTO跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是_。(分数:2.50)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软
3、件详细设计的表示工具7.负责数据库中查询操作的数据库语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.一名教师可讲授多门课程,一门课程可由多名教师讲授。则实体教师和课程间的联系是_。(分数:2.50)A.1:1联系B.1:m联系C.m:1联系D.m:n联系9.有三个关系 R、S 和 T如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C b 2 1 c 3 1 则由关系 R和 S得到关系 T的操作是_。(分数:2.50)A.自然连接B并C交D差10.定义无符号整数类为 UInt,下面可以
4、作为类 UInt实例化值的是_。(分数:2.50)A.-369B.369C.0.369D.整数集合1,2,3,4,511.下列控件中,没有 Caption属性的是_。(分数:2.50)A.单选按钮B.复选框C.列表框D.框架12.将数据项“Student”添加到名称为 List1的列表框中,并使其成为列表框第一项的语句为_。(分数:2.50)A.List1.AddItem”Student”,0B.List1.AddItem“Student“,1C.List1.AddItem 0,“Student“D.List1.AddItem 1,“Student“13.下列针对框架控件的叙述中,错误的是_。
5、(分数:2.50)A.框架是一个容器控件B.框架也有 Click和 DblClick事件C.框架也可以接收用户的输入D.使用框架的主要目的是为了对控件进行分组14.为了使每秒钟发生一次计时器事件,可以将其 Interval属性设置为_。(分数:2.50)A.1B.10C.100D.100015.能够将组合框 Combol中最后一个数据项删除的语句为_。(分数:2.50)A.Combo1.RemoveItem Combo1.ListCountB.Combo1.RemoveItem Combo1.ListCount-1C.Combo1.RemoveItem Combo1.ListIndexD.Co
6、mbo1.RemoveItem Combo1.ListIndex-116.用来设置文字字体是否为粗体的属性是_。(分数:2.50)A.FontItalicB.FontUnderLineC.FontSizeD.FontBold17.以下不能触发滚动条 Change事件的操作是_。(分数:2.50)A.拖动滚动框B.单击两端的滚动箭头C.单击滚动框D.单击滚动箭头与滚动框之间的滚动条18.确定图片框 Picture1在窗体上位置的属性是_。(分数:2.50)A.Width和 HeightB.Left和 TopC.Width和 TopD.Height和 Left19.以下不属于单选按钮的属性是_。(
7、分数:2.50)A.CaptionB.NameC.MinD.Enabled20.以下关于图片框控件的说法中,错误的是_。(分数:2.50)A.可以通过 Print方法在图片框中输出文本B.图片框控件中的图形可以在程序运行过程中被清除C.图片框控件中可以放置其他控件D.用 Stretch属性可以自动调整图片框中图形的大小21.有如下程序: Private Sub Form_Click() Dim s As Integer,p As Integer p=1 For i=1 To 4 For j=1 To i s=s+j Next j p=p*s Next i Print p End Sub 程序运
8、行后,单击窗体,则输出结果是_。(分数:2.50)A.90B.180C.400D.80022.窗体上有 1个名称为 Text1、内容为空的文本框。编写如下事件过程: Private Sub Text1_KeyUp(KeyCode As Integer,Shift As Integer) Print Text1.Text; End sub 运行程序,并在文本框中输入“123”,则在窗体上的输出结果为_。(分数:2.50)A.123B.112C.12123D.11212323.窗体上有 1个名称为 Command1的命令按钮,事件过程如下: Private Sub Command1_Click()
9、 Dim x%,y%,z% x=InputBox(“请输入第 1个整数“) y=InpntBox(“请输入第 2个整数“) DoUntil x=y If xy Then x=x-y Else y=y-x Loop Print x End Sub 运行程序,单击命令按钮,并输入两个整数 169和 39,则在窗体上显示的内容为_。(分数:2.50)A.11B.13C.23D.3924.窗体上有 1个名称为 Command1的命令按钮,事件过程及函数过程如下: Private Sub Command1_Click() Dim m As String m=InputBox(“请输入字符串“) Prin
10、t pick_str(m) End Sub Private Function pick_str(s As String)As String temp=“ i=1 sLen=Len(s) Do While i=sLen/2 temp=temp+Mid(s,i,1)+Mid(s,sLen-i+1,1) i=i+1 Loop pick_str=temp End Function 运行程序,单击命令按钮,并在输入对话框中输入“basic”,则在窗体上显示的内容为_。(分数:2.50)A.bcaiB.cbiaC.bcaisD.cbias25.窗体上有 1个名称为 command1的命令按钮,事件过程及函
11、数过程如下: Private Sub Command1_Click() Dim p As Integer P=m(1)+m(2)+m(3) Print p End Sub Private Function m(n As Integer)As Integer Static s As Integer For i=1 To n s=s+1 Next End Function 运行程序,第 2次单击命令按钮 command1时的输出结果为_。(分数:2.50)A.6B.10C.16D.2826.在窗体上画一个名称为 command1的命令按钮,并编写如下事件过程: Private Sub Comman
12、d1_Click() x=1 s=0 For i=1 To 5 x=x/i s=s+x Next Print s End Sub 该事件过程的功能是计算_。 AS=1+2+3+4+5 B C D (分数:2.50)A.B.C.D.27.窗体上有一个名称为 Command1的命令按钮,事件过程如下: Private Sub Command1_Click() Dim arr_x(5,5)As Integer For i=1 To 3 For j=2 To 4 arr_x(i,j)=i*j Next j Next i Print arr_x(2,1);arr_x(3,2);arr_x(4,3) En
13、d Sub 运行程序,并单击命令按钮,窗体上显示的内容为_。(分数:2.50)A.0 6 0B.2 6 0C.0 6 12D.2 6 1228.有如下程序: Private Sub Form_Click() Dim i As Integer,n As Integer For i=1 To 20 i=i+4 n=n+i If i10 Then Exit For Next Print n End Sub 程序运行后,单击窗体,则输出结果是_。(分数:2.50)A.14B.15C.29D.3029.窗体上有一个名称为 Command1的命令按钮,事件过程如下: Private Sub Command
14、1_Click() Dim num As Integer,x As Integer num=Val(InputBox(“请输入一个正整数“) Select Case num Case Is100 x=x+num Case Is90 x=num Case Else x=x*num End Select Print x: End Sub 运行程序,并在三次单击命令按钮时,分别输入正整数 100、90 和 60,则窗体上显示的内容为_。(分数:2.50)A.0 0 0B.0 0 60C.0 90 0D.100 0 6030.窗体上有一个名称为 command1的命令按钮,事件过程如下: Privat
15、e Sub Command1_Click() m=-3.6 If Sgn(m)Then n=Int(m) Else n=Abs(m) End If Print n End Sub 运行程序,并单击命令按钮,窗体上显示的内容为_。(分数:2.50)A.-4B.-3C.3D.3.631.下面程序的运行结果是_。 Option Base 1 Private Sub Command1_Click() Dim x,y(3,3) x=Array(1,2,3,4,5,6,7,8,9) For i=1 To 3 For j=1 To 3 y(i,j)=(i*j) If(j=i)Then Print y(i,j
16、); Next j Print Next i End Sub A B C D (分数:2.50)A.B.C.D.32.设用复制、粘贴的方法建立了一个命令按钮数组 Commandl,以下对该数组的说法错误的是_(分数:2.50)A.命令按钮的所有 Caption属性都是 Command1B.在代码中访问任意一个命令按钮只需使用名称 Command1C.命令按钮的大小都相同D.命令按钮共享相同的事件过程33.单击命令按钮时,下列程序的执行结果是_。 Private Sub Command1_Click() Call BT 4 End Sub Private Sub BT(x As Integer)
17、 x=x*2+1 If x6 Then Call BT(x) End If x=x*2 Print x; End Sub(分数:2.50)A.15B.16C.17D.1834.下列程序运行后的输出结果是_。 Function Fun(n) x=n*n Fun=x-11 End Function Private Sub Command1_Click() For k=1 To 2 y=Fun(k):Print y Next End sub(分数:2.50)A.-10 -7B.10 8C.1 3D.0 435.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_
18、Click() Dim m As Integer,n As Integer,p As Integer m=3:n=5:p=0 Call Y(m,n,p) Print Str(p) End Sub Sub Y(ByVal i As Integer,ByVal j As Integer,k As Integer) k=i+j End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是_。(分数:2.50)A.4B.6C.8D.1036.单击命令按钮时,下列程序的执行结果是_。 Private Sub Command1_Click() Dim a As Integer,b As Integ
19、er,c As Integer a=3:b=4:c=5 Print SecProc(c,b,a) End Sub Function FirProc(x As Integer,y As Integer,z As Integer) FirProc=2*x+y+3*z+2 End Function Function SecProc(x As Integer,y As Integer,z As Integer) SecProc=FirProc(z,x,y)+x+7 End Function(分数:2.50)A.20B.25C.37D.3237.有如下程序: Private Sub Command1_C
20、lick() Dim a As Single Dim b As Single a=5:b=4 Call Sub1(a,b) End Sub Sub Sub1(x As Single,y As Single) t=x x=t/y y=t Mod y End Sub 在调用运行上述程序后,a 和 b的值分别为_。(分数:2.50)A.0 0B.1 1C.2 2D.1 238.可以用 InputBox函数产生“输入对话框”。执行语句“st$=(InputBox(“请输出字符串“,“字符串对话框“,“字符串“)”时,当用户输出完毕,按 OK按钮后,st$变量的内容是_。(分数:2.50)A.字符串B.
21、请输入字符串C.字符串对话框D.用户输入的内容39.以下事件过程可以将打开对话框的标题改为“新时代”的是_。(分数:2.50)A.Private Sub Command2_Click()CommonDialog1.DialogTitle=“新时代“CommonDialog1.ShowOpenEnd SubB.Private Sub Command2_Click()CommonDialog1.DialogTitle=“新时代“CommonDialog1.ShowFontEnd SubC.Private Sub Command2_Click()CommonDialog1.DialogTitle=“
22、新时代“CommonDialog1.ShowEnd SubD.Private Sub Command2_Click()CommonDialog1.DialogTitle=“新时代“CommonDialog1.ShowColorEnd Sub40.以下叙述中错误的是_。(分数:2.50)A.顺序文件中的数据只能按顺序读写B.对同一个文件,可以用不同的方式和不同的文件号打开C.执行 Close语句,可将文件缓冲区中的数据写到文件中D.随机文件中各记录的长度是随机的二级 VISUAL+BASIC-33答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1
23、.下列关于栈叙述正确的是_。(分数:2.50)A.栈顶元素最先能被删除 B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先能被删除解析:解析 栈是先进后出的数据结构,因此栈顶元素最后入栈却最先被删除,栈底元素最先入栈却最后被删除,所以本题答案为 A。2.下列叙述中正确的是_。(分数:2.50)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D.在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化解析:解析 栈是先进后出的数据结构,在对栈操作的整
24、个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来完成,因此本题答案为 C。3.某二叉树共有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为(假设根结点在第 1层)_。(分数:2.50)A.3B.4C.6D.7 解析:解析 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0的叶子结点总比度为 2的结点多一个,因此本题中度为 2的结点为 1-1=0个,据此可以知道本题目中的二叉树的每一个结点都有一个分支,所以共 7个结点共 7层,即深度为 7,选择 D。4.软件按功能可以分为应用软件、系统软件和支撑软件(工具软件)。下面属于应用软件的是_。(分数:2.50)A.学生成绩管理系统
25、 B.C语言编译程序C.UNIX操作系统D.数据库管理系统解析:解析 软件按功能可以分为:应用软件、系统软件、支撑软件。操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件,因此 B、C、D 都是系统软件,只有 A是应用软件。5.结构化程序所要求的基本结构不包括_。(分数:2.50)A.顺序结构B.GOTO跳转 C.选择(分支)结构D.重复(循环)结构解析:解析 1966 年,Boehm 和 Jacopini证明了程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式的结构化程序设计方法,因此本题答案为 B。6.下面描述中错误的是_。(分数:2.5
26、0)A.系统总体结构图支持软件系统的详细设计 B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具解析:解析 详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,因此 A描述错误。7.负责数据库中查询操作的数据库语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言 D.数据控制语言解析:解析 数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增加、删除、修改等操作;数据控制语言
27、:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。因此本题答案为 C。8.一名教师可讲授多门课程,一门课程可由多名教师讲授。则实体教师和课程间的联系是_。(分数:2.50)A.1:1联系B.1:m联系C.m:1联系D.m:n联系 解析:解析 因为一名教师可讲授多门课程,而一门课程又能由多名教师讲授,所以教师和课程之间是多对多的关系,可以表示为 m:n,选择 D。9.有三个关系 R、S 和 T如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C b 2 1 c 3 1 则由关系 R和 S得到关系 T的操作是_。(分数:
28、2.50)A.自然连接B并C交D差 解析:解析 关系 T中的元组是关系 R中有而关系 S中没有的元组的集合,即从关系 R中除去与关系 S中相同元组后得到的关系 T,因此做的是差的运算,选择 D。10.定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是_。(分数:2.50)A.-369B.369 C.0.369D.整数集合1,2,3,4,5解析:解析 只有 B选项 369可以用无符号整数来表示和存储。A 选项-369 有负号,选项 C0.369是小数,它们都不能用无符号整数类存储。选项 D是一个整数集合需要用数组来存储。故选 B。11.下列控件中,没有 Caption属性的是_。
29、(分数:2.50)A.单选按钮B.复选框C.列表框 D.框架解析:解析 列表框控件没有 Caption属性。故选 C。12.将数据项“Student”添加到名称为 List1的列表框中,并使其成为列表框第一项的语句为_。(分数:2.50)A.List1.AddItem”Student”,0 B.List1.AddItem“Student“,1C.List1.AddItem 0,“Student“D.List1.AddItem 1,“Student“解析:解析 List 控件的 AddItem方法的语法是:AddItem(String,index)。其中 index是列表框中列表项的索引值,第一
30、项的索引值为 0。13.下列针对框架控件的叙述中,错误的是_。(分数:2.50)A.框架是一个容器控件B.框架也有 Click和 DblClick事件C.框架也可以接收用户的输入 D.使用框架的主要目的是为了对控件进行分组解析:解析 框架是一个容器控件,用于将屏幕上的对象分组。框架常用的事件是 Click和 DblClick,它不接收用户输入,不能显示文本和图形,也不能与图形相连。因此选 C14.为了使每秒钟发生一次计时器事件,可以将其 Interval属性设置为_。(分数:2.50)A.1B.10C.100D.1000 解析:解析 计时器控件的 Interval属性值以毫秒为单位,设置为 1
31、000则计时器事件每 1秒钟发生一次。故选 D。15.能够将组合框 Combol中最后一个数据项删除的语句为_。(分数:2.50)A.Combo1.RemoveItem Combo1.ListCountB.Combo1.RemoveItem Combo1.ListCount-1 C.Combo1.RemoveItem Combo1.ListIndexD.Combo1.RemoveItem Combo1.ListIndex-1解析:解析 组合框的 RemoveItem方法与列表框删除指定项目的方法相同,格式为:RemoveItem(索引值),而列表中的项目索引值从 0开始,因此最后一项的索引值为
32、 ListCount-1。故本题选 B。16.用来设置文字字体是否为粗体的属性是_。(分数:2.50)A.FontItalicB.FontUnderLineC.FontSizeD.FontBold 解析:解析 FontItalic 用来设置文字是否为斜体,FontUnderLine 用来设置文字是否加下划线,FontSize用来设置文字的字号,FontBold 用来设置文字是否为粗体。故选 D。17.以下不能触发滚动条 Change事件的操作是_。(分数:2.50)A.拖动滚动框B.单击两端的滚动箭头C.单击滚动框 D.单击滚动箭头与滚动框之间的滚动条解析:解析 改变滚动框的位置后会触发 Ch
33、ange事件,拖动滚动框、单击滚动箭头、单击滚动箭头与滚动框之间的滚动条都会改变滚动框的位置。因此选 C。18.确定图片框 Picture1在窗体上位置的属性是_。(分数:2.50)A.Width和 HeightB.Left和 Top C.Width和 TopD.Height和 Left解析:解析 确定图片框在窗体上位置的属性是 Left和 Top,它们使用的是相对坐标,以窗体为参考点。因此选 B。19.以下不属于单选按钮的属性是_。(分数:2.50)A.CaptionB.NameC.Min D.Enabled解析:解析 单选按钮没有 Min属性,滚动条控件的属性中有 Min属性。20.以下关
34、于图片框控件的说法中,错误的是_。(分数:2.50)A.可以通过 Print方法在图片框中输出文本B.图片框控件中的图形可以在程序运行过程中被清除C.图片框控件中可以放置其他控件D.用 Stretch属性可以自动调整图片框中图形的大小 解析:解析 可以通过 Print方法在图片框中输出文件,图片框中的图形可以在程序运行过程中通过载入空文件的方法清除,图片框控件可以作为父控件,即可以放置其他控件,stretch 属性用来自动调整图片框中图形内容的大小。因此选 D。21.有如下程序: Private Sub Form_Click() Dim s As Integer,p As Integer p=
35、1 For i=1 To 4 For j=1 To i s=s+j Next j p=p*s Next i Print p End Sub 程序运行后,单击窗体,则输出结果是_。(分数:2.50)A.90B.180C.400D.800 解析:解析 程序是一个双层 For循环,外层循环变量的值决定内层 For循环的次数。 当 i=1时,内层循环 1次,s=1,p=1; 当 i=2时,内层循环 2次,s=1+1+2=4,p=1*4=4; 当 i=3时,内层循环 3次,s=4+1+2+3=10,p=4*10=40; 当 i=4时,内层循环 4次,s=10+1+2+3+4=20,p=40*20=800
36、。因此本题答案为 D。22.窗体上有 1个名称为 Text1、内容为空的文本框。编写如下事件过程: Private Sub Text1_KeyUp(KeyCode As Integer,Shift As Integer) Print Text1.Text; End sub 运行程序,并在文本框中输入“123”,则在窗体上的输出结果为_。(分数:2.50)A.123B.112C.12123D.112123 解析:解析 :KeyUp 事件是在松开按钮时发生。按下 1松开时,文本框中显示 1,执行 KeyUp事件过程,在窗体上显示文本框内容,即 1。按下 2松开时,文本框中显示 12,执行 KeyU
37、p事件过程,在窗体上 1后面接着现在显示文本框的内容,即窗体上显示为 112。按下 3松开时,文本框中显示 123,执行 KeyUp事件过程,在窗体上 112后面接着显示文本框的内容,即在窗体上显示为 112123。因此本题选 D。23.窗体上有 1个名称为 Command1的命令按钮,事件过程如下: Private Sub Command1_Click() Dim x%,y%,z% x=InputBox(“请输入第 1个整数“) y=InpntBox(“请输入第 2个整数“) DoUntil x=y If xy Then x=x-y Else y=y-x Loop Print x End S
38、ub 运行程序,单击命令按钮,并输入两个整数 169和 39,则在窗体上显示的内容为_。(分数:2.50)A.11B.13 C.23D.39解析:解析 程序中用 Do循环比较输入的两个数的大小,把较大的数值减去较小的数值后再与较小的值比较,直到两个数值相等。程序中输入 169和 39,则 x=169-39=130,130y 即 13039,因此 x=130-39=91,如此循环直到 x=91-39=52,52-39=13,此时 1339 为假,执行 y=y-x=39-13=26,循环执行y=26-13=13,此时 x,y 都为 13,循环结束,因此窗体上显示为 13。B 选项正确。24.窗体上
39、有 1个名称为 Command1的命令按钮,事件过程及函数过程如下: Private Sub Command1_Click() Dim m As String m=InputBox(“请输入字符串“) Print pick_str(m) End Sub Private Function pick_str(s As String)As String temp=“ i=1 sLen=Len(s) Do While i=sLen/2 temp=temp+Mid(s,i,1)+Mid(s,sLen-i+1,1) i=i+1 Loop pick_str=temp End Function 运行程序,单击
40、命令按钮,并在输入对话框中输入“basic”,则在窗体上显示的内容为_。(分数:2.50)A.bcai B.cbiaC.bcaisD.cbias解析:解析 过程 pick_str的功能是对输入的字符串的字符重新组合,通过 Do循环从原字符串中头尾开始各取一个字符重新组合,循环次数小于等于原字符串长度整除 2的值。当输入的字符串是“basic”时,字符串长度为 5,循环次数为 5/2=2次,因此取出的字符依次是“b”,“c”,“a”,“i”。即“bcai”,因此答案为 A。25.窗体上有 1个名称为 command1的命令按钮,事件过程及函数过程如下: Private Sub Command1_
41、Click() Dim p As Integer P=m(1)+m(2)+m(3) Print p End Sub Private Function m(n As Integer)As Integer Static s As Integer For i=1 To n s=s+1 Next End Function 运行程序,第 2次单击命令按钮 command1时的输出结果为_。(分数:2.50)A.6B.10C.16D.28 解析:解析 在过程 m中 s被定义为静态变量,因此它的值只在第一次调用过程时初始化,以后再调用都不再初始化,而是保留之前的值。m 过程的功能是根据参数值累加,因此第 1
42、次单击时,m(1)+m(2)+m(3)=1+3+6=10,此时变量 s的值,即过程 m的值为 6;第 2次单击时,m(1)+m(2)+m(3)=7+9+12=28,因此答案为 D。26.在窗体上画一个名称为 command1的命令按钮,并编写如下事件过程: Private Sub Command1_Click() x=1 s=0 For i=1 To 5 x=x/i s=s+x Next Print s End Sub 该事件过程的功能是计算_。 AS=1+2+3+4+5 B C D (分数:2.50)A.B.C. D.解析:解析 程序中 5次循环 x的值分别为 1/1,1/1/2=1/1(1
43、*2),1/1/2/3=1/(1*2*3),1/1/2/3/4=1/(1*2*3*4),1/1/2/3/4/5=1/(1*2*3*4*5),可以看出 x的值就是 1/i!,因此过程的功能就是计算 1+1/2!+1/3!+1/4!+1/5!。因此选项 C正确。27.窗体上有一个名称为 Command1的命令按钮,事件过程如下: Private Sub Command1_Click() Dim arr_x(5,5)As Integer For i=1 To 3 For j=2 To 4 arr_x(i,j)=i*j Next j Next i Print arr_x(2,1);arr_x(3,2)
44、;arr_x(4,3) End Sub 运行程序,并单击命令按钮,窗体上显示的内容为_。(分数:2.50)A.0 6 0 B.2 6 0C.0 6 12D.2 6 12解析:解析 程序定义了一个二维数组,然后利用 For循环对其中的部分元素赋值,没有得到赋值的元素值为 0。赋值元素的第 1维范围是 13,第 2维范围是 24。因此在输出语句中,arr_x(2,1)第 2维不在赋值范围,所以此元素值=0,arr_x(3,2)两维都在赋值范围内,所以此元素值为 32=6,arf_x(4,3)第 1维不在赋值范围内,所以此元素值=0。故显示的内容为 060,A选项正确。28.有如下程序: Priva
45、te Sub Form_Click() Dim i As Integer,n As Integer For i=1 To 20 i=i+4 n=n+i If i10 Then Exit For Next Print n End Sub 程序运行后,单击窗体,则输出结果是_。(分数:2.50)A.14B.15C.29D.30 解析:解析 程序中 For循环中的 If语句判断循环变量 i的值如果大于 10,则退出循环。各次循环变量值的变化如下: i=1时,i=i+4=1+4=5,n=n+i=0+5=5,此时 i=5,i10 不成立,i 加 1转入下次循环。 i=6时,i=i+4=6+4=10,n=
46、n+i=5+10=15,此时,i=10,i10 不成立,i 加 1转入下次循环。 i=11时,i=i+4=11+4=15,n=n+i=15+15=30,此时,i=15,i10 成立,退出循环。此时 n=30。故本题答案为 D。29.窗体上有一个名称为 Command1的命令按钮,事件过程如下: Private Sub Command1_Click() Dim num As Integer,x As Integer num=Val(InputBox(“请输入一个正整数“) Select Case num Case Is100 x=x+num Case Is90 x=num Case Else x
47、=x*num End Select Print x: End Sub 运行程序,并在三次单击命令按钮时,分别输入正整数 100、90 和 60,则窗体上显示的内容为_。(分数:2.50)A.0 0 0B.0 0 60 C.0 90 0D.100 0 60解析:解析 按钮事件中变量 x为过程局部变量,第 1次输入 100时,Select 语句执行 Case Else分支,x=x*num=0*100=0。第二次输入 90时,Select 语句执行 case E1se分支,x=x*num=0*90=0。第三次输入60时 Select语句执行 Case Is90 分支,x=num=60。因此窗体上显示
48、为 0 0 60,B 选项正确。30.窗体上有一个名称为 command1的命令按钮,事件过程如下: Private Sub Command1_Click() m=-3.6 If Sgn(m)Then n=Int(m) Else n=Abs(m) End If Print n End Sub 运行程序,并单击命令按钮,窗体上显示的内容为_。(分数:2.50)A.-4 B.-3C.3D.3.6解析:解析 sgn 函数返回参数的符号,参数为负数时返回-1,为 0时,返回 0,为正数时返回 1。所以Sgn(-3.6返回-1。Visual Basic 中把任何非 0值都认为是真,以 0表示假,因此 If语句中将执行n=Int(m)语句。Int 函数返回不大于参数的最大整数,Int(-3.6)要返回小于-3.6 的整数即是-4,因此n=-4,A 选项正确。31.下面程序的运行结果是_。 Option Base 1 Priv