1、计算机二级考试 VISUAL+FOXPRO十二 2015年及答案解析(总分:40.00,做题时间:90 分钟)单选1.数据流图中带有箭头的线段表示的是( )。(分数:1.00)A.控制流B.事件驱动C.模块调用D.数据流2.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(分数:1.00)A.一对一B.一对多C.多对一D.多对多3.在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:1.00)A.O(n)B.O (n2)C.O (log2n)D.O(n log2n)4.在设计窗体时双击窗体的任何地方,可以打开的窗口是( )。(分数:1.00)A.代码窗口
2、B.属性窗口C.工程资源管理器窗口D.工具箱窗口5.在数据管理技术发展的三个阶段中,数据共享最好的是( )。(分数:1.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同6.在软件开发中,需求分析阶段可以使用的工具是( )。(分数:1.00)A.NS图B.DFD图C.PAD图D.程序流程图7.在面向对象方法中,不属于“对象”基本特点的是( )。(分数:1.00)A.一致性B.分类性C.多态性D.标识唯一性8.有三个关系 R、S 和 T如下: (分数:1.00)A.笛卡儿积B.交C.并D.自然连接9.个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次
3、人栈,然后再次出栈,则元素出栈的顺序是( )。(分数:1.00)A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA10.下列叙述中正确的是( )。(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的11.下列叙述中正确的是( )。(分数:1.00)A.顺序存储结构的存储空间定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对
4、线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间12.若变量 a未事先定义而直接使用(例如:a=0),则变量 a的类型是( )。(分数:1.00)A.IntegerB.StringC.BooleanD.Variant13.为把圆周率的近似值 314159 存放在变量 pi中,应该把变量 pi定义为( )。(分数:1.00)A.Dim pi As IntegerB.Dim pi(7)As IntegerC.Dim pi As SingleD.Dim pi As Long14.表达式 2*32+4*22+32
5、的值是( )。(分数:1.00)A.30B.31C.49D.4815.下列不能输出“Program”的语句是( )。(分数:1.00)A.Print Mid(”VBProgram”,3,7)B.Print Right(”VBProgram”,7)C.Print Mid(”VBProgram”,3)D.Print Left(”VBProgram”,7)16.执行下列语句: strInput=InputBox(”请输入字符串”,”字符串对话框”,”字符串”) 将显示输入对话框。此时如果直接单击“确定”按钮,则变量 strInput的内容是( )。(分数:1.00)A.”请输入字符串”B.”字符串对
6、话框”C.”字符串”D.空字符串17.下列叙述中错误的是( )。(分数:1.00)A.在通用过程中,多个形式参数之间可以用逗号作为分隔符B.在 Print方法中,多个输出项之间可以用逗号作为分隔符C.在 Dim语句中,所定义的多个变量可以用逗号作为分隔符D.当一行中有多个语句时,可以用逗号作为分隔符18.设窗体上有个列表框控件 List 1,含有若干列表项。下列能表示当前被选中的列表项内容的是( )。(分数:1.00)A.List1ListB.List 1List IndexC.List 1TextD.List 1Index19.设 a=4,b=5,c=6,执行语句 Print a(分数:1.
7、00)A.TrueB.FalseC.出错信息D.020.窗体上有一个名称为 Frame1的框架,如下图所示,若要把框架上显示的“Frame1”改为汉字“框架”,下列正确的语句是( )。 (分数:1.00)A.Frame1Name=”框架”B.Frame1Caption=”框架”C.Frame1Text=”框架”D.Frame1Value=”框架”21.窗体上有 Command1、Command2 两个命令按钮。现编写以下程序: (分数:1.00)A.5B.6C.10D.1122.在窗体上画个命令按钮和个标签,其名称分别为 Command1和 Label1,然后编写如下事件过程: (分数:1.0
8、0)A.11B.12C.16D.2023.在窗体上画一个名为 Command1的命令按钮,然后编写以下程序: (分数:1.00)A.6B.5C.7D.824.下列关于过程及过程参数的描述中,错误的是( )。(分数:1.00)A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时,使用的是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中D.窗体(Form)可以作为过程的参数25.在窗体上画个名称为 Command1的命令按钮,再画两个名称分别为 Label1、Label 的标签,然后编写如下程序代码: (分数:1.00)A.25和 3B.5和 3C.25和 6D
9、.5和 626.有如下过程代码: (分数:1.00)A.21B.23C.61D.6327.在窗体上画个名称为 Text1的文本框和个名称为 Command1的命令按钮,然后编写如下事件过程: (分数:1.00)A.2B.3C.4D.528.假定有以下循环结构: (分数:1.00)A.如果“条件表达式”的值是 0,则一次循环体也不执行B.如果“条件表达式”的值不为 0,则至少执行一次循环体C.不论“条件表达式”的值是否为真,至少要执行一次循环体D.如果“条件表达式”的值恒为 0,则无限次执行循环体29.在窗体上画个命令按钮,然后编写如下事件过程: (分数:1.00)A.Do循环执行的次数为 10
10、00次B.在 For循环中产生的随机数小于或等于 100C.当所产生的随机数为 12时结束所有循环D.当所产生的随机数为 65、68 或 92时窗体关闭、程序结束30.在窗体上画一个名为 Command1的命令按钮。然后编写如下代码: (分数:1.00)A.1234B.12C.34D.432131.设有如下通用过程: (分数:1.00)A.ABCDEFB.abcdefC.AFBECDD.DEFABC32.某人为计算 n!(O (分数:1.00)A.把 p=1改为 p=11B.把 For k=n1 To 2 Step1 改为 For k=1 To n1C.把 For k=n1 To 2 Step
11、1 改为 For k=1 To nD.把 For k=n1 To 2 Step1 改为 For k=2 To n33.假定有下列函数过程: (分数:1.00)A.ABCDEFGB.abcdefgC.GFEDCBAD.gfedcba34.为计算 an的值,某人编写了函数 power如下: (分数:1.00)A.把 For k=1 To n改为 For k=2 To nB.把 pP+a改为 p=panC.把 For k=1 To n改为 For k=1 To n1D.把 p=a改为 p=135.某人编写了下面的程序: 此程序功能是输入 2个正整数,反序输出这 2个数的每位数字,再反序输出这 2个数
12、之和的每一位数字。例如,若输入 123和 234,则应该输出: (分数:1.00)A.把过程 pro的形式参数 n As Integer改为 ByVal n As IntegerB.把 Call pro(a+b)改为 pro a+bC.把 nn10 改为 nn10D.在 pro b语句之后增加语句 c=a+b,再把 Callpro(a+b)改为 pro C36.窗体上有一个名称为 Picture1的图片框控件,一个名称为 Timer1的计时器控件,其 InterVal属性值为 1 000。要求每隔 5秒钟图片框右移 100。现编写程序如下: (分数:1.00)A.程序中没有设置 5秒钟的时间,
13、所以不能每隔 5秒移动图片框一次B.此程序运行时图片框位置保持不动C.此程序运行时图片框移动方向与题目要求相反D.If语句条件中的“Picture1LeftForm1Width”用于限制图片框移动的范围37.窗体上有一个名称为 Command1的命令按钮,其事件过程如下: (分数:1.00)A.1223+3445B.12+2334+45C.112+2334+45D.1+1223+344538.窗体上有一个名称为 Command1的命令按钮,其单击事件过程如下: (分数:1.00)A.43B.17C.37D.2339.窗体上有一个名称为 Command1的命令按钮,其事件过程如下: (分数:1.
14、00)A.程序把 File1txt 文件的内容存放到 File2txt 文件中B.程序中打开了两个随机文件C.程序中打开了两个顺序文件D.“EOF(1)”中的“1”对应于 File1txt 文件40.以下关于文件及相关操作的叙述中错误的是( )。(分数:1.00)A.以 Append方式打开的文件可以进行读写操作B.文件记录的各个字段的数据类型可以不同C.随机文件各记录的长度是相同的D.随机文件可以通过记录号直接访问文件中的指定记录计算机二级考试 VISUAL+FOXPRO十二 2015年答案解析(总分:40.00,做题时间:90 分钟)单选1.数据流图中带有箭头的线段表示的是( )。(分数:
15、1.00)A.控制流B.事件驱动C.模块调用D.数据流 解析:【解析】数据流图是从数据传递和加工的角度来刻画数据流从输入到输出的移动变换过程。其中带箭头的线段表示数据流,沿箭头方向表示传递数据的通道,般在旁边标注数据流名。2.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(分数:1.00)A.一对一B.一对多 C.多对一D.多对多解析:【解析】两个实体集间的联系可以有下面 4种:对联系、对多或多对联系、多对多联系。由于个宿舍可以住多个学生,所以它们的联系是对多联系。3.在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:1.00)A.O(n)B.O (
16、n2)C.O (log2n) D.O(n log2n)解析:【解析】对于长度为 n的有序线性表,在最坏情况下,二分法查找只需比较 log2n次,而顺序查找需要比较 n次。4.在设计窗体时双击窗体的任何地方,可以打开的窗口是( )。(分数:1.00)A.代码窗口 B.属性窗口C.工程资源管理器窗口D.工具箱窗口解析:【解析】可以用以下 4种方法进入事件过程(即打开“代码窗口”): (1)双击窗体或窗体上的控件。(2)执行“视图”菜单中的“代码窗口”命令。 (3)按【F7】键。 (4)单击“工程资源管理器”窗口中的“查看代码”命令。5.在数据管理技术发展的三个阶段中,数据共享最好的是( )。(分数
17、:1.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段 D.三个阶段相同解析:【解析】数据管理技术的发展经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段无共享,冗余度大;文件管理阶段共享性差,冗余度大;数据库系统管理阶段共享性大,冗余度小。6.在软件开发中,需求分析阶段可以使用的工具是( )。(分数:1.00)A.NS图B.DFD图 C.PAD图D.程序流程图解析:【解析】在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数据字典(DD)、判断树和判断表。7.在面向对象方法中,不属于“对象”基本特点的是( )。(分数:1.00)A.一致性 B.分类性C
18、.多态性D.标识唯一性解析:【解析】对象具有如下特征:标识唯性、分类性、多态性、封装性、模块独立性。8.有三个关系 R、S 和 T如下: (分数:1.00)A.笛卡儿积B.交C.并D.自然连接 解析:【解析】在实际应用中,最常用的连接是个叫自然连接的特例。它满足下面的条件:两关系间有公共域、通过公共域的相等值进行连接。通过观察三个关系 R、S、T 的结果可知,关系 T是由关系 R和 S进行自然连接得到的。9.个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次人栈,然后再次出栈,则元素出栈的顺序是( )。(分数:1.00)A.12345ABCDEB.EDCBA54321
19、C.ABCDE12345D.54321EDCBA解析:【解析】栈是按照“先进后出”或“后进先出”的原则组织数据的。所以出栈顺序是EDCBA54321。10.下列叙述中正确的是( )。(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的 解析:【解析】循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。11.下列叙述中正确的是( )。(分
20、数:1.00)A.顺序存储结构的存储空间定是连续的,链式存储结构的存储空间不一定是连续的 B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析:【解析】顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现,而链式存储结构的存储空间不定是连续的。12.若变量 a未事先定义而直接使用(例如:a=0),则变量 a的类型是( )。(分数:1.00)A.IntegerB.StringC.BooleanD.Variant
21、 解析:【解析】任何变量都属于定的数据类型,包括基本类型和用户定义的数据类型。在 Visual Basic中,可以用下面几种方式来规定个变量的类型:(1)使用类型说明符来标识。 (2)通过定义变量来指明其数据类型。 (3)用 Deftype语句在窗体的标准模块、窗体模块的声明部分,定义组以该语句中指定范围内的字母和以这些字母开头的变量名的数据类型。 (4)未经显示定义或用类型说明符标记的变量,其数据类型被隐式地说明为变体类型(Variant)。13.为把圆周率的近似值 314159 存放在变量 pi中,应该把变量 pi定义为( )。(分数:1.00)A.Dim pi As IntegerB.D
22、im pi(7)As IntegerC.Dim pi As Single D.Dim pi As Long解析:【解析】Visual Basic 的数值数据分为整型数和浮点数两类,其中整型数又分为整数(Integer,取值范围为3276832767)和长整数(Long,取值范围为21474836482147483647),浮点数分为单精度浮点数(Sin-gle,取值范围为负数:3402823E+381401298E45,正数:1401298E453402823E+38)和双精度浮点数(Double)。 定义变量的语句格式为:DeClare 变量名As数据类型。其中,DeClare 可以是 Di
23、m、Static、Redim、Public 或 Private。14.表达式 2*32+4*22+32 的值是( )。(分数:1.00)A.30B.31 C.49D.48解析:【解析】在 Visual Basic的常见运算符中,幂运算符()优先级最高,其次是取负()、乘(*)、浮点除()、整除()、取模(Mod)、加(+)、减()、字符串连接(&)。其中,乘和浮点除是同级运算符,加和减是同级运算符。按优先级顺序本题逐步运算结果为: 2*32+4*22+32=2*9+4*22+9=18+82+9=18+4+9=31。15.下列不能输出“Program”的语句是( )。(分数:1.00)A.Pri
24、nt Mid(”VBProgram”,3,7)B.Print Right(”VBProgram”,7)C.Print Mid(”VBProgram”,3)D.Print Left(”VBProgram”,7) 解析:【解析】Mid(字符串,起始位置,个数)函数用于从已有字符串中取出从指定位置开始的含指定个数字符的字符串,若不指定个数将返回字符串中从参数“起始位置”到字符串尾端的所有字符;Left(字符串,个数)函数用于取出已有字符串最左边指定个数的字符串;Right(字符串,个数)函数用于取出已有字符串最右边指定个数的字符串。本题中 Mid(“VBProgram“,3,7)的值为字符串”Pro
25、-gram”,Right(“VBProgram“,7)的值为字符串“VBProgram“,Mid(“VBProgram“,3)的值为字符串“VBProgram“,Left(“VB-Program“,7)的值为字符串”VBProgr”。16.执行下列语句: strInput=InputBox(”请输入字符串”,”字符串对话框”,”字符串”) 将显示输入对话框。此时如果直接单击“确定”按钮,则变量 strInput的内容是( )。(分数:1.00)A.”请输入字符串”B.”字符串对话框”C.”字符串” D.空字符串解析:【解析】InputBox( )函数用于显示个输入框,提示用户输入个数据,该函数
26、返回值默认为字符串类型,其常用语法格式为: InputBox(Prompt,Title,Default) 其中,Prompt 字符串为输入框上显示的提示文本;Title 字符串在输入框的标题栏上显示;Default 字符串为输入框的默认文本。17.下列叙述中错误的是( )。(分数:1.00)A.在通用过程中,多个形式参数之间可以用逗号作为分隔符B.在 Print方法中,多个输出项之间可以用逗号作为分隔符C.在 Dim语句中,所定义的多个变量可以用逗号作为分隔符D.当一行中有多个语句时,可以用逗号作为分隔符 解析:【解析】在 Visual Basic中,当定义个通用过程时,其参数列表中的各个形式
27、参数间用逗号分隔;当使用 Print方法输出多个表达式或字符串时,各表达式或字符串间用分隔符(逗号、分号或空格)隔开,其中使用逗号分隔时各数据项按分区格式显示;当在个 Dim语句中定义多个变量时,每个变量都要用 AS子句声明其类型(用逗号分隔),否则该变量被视为变体类型;Visual BasiC 中的语句执行具体操作的指令,通常行输入条语句,也可把多条语句放在行,各语句间用冒号(:)隔开,还可通过续行符( )将条语句分别放在多行。18.设窗体上有个列表框控件 List 1,含有若干列表项。下列能表示当前被选中的列表项内容的是( )。(分数:1.00)A.List1ListB.List 1Lis
28、t IndexC.List 1Text D.List 1Index解析:【解析】列表框控件(ListBox)用于提供可做单或多项选择的列表项,列表框的 Text属性用于返回列表框中选择的项目内容,返回值总与列表框的 List(ListIndex)属性的返回值相同,而列表框的ListIndex属性只返回当前选择的项目的索引号。19.设 a=4,b=5,c=6,执行语句 Print a(分数:1.00)A.True B.FalseC.出错信息D.0解析:【解析】在个包含多种运算的表达式中,优先级顺序为:首先进行函数运算,接着进行算术运算,然后进行关系运算(=、=、),最后进行逻辑运算(NotAnd
29、OrXorEqvImp)。按优先级顺序本题逐步运算结果为:420.窗体上有一个名称为 Frame1的框架,如下图所示,若要把框架上显示的“Frame1”改为汉字“框架”,下列正确的语句是( )。 (分数:1.00)A.Frame1Name=”框架”B.Frame1Caption=”框架” C.Frame1Text=”框架”D.Frame1Value=”框架”解析:【解析】框架(Frame1)是个容器控件,用于将屏幕上的对象分组,其 Caption属性用于设置或返回在其标题栏上显示的文本信息。21.窗体上有 Command1、Command2 两个命令按钮。现编写以下程序: (分数:1.00)A
30、.5B.6 C.10D.11解析:【解析】Visual Basic 中有两种类型的数组:固定大小的数组和动态数组。固定大小的数组总是保持同样的大小,而动态数组在运行时可以改变大小。要使用动态数组,可以先声明个不指明大小的空数组(即没有维数下标),然后再用 ReDim语句在过程中改变数组大小。在个程序中,可以多次用 ReDim语句定义同个数组,以修改其元素的个数。 Option Base 0 语句的作用是限定数组下标的默认下限值为 0,此时数组某维的元素个数等于该维下标上界值加 1。 本题中,数组 a的上界先被指定为 10,后又重新设定为 5,故该数组中元素的个数应为 5+1=6。22.在窗体上
31、画个命令按钮和个标签,其名称分别为 Command1和 Label1,然后编写如下事件过程: (分数:1.00)A.11B.12 C.16D.20解析:【解析】For 循环也称为 ForNext循环或计数循环。其般格式如下: For 循环变量=初值 To终值step 步长 循环体 Exit For Next循环变量 执行过程中,循环次数=Int(终值初值)步长)+1 本题实质是判断 For循环的执行次数,在这个嵌套的 For循环中,内循环的执行次数为 Intq(16)2)+1=3,外循环的执行次数为 4,故内循环循环体执行次数为 4*3=12。23.在窗体上画一个名为 Command1的命令按
32、钮,然后编写以下程序: (分数:1.00)A.6 B.5C.7D.8解析:【解析】数组是组具有相同类型和名称的变量的集合。这些变量称为数组的元素,每个数组元素都有个编号,这个编号叫做下标,可以通过下标来区别这些元素。 本题通过个 For循环为数组各元素赋值。其中,M(8)=128=4,M(6)=126=6。24.下列关于过程及过程参数的描述中,错误的是( )。(分数:1.00)A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时,使用的是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中 D.窗体(Form)可以作为过程的参数解析:【解析】在 Visual B
33、asic中,不仅可以使用变量作为形式参数,还可以使用数组、窗体或控件作为通用过程的参数,在用数组作为过程的参数时将按址传递。虽然在调用 Sub过程时不直接返回值,但仍可通过某些方式将 Sub过程中处理的信息传回到调用的程序中,如将参数按址传递。25.在窗体上画个名称为 Command1的命令按钮,再画两个名称分别为 Label1、Label 的标签,然后编写如下程序代码: (分数:1.00)A.25和 3 B.5和 3C.25和 6D.5和 6解析:【解析】在过程(包括事件过程和通用过程)内定义的变量叫做局部变量,其作用域是它所在的过程a在不同的过程中可以定义相同名字的变量,它们之间没有任何关
34、系。默认情况下每次调用过程时,局部变量被初始化为 0或空字符串,但声明为“Static”型的局部变量,在每次调用过程时,其值保持不变。 模块变量包括窗体变量和标准模块变量,在默认情况下,模块级变量对该模块中的所有过程都是可见的,但对其他模块中的代码不可见,窗体变量可用于该窗体内的所有过程。 本题中,X 是窗体变量,调用过程 proc后其值为 5*5=25。Y 为过程变量,调用过程 proc不影响其值,仍为 3。26.有如下过程代码: (分数:1.00)A.21B.23C.61 D.63解析:【解析】Static 是将变量声明为静态变量,每次调用值会取上次调用后的值。而 numb是局部变量,每次
35、会重新初始化,所以应选 C选项。27.在窗体上画个名称为 Text1的文本框和个名称为 Command1的命令按钮,然后编写如下事件过程: (分数:1.00)A.2B.3C.4 D.5解析:【解析】For 循环语句的循环变量通常是在执行 Next语句时才发生变化,但本题中当执行语句i=i+3时,也将改变循环变量 i的值。每次执行循环体后 i和 n的值如下: 第 1次:i=3,n=1 第 2次:i=6,n=2 第 3次:i=9,n=3 第 4次:i=12,n=4 当第 4次执行循环体时,i10,退出循环。28.假定有以下循环结构: (分数:1.00)A.如果“条件表达式”的值是 0,则一次循环体
36、也不执行B.如果“条件表达式”的值不为 0,则至少执行一次循环体C.不论“条件表达式”的值是否为真,至少要执行一次循环体D.如果“条件表达式”的值恒为 0,则无限次执行循环体 解析:【解析】Do UntilLoop 循环语句的功能是,直到指定的“循环条件”变为 True之前重复执行循环体中的语句。在进行数据转换时,当转换其他的数值类型为 Boole-an值时,0 会转成 False,而其他的值则变成 True。当转换 Boolean值为其他的数据类型时,False 成为 0,而 True成为1。在选项 A中,若“条件表达式”的值是 0,即 False,将执行循环体;在选项 B中,若“条件表达式
37、”的值不为 0,即True,直接结束循环;Do UntilLoop 循环属先判断后循环,故选项 C也错误。29.在窗体上画个命令按钮,然后编写如下事件过程: (分数:1.00)A.Do循环执行的次数为 1000次B.在 For循环中产生的随机数小于或等于 100C.当所产生的随机数为 12时结束所有循环D.当所产生的随机数为 65、68 或 92时窗体关闭、程序结束 解析:【解析】Do 循环用于不知道循环次数的情况,而仅根据循环条件是 True或 False决定是否结束循环,故选项 A错误。Rnd( )函数用于产生个小于 1但大于或等于 0的值随机数。Int( )函数用于返回个不大于所给数的最
38、大整数。表达式 Int(Rnd*100)可生成个 099 的随机整数,故选项 B错误。Select Case 语句用于对个表达式或变量的多个可能值进行判断,从而在组相互独立的可选语句序列中挑选要执行的语句序列。当产生随机数为 12时,结束的应是 For循环,故选项 C错误。30.在窗体上画一个名为 Command1的命令按钮。然后编写如下代码: (分数:1.00)A.1234 B.12C.34D.4321解析:【解析】Array(arglist)函数用于将 arglist参数中组用逗号隔开的值转换成个数组并赋值给某数组变量。本题中,a(1)=1,a(2)=2,a(3)=3,a(4)=4。 本题
39、每次执行 For循环体后,S 和 j的值情况如下: 第 1次:s=0+a(4)*1=4,j=1*10=10; 第 2次:s=4+a(3)+10=34,i=10*10=100: 第 3次:s=34+(2)+100=234,j=100*10=1000; 第 4次:s=234+a(1)*1000=1234。31.设有如下通用过程: (分数:1.00)A.ABCDEFB.abcdefC.AFBECD D.DEFABC解析:【解析】UCase( )函数用于将字符串中小写字母转化为大写字母,原本大写或非字母字符保持不变;&运算符用来强制两个表达式作字符串连接。本题源程序中的函数 Fun的功能是:按前后的顺
40、序,将已有字符串从两端向中间逐个取出其所有字符,组成新的字符串。按此方法,函数 Fun(”abcdef”)的返回值应为“afbeed”,转换成大写就为“AFBECD”。32.某人为计算 n!(O (分数:1.00)A.把 p=1改为 p=11B.把 For k=n1 To 2 Step1 改为 For k=1 To n1 C.把 For k=n1 To 2 Step1 改为 For k=1 To nD.把 For k=n1 To 2 Step1 改为 For k=2 To n解析:【解析】N 的阶乘的数学表示为:N!=N*(N1)*(N2)2*1 本题要通过将 For循环语句的循环变量 k的各
41、次取值经表达式 p=P*k进行累积,来实现 n的阶乘。但源程序仅实现了(n1)的阶乘。解决问题的方法是将 p的初值设置为 m或将循环变量的取值范围设定为 1n(或 2n)。33.假定有下列函数过程: (分数:1.00)A.ABCDEFGB.abcdefgC.GFEDCBAD.gfedcba 解析:【解析】Len(字符串)函数用于取得字符串的长度,LCase(字符串)函数用于将字符串中大写字母转化为小写字母,原本小写或非字母字符保持不变。“+”运算符可做两个表达式的加法运算或做字符串连接运算,当两个表达式均为字符串时做字符串连接运算。 本题源程序中的函数 Fun的功能是,逐个取出已有字符串中的字
42、符转换成小写字母,并按逆序组成新的字符串。按此方法,函数 Fun(”abcdefg”)的返回值应为“gfedcba”。34.为计算 an的值,某人编写了函数 power如下: (分数:1.00)A.把 For k=1 To n改为 For k=2 To nB.把 pP+a改为 p=pan C.把 For k=1 To n改为 For k=1 To n1D.把 p=a改为 p=1解析:【解析】本题函数 power(a,n)的功能是要返回 n个 a相乘的值,而源程序中返回的是(n+1)个 a相乘的值,解决问题的方法可以是将 P的初值设置为 1或将循环变量的取值范围设定为 1n1(或 2n)。35.
43、某人编写了下面的程序: 此程序功能是输入 2个正整数,反序输出这 2个数的每位数字,再反序输出这 2个数之和的每一位数字。例如,若输入 123和 234,则应该输出: (分数:1.00)A.把过程 pro的形式参数 n As Integer改为 ByVal n As Integer B.把 Call pro(a+b)改为 pro a+bC.把 nn10 改为 nn10D.在 pro b语句之后增加语句 c=a+b,再把 Callpro(a+b)改为 pro C解析:【解析】在 Visual Basic中调用过程时,参数传递有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按
44、址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。在本题中,通用过程 pro的功能是将形参(为整数)中的每位数反序输出显示,该过程默认按址传递参数。因此,当执行语句 pro a后,a=0;当执行语句 pro b后,b=0。解决问题的方法可以是:将过程 pro的形式参数的传递方式由传址改为传值,或是在调用过程 pro a和 pro b之前,先将 a+b的值存入另个变量中。本题提供的选项中只有选项 A是正确的。36.窗体上有一个名称为 Picture1的图片框控件,一个名称为 Timer1的计时器控件,其 InterVal属性值为 1 0
45、00。要求每隔 5秒钟图片框右移 100。现编写程序如下: (分数:1.00)A.程序中没有设置 5秒钟的时间,所以不能每隔 5秒移动图片框一次B.此程序运行时图片框位置保持不动C.此程序运行时图片框移动方向与题目要求相反D.If语句条件中的“Picture1LeftForm1Width”用于限制图片框移动的范围 解析:【解析】此题考查 Picture,Timer 空间及右移属性,程序正确无误。37.窗体上有一个名称为 Command1的命令按钮,其事件过程如下: (分数:1.00)A.1223+3445 B.12+2334+45C.112+2334+45D.1+1223+3445解析:【解析
46、】第次,s=0,i=2,j=1,k=1;第二次,s=12,i=3,j=2,k=1;第三次:s=1223,i=4,j=3,k=1,依次类推可得选项 A为该程序计算的表达式。38.窗体上有一个名称为 Command1的命令按钮,其单击事件过程如下: (分数:1.00)A.43B.17C.37 D.23解析:【解析】此题考查二维数组的下标是从 0开始,赋值后,每行 4个,共 3行,b(2,2)为第三行第三个,即第 11个元素。39.窗体上有一个名称为 Command1的命令按钮,其事件过程如下: (分数:1.00)A.程序把 File1txt 文件的内容存放到 File2txt 文件中B.程序中打开了两个随机文件 C.程序中打开了两个顺序文件D.“EOF(1)”中的“1”对应于 File1txt 文件解析:【解析】此函数的功能是打开两个顺序文件,把文件 1的内容存放到文件 2中。40.以下关于文件及相关操作的叙述中错误的是( )。(分数:1.00)A.以 Append方式打开的文件可以进行读写操作 B.文件记录的各个字段的数据类型可以不同C.随机文件各记录的长度是相同的D.随机文件可以通过记录号直接访问文件中的指定记录解析:【解析】以 Append方式打开是以追加方式输出,并不能进行读写操作。