1、国家二级 VB机试(数据类型及运算)模拟试卷 19及答案与解析 一、选择题 1 设窗体上有一个名为 Text1的文本框,并编写如下程序: Private Sub Form_load() Show Text1 Text=“: Text1 SetFocus End Sub Private Sub ForM_MouseUp(Button As Integer,_shift As integer X As Single, Y As Integer) Print“程序设计 “ End Sub Private Sub Text_KeyDown(keyCod As Integer,_shift As Int
2、eger) Print“Visual Basic“; End SUb 程序运行后,如果在文本框中输入字母 “a”,然后单击窗体,则在窗体上显示的内容是 ( A) Visual Basic ( B)程序设计 ( C) Visual Basic程序设计 ( D) a程序设计 2 假定有下表所列的菜单结构: 要求程序运行后,如果单击菜单项 “大图标 ”,则在该菜单前添加一个 “”。以下正确的是 ( A) Private Sub bigicon_Click() bigicon Checked=False End SUb ( B) Private SUb bigicon_Click() Me appea
3、r bigicon Checked=True End Sub ( C) Private Sub bigicon_Click() bigicon Checked=True End Sub ( D) Private Sub bigicon_Click() appear bigicon Checked=True End Sub 3 以下能从字符串 “VisualBasic”中直接取出子字符串 “Basic”的函数是 ( A) Left ( B) Mid ( C) String ( D) Instr 4 在菜单编辑器中建立 1个名称为 Menu()的菜单项,将其 “可见 ”属性设置为False,并建立
4、其若干子菜单,然后编写如下过程 Private Sub Form_MousDown(Button As Integer, Shift As Integer, X As Sin gle, Y As Single) If BuRon=1 Then PopupMenu Menu() End If End Sub 则以下叙述中错误的是 ( A)该过程的作用是弹出一个菜单 ( B)单击鼠标右键时弹出菜单 ( C) Menu()是在菜单编辑器中定义的弹出菜单的名称 ( D)参数 X、 Y指明鼠标当前位置的坐标 5 设有如下的用户定义类型: Type Student Number As String: Na
5、me As String: Age As Integer End Type 则以下正确引用该类型成员的代码是 ( A) Student name=“李明 “ ( B) Dim s As Student S name=“李明 “ ( C) Dim S As Type Student S name=“李明 “ ( D) Dim S As Type S name=“李明 “ 6 在窗体上画一个命令按钮和两个标签,其名称分别为 Commandl、 Labell和Labe12,然后编写如下事件过程: Private Sub Commandl_Click() a=0 For i=1 To 10 a=a+1
6、: b=0 Forj=1 To 10 a=a+1: b=b+2 Next j Labell Caption=Str(a): Labe12 Caption=Str(b) End Sub 程序运行后,单击命令按钮,在标签 Label1和 Labe12中显示的内容分别是 ( A) 10和 20 ( B) 20和 110 ( C) 200和 110 ( D) 110和 20 7 为达到把 a、 b中的值交换后输出的目的,某人编程如下: Private Sub Commandl_Click() a =10: b =20 Call swap(a, b) Print a,b End Sub Private
7、Sub swap(ByVal a As Integer, ByVal b As Integer) c=a: a=b: b=c End Sub 在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是 ( A)调用 swap过程的语句错误,应改为: Call swap(a, b) ( B)输出语句错误,应改为: print“a“, “b“ ( C)过程的形式参数有错,应改为 swap(ByRef a Integer, ByRefb Integer) ( D) swap中 3条赋值语句的顺序是错 误的,应改为 a=b: b=c: c=a 8 设有如图所示窗体和以下程序: Piri
8、nt Sub Commandl_Click() Text1 Text=“Visual Basic“ End Sub Private Sub Text_LostFocus() If Text1 Text“BASIC“Then Text1 Text=“: Text SetFocus End If End Sub 程序运行时,在Text1文本框中输入 “Basic“(如图所示 ),然后单击 Command按钮,则产生的结果是 ( A)文 本框中无内容,焦点在文本框中 ( B)文本框中为 “Basic”,焦点在文本框中 ( C)文本框中为 “Basic”,焦点在按钮上 ( D)文本框中为 “Visua
9、l Basic”,焦点在按钮上 9 在窗体上画一个名称为 Text1的文本框和一个名称为 Commandl的命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() Dim I As Integer,n As Integer For i=0 To 50 i=i+3: n=n+1 If i 10 Then Exit For Next Text1 Text=Str(n) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是 ( A) 2 ( B) 3 ( C) 4 ( D) 5 10 设有以下函数过程: Function fun(a As Integer
10、,b As Integer) Dim C As Integer Ifa b Then c=a: a=b: b=c End if c=0 Do c=c+3 Loop until C Mod b=0 fun=c End Function 若调用函数 fun时的实际参数都是自然数,则函数返回的是 ( A) a、 b的最大公约数 ( B) a、 b的最小公倍数 ( C) a除以 b的余数 ( D) a除以 b的商的整数部分 11 在窗体上画一个名称为 Commandl的命令按钮。单击命令按钮时执行如下事件过程: Private Sub Commandl_Click() a =“software and
11、 hardware“ b =Right(a, 8) c =Mid(a, 1, 8): MsgBox a, b, c, 1 End Sub 则在弹出的信息框标题栏中显示的标题是 ( A) software and hardware ( B) hardware ( C) software ( D) 1 12 以下程序段的输出结果是 X=1: Y=4 Do Unti1 Y 4 X=X*Y: Y=Y+1 Loop Print X ( A) 1 ( B) 4 ( C) 8 ( D) 20 13 下面函数的功能应该是:删除字符串 str中所有与变量 ch相同的字符,并返回删除后的结果。例如:若 str=“
12、ABCDABCD”, ch= “B”,则函数的返 回值为:“ABCDCD” Function delchar(str As String, ch As String)As String Dim k As Integer, temp As String, ret As String Ret=“ For k=1 To Len(str) Temp=Mid(str, k, 1) If temp=ch Then ret=ret temp End If Next k delchar End Function 但实际上函数有错 误,需要修改。下面的修改方案中正确的是 ( A)把 ret=ret temp改为
13、 ret=temp ( B)把 Iftemp=ch Then改为 Iftemp ch Then ( C)把 delchar=ret改为 delchar=temp ( D)把 ret=“改为 temp=“ 14 设有如下程序段: Dim a(10) For Each x In a Print x; Next x 在上面的程序段中,变量 x必须是 ( A)整形变量 ( B)变体型变量 ( C)动态数组 ( D)静态数组 15 设 有以下函数过程 Private Function Fun(a() As Integer, b As String)As Integer 若已有变量声明: Dim x(5)
14、As Integer, n As Integer, ch As String 则下面正确的过程调用语句是 ( A) x(0)=Fun(x, “ch“) ( B) n=Fun(n, ch) ( C) Call Fun x, “ch“ ( D) n=Fun(x(5), ch) 16 假定有以下程序: Private Sub Form_Click() a=1: b=a Do Unti1 a =5 x=a*b Print b; x a=a+b: b=b+a Loop End Sub 程序运行后,单击窗体,输出结果是 ( A) 1 1 2 3 ( B) 1 1 2 4 ( C) 1 1 3 8 ( D)
15、 1 1 3 6 17 表达式 Int(Rnd(0)*50)所产生的随机数范围是 ( A) (0, 50) ( B) (1, 50) ( C) (0, 49) ( D) (1, 49) 18 现有如下一段程序: Option Base 1 Private Sub Cornmand1_Click() Dim a a=Array(3, 5, 7, 9): x=1 For i=4 To 1 Step 1 s=s+a(i)*x: x=x*10 Next Print s End Sub 执行程序,单击 Commandl命令按钮,执行上述事件过程,输出结果是 ( A) 9753 ( B) 3579 ( C
16、) 35 ( D) 79 19 设有如下程序: Sub f(x As Integer, ByVal y As Integer) x=2*x: y=y+x End Sub Private Sub Commandl_Click() Dim a As Integer, b As Integer a=6: b=35 Call f(a, b) Print a,b End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 6 47 ( B) 12 47 ( C) 6 35 ( D) 12 5 20 以下不能输出 “Program”的语句是 ( A): Print Mid(“VBPr
17、ogram“, 3, 7) ( B) Print Right(“VBProgram“, 7) ( C) Print Mid(“VBProgram“, 3) ( D) Print Left(“VBProgram“, 7) 21 执行以下程序段 a =“Visual Basic Programming“: b =“C+“c =UCase(Left (a, 7) b &Right (a, 12) 变量 c的值为 ( A) Visual BASIC Programming ( B) VISUAL C+Programming ( C) Visual C+Programming ( D) VISUAL B
18、ASIC Programming 22 可以产生 30 50(含 30和 50)之间的随机整数的表达式是 ( A) Int(Rnd*21+30) ( B) Int(Rnd*20+30) ( C) Int(Rnd*50-Rnd*30) ( D) Int(Rnd(30+50) 23 能够产生 1到 50之间 (含 1和 50)随机整数的表达式是 ( A) Int(Rnd*51) ( B) Int(Rnd(50)+1) ( C) Int(Rnd*50) ( D) Int(Rnd*50+1) 24 表达式 sgn(0 25)的值是 ( A) 1 ( B) 0 ( C) 1 ( D) 0 5 25 要计
19、算 x的平方根并放入变量 y,正确的语句是 ( A) y=Exp(x) ( B) y=Sgn(x) ( C) y=Int(x) ( D) y=Sqr(x) 26 Print Right(“VB Programming“, 2)语句的输出结果是 ( A) VB ( B) Programming ( C) ng ( D) 2 27 以下表达式与 Int(3 5)的值相同的是 ( A) CInt(3 5) ( B) Val(3 5) ( C) Fix(3 5) ( D) Abs(3 5) 28 以下能对正实数 d的第 3位小数四舍五入的表达式是 ( A) 0 01*Int(d+0 005) ( B)
20、 0 01*Int(100*(d+0 005) ( C) 0 01*Int(100*(d+0 05) ( D) 0 01*Int(d+0 05) 29 语句: Print Asc(Chr (Mid (“98765432“, 4, 2)的输出是 ( A) 65 ( B) A ( C) 8765 ( D) W 30 语句: Print Int(Rnd*5+20)的输出不可能是 ( A) 20 ( B) 22 ( C) 24 ( D) 25 31 产生 100以内 (不含 100)2位随机整数的 Visual Basic表达式是 ( A) Int(Rnd(1)*91)+10 ( B) Int(Rnd
21、(1)*90)+10 ( C) Int(Rnd(1)*91)+11 ( D) Int(Rnd(1)*90)+11 32 在窗体上画两个文本框,其名称分别为 Text1和 Text2,然后编写如下程序: Private Sub Form Load() Text1 Text=“: Text2 Text=“: Text1 SetFocus End Sub Private Sub Text1_Change() Text2 Text=Mid(Text1 Text, 6) End Sub 程序运行后,如果在文本框 Text1中输入 ChinaBeijing,则在文本框 Text2中显示的内容是 ( A)
22、ChinaBeijing ( B) China ( C) Beijing ( D) ChinaB 33 设有如下通用过程: Public Function Fun(xStr As String)As String Dim tStrAs String, strLAs Integer tStr=“ strL=Len(xStr)i=1 Do While i =strL 2 tStr=tStr Mid(xStr, i, 1) Mid(xStr, strL-i+1, 1) i=i+1 Loop Fun=tStr End Function 在窗体上画一个名称为 Commandl的命令按钮。然后编写如下的事
23、件过程: Private Sub Commandl Click() Dim S1 As String S1=“abcdef“: Print UCase(Fun(S1) End Sub 程序运行后,单击命令按钮,输出结果是 ( A) ABCDEF ( B) abcdef ( C) AFBECD ( D) DEFABC 34 假定有以下函数过程: Function Fun(S As String)As String Dim s1 As String For i=1 To Len(S) s1=LCase(Mid(S, i, 1)+s1 Next i Fun=s1 End Function 在窗体上画
24、一个命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() Dim Str1 As String, Str2 As String Str1=InputBox(“请输入一个字符串 “): Str2=Fun(Str1) Print Str2 End Sub 程序运行后,单击命令按钮,如果在输入对话框中输入字符串 “abcdefg”,则单击“确定 ”按钮后在窗体上的输出结果为 ( A) ABCDEFG ( B) abcdefg ( C) GFEDCBA ( D) gfedcba 35 在窗体上画一个名称为 Commandl的命令按钮,然后编写如下事件过程: Pri
25、vate Sub Commandl_Click() c=1234 c1=Trim(Str(c) For i=1 To 4 Print_ Next End Sub 程序运行后,单击命令按钮,要求在窗体上显示内容: 1 12 123 1234则在横线处应填入的内容为 ( A) Right(cl, i) ( B) Left(cl, i) ( C) Mid(cl, i, 1) ( D) Mid(cl, i, i) 国家二级 VB机试(数据类型及运算)模拟试卷 19答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 本题考查控件属性和事件响应。在文本框输入字母 “a”会触发文本框的 KeyDow
26、n事件,在该事件代码里面输出 “Visual Basic”字符串:接下来单击窗体,会触发窗体的 MouseUp事件,在该事件代码里面输出 “程序设计 ”。 【知识模块】 数据类型及运算 2 【正确答案】 C 【试题解析】 本题考查菜 单的基本知识。在菜单前添加一个 “”这是设置菜单的Checked属性。 【知识模块】 数据类型及运算 3 【正确答案】 B 【试题解析】 本题考查常用函数。常用的字符串截取方式是 Mid、 Left和Right, Mid(a,M,N)功能是从 a字符串左起第 M位下标开始取值 (包含 M位 ),共取 N位字符; Right(a, M)表示从右起第一位开始取值,向左
27、取 M位; Left(a,N)表示从 a字符串左起第一位开始取值,向右取 N位。 【知识模块】 数据类型及运算 4 【正确答案】 B 【试题解析 】 在窗体的 MouseDown事件过程中,判断是否是鼠标左键,如果是则弹出菜单,选项 B)错误。 【知识模块】 数据类型及运算 5 【正确答案】 B 【试题解析】 本题考查用户定义类型,用户类型需要先定义,然后才能使用。选项 A)没有定义 Student类型的变量,错误:选项 B)先定义 Student类型变量,然后使用,正确;选项 C)定义 Student类型变量 s的时候多写了 type,错误:选项D)定义 Student类型变量错误。 【知识
28、模块】 数据类型及运算 6 【正确答案】 D 【 试题解析】 本题考查循环。 Commandl的 Click事件代码里面有两个 For.环,而且是嵌套关系。在外层的 For循环里面, a增加 1,然后 b置 0,进入内层循环,在内层循环中 a增加 1, b增加 2,最后输出 a和 b的值。每次外循环的时候b的值清 0,然后执行内层循环,因此 b的值就是最后一次执行内层循环后的值,内层循环执行 10次,故 b最后的值为 20; a是统计循环执行的次数,内层循环执行 1010=100次,外层循环执行 10次,故 a最后的值为 110。 【知识模块】 数据类型及运算 7 【正确答案】 C 【 试题解
29、析】 本题考查函数参数传递。 VB有两种参数传递方式:传值 ByVal和传地址 ByRef, ByVal方式形参的修改不会影响到实参, ByRef方式修改形参相当于修改实参。题目要求在调用 swap过程后,修改形参影响实参,参数应该使用ByRef方式。 【知识模块】 数据类型及运算 8 【正确答案】 A 【试题解析】 本题考查控件属性和事件过程。单击 Commandl命令按钮,执行命令按钮的 Click事件过程,在 Commandl的 Click事件过程中,设置文本框的Textl Text属性为 “Visual Basic”。同时,由于鼠标从文本框移动到命令按钮,文本框失去焦点,触发文本框的
30、LostFocus事件,在该事件代码里面,判断文本框内容是否为 “BASIC”,由于在前面的 Commandl的事件过程中设置了文本框的 Text属性为 “Visual Basic”,和 “BASIC”不相等,因此该 if判断条件成立,接下来把文本框的 Text清空,并设置文本框获取输入焦点。 【知识模块】 数据类型及运算 9 【正确答案】 B 【试题解析】 本题考查循环控件结构。在 Commandl的 Click事件过程中 ,变量I是循环控制变量,变量 n记录循环的次数。在 For循环中, i每次增加 3, n增加1,接下来通过 if判断 i是否大于 10,如果大于 10则结束循环。 I和
31、n的变化过程为: 3和 1、 7和 2、 11和 3,当 I为 11时, if条件成立循环结束。 【知识模块】 数据类型及运算 10 【正确答案】 B 【试题解析】 本题考查循环结构的使用。在 fun函数中,首先判断 a和 b的大小,并把 a和 b中大的保存在 a当中,小的保存在 b当中。然后进入循环,在循环体内部, c如果不能整除 b则每次增加 a,这是求 a和 b的最小公倍数。 【知识模块】 数据类型及运算 11 【正确答案】 C 【试题解析】 本题考查常用内部函数, Mid、 Right和 Left是常用的字符串截取函数。在事件过程代码中, b =Right(a ,8)表示从 a字符串的
32、最右边开始取 8个字符,因此 b变量为 “hardware”, c =Mid(a, 1, 8)表示从 a字符串的第一个字符开始取长度为 8的子字符串,即 b为 “software”。 MsgBox a, b, c, 1是弹出对话框,其中对话框的标题为 b,提示内容为 a。 【知识模块】 数据类型及运算 12 【正确答案】 B 【试题解析】 本题考查循环控制结构。 X和 Y的初值分别为 1和 4,循环的结束条件是 Y大于 4。在循环体内, X=X*Y, Y自增 1, Y的初值为 4,循环结束条件为 Y大于 4,因此循环执行一次后 Y变成 5,循环结束,此时 x=1*4=4。 【知识模块】 数据类
33、型及运算 13 【正确答案】 B 【试题解析】 本题考查常用函数和循环结构的使用。在 delchar函数中, Ret变量保存要返回的字符串,通过一个循环来查处要删除的字符,在循环体内,逐个取出字符,并判断是否是需要删除的字符,如果是则把 该字符保存到 Ret中,最后返回 Ret。显然程序的功能是返回字符串 str中由 ch组成的字串,和题目要求不符,应该把 If判断里面的等于改成不等于,这样只要不是 ch就保存到 Pet中,相当于删除了 ch字符。 【知识模块】 数据类型及运算 14 【正确答案】 B 【试题解析】 本题考查 ForEach循环结构,语法是: For Each elementA
34、s datatypeIn group 结构图 Nextelement element在: For Each语句中是必选项,变体类型变量,用于遍历集 合的元素。 【知识模块】 数据类型及运算 15 【正确答案】 A 【试题解析】 本题考查函数调用。 Fun函数有两个参数,第一个参数是 Integer类型数组,第二个参数是 String字符串,返回值为 Integer。选项 A)正确, x(0)是Integer类型变量,参数 x是 Integer类型数组,参数 “ch”是字符串;其余选项均错误。 【知识模块】 数据类型及运算 16 【正确答案】 D 【试题解析】 本题考查循环结构的使用。本题的循环
35、比较简单,可以直接计算循环体内变量的变化过程。 第一次进入循环, x=a*b=1,第一次输出 1和 1,然后a=a+b=2, b=b+a=3:再次进入循环, x=a*b=6,第二次 Print输出 3和 6,然后a=a+b=5, b=b+a=8;此时 a =5,循环结束。 【知识模块】 数据类型及运算 17 【正确答案】 C 【试题解析】 本题考查常用函数的使用。 Rnd函数返回小于 l但大于或等于 0值,因此 Int(Rnd(0)*50)是产生 0-49的整数。 【知识模块】 数据类型及运算 18 【正确答案】 B 【试题解析】 本题考查数组的使用和 循环结构。在 Commandl的 Cli
36、ck事件过程中,首先定义变量 a,然后通过 Array函数给变量 a赋值。在循环内, s保存累加和, x表示权重,每次扩大 10倍,随着循环次数增加 x越来越大。循环结束后, s的值为 3579。 【知识模块】 数据类型及运算 19 【正确答案】 D 【试题解析】 本题考查函数调用和传参类型。 VB中默认的参数传递类型为ByRef是按地址传递参数的, f过程的两个参数,参数 x是 ByRef,参数 y是ByVal,因此在 f过程中修改形参 x会同步修改实参,修改形参 y不会导致实参的修改。 【知识模块】 数据类型及运算 20 【正确答案】 D 【试题解析】 本题考查的考点是有关取子串函数的。在
37、 VB中有三种取子串函数: Left函数用于在字符串左端开始取 n个字符; Right函数用于在字符串右端开始取 n个字符 (注意子串中字符的顺序与母串中相同 ); Mid函数可以实现在任何位置取任何长度的子串,其中长度省略的话将会一直取到串尾。本题中选项 D)的结果是 VBprogr,不符合题意。 【知识模块】 数据类型及运算 21 【正确答案】 B 【试题解析】 本题考查的考点是有关取子 串函数的。在 VB中有 3种取子串函数: Left函数用于在字符串左端开始取 n个字符; Right函数用于在字符串右端开始取 n个字符 (注意子串中字符的顺序与母串中相同 ); Mid函数可以实现在任何
38、位置取任何长度的子串,其中长度省略的话将会一直取到串尾。 UCase函数用于把字符串转换成大写表示。 【知识模块】 数据类型及运算 22 【正确答案】 A 【试题解析】 随机数函数 Rnd的功能是用于产生一个小于 1但大于或等于 0随机数。为了生成某个指定范围内的随机整数,可使用以下公式: Int(upperbound lowerbound+1)*Rnd+lowerbound),其中 upperbound是随机整数范围的上限, lowerbound是随机整数范围的下限。本题中 upperbound为 50, 10werbound为30。 【知识模块】 数据类型及运算 23 【正确答案】 D 【
39、试题解析】 随机数函数 Rnd的功能是用于产生一个小于 1但大于或等于 0的随机数。为了生成某个指定范围内的随机整数,可使用以下公式: Int(upperbound lowerbound+1)*Rnd+lowerbound),其中 upperbound是随机整数范围的上限, lowerbound是随机整数范围的下限。本题中 upperbound为 50,lowerbound为 1。 【知识模块】 数据类型及运算 24 【正确答案】 C 【试题解析】 Sgn函数会返回参数的符号,如果参数为正数返回 1,为负数返回 1。 【知识模块】 数据类型及运算 25 【正确答案】 D 【试题解析】 Exp函
40、数是求指数函数; Sgn函数是求符号函数: Int函数是取整函数,平方根函数 (Sqr)可以返回 N的算术平方根, N必须大于 或等于 0 【知识模块】 数据类型及运算 26 【正确答案】 C 【试题解析】 Right()函数用于取出已有字符串最右边指定个数的字符串,本题中取出的是最后两位字符。 【知识模块】 数据类型及运算 27 【正确答案】 C 【试题解析】 Int函数的作用是去返回不大于参数的最大整数,例如Int(4 6)=4, Int(4 6)=5; Fix函数的作用是去掉参数的小数部分只保留整数部分,在参数为正数的时候, Int函数和 Fix函数的返回值是相同的。 【知识模块】 数据
41、类型及运算 28 【正确答案】 B 【试题解析】 Int函数会返回不大于参数的最大整数,要对第 3位小数进行四舍五入,需要先将 d自加 0 005,这样如果第三位小数大于 5就将进位;接下来乘以 100,这样第 3位小数就变成了第一位小数,对其做 Int函数留下整数部分,最终再乘以 0 01得到结果。 【知识模块】 数据类型及运算 29 【正确答案】 A 【试题解析】 Mid函数可以实现在任何位置取任何长度的子串,其中长度省略的话将会一直取到串尾,本题中是从第 4位取长度为 2的子串即 “65”。 Chr函数可以将 ASCII码转成对应的字符, ASC函数将字符转换成对应的 ASCII码。 【
42、知识模块】 数据类型及运算 30 【正确答案】 D 【试题解析】 随机数函数 Rnd用于产生一个小于 1但大于或等于 0的随机数值, Int函数会返回不大于参数的最大整数值。由于 Rnd函数的值不能到达 1,所以整个表达式也不可能到达 25。 【知识模块】 数据类型及运算 31 【正确答案】 B 【试题解析】 随机数函数 Rnd的功能是用于产生一个小于 1但大于或等于 0的随机数。为了生成某个指定范围内的随机整数,可使用以下 公式: Int(upperbound-lowerbound+1)*Rnd+lowerbound),其中 upperbound是随机整数范围的上限, lowerbound是
43、随机整数范围的下限。 【知识模块】 数据类型及运算 32 【正确答案】 C 【试题解析】 Mid(string, stan, length)函数用于从已有字符串中取出从指定位置开始的含指定个数字符的字符串,如果 start参数超过了 string参数中字符的数目,将返回空字符串,如果省略或 length参数超过文本的字符数 (包括 start处的字符 ),将返回字符串中从 start到字符串结束的所有字符。本题程序运行后,当在文本框 Text1中输入字符数达到或超过 6时,在文本框 Text2中将随即显示输入字符中从第 6个字符开始的所有字符,全部字符输入后,文本框 Text2中的内容为“Be
44、ijing”。 【知识模块】 数据类型及运算 33 【正确答案】 C 【试题解析】 本题通用过程的功能是:从字符串变量 xStr值的左右两端同时开始,由外向里每次取出两个字符 (左右各一个 ),组成一个新的字符串。本题程序运行后,当调用通用过程函数 Fun后,返回值应为 “afbecd”,转换为大写后在文本框中的显示结果为 “AFBECD”。 【知识模块】 数据类型及运算 34 【正确答案】 D 【试题解析】 本题考查的考点是有关取子串函数的。本题也比较简单,循环次数就是字符串的长度,每次都在第 i位取一个字母转换成小写,最后倒序连接起来,注意每次都把新取得的字符连接到 s1的前面,所以为倒序连接。 【知识模块】 数据类型及运算 35 【正确答案】 B 【试题解析】 本题考查的考点是有关取子串函数的。在 VB中有 3种取子串函数: Left函数用于在字符串左端开始取 n个字符; Right函数用于在字符串右端开始取 n个字符 (注意子串中字符的顺序与母串中相同 ): Mid函数可以实现在任何位置取任何长度的子串,其中长度省略的话将会一直取到串尾。本题中显示出来的结果可以看出,第一行是字符串的第一个字符,第二行是字符串的前两个字符 所以每行输出的应该是字符串的前 i位。 【知识模块】 数据类型及运算