1、国家二级( VB)机试模拟试卷 120及答案与解析 一、选择题 1 设栈的顺序存储空间为 S(0:49),栈底指针 bottom=49,栈顶指针 top=30(指向栈顶元素)。则栈中的元素个数为 ( A) 30 ( B) 29 ( C) 20 ( D) 19 2 某二叉树的前序序列为 ABCDEFG,中序序列为 DCBAEFG,则该二叉树的深度(根结点在第 1层)为 ( A) 2 ( B) 3 ( C) 4 ( D) 5 3 下列叙述中正确的是 ( A)存储空间连续的数据结构一定是线性结构 ( B)存储空间不连续的数据结构一 定是非线性结构 ( C)没有根结点的非空数据结构一定是线性结构 (
2、D)具有两个根结点的数据结构一定是非线性结构 4 下列叙述中正确的是 ( A)带链队列的存储空间可以不连续,但队头指针必须大于队尾指针 ( B)带链队列的存储空间可以不连续,但队头指针必须小于队尾指针 ( C)带链队列的存储空间可以不连续,且队头指针可以大于也可以小于队尾指针 ( D)带链队列的存储空间一定是不连续的 5 某系统结构图如下图所示 该系统结构图的宽度是 ( A) 2 ( B) 3 ( C) 4 ( D) n 6 下面不能作为 软件需求分析工具的是 ( A) PAD图 ( B)数据字典 (DD) ( C)数据流程图 (DFD图 ) ( D)判定树 7 下面不属于对象基本特点的是 (
3、 A)标识唯一性 ( B)可复用性 ( C)多态性 ( D)封装性 8 在数据库设计中,描述数据间内在语义联系得到 E-R图的过程属于 ( A)逻辑设计阶段 ( B)需求分析阶段 ( C)概念设计阶段 ( D)物理设计阶段 9 有两个关系 R, S如下,由关系 R和 S得到关系 T,则所使用的操作为( A)并 ( B)自然连接 ( C)差 ( D)交 10 关系数据模型 ( A)只能表示实体间 1:1联系 ( B)只能表示实体间 1:m联系 ( C)可以表示实体间 m:n联系 ( D)能表示实体间 1:n联系而不能表示实体间 n:1联系 11 下列关于标准模块的叙述中,错误的是 ( A)标准模
4、块中的 Public过程可以被不同窗体的程序调用 ( B)标准模块是一个纯代码文件 ( C)标准模块可以在某个窗体中建立 ( D)标准模块文件的扩展名为 .bac 12 对于语句 Dim Var1#, Var2 As Integer,下列说法中正确的是 ( A) Var1#和 Var2都被定义为整型变量 ( B) Var1被定义为双精度型变量, Var2被定义为整型变量 ( C) Var1被定义为长整型变量, Var2被定义为整型变量 ( D) Var1#被定义为变体变量, Var2被定义为整型变量 13 与数学式子 对应的 Visual Basic表达式是 ( A) Sqr(a + b) /
5、 a * b) ( B) Sqr(a + b) / a * b) ( C) (a + b) / (a * b) 1 / 2 ( D) (a + b) / a * b) (1 / 2) 14 下列关于数组的叙述中,正确的是 ( A)数组名的命名规则与简单变量相同 ( B) Visual Basic支持数组的隐式定义 ( C)使用 Static语句定义任何类型的数组时,都把该数组的全部元素初始化为 0 ( D)使用 Dim语句定义任何类型的数组时,都将把数组的全部元素初始化为空字符串 15 以下操作中,不能改变窗体大小的是 ( A)设计阶段,在 “属性 “窗口设置相应属性 ( B)运行阶段,用赋值
6、语句修改相应属性 ( C)运行阶段,调用窗体的 Show方法 ( D)运行阶段,调用窗体的 Move方法 16 下列叙述中,错误的是 ( A)控件数组元素的下标不能重复,且必须是连续的 ( B)控件数组中所有元素的类型必须是相同的 ( C)窗体的 Load事件发生在所有因用户操作而引发的事件之前 ( D)一个窗体中,只能有一个命令按钮的 Cancel属性被设置为 True 17 用 Open语句打开文件时,如果省略 “For 方式 “,则该文件的存取方式是 ( A)顺序存取方式 ( B)随机存取方式 ( C)二进制存取方式 ( D)不确定 18 以下能正确输出 2,345.67的语句是 ( A
7、) Format$(2345.668, “00000.00“) ( B) Format$(2345.668, “0,0000.00“) ( C) Format$(2345.668, “#,#.#“) ( D) Format$(2345.668, “,#.#“) 19 以下程序段的功能是求两个数中的较大数,无法实现该功能的是 ( A) If x y Then num = x Else num = y ( B) num = IIf(x y, x, y) ( C) num = x If y x Then num = y ( D) If y x Then num = x num = y 20 默认属性
8、是某种控件最常用或最重要的属性,在 Visual Basic中设置这样的属性时,不必给出属性名。下列中默认属性不是 Value的控件是 ( A)垂直滚动条( VscrollBar) ( B)复选框( CheckBox) ( C)命令按钮( CommandButton) ( D)列表框( ListBox) 21 对于文本框,用来设置允许输入的最大字符数的属性为 ( A) Length ( B) MaxLength ( C) SelLength ( D) MultiLine 22 窗体上有 2个名称分别为 Text1和 Text2的文本框, 1个名称为 Command1的命令按钮。单击 Comma
9、nd1时, Text1中选中的文本将显示在 Text2中。下列能实现上述操作的事件过程是 ( A) Private Sub Command1_Click() Text2.Text = Mid(Text1.Text, Text1.SelStart, Text1.SelLength) End Sub ( B) Private Sub Command1_Click() Text2.Text = Mid(Text1.Text, , Text1.SelLength, Text1.SelStart) End Sub ( C) Private Sub Command1_Click() Text2.Text
10、= Mid(Text1.Text, Text1.SelStart + 1, Text1.SelLength) End Sub ( D) Private Sub Command1_Click() 23 下列有关控件的叙述中,正确的是 ( A)命令按钮不响应 DblClick事件 ( B)标签的主要作用是显示文本信息,它不响应 Click事件 ( C)标签中的文本信息通过 Text属性显示 ( D)在设计阶段,图片框中建立的控件可以拖拽到图片框之外 24 对于滚动条控件,下列说法正确的是 ( A) Max属性值不能小于 Min属性值 ( B) LargeChange属性值必须大于 SmallCha
11、nge属性值 ( C) SmallChange属性值可以大于 LargeChange属性值 ( D)单击滚动箭头时会触发 Scroll事件 25 为了在列表框中实现多选操作,需设置的属性为 ( A) ListCount ( B) MultiSelect ( C) SelCount ( D) Selected 26 以下关于框架的叙述中,正确的是 ( A)当框架的 Enabled属性设置为 False时,框架中建立的所有对象在运行时都禁用 ( B)在设计阶段,在框架外画的控件,一经拖到框架内,将自动变为框架容器中的控件 ( C)移动框架时,框架内各控件的 Left和 Top属性值也将随之改变 (
12、 D)移动框架时,在框架内建立的控件不会随着移动 27 窗体 Form1上有 1个名称为 Text1的文本框, 1个名称为 Command1的命令按钮。为了使得程序开始运行后,直接把焦点移到文本框中,正确的事件过程为 ( A) Private Sub Form_Load() Text1.SetFocus Form1.Show End Sub ( B) Private Sub Form_Load() Form1.Show Text1.SetFocus End Sub ( C) Private Sub Form_Load() Text1.GotFocus Form1.Show End Sub (
13、D) Private Sub Form_Load() Form1.Show Text1.GotFocus End Sub 28 任何控件都具有的属性为 ( A) Caption ( B) ForeColor ( C) FontName ( D) Name 29 窗体上有 1个名称为 Picture1的图片框,能将图片文件 d:vbflower6.jpg正确装入图片框的语句为 ( A) Picture1.LoadPicture “d:vbflower6.jpg“ ( B) Picture1.Picture = LoadPicture(d:vbflower6.jpg) ( C) Picture1
14、= LoadPicture(“d:vbflower6.jpg“) ( D) Picture1.Picture = “d:vbflower6.jpg“ 30 编写如下程序: Private Sub Command1_Click() For i = 1 To 5 Print Tab(6 - i); For j = i To 1 Step -1 Print “*“; Next j Print Next i End Sub 程序运行后的输出结果是 ( A) * * * * * ( B) * * * * * ( C) * * * * * ( D) * * * * * 31 下面程序的功能是:从键盘输入若
15、干个自然数,输入 -1则结束输入,然后计算平均值输出(因事先不知道执行时会输入多少个数,定义一个动态数组存放这些数)。 Private Sub Command1_Click() Dim a() As Integer n = 0 Do x = InputBox(“请输入一个自然数,输入 -1结束 “) If x 10 End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( A) 5 ( B) 5 -2 7 -9 ( C) 5 -2 7 -9 16 ( D)一直输出,是死循环 33 编写如下程序: Private Sub Command1_Click() Dim a$, b$,
16、 c$, c1$, c2$ a = InputBox(“请输入一个字符串 “) b = InputBox(“再输入另一个字符串 “) c = “ For k = 1 To IIf(Len(a) 3)个模块,第三层有 4个模块,控制跨度为 n, D选项正确。 6 【正确答案】 A 【试题解析】 需求分析方法可以分为结构化分析方法和面向对象的分析方法,结构化分析工具包括:数据流图( DFD)、数据字典( DD)、结构化英语、判定表和判定树等。 PAD图是过程设计工具,所以 A选项正确。 7 【正确答案】 B 【试题解析】 对象的基本特点如下:可知 B选项正确。 8 【正确答案】 C 【试题解析】
17、数据库设计的 4个阶段为:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段。概念设计最常用的方法是 E-R方法,它采用 E-R模型,将现实世界的信息结构统一由实体、属性以及实体之间的联系来描述, C选项正确。 9 【正确答案】 A 【试题解析】 。常用的扩充运算有交、除、连接及自然连接等。并: RS是将 S中的记录追加到 R后面。自然连接:去掉重复属性的等值连接。差: R-S结果是属于 R但不属于 S的记录组成的集合。交: RS结果是既属于 R又属于 S的记录组成的集合。并: RS的结果集为 T,所以 A选项正确。 10 【正确答案】 C 【试题解析】 关系模型是目前最常用的数据模型之一
18、,现实世界的实体以及实体间的各种联系均用关系来表示。实体集之间通过联系来建立联接关系分为三类:一对一联系( 1:1)、一对多联系( 1:m)、多对多联系( m:n)。 C选项正确。 11 【正确答案】 D 【试题解析】 标准模块也称全局模块,当其中的 Public过程,被窗体指令调用,即可以被不同窗体的程序调用,故 A项表述正确。模块是相对独立的程序单元,故 B项标准模块式一个纯代码文件的表述正确。标准模块通过 “工程 “菜单中的 “添加模块 “命令来建立,故 C项表述正确。标准模块文件的扩展名为 .bas,故D项表述错误。 12 【正确答案】 B 【试题解析】 定义变量时,可在定义变量时指定
19、其类型,也可用类型说明符定义变量。在语句 Dim Var1#, Var2 As Integer中, Var1采用类型说明符定义变量, #是双精度型的类型说明符,其类型名为 Double, Var1是双精度变量。 Var2在定义变量时指定的类型,为整型变量。故选项 B正确, A、 C和 D项错误。 13 【正确答案】 A 【试题解析】 算术运算符优先级从高到低依次是乘方,取负,乘法和除法运算符,整除运算符,加法和减法运算符;数学函数的平方根( Square)函数是 sqr( x),返回值为自变量 x的平方根。从表达式上看首先 a、 b之和除以 a、 b的乘积,最后求其平方根。故首先将( a+b)
20、,然后是( a*b) ,接着是求商,即( a+b) /(a*b),最后求平方根,因为平方根的优先级比乘除法高,故应为 Sqr(a + b) / a * b),故 B选项正确。 A项中表达式与数学式不大对应, A项是先求 a、 b之和,接着除以 a,再接着乘以 b,这和题目意思不对应,故 A项错误。平方根函数是 sqr( x),故 C项和 D项错误。 14 【正确答案】 A 【试题解析】 定义格式中的 “数组名 “与简单变量相同,可以是 VB中任何合法的变量名,故 A项正确。数组必须先定义,后使用,不允许使用隐式定义,故 B项错误。用 Dim定义数组时,并不能 任何类型的数组都初始化为空字符串,
21、比如该语句把数值数组中的元素全都初始化为 0;故选项 D错误。同样,当用 Static定义数组时,第一次定义时数组中的元素全都初始化为 0;把字符串数组中的元素全都初始化为空字符串;如果没有退出程序,每次引用静态变量的数组后,其值将继续保留,作为下次引用时该变量的初始值,故 C错误。 15 【正确答案】 C 【试题解析】 设计阶段,在 “属性 “窗口设置 Height、 Width等相应属性来改变窗体大小,故 A正确。在运行阶段,可以通过程序代码改变窗体的相应的属性值,改变窗体的大小 ,故 B正确。 Show用以显示窗体,不能改变其大小,故 C项错误。 Move方法用来移动窗体和控件,并可通过
22、设置左边距离、上边距离等参数来改变其大小,故 D项正确。 16 【正确答案】 A 【试题解析】 控件数组由一组具有共同名称和类型,且事件过程也相同的控件组成,每个控件(相当于数组元素)都有唯一的索引号( Index,相当于数组元素的下标),且下标可以不连续,故选项 A错误。控件数组是由一组相同类型的控件组成的,它们共用一个控件名,具有相同的数组。故选项 B正确。窗体的 Load事件主要用来在启动程序时对属性 和相关变量的初始化,在装入窗体后,如果运行程序,自动触发该事件,故选项 C正确。控件数组元素的下标或称索引,在一个窗体中,只允许一个命令按钮的 Cancel属性为 True,其他的命令按钮
23、的 Cancel属性将自动设置为 False,故 D项正确。 17 【正确答案】 B 【试题解析】 For后面的参数表示以何种方式打开文件 ,指定文件方式,有 Append、 Binary、 Input、 Output、或 Random 方式。如果 For省略,即未指定方式,则以 Random 访问方式打开文件,即随机存取方式。故选择 B。 18 【正确答案】 C 【试题解析】 Format $(数值表达式,格式字符串 )的功能是按格式字符串指定的格式输出数值表达式的值。 #表示一个数字位, #的个数决定显示字符串的长度,如果要显示的数据位数小于格式字符串指定的长度,则数据在指定区段内左对齐,
24、多余位不补 0。如果要显示的数据位大于格式字符串指定的长度,则数值按原样显示。 0其功能与 #相似,只是多余位以 0补齐。 .表示小数点,与 #和 0结合使用,根据格式字符串,小数部分多余的数字将按照四舍五入的原则显示,但是不会改 变变量的实际数值。 , 具有分位作用,逗号不能放在串的首位,可以放在小数点左边的任何位置(不要放在头部,也不要紧靠小数点),故 D项的格式错误。 A 项 Format$(2345.668, “00000.00“), 2345.668按 “00000.00“输出,即02345.67,故 A项不符合题意; B项 Format$(2345.668, “0,0000.00“
25、), 2345.668按“0,0000.00“输出,即 02, 2345.67,不符合题意; C项 Format$(2345.668, “#,#.#“), 2345.668按 “#,#.#“输出,输出结果为 2, 345.67,故 C项符合题意; D项 Format$(2345.668, “,#.#“), 2345.668按 “#.#“输出,输出结果为 ,2345.67,故 D项不符合题意。 19 【正确答案】 D 【试题解析】 选项 A、 B和 C都能找出最大值。选项 A语句执行的意思是如果x y那么将 x赋值给 num否则将 y赋值给 num,最后得到 num为两个数中较大的数。选项 B中
26、有 IIF函数。 IIF函数实际上可以理解成 “If.Then.Else“的另外一种表现形式,即 IIf(条件, True部分, False部分),其中条件为一逻辑表达式,当条件为真( True)时,返回 “True部分 “;当条件为假( False)时,返回“False 部分 “。题目中的 num = IIf(x y, x, y)意思是如果 x y,则将 x赋值给Max,否则将 y赋值给 Max,选项 B也能找出最大值。选项 C语句执行的意思先将 x赋值给 num,是如果 y x 那么 将 y赋值给 num,最后得到 num为两个数中较大的数。 D项语句中执行完 If Then语句后,都将
27、y赋值给 Max, 不能找出最大值,实际上,这个 IF语句缺少 Else,故选项 D不能找出最大值,答案为 D项。 20 【正确答案】 D 【试题解析】 控件值是控件的默认属性, A项垂直滚动条的默认属性是 Value,B项复选框的默认属性是 Value; C项命令按钮的默认属性是 Value; D项列表框的默认属性是 Text,故在四个选项中, D项的默认属性不是 Value。 21 【正确答案】 B 【试题解析】 A项和 C项不属于文本框的属性,故 A项和 C项错误。MaxLength允许在文本框输入的最大字符数, B正确。 D项 MultiLine用来设置文本框是否可以使用多行文本,故
28、D错误。 22 【正确答案】 C 【试题解析】 SelfStart定义当前选择的文本的起始位置, 0表示选择的开始位置在第一个字符之前, 1表示从第二个字符之前开始选择,以此类推。 SlefLength是表明当前选中的字符数,当 SelfLength属性值为 0时,则表示未选中任何字符。Mid (s,n1, n2)是字符串截取函数,从 s的第 n1个字符开始,向后截取 n2个字符,其中 n2可省略,省略时,就是截取 s的第 n1个字符以后的所有字符。 C项中的 Mid(Text1.Text, Text1.SelStart + 1, Text1.SelLength)返回文本框中选中的文本。这是因
29、为从文本框的文本字符串中,截取从第 SelStart+1的位置截取,即从选中的开始位置截取, SelfLength长度的字符串,故 C项正确。 A、 D项把开始截取的位置弄错了, A项多截取了一个字符 ,D项多截取两个字符,故 A、 D项错误, B项弄错了 Mid函数的参数位置。 23 【正确答案】 A 【试题解析】 使用命令按钮时,一般都是单击按钮,命令按钮不支持双击事件,如果双击命令按钮,则将作 为两次单击事件分别处理,故 A项正确。 B项标签的主要作用是显示一小段文本,可以响应单击或双击事件,故 B错误。标签中的文本信息用 Caption属性表示,故 C错误。正在设计阶段通过属性窗口装入
30、图形文件,但不可将图片框中建立的控件拖拽到图片框以外 ,故 D错误。 24 【正确答案】 C 【试题解析】 Max属性表述滚动条所能达到的最大值, Min属性表述滚动条所能达到的最小值,故 Maz必须大于或等于 Min, A项正确。 LargeChange属性用来设置单击滚动条前面或者后面的部位时, Value增加或减少的增量值;SmallChange是指单击滚动条两端的箭头时, Value增加或减少的增量值;SmallChange属性值可以大于 LargeChange属性值,也可以小于 LargeChange属性值 ,故 B选项错误, C选项正确。 Scroll事件表述在拖动滚动框时所触发的
31、事件,故 D项错误。 25 【正确答案】 B 【试题解析】 ListCount属性表述列表框的表项个数,故 A项错误; MultiSelect属性用来设置一次可以选择的列表项数,方便用户在列表框中选择多个表项,故B项正确;列表框没有 SelCount属性 ,故 C项错误; Selected属性表述列表框的项目是否被选中,故 D项错误。 26 【正确答案】 A 【试题解析】 Enabled属性为 True时,框架内的对象是 “活动 “的,若为 False,标题变灰,框架内的所有对象被屏蔽,处于 “非活动 “状态,不能响应任何事情,故 A项正确。必须先画出框架,然后在框架内画出需要成为一组的控件,
32、才能使框架内的控件成为一个整体,如果在框架外画一个控件,然后把它拖到框架内,则该控件不是框架的一部分,故选项 B错误;移动框架时,在框架内建立的控件会随着移动,但其 Left和 Top属性值保持不变,故 C项和 D项均错误。 27 【正确答案】 B 【试题解析】 通过 SetFocus方法设置焦点。在窗体的 Load事件完成前,窗体或者窗体上的控件是不可视的,必须先用 Show方法显示窗体,然后才能对窗体上的控件设置焦点。故应该先 Form1.Show,再 Text1.SetFocus,故选 B项。 28 【正确答案】 D 【试题解析】 不是所有控件都具有 A项、 B项和 C项属性,例如:列表
33、框没有Caption属性,命令按钮没有 ForeColor属性和 FontName属性,故 A项 、 B项和C项错误;所有控件都具有名称属性,故 D正确。 29 【正确答案】 C 【试题解析】 在运行期间通过 LoadPicture函数将图形文件装入图片框,其格式对象 . Picture= LoadPicture(“文件名 “),将选项与格式对比,只有 C项符合此格式,故选择 C项。 30 【正确答案】 A 【试题解析】 Tab( n)将光标移到第 n列,从第 n列开始输出信息。为便于理解,在本题中可以将其理解为 n个空格。在外层循环的循环体中,先 Print Tab(6 - i)打印了 6-
34、i个空格,在 执行内层循环,输出 i-1个 “*“号字符,最后 Print换行。最外层循环变量 i从 1到 5变化,当 i=1时,输出 6-1个空格, j为 1,第一行输出1个 “*“号字符,最后换行;当 i为 2时,输出 6-2个空格,第二行输出 2个 “*“号字符,最后换行; 依次类推,当 i=5时,输出 6-5个空格,第五行输出 5个 “*“字符,最后换行。 A与程序中的每行光标位置和输出字符情况一致,故选择 A项。 31 【正确答案】 B 【试题解析】 这是求输入数据平均数的程序。 Dim a() As Integer为动态数组,其数组元素均为整 型,在过程中用 Redim语句来定义带
35、下标的数组,格式 ReDim 变量(下标) AS 类型名称,这里空白处就是要用 ReDim语句定义,这一语句用来重新分配数组,按照定义的下标上、下界重新分配存储单元。当重新分配动态数组时,数组中的内容将被清除,如果 ReDim中使用了 Preserve选择项,则不清除数组内容。对于题目中,每次执行循环体,将输入数据赋值给数组,需要保留上次执行的数组数据,故需要使用 Preserve选项, B项正确。 32 【正确答案】 C 【试题解析】 Dim a%, b%, c%表示定义 a、 b、 c为整型,进入 Dowhile 循环,当 Abs( c) 10时,即 c的绝对值大于 10时,结束循环。第一
36、次执行循环体, c=8-3=5,输出 5, a=3, b=c=5,此时 c=5不满足退出循环条件,第二次执行循环体, c=3-5=-2,输出 -2, a=5, b=c=-2,此时 c=-2不满足退出循环条件;第三次执行循环体, c=5-(-2)=7,输出 7, a=-2, b=c=7,此时 c=7不满足退出循环条件;第四次执行循环体, c=-2-7=-9,输出 -9, a=7, b=c=-9,此时 c=-9不满足退出循环条件;第五次执行循环 体, c=7-( -9) =16,输出 16, a=-9, b=c=16,此时c=16的绝对值 10满足退出循环条件,结束循环。经过 5次执行循环体, c
37、的值先后为 5, -2, 7, -9 , 16,故 C项正确。 33 【正确答案】 B 【试题解析】 程序定义了 a, b, c, c1, c2五个字符串,将 “12345678“、“ABCDE“两个输入的字符串赋值分别给 a, b,将空字符赋值给 c。 IIF函数, IIF(条件, True部分, False部分)如果条件为真, IIF函数返回 True部分,当条件为假时,返回 False部分。程序通过 IIf(Len(a) Len(b), Len(b), Len(a),求得a, b两个字符串的最大的长度为 8, For循环中的 k从 1到 8。在 For循环中,通过字符串截取函数 Mid,
38、给 c1, c2赋值。 Mid(s,n1, n2)指从 s的第 n1个字符开始,向后截取 n2个字符。在前五次执行循环体(当 k值不大于 5时), a、 b的第k个字符构成的字符串分别赋值给 c1、 c2,并将 c, c1,c2连接起来赋值给 c。当 k大于 5时,通过 Mid函数,将 a的第 k个字符构成的字符串赋值给 c1,空字符串赋值给 c2,并将 c, c1,c2连接起来 赋值给 c。 5次循环后 c=“1A2B3C4D5E“,在第 6次到第 8次循环中, c1值依次为 “6“、 “7“、 “8“,完成循环, c为“1A2B3C4D5E678“,故选项 B正确。 34 【正确答案】 C
39、 【试题解析】 通过 Val函数,将输入的三个字符串,转化成数字,分别赋值给year, month, days。 For循环用于累加从 1第个月到第 month-1个月的天数,Case根据月份 k判断该月份的天数,空白处需要填写的是 2月份的总天数。函数LeapYear,当为闰年时,返回值 LeapYear为 1,否则返回 值为 0,故 28 + LeapYear(year)是 2月份的总天数,当闰年时, 2月份为 29天,否则,为 28天,故 C项正确,其他选项错误。 35 【正确答案】 B 【试题解析】 proc过程中 a前有 ByVal,是按值传递,即 x将值传给形参 a; b是按地址传
40、递, y把地址传给了形参 b, a的变化不引起 x的变化,但 b的变化改变了 y。在过程 proc中 a为 “参加考试 “, b=1+1=2,调用完过程后, y=b=2, x仍为 “考试 “,故输出结果 “第 2次考试 “,故选择 B。 36 【正确答案】 B 【试题 解析】 函数 fun中 a是静态变量,在没有退出程序前,每次引用静态变量后,其值会继续保留,作为下次引用时该变量的初始值。在 For 循环中,当 k为 1时,调用 fun函数, a为 1,返回值为 1, x=1*1=1;当 k为 2时,调用 fun函数,a为 2,返回值为 2*2为 4, x=1*4=4;当 k为 3时,调用 f
41、un函数, a为 3,返回值为 3*3, x=9*4=36。故输出结果为 36, B项正确。 37 【正确答案】 C 【试题解析】 程序意思是将以从输入的数值为开始下标,以数组的最大下标为结束下标,以这两个下标的均值为中心, 对调两个下标之间的数组元素值。输入 4,以下标为 4的数组元素开始,以下标为 9的数组元素结束, a( 4)和 a( 9), a( 5)和 a( 8), a( 6)和 a( 7)对调元素值,得到数组 a为 (1, 2, 3, 4, 10, 9, 8, 7, 6, 5),故选择 C项。 38 【正确答案】 B 【试题解析】 程序主要是将列表框项目中,前两个字是 “数据 “字
42、符的字符串删除,并将剩余项按从下往上的顺序,连接成一个新字符串,并显示在文本框中。 Left( List1.List(k),Len(“数据 “) =“数据 “,这一语句是判断 列表框中的项前两个字是否是 “数据 “,如果是,从列表框移除。然后,利用 For循环,按照从下往上的顺序,将列表项的字符串连接起来。由题可知,项目中数据结构和数据库原理两个项的前两个字是 “数据 “,故将其删除。列表框项从下往上的顺序依次为网络程序设计、计算机原理和程序设计。将这三个字符串连接起来,并显示在文本框中,选项 B正确。 39 【正确答案】 D 【试题解析】 Open语句兼有打开文件和建立文件两种功能。 Out
43、put和 Input分别指定文件顺序输出方式和顺序输入方式。 Open “file1.txt“ For Input As #1意思是以顺序输入方式打开已经存在的 file1.txt文件; Open “file1_bak.txt“ For Output As #2的意思是以顺序输出方式打开数据文件 file1_bak.txt,新写入的数据将覆盖原来的记录,如果文件不存在,则建立一个文件。 Input$(n, #文件号 )该函数返回从指定文件中读出的 n个字符的字符串(即它可以再数据文件中读取指定数目的字符), ch = Input$(1, #1)语句是从文件号为 1的文件中读出 1个字符,并将其
44、赋值给 ch。 Print#文件号,实现的功能是把数据写入文件中, Print #2,ch是把ch输入到文件号为 2的文件中。两个语句实际上就是把文件号为 1的中的 1个字符复制到文件 2中。 EOF函数用来返回测试文件的结束状态,对于顺序文件来说,如果已达到文件尾,则函数返回值为 True,否则返回值为 False。利用 EOF函数,可以避免在文件输入时出现 “输入超出文件尾 “的错误。 EOF( n)的含义是已到达文件尾, Not EOF(n)的含义是没有到达 n所对应文件的末尾。 Do While Not EOF(1)保证循环执行,直到已到达文件号为 1的文件 尾。利用 Do While Not EOF(1),循环执行以上 Input和 Print语句,则是把文件号为 1的文件内容复制到文件号为 2的文件中,即把文件 file1.txt复制为 file1_bak.txt文件,故 D选项正确, C选项错误。程序中并没有窗体上显示的程序语句,故 A项和 B项错误。故选择 D项。 二、基本操作题 40 【正确答案】 步骤 1:新建一个窗体,按照题目要求建立形状控什并设置其属性,如图 3 36所示。 程序中用到的控件及属性见表 3 67。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1