1、VB 笔试模拟试卷 277及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 在窗体上画一个名称为 Text1的文本框和一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_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 程序运行后,
2、单击命令按钮,在文本框中显示的值是 L ): ( A) 5 ( B) 4 ( C) 3 ( D) 2 3 已知 x代表某个百分制成绩,下列程序段用于显示对应的五级制成绩,正确的是( ) ( A) If x =60 Then Print“及格 “ Else If x =70 Then Print“中 “ Else If x =80 Then Print“良 “ Else If x =90 Then Print“优 “ Else Print“不及格 “ End If ( B) If x 90 Then Print“良 “ Else If x 80 Then Print“中 “ Else If x
3、70 Then Print“及格 “ Else If x 60 Then Print“不及格 “ Else Print“优 “ End If ( C) If x =90 then Print“优 “ Else If x =80 Then Print“良 “ Else If x =70 Then Print“中 “ Else If x =60 Then Print“及格 “ Else Print“不及格 “ End If End Select ( D) Select Case x Case x =90 Print“优 “ Case x =80 Print“良 “ Case x=70 Print“
4、中 “ Case x =60 Print“及格 “ Case Else Print“不及格 “ 4 常采用的两种存储结构是 ( )。 ( A)顺序存储结构和链式存储结构 ( B)散列方法和索引方式 ( C)链表存储结构和数组 ( D)线性存储结构和非线性存储结构 5 下列叙说中正确的是 _。 ( A)一个逻辑数据结构只能有一种储存结构 ( B)数据的逻辑结构属于线性结构,储存结构属于非线 性结构 ( C)一个逻辑数据结构可以有多种储存结构,且各种储存结构不影响数据处理的效率 ( D)一个逻辑数据结构可以有多种储存结构,且各种储存结构影响数据处理的效率 6 结构化程序设计所规定的三种基本控制结构
5、是 ( A)输入、处理、输出 ( B)树形、网形、环形 ( C)顺序、选择、循环 ( D)主程序、子程序、函数 7 设树 T的度为 4,其中度为 1, 2, 3, 4的结点个数分别为 4, 2, 1, 1。则 T中的叶子结点数为 ( A) 8 ( B) 7 ( C) 6 ( D) 5 8 下列叙述中,错误的是 ( A)数 据的存储结构与数据处理的效率密切相关 ( B)数据的存储结构与数据处理的效率无关 ( C)数据的存储结构在计算机中所占的空间不一定是连续的 ( D)一种数据的逻辑结构可以有多种存储结构 9 序言性注释的主要内容不包括 ( A)模块的接口 ( B)模块的功能 ( C)程序设计者
6、 ( D)数据的状态 10 设有下列二叉树: 对此二叉树后序遍历的结果为 ( A) ABCDEF ( B) BDAECF ( C) ABDCEF ( D) DBEFCA 11 要使文本框可输入多行文字 ,要更改的默认选项是 ( A) SorollBoars和 MultiLine ( B) Visible ( C) ScrillBoars ( D)以上都不是 12 以下能在窗体 Forml的标题栏中显示 “Visual Basic窗体 ”的语句是 ( )。 ( A) Forml.Namer=“VisualBasic窗体 “ ( B) Forml.Title=“VisualBasic窗体 “ (
7、C) Forml.Caption=“VisualBasic窗体 “ ( D) Forml.Text=“VisualBasic窗体 “ 13 下列语句中正 确的是 ( A) If AB Then Print “A不等于 B“ ( B) If A B Then Printf “A不等于 B“ ( C) If A B Then Print “A不等于 B“ ( D) If AB Print “A不等于 B“ 14 能够将文本框控件隐藏起来的属性是 ( )。 ( A) Clear ( B) Visible ( C) Hide ( D) New 15 在窗体上有一个文本框 Text1, Text属性值为
8、空,然后编写下列事件过程: Private Sub Text1 KeyPress(KeyAscii As Integer) Dim str As String,n As Integer str=UCase(Chr(KeyAscii) n=Len(str) Text1.Text=String(n,str) End Sub 程序运行后,若在文本框中输入单字母 “p”,则在文本框 Text1中显示的内容为( )。 ( A) pp ( B) pP ( C) PP ( D) Pp 16 要使菜单项 MenuOne在程序运行时失效,应使用的语句是 ( )。 ( A) MenuOne Visible=Tru
9、e ( B) MenuOne VisiNe=False ( C) MenuOne Enabled=True ( D) MenuOne Enabled=False 17 下面正确使用动态数组的是 ( )。 ( A) Dim arr1()As Integer ReDim arr1(3, 5) ( B) Dim arr1() As Integer ReDim arr1(50)As String ( C) Dim arr1() ReDim arr1(50)As Integer ( D) Dim arr1(50)As Integer ReDim arr1(20) 18 下列事件过程的功能是:建立一个名为
10、 Datal的随机文件,存放角度值及这些角度的正弦函数值和余弦函数值,角度为 1, 2, 3, , 90。请在空白处填入适当的内容,将程序补充完整。 Private Type Ang K As Integer Sinx As Single Cosx As Single End Type Private Sub Form Click() Dim Y As Single Dim i As Integer Dim Ksc As Ang Open_ Y=3 14159 180 For l=1 To 90 Ksc K=i Ksc Sinx=Sin(i*Y) Ksc Cosx=(20s(i+Y) Next
11、 i Close#2 Elld Stub ( A) “ Datal txt”For RandomAs#1 Len一 10 Put#1, i, Ksc ( B) “ Datal txt”For Random As#1 Len一 10 Put#l, Y, Ksc ( C) “ Datal txt”For Random As#1 Put#1, i, Ksc ( D) “ Datal txt”For Random As#1 Put#1, Y, Ksc 19 单击一次命令按钮之后,窗体中的输出结果为 _。 Private Sub Command1_ Click() For i = 1 To 4 x =
12、fun(i) Print x; Next i End Sub Function (n) x = n * n FF = x End Sub ( A) 1 4 9 16 ( B) 1 3 5 7 ( C) 3 6 9 12 ( D) 2 4 6 8 20 用表格形式的结构表示实体类型以及实体类型之间联系的数据模型是 _。 ( A)关系数据模型 ( B)层次数据模型 ( C)网状数据模型 ( D)面向对象数据模型 21 将文本框的 ( )属性设置为 True时,文本框可以输入或显示多行文本,且会自动换行。 ( A) Text ( B) Scro11Bars ( C) Mu1tiLine ( D) E
13、nabled 22 在窗体上画一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim num As Integer num=1 Do Until num6 Print num; num=num+2.4 Loop End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是 _。 ( A) 13. 45. 8 ( B) 135 ( C) 1 4 7 ( D)无数据输出 23 下列程序共执行了 _次循环。 Private Sub Command1_ Click () Dim intsum As Integer Dim i
14、AS Integer Dim j As Integer i = 1 j = 1 do do intsum = intsum + j =j+2 Print j; Loop until j 3 i = i+1 Loop until i 17 Print Print intsumEnd Sub ( A) 14 ( B) 15 ( C) 14 ( D) 13 24 当执行以下过程时,在名为 lblResult的标签框内将显示 _。 Private Sub Command1_ Click() Dim I, R R = 0 for I = 1 To 5 step 1 R= R+ I Next I lblR
15、esult. Caption = Str (R)End Sub ( A)字符串 15 ( B)整数 15 ( C)字符串 5 ( D)整数 5 25 如果在 窗体上有命令按钮 OK,在代码编辑窗口行与之对应的 CmdOk Click()事件,则命令按钮控件的名称属性和 Caption属性分别为 _。 ( A) Ok, Crud ( B) Cmd, Ok ( C) CmdOk, Ok ( D) Ok, CmdOk 26 在窗体上画一个名称为 Command1的命令按钮和一个名称为 Text1的文本框,然后编写如下程序: Private Sub Command1_ Click() Dim x. y
16、, z As Integer x= 5 y= 7 z= 0 Text1.Text =“ “ Call P1(x, y, z) Text1.Text = Str(z)End SubSub P1 (ByVal a As Integer, ByVal b As Integer, c As Integer) c=a+ bEnd Sub 程序运行后,如果单击命令按钮,则在文本框中显示的内容是 _。 ( A) 0 ( B) 12 ( C) Str(z) ( D)没有显示 27 对象可以识别和响应的某些操作行为称为 _ 。 ( A) 属性 ( B)方法 ( C)多态 ( D)事件 28 下列程序段的执行结果
17、为 _。 A=0=B=0 For I=-1 To-2 Step-1 For J=1 To 2 B=B+1 Next J A=A+1 Next I Print A; B ( A) 2 4 ( B) -2 2 ( C) 4 2 ( D) 2 3 29 为了在运行时能显示窗体左上角的控制菜单框 (系统菜单 ),必须 _ 。 ( A)把窗体的 ControlBox属性设置为 False ( B)把窗体的 ControlBox 属性设置为 True ( C)把窗体的 MaxButton属性设置为 False ( D)把窗体的 MaxButton属性设置为 True 30 在窗体上画一个命令按钮,然后编写
18、如下代码: Private Sub Command1_Click() ay End Sub Private Sub sub1(m, n) t=m : m=n : n=t End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是 ( A) 2 5 ( B) 5 4 ( C) 1 4 ( D) 5 5 32 当发生 Form_Click事件时,下列程序的输出结果是 ( )。 Private m As Integer,n As Integer Private Sub Form_Click() Dim k As Integer, p As Integer k=6: p=60 Call sub1(
19、k,p) Print m,n,m,k,p Call sub1(k,p) Print m,n,k,p End Sub Private Sub Form_Load() m=7 n=70 End Sub Public Sub sub1(x As Integer,ByVal y As Integer) Dim m As Integer n=n+5 m=n+x+y x=x+y y=x+y End Sub ( A) 7 75 66 60 7 80 126 60 ( B) 7 75 66 60 7 75 126 60 ( C) 7 75 66 60 7 80 66 60 ( D) 7 75 66 60 7
20、75 66 60 33 窗体的 MouseDown 事件过程 Form_MouseDown(ButtonAsInteger,ShiftAsInteger, XAsSingle,YAsSingle)有 4今参数,关于这些参 数,正确的描述是 _。 ( A)通过 Button参数判定当前按下的是哪一个鼠标键 ( B) Shift参数只能用来确定是否按下 Shift键 ( C) Shift参数只能用来确定是否按下 Alt和 Ctrl键 ( D)参数 X, Y用来设置鼠标当前位置的坐标 34 有关菜单的说法不恰当的是 ( A)菜单与窗体无关,是对立的 ( B)菜单总是于窗体有关,每个菜单都依附于一定的
21、窗体 ( C)菜单分为下拉式菜单和弹出式菜单 ( D)在 Visual Basic中有专门的设计菜单环境,那就是菜单编辑器 35 下列几项中,属于合法的日期型常量的是 ( A) 10/10/02 ( B) 10/10/02 ( C) 10/10/02 ( D) #10/10/02# 36 下列事件过程的功能是:建立一个名为 Datal的随机文件,存放角度值及这些角度的正弦函数值和余弦函数值,角度为 1, 2, 3, , 90。请在空白处填入适当的内容,将程序补充完整。 Private Type Ang K As Integer Sinx As Single Cosx As Single End
22、 Type Dim Ksc As Ang Private Sub Form Click() Dim Y As Single Open _ Y=3.14159/180 For i=1 To 90 Ksc.K=i Ksc.Sinx=Sin(i*Y) Ksc.Cosx: Cos(i*Y) _ Next i Close #2 End Sub 37 启动 Visual Basic,选择标准 EXE进入集成环境后, 系统为用户启动建立一个窗体,并为该窗体起的临时名称是 _。 38 软件的需求分析阶段的工作,可以概括为四个方面:【 】、需求分析、编写需求规格说明书和需求评审。 39 在进行模块测试时,要为每
23、个被测试的模块另外设计两类模块:驱动模块和承接模块,其中 _的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 40 算法的复杂度主要包括空间复杂度和【 】复杂度。 41 下列程序的输出结果是 _。 Sub Prin() Dim B As String A=1 B=A 【 】 Next iEnd Sub程序运行后,单击窗体,结果如图所示,请填空。VB 笔试 模拟试卷 277答案与解析 1 【正确答案】 D 【试题解析】 一个算法的空间复杂度一般是指执行这个算法所需的存储空间。一个算祛所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间及算法执行过程中所需要
24、的额外空间。 2 【正确答案】 C 3 【正确答案】 C 4 【正确答案】 A 【试题解析】 线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。 5 【正确答案】 D 【试题解析】 数据结构包括逻辑结构和存储结构。逻辑结构表示数据间逻辑关系的数 据结构。存储结构是指数据在计算机存储空间中的物理关系,一个逻辑数据结构可以有多种存储结构,而不同的存储结构的数据处理效率是不同的。 6 【正确答案】 C 【试题解析】 顺序结构、选择结构和循环结构 (或重复结构 )是结构化程序设计的3种基本结构。选项 C正确。 7 【正确答案】 A 【试题解析】 根据题意可将此树画图如下: 所以该树的叶子结
25、点数为 8。 8 【正确答案】 B 【试题解析】 数据的存储结构是数据的逻辑结构在计算机存储空间中的存放形式,也称数据的物理结构。一个数据结构中的各数据 元素在计算机存储空间的位置与逻辑关系有可能不同。一种数据结构可根据需要采用不同的存储结构。常用的存储结构有顺序、链接、索引等存储方式。采用不同的存储结构,其数据处理的效率是不同的。 9 【正确答案】 D 【试题解析】 程序注释一般为序言性注释和功能性注释。序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。 10 【正确答案】 D 【试题解析】 二叉树的
26、遍历分为先序、中序、后序三种不同方式。本题要求 后序遍历,其遍历顺序应该为:后序遍历左子树 后序遍历右子树 访问根结点。按照定义,后序遍历序列是 DBEFCA。 11 【正确答案】 A 【试题解析】 Multiline被设置为 True时可以使用多行文字 ,不用改 SorollBoars. 12 【正确答案】 C 13 【正确答案】 C 【试题解析】 题中语句都属于条件语句中 “If 条件 Then 语句 ”类型。从选项中,可以看出条件语句是 A与 B 的比较语句,其值就是此条件语句的值,也就是说,只有当其值为真时,才执行 Then 语句。 14 【正确答案】 B 15 【正确答案】 B 【试
27、题解析】 解答本题的前提是了解下列几个函数的作用: UCase函数的作用是将某字符串中的字符全部转成大写; String(n,str)函数的作用是返回 n个重复字符的字符串; Len函数的作用是返回字符串的长度。因为 KeyPress 事件中接收KeyAscii 参数为输入键的 ASCII码,输入小写字母 “p”后, str为大写字母 “P”,n=1, String(n,str)为 “P”,所以 Text1中在按下键盘上的键时又添加了一个 “P”。 16 【正确答案】 D 【试题解析】 本题考查菜单项的常见属性。菜单项的 sible属性决定该菜单项在运行中是否可见,而 Enabled 为假时,
28、运行时该菜单不可用,因此应更改Enabkld 属性为 False。 17 【正确答案】 A 【试题解析】 通常把需要在编译时分配内存区的数组叫做静态数组,而把需要在运行时分配内存区的数组叫做动态数组。定义动态数组通常分两步:首先在窗体层或标准模块中用 Dim、 Private或 Public声明一个没有下标的数组 (括号不能省略 ),然后在过程中用 ReDim语句定义带下标的数组。 ReDim语句 只能用于动态数组,它可以改变每一维的大小,但不能改变维数和数组类型。 18 【正确答案】 A 19 【正确答案】 A 20 【正确答案】 A 21 【正确答案】 C 【试题解析】 MultiLine
29、属性可设置为 True或 Flase值,它确定文本框是否能接受和显示多行文本: Scrol1Bars 属性返回或设置一个值,它确定文本框显示滚动条的显示方式, 0-vbBNone默认值为没有滚动条, 1-vbHorizonlal为水平滚动条,2-vbVerfical为垂直滚动条, 3-vbBoth为两种滚 动条都有; Text属性设置文本框中显示的内容; Enabled属性设置为 True或 False,分别决定对象在运行时有效或无效。 22 【正确答案】 B 【试题解析】 由于变量 num被定义成整型变量,所以在 “Do Until-Loop”的循环中, num的计算过程为 1、 3、 5,
30、当为 7时退出循环。 23 【正确答案】 A 【试题解析】 本题的难点是判断循环非正常退出。 do . Loop until 循环是先执行后判断。 24 【正确答案】 A 【试题解析】 本题的难点是如何将数值转换 成字符串,计算过程为“R=1+2+3+4+5=15, Str (15)的值为 15。 25 【正确答案】 C 【试题解析】 单击事件为名称属性后面加 “Click()”,窗体上见到的是 Caption属性。 26 【正确答案】 B 【试题解析】 本题的难点是虚实结合的参数传送方式。在子过程中变量 a和 b按值传送,变量 c按地址传送。在子过程中变量 “c=a+ b=5+7=12”,通
31、过虚实结合将c的值赋给主过程 z,经字符转换为 “z”在文本框中输出。 27 【正确答案】 D 28 【正确答案】 A 【试题解析】 ForNext 循环 跟踪程序:内循环的循环体执行了四次,外循环的循环体执行了两次,故 A=2,B=4。 29 【正确答案】 B 【试题解析】 当 ControlBox属性为 True时,窗体左上角有控制菜单框;为False时,则无控制菜单框。当 MaxButton 属性为 True时,窗体右上角有 “最大化 ”按钮;为 False时,则无 “最大化 ”按钮。 30 【正确答案】 A 【试题解析】 InputBox 函数的返回值是一个字符串,但由于 a&和 b&
32、通过类型说明符被显式地定义 为长整型变量,因而在执行 InputBox函数后,所返回的字符串值被转换为长整型值。这样,当执行 Print方法时,将计算并输出算术表达式b&+a&的值。 31 【正确答案】 D 【试题解析】 过程 sub1的参数 (m, n)系统默认为传址引用,但调用该过程的语句中将参数 x用括号括了起来,这可以使参数 x的值在过程中保持不变,即输出结果为选项 D。如果将 (x)改成 x作为主参调用的话,则输出结果为选项 A。 32 【正确答案】 A 【试题解析】 本题定义了两个窗体级变量 m和 n,并在窗体的 Load 事件 中给窗体级变量 m和 n 分别赋值 7和 70。当发
33、生 Form_Click 事件时,首先进行第一次sub1过程的调用,把 k 的值 6按地址传递给形参 x,把 p的值 60按值传递给形参y。在 sub1中定义了一个局部变量 m,因此在该函数中使用的 m是局部变量而非窗体级变量。执行下面的 4条赋值语句后,窗体级变量 n的值为 75,局部变量 m的值为 142,形参 x的值为 66,形参 y的值为 126。函数调用返回后,由于 p是按值传递,所以它的值没有变化, k是按地址传递,所以它的值变为邱,输出 m、n、 k和 p 的值分别是 7、 75、 66和 60。同理,分析第二 次 sub1过程调用,可知过程调用返回后,变量 m、 n、 k 和
34、p的值分别是 7、 80、 126、 60。 33 【正确答案】 A 【试题解析】 窗体的 MouseDown 事件中, Button 参数是用来判断当前按下的是哪个鼠标键 (1 表示左键, 2表示右键, 4表示中间按键 ), Shift参数是用来判断Shift、 Alt和 Ctrl 键有没有被按下 (1 表示 Shift被按下, 2表示 Alt被按下, 4表示Ctrl被按下, 6表示 Ctrl和 Alt被同时按下等 ),参数 X, Y返回鼠标当前位置的坐标,而不是用来设置的。 34 【正确答 案】 A 【试题解析】 此题考核的是有关菜单的基础知识。菜单分为下拉式菜单和弹出式菜单两种。要打开某
35、界面上的菜单,首先要进入该界面 ,此处界面上指窗体,所以菜单总与窗体相关联。 Visual Basic中有专门的设计菜单环境,那就是菜单编辑器,可以用菜单编辑器设计用户需 要的菜单,方便用户的操作。 35 【正确答案】 D 【试题解析】 日期型数据是用来表示日期信息的,其格式为 mm/dd/yyyy 或者mm- dd-yyyy,它的取值范围是 1/1/100到 12/31/9999。任何可辨认的日期 文本都可以赋值 给日期变量,日期文本必须以 “#”号括起来。 注意:字符串常量的书写格式。 36 【正确答案】 “C:Datal .txt“ For Random As #2 Len=10 Put
36、 #2, i, Ksc 【试题解析】 第 1个空白行已经告诉我们是打开文件的语句,现在要将它填写完整。由该语句应确定文件的存取方式是随机存取。在自定义变量中有 3个成员,其中角度为整型数据,占 2个字节;弦和余弦函数值为单精度类型,各占 4个字节,故文件的记录占 10 个字节。若不指定 Len 参数,则隐含一个记录占 128字节。为了节省存储空间,可在 Open语句中只写 Len 参数值。程序中没有将数据写入随机文件的语句,第 2个空白行应是 Put 语句。 37 【正确答案】 Form1 38 【正确答案】 需求获取 【试题解析】 软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求
37、分析、编写需求规格说明书和需求评审。 39 【正确答案】 驱动模块 【试题解析】 由于模块通常不是独立的程序,自己不能运行,而需要其他模块调用或驱动,同时被测试模块还要去调用其他模块,前者称为驱动模块,后者称为承接模块。其 中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果;承接模块的作用是代替被测模块,调用其他模块。 40 【正确答案】 时间 【试题解析】 算法的复杂度主要指时间复杂度和空间复杂度。 41 【正确答案】 1 1 1 【试题解析】 Space(Integer)函数的功能是返回指定数目空格; Trim函数的功能是去掉字符串两边的空白字符,注意 Trim(
38、B)不能将字符中间的空白字符去掉。B=A&Space(4) A的结果是 “1 1”(中间有 4个空格 )。 LTrim(String)函数的功能是去掉 String 字符串左边的空白字符; RTrim(String)函数的功能是去掉 String字符串右边的空白字符。 42 【正确答案】 (*DOC)|*.DOC 43 【正确答案】 Listl Addltem List2 List(0) 44 【正确答案】 Dim xData As PerData ,xData.Address ,xData.Phon 【试题解析】 声明用户定义类型的变量格式为: Dim变量名 as用户定义类型名:定义了记录类
39、型后,给 该类型变量赋值时用 “变量名 .元素 -要赋的值 ”的格式进行赋值。第 3个空是引用变量的元素,应使用 “变量名 .元素 ”的格式。 45 【正确答案】 a(), UBound(B)或 10,n=n-1 【试题解析】 本题综合考查数组参数的传送以及 For循环控制语句。由于建立了一个 swap过程,该过程具有调换数组中数值的存放位置的功能,故在第一处调用该过程是,应把 a()作为 swap的参数。 For 循环通过中介变量 t交换数组中数值的存放位置。具体过程是,先把 b(i)值赋给 t,让 t储存;随后将 b(n)值赋给 b(i),这 个过程完成了数组靠后的元素与靠前的元素的交换:
40、 b(n)的值被赋给 b(i)后,将接收 b(i)的值,以完成数值的对调,这个过程由 t对它赋值完成。据此,可以看出第二处应填数组的元素总数,即 UBound(B)。 UBound(B)函数返回数组 b 的下标上界。由于在本程序中,只有 a(10)需要调用该过程,所以第二处也可以填 10。效果是一样的。 根据上面的分析,第三处应填写语句让 n随着 For循环的执行不断的减小,而且每次减小的幅度为 1,故填: n=n-1。 46 【正确答案】 工程 -属性 【试题解析】 在 “工 程 -属性 ”对话框里有个名为 “启动对象 ”的下拉列表框,在这里可以选择启动窗体或 Sub Main。 47 【正
41、确答案】 33 【试题解析】 观察程序,通过第一个以 i为循环变量的循环,给数组 a()进行赋值,数组 a()中的各个元素的值就是其下标值。 通过第二个以 i为循环变量的循环,给数组 p()进行赋值: i=1, p(i)=a(i*i), p(1)=a(1)=1 i=2, p(i)=a(i*i), p(2)=a(4)=4 i=3, p(i)=a(i*i), p(3)=a(9)=9 通过第三个以 i为循环变量的循环,得到 变量 k 的值: i=1, k=k+ p(i)*2=5+p(1)*2=7 i=2, k=k+ p(i)*2=7+p(2)*2=15 i=3, k=k +p(i)*2=15+p(3
42、)*2=33 最终输出结果是: 33。 48 【正确答案】 较小 49 【正确答案】 Books 【试题解析】 本题先定义一个 Books 数据类型,包括两个元素: Name与TelNum。为变量 B赋值并写入,首先要定义变量 B的数据类型,根据题意,应定义变量 B 为 Books 数据,故填 Books。 50 【正确答案】 Right(a$,i)或 Mid(a$,7-i)或 Right$(a$,i)或 Mid$(a$,7-i)或 Right$(a,i)或 Mid$(a,7-i)或 Right(a,i)或 Mid(a,7-i) 【试题解析】 Mid$(字符串 ,p,n):从第 p个字符开始,
43、向后截取 n个字符。 Mid函数的第三个自变量可以省略。在这种情况下,将从第二个自变量指定的位置向后截取到字符串的末尾。 Right(字符串 ):返回 “字符串 ”的最后 n 个字符。 Tab 函数格式为: Tab(n),功能是把光标移到由参数 n 指定的位置,从这个位置开始输出信息。 当用 Print输出多个表达式或字符串时,各表达式用分隔符 (逗号、分号或空格 )隔开。如果输出的各表达式之间用逗号分隔,则按标准输出格式 (分区输出格式 )显示数据项。在这种情况下,以 14个字符位置为单位把一个输出行分为若干区段,逗号后面的表达式在下一个区段输出。如果各输出项之间用分号或空格作分隔符,则按紧
44、凑输出格式输出数据。在一般情况下,每执行一个 Print方法要自动换行,也就是说,后面执行 Print时将在新的一行上显示信息,所以输出第一行后,再次输出时会自动换行。 本题中 For循环控制输出的内容,循环控制变量从 1到 6变化,步长为 1,每执行一次循环变量的值加 1,循环共执行 6次。 Tab 函数用来控制输出的格式。题目要求第一行输出字符 “G”,第二行再输出字符串 “FG”,以此类推,从右面取出字符,并且字符随着行的变化依次增加,所以可以通过变量 i控制取哪些字符,可以用取中间字符函数或取右边字符函数来控制输出的内容,第一次输出的是第 6个字符,第二次分别输出的是第五、第六个字符 ,因此可以总结出一般的规律,即可以用字串长度加 1减去当前循环变量的值来控制输出的字符,或者直接用循环变量来控制输出的字符,因此可以填写 Mid(a,7-i)或 Right(a,i),分别依次输出 “G”、 “FG”、 “DFG” 。