1、二级 VISUAL+BASIC-5-2 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列关于栈叙述正确的是_。(分数:1.00)A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除2.下列叙述中正确的是_。(分数:1.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确3.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(
2、假设根结点在第 1 层)_。(分数:1.00)A.3B.4C.6D.74.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.结构化程序所要求的基本结构不包括_。(分数:1.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是_。(分数:1.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具7.
3、负责数据库中查询操作的数据库语言是_。(分数:1.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是_。(分数:1.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系9.有三个关系 R、S 和 T 如下: (分数:1.00)A.自然连接B并C交D差10.定义无符号整数类为 UInt,下面可以作为类 UInt 实例化值的是_。(分数:1.00)A.-369B.369C.0.369D.整数集合1,2,3,4,511.VB 中有这样一类文件:该文件不属于任何一个窗体,而且仅包含程序
4、代码,这类文件的扩展名是_。(分数:1.00)AVbpBbasCvbwD_frm12.能够产生 1 到 50 之间(含 1 和 50)随机整数的表达式是_。(分数:1.00)A.Int(Rnd*51)B.Int(Rnd(50)+1)C.Int(Rnd*50)D.Int(Rnd*50+1)13.要求如果 x 被 7 除余 2,则输出 x 的值,下列语句中不能实现此功能的语句是_。(分数:1.00)A.Ifx mod 7=2 Then Print xB.If x-(x/7)*7=2 Then Print xC.If x-(x/7)*7=2 Then Print xD.If x-Int(x/7)*7
5、=2 Then Print x14.表达式 Sgn(0.25)的值是_。(分数:1.00)A.-1B.0C.1D.0.515.如下关于变体类型变量的叙述中,错误的是_。(分数:1.00)A.变体类型数组中只能存放同类型数据B.使用 Amy 初始化的数组变量,必须是 Vatiant 类型C.没有声明而直接使用的变量其默认类型均是 VatiantD.在同一程序中,变体类型的变量可以被多次赋以不同类型的数据16.满足下列条件之一的年份是闰年: 1)年份能被 4 整除但不能被 100 整除 2)年份能被 400 整除 若 y 代表年份,下面判断闰年的正确表达式是_。(分数:1.00)A.y Mod 4
6、 And y Mod 100 Or y Mod 400B.y Mod 4=O Or y Mod 100 0 And y Mod 400=0C.y Mod 100 0 And(y Mod 4=0 Or y Mod 400=0)D.y Mod 4=0 And y Mod 100 0 Or y Mod 400=017.以下关于键盘事件的叙述中,错误的是_。(分数:1.00)A.按下键盘按键既能触发 KeyPress 事件,也能触发 KeyDown 事件B.KeyDown、KeyUp 事件过程中,大、小写字母被视作相同的字符C.KeyDown、KeyUp 事件能够识别 Shift、Alt、Ctrl 等
7、键D.KeyCode 是 KeyPress 事件的参数18.以下关于窗体的叙述中错误的是_。(分数:1.00)A.窗体的 Hide 方法将窗体隐藏并卸载B.窗体的 Show 方法可以将窗体装入内存并显示该窗体C.若工程中包含多个窗体,则可指定一个为启动窗体D.窗体的 Load 事件在加载窗体时发生19.如果在窗体模块中所有程序代码的前面有语句:Dim x,则 x 是_。(分数:1.00)A.全局变量B.局部变量C.静态变量D.窗体级变量20.计算下面分段函数的正确语句是_。 (分数:1.00)A.y=IIf(x0, x+1,IIf(x0, x-1, 0)B.y=IIf(x=0, 0, IIf(
8、x0, x-1, x+1)C.y=IIf(x0, x+1,IIf(x0, 0, x-1)D.y=IIf(x=0, 0, x-1, x+1)21.以下关于事件、事件驱动的叙述中,错误的是_。(分数:1.00)A.事件是可以由窗体或控件识别的操作B.事件可以由用户的动作触发C.一个操作动作只能触发一个事件D.事件可以由系统的某个状态的变化而触发22.要删除列表框中最后一个列表项,正确的语句是_。(分数:1.00)A.List1.RemoveItem ListCountB.List1.Removehem List1.ListCountC.List1.RemoveItem ListCount-1D.L
9、ist1.RemoveItem List1.ListCount-123.在菜单编辑器中建立如下图所示的菜单,并为每个菜单项编写了鼠标单击事件过程。 (分数:1.00)A.针对此菜单进行操作,单击“斜体”菜单项时,将执行它的鼠标单击事件过程B.针对此菜单进行操作,单击“下划线”菜单项时,“”被去掉C.针对此菜单进行操作,单击“退出”菜单项时,不能执行对应的单击事件过程D.针对此菜单进行操作,单击“编辑”菜单项时,打开下拉菜单,但不执行相应的单击事件过程24.以下关于通用对话框的叙述中,错误的是_。(分数:1.00)A.在程序运行状态下,通用对话框控件是不显示的B.通用对话框控件是 Visual
10、Basic 的标准控件C.设计时,通用对话框控件的大小是固定的,不能改变D.在同一个程序中,一个通用对话框控件可以作为打开、保存等多种对话框25.设工程中有 Form1、Form2 两个窗体,要求单击 Form2 上的 Command1 命令按钮,Form2 就可以从屏幕上消失,下面的事件过程中不能实现此功能的是_。(分数:1.00)A.Private Sub Command1_Click()Fonn2. HideEnd SubB.Private Sub Command1_Click()Unload MeEnd SubC.Private Sub Command1_Click()Form2. U
11、nloadEnd SubD.Private Sub Command1_Click()Me. HideEnd Sub26.向文本框中输入字符时,下面能够被触发的事件是_。(分数:1.00)A.GotFocusB.KeyPressC.ClickD.MouseDown27.若要把窗体上命令按钮 Command1 的状态设置为不可用,应该执行的命令是_。(分数:1.00)A.Command1.Enabled=FalseB.Command1.Visible=FalseC.Command1.Cancel=FalseD.Command1.Default=False28.窗体上有一个名称为 VScroll1
12、的滚动条,当用鼠标拖动滚动条中的滚动块时,触发的事件是_。(分数:1.00)A.ClickB.KeyDownC.DragDropD.Scroll29.关于 KeyPress 事件,以下叙述中正确的是_。(分数:1.00)A.在控件数组的控件上按键盘键,不能触发 KeyPress 事件B.按下键盘上任一个键时,都能触发 KeyPress 事件C.按字母键时,拥有焦点的控件的 KeyPress 事件会被触发D.窗体没有 KeyPress 事件30.窗体上有一个名称为 Text1 的文本框;一个名称为 Timer1 的计时器控件,其 Interval 属性值为5000,Enabled 属性值是 Tr
13、ue。Timer1 的事件过程如下: Private Sub Timer1_Timer() Static flag As Integer Ifflag=0 Then flag=1 flag=-flag If flag=1 Then Text1. ForeColor=y End Sub 运行程序后单击命令按钮,窗体上显示的是_。(分数:1.00)A.100 100B.100 120C.110 100D.110 12033.设 a、b 都是自然数,为求 a 除以 b 的余数,某人编写了以下函数: Function fun(a As Integer,b As Integer) While ab a=
14、a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是_。(分数:1.00)A.把 a=a-b 改为 a=b-aB.把 a=a-b 改为 a=a/bC.把 While ab 改为 While abD.把 While ab 改为 While a=b34.在窗体上画 1 个命令按钮和 1 个文本框,其名称分别为 Command1 和 Text1,再编写如下程序: Dim ss As String Private Sub Text1_KeyPress(KeyAscii As Integer) If Chr(KeyAseii) “ “
15、 Then 85=ss+Chr(KeyAscii) End Sub Private Sub Command1_Click() Dim m As String,i As Integer For i=Len(ss)To 1 Step-1 m=m+Mid(ss, i, 1) Next Text1. Text=UCase(m) End Sub 程序运行后,在文本框中输入“Number 100”,并单击命令按钮,则文本框中显示的是_。(分数:1.00)A.NUMRER 100B.REBMUNC.RERMUN 100D.001 REBMUN35.窗体的左右两端各有 1 条直线,名称分别为 Line1、Li
16、ne2;名称为 Shape1 的圆靠在左边的 Line1 直线上(见图);另有 1 个名称为 Timer1 的计时器控件,其 Enabled 属性值是 True。要求程序运行后,圆每秒向右移动 100,当圆遇到 Line2 时则停止移动。 (分数:1.00)A.把计时器的 Interval 属性设置为 1B.把 For k=Line1. X1 To Line2. X1 Step 100 和 Next k 两行删除C.把 For k=Line1. X1 To Line2. X1 Step 100 改为 For k=Line2. X1 To Line1. X1 Step 100D.把 If Sha
17、pe1. Left+Shape1. WidthLine2. X1 Then 改为 If Shape1. LeftLine2. X1 Then36.窗体如图 1 所示。要求程序运行时,在文本框 Text1 中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框 List1 中所有该姓氏的项目。若编写以下程序来实现此功能: 图 1(分数:1.00)A.For k=List1. ListCount-1 To 0 Step-1B.For k=0 To List1. ListCountC.For k=1 To List1. ListCount-1D.For k=1 To List1.
18、 ListCount37.窗体上有一个 Text1 文本框,一个 Command1 命令按钮,并有以下程序: Private Sub command1_Click() Dim n If Text1. Text “123456“Then n=n+1 Print “口令输入错误“ y End Sub 运行程序后单击命令按钮,窗体上显示的是_。(分数:1.00)A.100 100B.100 120 C.110 100D.110 120解析:解析 在标准模块中定义的使用 Public 定义的变量是全局变量,全局变量可以在工程的每个模块、每个过程中使用。如果在过程中有与全局变量同名的过程变量则优先使用过
19、程变量。在命令按钮事件中定义了局部变量 x,与全局变量同名,因此在此事件中使用局部变量,而变量 y 在此过程中没有定义,则仍使用全局变量。因此输出时 x 值为 100,y 值为 120。33.设 a、b 都是自然数,为求 a 除以 b 的余数,某人编写了以下函数: Function fun(a As Integer,b As Integer) While ab a=a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是_。(分数:1.00)A.把 a=a-b 改为 a=b-aB.把 a=a-b 改为 a=a/bC.把 Whil
20、e ab 改为 While abD.把 While ab 改为 While a=b 解析:解析 程序中没有考虑余数为 0 的情况,即,条件中应该有 a=b,则 a=a-b,这样才能正确得到余数 0。因此程序中应该修改 While 的条件 ab 为 a=b。34.在窗体上画 1 个命令按钮和 1 个文本框,其名称分别为 Command1 和 Text1,再编写如下程序: Dim ss As String Private Sub Text1_KeyPress(KeyAscii As Integer) If Chr(KeyAseii) “ “ Then 85=ss+Chr(KeyAscii) End
21、 Sub Private Sub Command1_Click() Dim m As String,i As Integer For i=Len(ss)To 1 Step-1 m=m+Mid(ss, i, 1) Next Text1. Text=UCase(m) End Sub 程序运行后,在文本框中输入“Number 100”,并单击命令按钮,则文本框中显示的是_。(分数:1.00)A.NUMRER 100B.REBMUNC.RERMUN 100D.001 REBMUN 解析:解析 题目中程序是将 ss 字符串进行反向排列,并放到 m 中去。其中 Number 空格后的 100 被当成字符串
22、来处理,最后结果是将“Number 100”反向排列,并通过 Ucase()函数将所有字母转换成大写,得到 001 REBMUN。35.窗体的左右两端各有 1 条直线,名称分别为 Line1、Line2;名称为 Shape1 的圆靠在左边的 Line1 直线上(见图);另有 1 个名称为 Timer1 的计时器控件,其 Enabled 属性值是 True。要求程序运行后,圆每秒向右移动 100,当圆遇到 Line2 时则停止移动。 (分数:1.00)A.把计时器的 Interval 属性设置为 1B.把 For k=Line1. X1 To Line2. X1 Step 100 和 Next
23、k 两行删除 C.把 For k=Line1. X1 To Line2. X1 Step 100 改为 For k=Line2. X1 To Line1. X1 Step 100D.把 If Shape1. Left+Shape1. WidthLine2. X1 Then 改为 If Shape1. LeftLine2. X1 Then解析:解析 在计时器事件中不应再设置步长为 100 的 For 循环,应该把 For 循环去掉,只留下循环体的语句,计时器每秒激发一次,每次判断小球是否移到 Line2 处,不到就改变自己的 Left 值即继续移动。因此 B 正确。36.窗体如图 1 所示。要求
24、程序运行时,在文本框 Text1 中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框 List1 中所有该姓氏的项目。若编写以下程序来实现此功能: 图 1(分数:1.00)A.For k=List1. ListCount-1 To 0 Step-1 B.For k=0 To List1. ListCountC.For k=1 To List1. ListCount-1D.For k=1 To List1. ListCount解析:解析 错误原因:每一次删除列表框满足项,列表框的项目数目就会相应地减少,所以就出现了漏删内容,如果把循环变量 k 改成从 List1.List
25、Cout-1 到 0,从最后一个项目往第一个项目查找,满足条件就删除该项目,从而不会出现遗漏现象,所以正确答案为 A。37.窗体上有一个 Text1 文本框,一个 Command1 命令按钮,并有以下程序: Private Sub command1_Click() Dim n If Text1. Text “123456“Then n=n+1 Print “口令输入错误“ & n & “次“ End If End Sub 希望程序运行时得到下图 1 所示的效果,即:输入口令,单击“确认口令”命令按钮,若输入的口令不是“123456”,则在窗体上显示输入错误口令的次数。但上面的程序实际显示的是下
26、图 2 所示的效果,程序需要修改。下面修改方案中正确的是_。 图 1(分数:1.00)A.在 Dim n 语句的下面添加一句:n=0B.把 Print “口令输入错误“ & n & “次“ 改为 Print “口令输入错误“+n+“次“C.把 Print “口令输入错误“ & n & “次“ 改为 Print “口令输入错误“ & Str(n) &“次“D.把 Dim n 改为 Static n 解析:解析 本题考查的是动态变量与静态变量。原来的程序中无法使变量 n 的值保持到下一次的使用,只有 D 选项符合要求,将 n 定义为静态局部变量,在程序执行到该对象的声明处时被首次初始化,每次执行后
27、 n 的值都会被保存到内存中,所以答案 D 是正确的;而 A 选项只是对 n 赋初值,所以 A 选项没有意义;B 选项和 C 选项都没有达到改进的目的。38.下面程序计算并输出的是_。 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 A.13+23+33+103的值 B.10!+3!+2!+1!的值 C.(1+2+3+10)3的值 D.10 个 103的和(分数:1.00)A. B.C.D.解析:解析 在 Do 循环语句中程序大致执行过程如下:s=103,a=9;s=
28、103+93,a=8;s=103+93+83,a=7;,依此类推,因此正确的答案为 A。39.设窗体上有一个通用对话框控件 CD1,希望在执行下面程序时,打开如图所示的文件对话框: Private Sub Command1_Click() CD1. DialogTitle=“打开文件“ CD1. InitDir=“C:“ CD1. Filter=“所有文件|*.*|Word 文档|*.doc|文本文件|*.txt“ CD1. FileName=“ CD1. Action=1 If CD1. FileName=“ “Then Print “未打开文件“ Else Print “要打开文件“ &
29、CD1. FileName End If End Sub (分数:1.00)A.把 CD1. Action=1 改为 CD1.Action=2B.把“CD1. Filter=“后面字符串中的“所有文件“改为“文本文件“C.在语句 CD1. Action=1 的前面添加:CD1. FilterIndex=3 D.把 CD1. FileName=“ “改为 CD1.FileName=“文本文件“解析:解析 在通用对话框控件中,Filter 属性指定了在对话框中显示的文件类型,该属性可以设置多个文件类型,每种文件类型由文件描述和文件通配符与扩展名组成,并由“|”隔开。FilterIndex 属性用来
30、指定默认的过滤器,Filter 属性中设置了多个过滤器后,每个过滤器的对应的值按从左到右顺序是1、2,FilterIndex 属性默认为 1,即第一个过滤器,因此程序中会显示 C:/下的所有文件。应该在通话框打开之前(CD1.Action=1 之前)添加 CD1.Filterlndex=3,即使默认过滤器为第 3 个过滤器。40.设工程中有 2 个窗体:Form1、Form2,Form1 为启动窗体。Form2 中有菜单,其结构如表。要求在程序运行时,在 Form1 的文本框 Text1 中输入口令并按回车键(回车键的 ASCII 码为 13)后,隐藏 Form1,显示Form2。若口令为“T
31、eacher”,所有菜单都可见;否则看不到“成绩录入”菜单项。为此,某人在 Form1窗体文件中编写如下程序: 菜单结构 标题 名称 级别 成绩管理 mark 1 成绩查询 query 2 成绩录入 input 2 Pfivme Sub Text1 1_KeyPress(KeyAscii As Integer) If KeyAscii=13 Then If Text1. Text=“Teacher“ Then Form2. input. Visible=True Else Form2. input. Visible=False End If End If Form1. Hide Form2.
32、Show End Sub 程序运行时发现刚输入口令时就隐藏了 Form1,显示了 Form2,程序需要修改。下面修改方案中正确的是_。(分数:1.00)A.把 Form1 中 Text1 文本框及相关程序放到 Form2 窗体中B.把 Form1. Hide、Form2. Show 两行移到 2 个 End If 之间 C.把 If KeyAscii=13 Then 改为 If KeyAscii=“Teacher“ ThenD.把 2 个 Form2. input. Visible 中的“Form2.”删去解析:解析 原程序的执行流程为,当按下一个键后,激活 KeyPress 事件,事件中隐藏
33、 Form1 和显示From2 的语句与判断是否按了回车键的语句是顺序的,即不论按了什么键,都会执行隐藏 Form1 和显示From2 的语句。这两句应该上移到第二个 EndIf 前面,也就是放在判断是否按了回车键的 If 语句块中。因此 B 选项正确。二、基本操作题(总题数:2,分数:18.00)41.在名称为 Form1 的窗体上添加一个名称为 Command1 的命令按钮数组,含三个命令按钮,它们的标题依次为“是”、“否”、“取消”,Index 属性分别为 0、1、2,每个按钮的高、宽均为 300、800。窗体的标题为“按钮窗口”。运行后的窗体如图所示。 注意:存盘时必须存放在 下,工程
34、文件名保存为 sjt1.vbp,窗体文件名保存为 sjt1.frm。 (分数:9.00)_正确答案:()解析:操作步骤 步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见表 13。 表 1 控件命令按钮 1 属性Name Caption Index Width Height 设置值Command1 是0 800 300 表 2 控件命令按钮 2 属性Name Caption Index Width Height 设置值Command否1 800 300 1 表 3 控件命令按钮3 窗体属性NameCaptionlndexWidthHeightCaption设置值Command1取消
35、2800300按钮窗口步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 可在窗体中先绘制一个命令按钮控件,命名为 Command1,并按要求设置其宽和高,然后通过“复制”和“粘贴”生成该控件数组的其他两个元素。42.在名称为 Form1 的窗体上添加一个名称为 Sha1 的形状控件,然后建立一个菜单,名称为 shape0,标题为“形状”,该菜单有两个子菜单,其名称分别为 shape1 和 shape2,其标题分别为“正方形”和“圆形”,如图所示。然后编写适当的程序。程序运行后,如果选择“正方形”菜单项,则形状控件显示为正方形;如果选择“圆形”菜单项,则窗体上的形状控件
36、显示为圆形。 注意:程序中不能使用变量,每个事件过程中只能写一条语句。保存时必须存放在 下,工程文件名保存为 sjt2.vbp,窗体文件名保存为 sjt2.frm。 (分数:9.00)_正确答案:()解析:操作步骤 步骤 1:建立界面,并添加一个名称为 Sha1 的形状控件建立菜单的属性见下表。 标题控件 形状 正方形 圆形 名称 Shape0 Shape1 Shape2 内缩 0 1 1 符号 步骤 2:编写程序代码。 Private Sub shape1_Click() Sha1.Shape=1 End Sub Private Sub shape2_Click() Sha1.Shape=3
37、 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 根据题意,选择“正方形”菜单项,则将形状控件 Shape 属性设置为 1,显示为正方形;如果选择“圆形”菜单项,则将形状控件 Shape 属性设置为 3,窗体上的形状控件显示为圆形。三、简单应用题(总题数:2,分数:24.00)43.在 下有一个工程文件 sjt3.vbp,窗体上已经有两个文件框,名称分别为 Text1、Text2;还有一个命令按钮,名称为 C1,标题为“确定”;请添加两个单选按钮,名称分别为 Op1、Op2,标题分别为“男生”、“女生”,再添加两个复选框,名称分别为 Ch1、Ch2,
38、标题分别为“体育”、“音乐”。请编写适当的事件过程,使得程序在运行时,单击“确定”按钮后实现下面的操作: 根据选中的单选按钮,在 Text1 中显示“我是男生”或“我是女生”。 根据选中的复选框,在 Text2 中显示“我的爱好是音乐”或“我的爱好是体育”或“我的爱好是体育音乐”。如图所示。 注意:不得修改已经给出的程序和已有控件的属性。在结束程序运行之前,必须选中一个单选按钮和至少一个复选框,并单击“确定”按钮。必须使用窗体右上角的关闭按钮结束程序,否则无成绩。 (分数:12.00)_正确答案:()解析:操作步骤 步骤 1:打开本题工程文件,并设置控件的属性。程序中用到的控件及属性见下表。
39、控件 单选按钮 1 单选按钮 2 复选框 1 复选框 2 属性 Name Caption Name Caption Name Caption Name Caption 设置值 Op1 男生Op2 女生 Ch1 体育 Ch2 音乐 步骤 2:分析并编写程序代码。 程序提供代码 Private Sub Form_Unload(Cancel As Integer) Open App.Path & “/out3.txt“ For Output As #1 Print #1, Op1. Value, Op2. Value, Text1. Text Print #1, Ch1. Value, Ch2. V
40、alue, Text2. Text Close #1 End Sub 程序结束 Private Sub C1_Click() If Ch2. Value And Ch1. Value Then Text2=“我的爱好是体育音乐“ Elself Ch2. Value And Ch1. Value=False Then Text2=“我的爱好是音乐“ ElseIf Ch1. ValHe And Ch2. Value=False Then Text2=“我的爱好是体育“ Else Text2=“ “ End If If Op1. Value Then Text1=“我是男生“ ElseIf Op2.
41、 Value Then Text1=“我是女生“ Else Text1=“ “ End If End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 容器控件(如窗体和框架)中的单选按钮组(OptionButton)常用于提供多个选项问的唯一性选择,其 Value 属性用于设置或返回每个单选按钮的选中状态:值为 False 表示未选中,值为True 表示选中。复选框(CheckBox)组常用于提供多个选项间的多重选择,Value 属性值决定每个复选框的选中状态:0-Unchecked 为未选中,1-Checked 为选中,2-Grayed 为禁用。 根据题意
42、,可用一个 IfThenEnd If 语句对 Op1 和 Op2 的选中情况进行处理,在 Text1 中显示对应信息;用两个 IfThen 语句依次对两个复选框的选中情况进行处理,并在 Text2 中显示对应信息。44.在 下有一个工程文件 sjt4.vbp。窗体上有一个名称为 Timer1 的计时器,一个名称为 List1 的列表框和一个名称为 Label1 的标签,如图所示。请通过属性窗口向列表框添加四个项目,分别是:“第一项”、“第二项”、“第三项”、“第四项”。程序运行后,将计时器的时间间隔设置为 1 秒钟,即每一秒钟从列表框中取出一个项目显示在 Label1 的标签中,首先显示“第一
43、项”,然后,依次显示“第二项”、“第三项”、“第四项”,如此循环。 在给出的窗体文件中已经有了全部控件和程序,但不完整,请添加 List1 中的项目,去掉程序中的注释符,把程序中的?改为正确的内容。 注意:考生不得修改工程中已经存在的内容和控件属性,最后将修改后的文件按原文件名存盘。 (分数:12.00)_正确答案:()解析:操作步骤 步骤 1:打开本题工程文件,通过属性窗口向列表框添加四个项目,分别是:“第一项”、“第二项”、“第三项”、“第四项”。 步骤 2:分析并编写程序代码。 程序提供代码 Dim i As Integer Private Sub Form_Load() “i=? “T
44、imer1. Interval=? Timer1. Enabled=True End Sub Private Sub Timer1_Timer() “Label1. Caption=? If i=3 Then i=0 Else i=i+1 End If End Sub 程序结束 第 1 个?处填入:0 第 2 个?处填入:1000 第 3 个?处填入:List1. List(i) 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 列表框 List 属性含有“第一项”,“第二项”,“第三项”,“第四项”四个值,Timer1 的 Interval 属性设置为 1000,表
45、示变化的时间间隔为 1s,并将 Timer1 的 Enabled 属性设置为 True。通过 If 语句和变量 i 的判断实现每隔 1 秒钟依次显示“第一项”、“笫二项”、“第三项”、“第四项”,如此循环。四、综合应用题(总题数:1,分数:18.00)45.在窗体上画 1 个文本框,名称为 Text1(multiline 属性为 True),然后再添加三个命令按钮,名称分别为 Command1、Command2 和 Command3,标题分别为“读数”、“统计”和“存盘”,如图所示。程序的功能是:单击“读数”按钮,则把 下的 in5.txt 文件中的所有英文字符放入 Text1(MutiLin
46、e 属性为True)中;单击“统计”按钮,找出并统计英文字母 i,j,k,1,m,n(不区分大小写)各自出现的次数;单击“存盘”按钮,将字母 i 到 n 出现次数的统计结果依次存到考生目录下的顺序文件 out5.txt 中。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sit5.vbp,窗体文件名保存为 sjt5.frm。 (分数:18.00)_正确答案:()解析:操作步骤 步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见表 1 和表 2。 表 1 控件命令按钮1 命令按钮2 属性Name Caption Name Caption 设置Co读数Co统计值mmand1 m
47、mand2 表 2 控件命令按钮3 文本框 属性Name Caption Name MultiLine 设置值Command3 存盘Test1 Ture 步骤 2:分析并编写程序代码。 程序提供代码 程序结束 Option Explicit Private Sub Command1_Click() Dim a As String Dim s As String Open App. Path & “, in5.txt“ For Input As #1 Do While Not EOF(1) a=Input(1, #1) s=s & a Loop Close #1 Text1=s End Sub Private Sub Command2_Click() Dim str As String Dim n1 As Integer Dim n2 As Integer Dim n3 As Integer Dim n4 As Integer Dim n5 As Integer Dim n6 As Integer Dim