1、二级 VISUAL+BASIC-63 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于_。(分数:2.50)A.定义阶段B.开发阶段C.维护阶段D.上述三个阶段2.下面_属性肯定不是框架控件的属性。(分数:2.50)A.TextB.CaptionC.LeftD.Enabled3.软件按功能可以分为:应用软件、系统软件和支撑软件(或 T 具软件),下面属于系统软件的是_。(分数:2.50)A.编辑软件B.操作系统C.教务管理系统D.浏览器4.下面不能在信息框中输出“VB”的是_。(
2、分数:2.50)A.Msg.Box“VB“B.MsgBox(“VB“)C.MsgBox(“VB“)D.Call MsgBox“VB“5.数据流程图(DFD 图)是_。(分数:2.50)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具6.下列叙述中正确的是_。(分数:2.50)A.对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D.对长度为 n 的有序链表进行对分查找,
3、最坏情况下需要的比较次数为(nlog2n)7.数据库管理系统中负责数据模式定义的语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.在学生管理的关系数据库中,存取一个学生信息的数据单位是_。(分数:2.50)A.文件B.数据库C.字段D.记录9.数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_。(分数:2.50)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段10.有两个关系 R 和 T 如下: (分数:2.50)A.选择B.投影C交D并11.在 VB 集成环境中要结束一个正在运行的工程,可
4、单击工具栏上的一个按钮,这个按钮是_。 A B C D (分数:2.50)A.B.C.D.12.设 x 是整型变量,与函数 IIf(x0,-x,x)有相同结果的代数式是_。(分数:2.50)A.|x|B.-|x|CxD.-x13.设窗体文件中有下面的事件过程: Private sub Command1_Click() Dim s a%=100 Print a End Sub 其中变量 a 和 s 的数据类型分别是_。(分数:2.50)A.整型,整型B.变体型,变体型C.整型,变体型D.变体型,整型14.算法的时间复杂度是指_。(分数:2.50)A.算法的执行时间B.算法所处理的数据量C.算法程
5、序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数15.软件(程序)调试的任务是_。(分数:2.50)A.诊断和改正程序中的错误B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质16.窗体上有一个名称为 Option1 的单选按钮控件,当程序运行时,当单击某个单选按钮时,会调用下面的事件过程: Private Sub Option1_Click(Index As Integer) End Sub 下面关于此过程的参数 Index 的叙述中正确的是_。(分数:2.50)A.Index 为 1 表示单选按钮被选中,为 0 表示未选中B.Index 的值可
6、正可负C.Index 的值用来区分哪个单选按钮被选中D.Index 表示数组中单选按钮的数量17.设窗体中有一个文本框 Text1,若在程序中执行了 Text1.SetFocus,则触发_。(分数:2.50)A.Text1 的 SetFocus 事件B.Text1 的 GotFocus 事件C.Text1 的 LostFocus 事件D.窗体的 GotFocus 事件18.VB 中有 3 个键盘事件:KeyPress、KeyDown、KeyUp,若光标在 Text1 文本框中,则每输入一个字母_。(分数:2.50)A.这 3 个事件都会触发B.只触发 KeyPress 事件C.只触发 KeyD
7、own、KeyUp 事件D.不触发其中任何一个事件19.下面关于标准模块的叙述中错误的是_。(分数:2.50)A.标准模块中可以声明全局变量B.标准模块中可以包含一个 Sub Main 过程,但此过程不能被设置为启动过程C.标准模块中可以包含一些 Public 过程D.一个工程中可以包含有多个标准模块20.设窗体的名称为 Form1,标题为 Win,则窗体的 MouseDown 事件过程的过程名是_。(分数:2.50)A.Form1_MouseDownB.Win_MouseDownC.Form_MouseDownD.MouseDown_Form121.下面正确使用动态数组的是_。(分数:2.5
8、0)A.Dim arr()AS IntegerReDim arr(3,5)B.Dim arr()AS IntegerReDim arr(50)As StringC.Dim arr()ReDim arr(50)As IntegerD.Dim arr(50)As IntegerReDim arr(20)22.下面是求最大公约数的函数的首部: Function gcd(ByVal x As Integer,ByVal y As Integer)As Integer 若要输出 8、12、16 这 3 个数的最大公约数,下面正确的语句是_。(分数:2.50)A.Print gcd(8,12),gcd(1
9、2,16),gcd(16,8)B.Print gcd(8,12,16)C.Print gcd(8),gcd(12),god(16)D.Print gcd(8,gcd(12,16)23.有下面的程序段,其功能是按图 1 所示的规律输出数据: Dim a(3,5)As Integer For i=1 To 3 For j=1 To 5 a(i,j)=i+j Print a(i,j); Next Print Next 若要按图 2 所示的规律继续输出数据,则接在上述程序段后面的程序段应该是_。 (分数:2.50)A.For i=1 To 5For j=1 To 3Print a(j,i);NextP
10、rintNextB.For i=1 To 3For j=1 To 5Print a(j,i);NextPrint NextC.For j=1 To 5For i=1 To 3Print a(j,i);NextPrintNextD.For i=1 To 5For j=1 To 3Print a(i,j);NextPrintNext24.窗体上有一个 Text1 文本框,一个 Command1 命令按钮,并有以下程序: Private Sub Conlmand1_Click() Dim n If Text1.Text“123456“Then n=n+1 Print“口令输入错误“是降序数“ Els
11、e Print n;“不是降序数“ End If End Sub 运行以上程序,发现有错误,需要对给 flag 变量赋值的 If 语句进行修改。以下正确的修改是_。(分数:2.50)A.If i=Len(s)+1 Then flag=False Else flag=TrueB.If i=Len(s)+1 Then flag=True Else flag=FalseC.If i=Len(s)-1 Then flag=False Else flag=TrueD.1f i=Len(s)-1 Then flag=True Else flag=False26.计算的近似值的一个公式是 /4=1-(1/3
12、)+(1/5)-(1/7)+(-1) n-1 (1/2n-1)。 某人编写下面的程序用此公式计算并输出的近似值: Private Sub Command1_Click() PI=l Sign=1 n=20000 For k=3 To n Sign=-Sign PI=PI+Sign/k Next k Print PI*4 End Sub 运行后发现结果为 3.22751,显然,程序需要修改。下面修改方案中正确的是_。(分数:2.50)A.把 For k=3 To n 改为 For k=1 To nB.把 n=20000 改为 n=20000000C.把 For k=3 To n 改为 For k
13、=3 To n Step 2D.把 PI=1 改为 P1=027.下面程序计算并输出的是_。 Private Sub Command1_Click() a=10 s=0 Do s=s+a*a*a a=a-1 Loop Until a=0 Print s End Sub(分数:2.50)A.13+23+33+103 的值B.10!+3!+2!+1!的值C.(1+2+3+10)3 的值D.10 个 103 的和28.若在窗体模块的声明部分声明了如下自定义类型和数组: Private Type rec Code As Integer Caption As String End Type Dim ar
14、r(5)As rec 则下面的输出语句中正确的是_。(分数:2.50)A.Print arr.Code(2),arr.Caption(2)B.Print arr.Code,arr.CaptionC.Print arr(2).Code,arr(2).CaptionD.Print Code(2),Caption(2)29.设窗体上有一个通用对话框控件 CD1,希望在执行下面程序时,打开如图所示的文件对话框: (分数:2.50)A.把 CD1.Action=1 改为 CD1.Action=2B.把“CD1.Filter=”后面字符串中的“所有文件”改为“文本文件”C.在语句 CD1.Action=1
15、 的前面添加:CD1.FilterIndex=3D.把 CD1.FileName=“改为 CD1.FileName=“文本文件“30.下面程序运行时,若输入 395,则输出结果是_。 Private Sub Command1_Click() Dim x% x=InputBox(“请输入一个 3 位整数“) Print x Mod 10,x/100,(x Mod 100)/10 End Sub(分数:2.50)A.3 9 5B.5 3 9C.5 9 3D.3 5 931.窗体上有 List1、List2 两个列表框,List1 中有若干列表项(见图),并有下面的程序: (分数:2.50)A.在
16、List2 中插入了“外语”、“物理”两项B.在 List1 中删除了“外语”、“物理”两项C.同时产生 A 和 B 的结果D.把 List1 中最后 1 个列表项删除并插入到 List2 中32.设工程中有 2 个窗体:Form1、Form2、Form1 为启动窗体。Form2 中有菜单,其结构如表。要求在程序运行时,在 Form1 的文本框 Text1 中输入口令并按回车键(回车键的 ASCII 码为 13)后,隐藏 Form1,显示Form2。若口令为“Teacher”,所有菜单项都可见;否则看不到“成绩录入”菜单项。为此,某人在Form1 窗体文件中编写如下程序: Private Su
17、b Text 1_KeyPress(KeyAscii As Integer) If KeyAscii=13 Then If Text1.Text=“Teaeher“Then Form2.input.Visible=True Else Form2.input.Visible=False End If End If Form1.Hide Form2.Show End Sub 菜单结构 标题 名称 级别 成绩管理 mark 1 成绩查询 query 2 成绩录入 input 3 程序运行时发现刚输入口令时就隐藏了 Form1,显示了 Form2,程序需要修改。下面修改方案中正确的是_。(分数:2.5
18、0)A.把 Form1 中 Text1 文本框及相关程序放到 Form2 窗体中B.把 Form1.Hide、Form2.Show 两行移动 2 个 End If 之间C.把 If KeyAscii=13 Then 改为 If KeyAseii=“Teacher“ThenD.把 2 个 Form2.input.Visible 中的“Form2.”删去33.某人编写了下面的程序,希望能把 Text1 文本框中的内容写到 out.txt 文件中: Private Sub Command1_Click() Open“out.txt“For Output As #2 Print “Text1“ Clo
19、se #2 End Sub 调试时发现没有达到目的,为实现上述目的,应做的修改是_。(分数:2.50)A.把 Print “Text1“改为 Print#2,Text1B.把 Print “Text1“改为 Print Text1C.把 Print “Text1“改为 Write “Text1“D.把所有#2 改为#134.窗体上有一个名为 Command1 的命令按钮,并有下面的程序: Private Sub Command1_Click() Dim art(5)As Integer For k=1 To 5 arr(k)=k Next k prog arr() For k=1 To 5 P
20、rint arr(k); Next k End Sub Sub prog(a()As Integer) n=UBound(a) For i=n To 2 step-1 For j=1 To n-1 if a(j)a(j+1) Then t=a(j):a(j)=a(j+1);a(j+1)=t End If Next j Next i End Sub 程序运行时,单击命令按钮后显示的是_。(分数:2.50)A.12345B.54321C.01234D.4321035.下面程序运行时,若输入“Visual Basic Prograrmming”,则在窗体上输出的是_。 Private Sub Com
21、mand1_Click() Dim cout(25)As Integer, ch As String ch=Ucase(InputBox(“请输入字母字符串“) For k=1 To Len(ch) n=Asc(Mid(ch,k,1)-Asc(“A“) If n=0 Then count(n)=count(n)+1 End If Next k m=count(0) For k=1 To 25 If mcount(k)Then m=count(k) End If Next k Print m End Sub(分数:2.50)A.0B.1C.2D.336.以下叙述中正确的是_。(分数:2.50)A
22、.窗体及窗体上所有控件的事件过程代码都保存在窗体文件中B.在工程中只有启动窗体可以建立菜单C.窗体名称必须与窗体文件的名称相同D.程序一定是从某个窗体开始执行的37.窗体上有一个名称为 Command1 的命令按钮,其单击事件过程代码如下: Private Sub Command1_Click() Static x As Variant n=0 x=Array(1,2,3,4,5,6,7,8,9,10) While n=4 x(n)=x(n+5) Print x(n); n=n+1 Wend End Sub 运行程序,单击命令按钮 Command1,窗体上显示的是_。(分数:2.50)A.1
23、2 3 4 5B.6 7 8 9 10C.2 3 4 5 6D.6 2 3 4 538.窗体上有一个名称为 Label1 的标签和一个名称为 Command1 的命令按钮。命令按钮的单击事件过程如下: Private Sub Command1_Click() x=InputBox(“输入 x:“,0) y=InputBox(“输入 y:“,0) Label1.Caption=x+y End Sub 运行程序,单击命令按钮,在输入对话框中分别输入 2、3,运行的结果是_。(分数:2.50)A.程序运行有错误,数据类型不匹配B.程序运行有错误,InputBox 函数的格式不对C.在 Label1
24、中显示 5D.在 Label1 中显示 2339.窗体上有一个名称为 Shape1 的形状控件和由三个命令按钮组成的名称为 cmdDraw 的控件数组。窗体外观如图所示(从上到下的 3 个命令按钮的下标值分别为 0、1、2)。 (分数:2.50)A.Case 2 分支有错,此 Case 后面表达式的值应该与赋给 Shape1.Shape 的值一致B.程序运行有错,控件数组的下标应该从 1 开始C.Index 是形状控件的参数D.程序正常运行,形状控件被显示为圆形40.要求当鼠标在图片框 P1 中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是_。(分数:2.50)A
25、.Private Sub P1_MouseMove(Button As Integer,Shift As Integer,X As Single,YAs Single)Print X YEnd SubB.Private Sub P1_MouseDown(Button As Integer,Shift As Integer,X As Single,YAS Single)Picture.Print X,YEnd SubC.Private Sub P1_MouseMove(Button As Integer,Shift As Integer,X As Single,YAs Single)P1.Pri
26、nt X,YEnd SubD.Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,YAs Single)P1.Print X,YEnd Sub二级 VISUAL+BASIC-63 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于_。(分数:2.50)A.定义阶段B.开发阶段 C.维护阶段D.上述三个阶段解析:解析 开发阶段在开发初期分为需求分析、总体设计、详细设计 3 个阶段,在开发后期
27、分为编码、测试两个子阶段。2.下面_属性肯定不是框架控件的属性。(分数:2.50)A.Text B.CaptionC.LeftD.Enabled解析:解析 Text 是文本框的基本属性,Caption 属性是设置名称,Left 是居左或向左,Enabled 为设置属性可用。3.软件按功能可以分为:应用软件、系统软件和支撑软件(或 T 具软件),下面属于系统软件的是_。(分数:2.50)A.编辑软件B.操作系统 C.教务管理系统D.浏览器解析:解析 编辑软件和浏览器属于工具软件,教务系统是应用软件。4.下面不能在信息框中输出“VB”的是_。(分数:2.50)A.Msg.Box“VB“B.MsgB
28、ox(“VB“)C.MsgBox(“VB“)D.Call MsgBox“VB“ 解析:解析 Call 为调用子程序,本题中 call 是调用了一个写有“VB”的对话框。不是直接在消息框中输出 VB。5.数据流程图(DFD 图)是_。(分数:2.50)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具 D.面向对象方法的需求分析工具解析:解析 数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。6.下列叙述中正确的是_。(分数:2.50)A.对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB.对长度为 n 的有序链表进行对分查找,最坏情况下需要
29、的比较次数为(n/2)C.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n) D.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)解析:解析 二分法查找只适用于顺序存储的有序表,对于长度为 n 的有序线性表,最坏情况只需比较log 2 n 次。7.数据库管理系统中负责数据模式定义的语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言 D.数据控制语言解析:解析 模式描述语言(Data Description Language,DDL)是用来描述、定义的,体现、反映了数据库系统的整体观。8.在学生管理的关系数据库
30、中,存取一个学生信息的数据单位是_。(分数:2.50)A.文件B.数据库C.字段D.记录 解析:解析 一个数据库由一个文件或文件集合组成。这些文件中的信息可分解成一个个记录。9.数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_。(分数:2.50)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段 D.物理设计阶段解析:解析 E-R(Entity-Relationship)图为实体一联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。10.有两个关系 R 和 T 如下: (分数:2.50)A.选择 B.投影C交D并解析:解析 选择是建
31、立一个含有与原始关系相同列数的新表,但是行只包括那些满足某些特定标准的原始关系行。11.在 VB 集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是_。 A B C D (分数:2.50)A.B.C.D. 解析:解析 本题考查控件的基本知识,A 选项为恢复键入,B 选项为运行工程或启动工程,C 选项为添加 Standard EXE 工程,D 选项为结束工程。12.设 x 是整型变量,与函数 IIf(x0,-x,x)有相同结果的代数式是_。(分数:2.50)A.|x|B.-|x| CxD.-x解析:解析 IIf 函数可以用来执行简单的条件判断操作,它是“IfThenElse
32、”结构的简写版本,是“Immediate If”的缩略。其格式如下:IIf(条件,True 部分,False 部分),“条件”是一个逻辑表达式。当“条件”为真时,IIf 函数返回“True 部分”,否则返回“False 部分”。“True 部分”或“False 部分”可以是表达式、变量或其他函数。该函数与 C 语言中的三目运算符“?:”功能相似,可以使程序大为简化。本题中当输入的 x 大于 0 时,返回-x 的值,当 x 为负数时,不符合条件,返回 x 本身,因为 x 本身就是负数,所以本题两种条件下返回的都一定是负值,本题答案为 B 选项。13.设窗体文件中有下面的事件过程: Private
33、 sub Command1_Click() Dim s a%=100 Print a End Sub 其中变量 a 和 s 的数据类型分别是_。(分数:2.50)A.整型,整型B.变体型,变体型C.整型,变体型 D.变体型,整型解析:解析 本题中最后输出 a 的值为 a%100 的余数,一定是整型,s 未定义,在 VB 中,未定义的变量为变体型,所以本题答案为 C。14.算法的时间复杂度是指_。(分数:2.50)A.算法的执行时间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数 解析:解析 算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机
34、算法是问题规模 n 的函数 f(n),算法的时间复杂度也因此记做 T(n)=O(f(n)。因此,问题的规模 n 越大,算法执行的时间的增长率与 f(n)的增长率正相关,称作渐进时间复杂度(Asymptotic Time Complexity)。简单来说,就是算法在执行过程中所需要的基本运算次数。15.软件(程序)调试的任务是_。(分数:2.50)A.诊断和改正程序中的错误 B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质解析:解析 调试的目的是发现错误或发现导致程序失效的错误原因,并修改程序以修正错误。调试是测试之后的活动。16.窗体上有一个名称为 Opti
35、on1 的单选按钮控件,当程序运行时,当单击某个单选按钮时,会调用下面的事件过程: Private Sub Option1_Click(Index As Integer) End Sub 下面关于此过程的参数 Index 的叙述中正确的是_。(分数:2.50)A.Index 为 1 表示单选按钮被选中,为 0 表示未选中B.Index 的值可正可负C.Index 的值用来区分哪个单选按钮被选中 D.Index 表示数组中单选按钮的数量解析:解析 当单击单选按钮时,Index 值用来表示哪个单选按钮被选中了。所以 C 选项正确。17.设窗体中有一个文本框 Text1,若在程序中执行了 Text1
36、.SetFocus,则触发_。(分数:2.50)A.Text1 的 SetFocus 事件B.Text1 的 GotFocus 事件 C.Text1 的 LostFocus 事件D.窗体的 GotFocus 事件解析:解析 SetFocus 是将光标定位的意思,本题中要将光标定位到 Text1 文本框,所以应该是 Text1文本框得到光标。本题答案为 B 选项。18.VB 中有 3 个键盘事件:KeyPress、KeyDown、KeyUp,若光标在 Text1 文本框中,则每输入一个字母_。(分数:2.50)A.这 3 个事件都会触发 B.只触发 KeyPress 事件C.只触发 KeyDow
37、n、KeyUp 事件D.不触发其中任何一个事件解析:解析 每输入一个字符,经历了键盘上的字符被按下,又弹起,或再次被按下,又被弹起的过程,所以此过程涉及了 KeyPrass、KeyDown 和 KeyUp 这三个过程。19.下面关于标准模块的叙述中错误的是_。(分数:2.50)A.标准模块中可以声明全局变量B.标准模块中可以包含一个 Sub Main 过程,但此过程不能被设置为启动过程 C.标准模块中可以包含一些 Public 过程D.一个工程中可以包含有多个标准模块解析:解析 一个工程中可以包含多个标准模块,在标准模块中包含一个或多个 Public 过程,可以声明全局变量,可以包含一个 Su
38、b Main 过程,并且设置为启动过程。20.设窗体的名称为 Form1,标题为 Win,则窗体的 MouseDown 事件过程的过程名是_。(分数:2.50)A.Form1_MouseDown B.Win_MouseDownC.Form_MouseDownD.MouseDown_Form1解析:解析 本题考查鼠标事件过程,鼠标事件过程可写为:窗体名_事件过程名,与标题名无关。C 选项窗体名错误,不可以统写。所以本题答案为 A 选项。21.下面正确使用动态数组的是_。(分数:2.50)A.Dim arr()AS IntegerReDim arr(3,5) B.Dim arr()AS Integ
39、erReDim arr(50)As StringC.Dim arr()ReDim arr(50)As IntegerD.Dim arr(50)As IntegerReDim arr(20)解析:解析 定义动态数组使用 Dim 数组名As 数组类型,不规定数组的大小。重定义后,可以定义数组的长度,但不能定义数组的类型。本题 A 选项正确。选项 B 中,重定义后不可改变数组类型。选项 C 中必须先定义数组类型,选项 D 中开始定义了数组长度,不是动态数组。22.下面是求最大公约数的函数的首部: Function gcd(ByVal x As Integer,ByVal y As Integer)A
40、s Integer 若要输出 8、12、16 这 3 个数的最大公约数,下面正确的语句是_。(分数:2.50)A.Print gcd(8,12),gcd(12,16),gcd(16,8)B.Print gcd(8,12,16)C.Print gcd(8),gcd(12),god(16)D.Print gcd(8,gcd(12,16) 解析:解析 GCD 函数返回两个或多个整数的最大公约数,最大公约数是能分别将各个参数除尽的最大整数。其语法格式为 GCD(num1,num2,),Num1,hum2,为 1255 个数值,如果参数为非整数,则截尾取整。所以本题正确的写法是 gcd(8,gcd(12
41、,16)。23.有下面的程序段,其功能是按图 1 所示的规律输出数据: Dim a(3,5)As Integer For i=1 To 3 For j=1 To 5 a(i,j)=i+j Print a(i,j); Next Print Next 若要按图 2 所示的规律继续输出数据,则接在上述程序段后面的程序段应该是_。 (分数:2.50)A.For i=1 To 5For j=1 To 3Print a(j,i);NextPrintNext B.For i=1 To 3For j=1 To 5Print a(j,i);NextPrint NextC.For j=1 To 5For i=1
42、To 3Print a(j,i);NextPrintNextD.For i=1 To 5For j=1 To 3Print a(i,j);NextPrintNext解析:解析 本题是要得出矩阵的倒置,首先本题定义了一个 3 行 5 列的矩阵,转换完成后要变成 5 行3 列,把原来的行元素变成后来的列元素,所以先输出 j,再输出 i。故本题答案为 A 选项。24.窗体上有一个 Text1 文本框,一个 Command1 命令按钮,并有以下程序: Private Sub Conlmand1_Click() Dim n If Text1.Text“123456“Then n=n+1 Print“口令
43、输入错误“是降序数“ Else Print n;“不是降序数“ End If End Sub 运行以上程序,发现有错误,需要对给 flag 变量赋值的 If 语句进行修改。以下正确的修改是_。(分数:2.50)A.If i=Len(s)+1 Then flag=False Else flag=TrueB.If i=Len(s)+1 Then flag=True Else flag=False C.If i=Len(s)-1 Then flag=False Else flag=TrueD.1f i=Len(s)-1 Then flag=True Else flag=False解析:解析 此题的考
44、查点在 for 循环,当最后一次执行完 Next 的时候,i 会越界。越界后是 len(s)+1,已经比 i 的长度要长了。因此要对越界进行判断。26.计算的近似值的一个公式是 /4=1-(1/3)+(1/5)-(1/7)+(-1) n-1 (1/2n-1)。 某人编写下面的程序用此公式计算并输出的近似值: Private Sub Command1_Click() PI=l Sign=1 n=20000 For k=3 To n Sign=-Sign PI=PI+Sign/k Next k Print PI*4 End Sub 运行后发现结果为 3.22751,显然,程序需要修改。下面修改方案
45、中正确的是_。(分数:2.50)A.把 For k=3 To n 改为 For k=1 To nB.把 n=20000 改为 n=20000000C.把 For k=3 To n 改为 For k=3 To n Step 2 D.把 PI=1 改为 P1=0解析:解析 Step 用在 for 循环中,表示每一次循环,变量增加几,本题中按照公式,k 作为分母,值应为奇数,所以应用 For k=3 To n step 2。是从 3 开始的奇数,所以本题为 C。27.下面程序计算并输出的是_。 Private Sub Command1_Click() a=10 s=0 Do s=s+a*a*a a=
46、a-1 Loop Until a=0 Print s End Sub(分数:2.50)A.13+23+33+103 的值 B.10!+3!+2!+1!的值C.(1+2+3+10)3 的值D.10 个 103 的和解析:解析 本题中 s=s+a*a*a,即求 a3。a=a-1 即把每次 a 减 1,直到 a=0 退出循环,所以本题是求所有的 a3 之和,所以 A 选项正确。28.若在窗体模块的声明部分声明了如下自定义类型和数组: Private Type rec Code As Integer Caption As String End Type Dim arr(5)As rec 则下面的输出语
47、句中正确的是_。(分数:2.50)A.Print arr.Code(2),arr.Caption(2)B.Print arr.Code,arr.CaptionC.Print arr(2).Code,arr(2).Caption D.Print Code(2),Caption(2)解析:解析 本题定义了元素为 5 的数组,并且定义 Code 和 Caption 都为整型,正确输出语句应为Print arr(2).Code,arr(2).Caption。29.设窗体上有一个通用对话框控件 CD1,希望在执行下面程序时,打开如图所示的文件对话框: (分数:2.50)A.把 CD1.Action=1
48、改为 CD1.Action=2B.把“CD1.Filter=”后面字符串中的“所有文件”改为“文本文件”C.在语句 CD1.Action=1 的前面添加:CD1.FilterIndex=3 D.把 CD1.FileName=“改为 CD1.FileName=“文本文件“解析:解析 本题中 CD1 显示的文件类型为 Filter 中的第 1 个“所有文件”,应在 CD1.Action=1 语句的前面添加 CD1.FilterIndex=3 语句,将文本类型设置为“文本文件”。所以本题答案为 C。30.下面程序运行时,若输入 395,则输出结果是_。 Private Sub Command1_Click() Dim x% x=InputBox(“请输入一个 3 位整数“) Print x Mod 10,x/100,(x Mod 100)/10 End Sub(分数:2.50)A.3 9 5B.5 3 9 C.5 9 3D.3 5 9解析:解析 本题是要把一