1、二级 VISUAL+BASIC-58 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列选项中不属于面向对象程序设计特征的是_。(分数:2.50)A.继承性B.多态性C.类比性D.封装性2.在数据库设计中,将 E-R 图转换为关系模式的过程属于_。(分数:2.50)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段3.使用白盒测试法时,确定测试数据应该根据_和指定的覆盖标准。(分数:2.50)A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能4.树是结点的集合,它的根结点的数目是_。(分数:2.50)A.有且
2、只有 1 个B.1 或多于 1C.0 或 1D.至少有 2 个5.设 R 是一个二元关系,S 是一个三元关系,则下列运算中正确的是_。(分数:2.50)A.R-SB.RSC.RSD.RS6.在结构化程序设计中,模块划分的原则是_。(分数:2.50)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度7.有下列二叉树,对此二叉树前序遍历的结果是_。 (分数:2.50)A.ACBEDGFHB.ABDGCEHFC.HGFEDCBAD.ABCDEFGH8.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为_。(分数:
3、2.50)A.125B.n/2CnD.n+19.结构化程序设计的 3 种基本结构是_。(分数:2.50)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移10.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针11.在新建一个 Visual Basic 工程时,将新建窗体的 Name 属性设置为 TheFirst,则默认的窗体文件名为_。(分数:2.50)A.Form1.frmB.工程 1.frmC.TheFirst.frmD.F
4、orm1.vbp12.下列_标识符不能作为 Visual Basic 的变量名。(分数:2.50)A.ABCabeB.b1234C.28wedD.crud13.已知 a=5,b=/,c=12,下列表达式的值为 True 的是_。(分数:2.50)A.ab And caB.ab Or caC.ab Xor caD.aa Eqv ca14.在文本框中输入密码时,要求在文本框中只显示(+)号,则应当设置此文本框的_属性。(分数:2.50)A.TextB.CaptionC.PasswordD.PasswordChar15.假定在图片框控件 Picturel 中装入了一个图形,为了在程序运行时清除该图形
5、,则应使用_。(分数:2.50)A.选择图片框控件,然后按Del键B.执行语句 Picture 1_Picture=LoadPicture(“)C.执行语句 Picture1.Picture=“D.选择图片框控件,在属性窗口中选择 Picture 属性,然后删除该属性的值16.在文本框中输入字符时,通过_事件过程可以得到字符的 ASCII 码值。(分数:2.50)A.ChangeB.GotFocusC.KeyPressD.LostFocus17.单击命令按钮时,下列程序段的执行结果是_。 Private Sub Command1 Click() Dim a As Integer, b As I
6、nteger, c As Integer a=2:b=4:c=6 Call S1(a,b) Print “a=“;a;“b=“;b;“c=“;c Call S2(a,b) Print “a=“; a;“b=“; b;“c=“;e; End Sub Private Sub S1(x As Integer, Y As Integer) Dim c As Integer x=2*x: y=y+2:c=x+y End Sub Sub S2(x As Integer, ByVal Y As Integer) Dim e As Inleger x=2*x: Y=Y+2: e=x+y End Sub(分数:
7、2.50)A.a=1 b=6 c=6a=4 b=6 c=6B.a=8 b=6 c=6a=8 b=6 c=6C.a=4 b=c c=6a=8 b=6 c=6D.a=8 b=6 c=6a=4 b=6 c=618.下列关于复选框的说法,正确的是_。(分数:2.50)A.复选框的 Enabled 属性用于决定该复选框是否可见B.复选框的 Value 属性用于决定该复选框是否被选中C.复选框的 Tabindex 属性用于决定该复选框在控件数组中的序号D.复选框的 Visible 属性用于决定该复选框是否可用19.在窗体上面一个命令按钮,其名称为 Command1。程序运行后,单击命令按钮,输出结果是_。
8、 Private Sub pl(n As Integer) For i=n To 1 Step=1 x=String(i, “*“) Print x Next i End Sub Private Sub Command1_Click() pl(3) EndSub(分数:2.50)A.*B.*C.*D.*20.要在命令按钮控件上显示图像应_。(分数:2.50)A.设置 Picture 属性B.实现不了C.先将 Style 设置为 1,然后再设置 Picture 属性D.以上都不对21.在窗体上面 1 个名为 Text1 的文本框和 1 个名为 Labell 的标签,再画 4 个名为 Opl 的单
9、选按钮控件数组,其 Index 属性按零度顺序为 03,如图 1 所示。在文件 Sales.txt 中按月份顺序存有某企业某年 12个月的销售额。要求在程序执行时,鼠标单击一个单选按钮,则 Text1 中显示相应季度的销售总额,并把相应的文字显示在标签上。如图 2 所示是单击“第二季度”单选按钮所产生的结果。请选择可在空白处填写的合适语句_。 (分数:2.50)A.Opl_Click 3 Opl(Index)B.Opl_Click 0 Optionl(Index)C.Optionl_Click 1 Opl(Index)D.Optional_Click 2 Optionl(Index)22.在窗
10、体上有一个文本框 Text1,Text 属性值为空,然后编写下列事件过程: Privale 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 中显示的内容为_。(分数:2.50)A.ppB.pPC.PPD.Pp23.下列程序执行后,变量 X 的值为_。 Dim fl.b,c,d As Single D
11、im X As Single fl=10 b=30 c=400 If bfl Then d=fl: fi=b: b=d End If If bc Then X=b Else If flc Then X=c Else X=a End If(分数:2.50)A.10B.30C.400D.43024.下列程序的运行结果是_。 Private Function myfun(m,n) Do While mn Do While mn: m=m-n: Loop Do While nm: n=n-m: Loop Loop myfun=m End Function Private Sub Command1_Cl
12、ick() print myfun(9, 8) End Sub(分数:2.50)A.2B.1C.4D.325.为了使列表框中的项目分为多列显示,需要设置的属性为_。(分数:2.50)A.ColumnsB.StyleC.ListD.MultiSelect26.假定有一个菜单项,名为 MenuItem,为了在运行时使该菜单项不可见,应使用的语句为_。(分数:2.50)A.MenuItem.Enabled=FalseB.MenuItem.Enabled=TrueC.MenuItem.Visible=TrueD.Menultem.Visible=Flase27.在通用对话框中打开“颜色对话框”的方法是
13、_。(分数:2.50)A.ShowOpenB.MenuItem.Enabled=TrueC.MenuItem.Visible=TrueD.MenuItem.Visible=Flase28.下列操作不能向工程中添加窗体的是_。(分数:2.50)A.执行“工程”菜单中的“添加窗体”命令B.单击工具栏中的“添加窗体”按钮C.右击窗体,在弹出的菜单中选择“添加窗体”命令D.右击工程资源管理器,在弹出的菜单中选择“添加”命令,然后在下一级菜单中选择“添加窗体”命令29.某人设计了如下程序用来计算并输出 7!(7 的阶乘) Private Sub Command1_Click() t=0 For k=7
14、To 2 Step-1 t=t*k Nest Print t End Sub 执行程序时,发现结果是错误的,下面的修改方案中能够得到正确结果的是_。(分数:2.50)A.把 t=0 改为 t=1B.把 For k=7 To 2 Step-1 改为 For k=7 To 1 Step-1C.把 For k=7 To 2 Step-1 改为 For k=1 To 7D.把 Next 改为 Next k30.下列描述不正确的是_。(分数:2.50)A.某个子过程中声明的局部变量,其使用范围仅限定于该子过程内B.某个子过程中声明的局部变量,其生命周期仅限于该子过程被执行过程中C.不同子过程中的局部变量
15、可以具有相同的名称D.不同子过程中具有相同的名称的局部变量是同一变量31.在窗体上建立通用对话框需要添加的控件是_。(分数:2.50)A.Data 控件B.Form 控件C.CommonDialog 控件D.VBComboBox 控件32.关于 MDI 窗体,下列说法正确的是_。(分数:2.50)A.一个应用程序可以有多个 MDI 窗体B.子窗体可以移到 MDI 窗体以外C.不可以在 MDI 窗体上放置按钮控件D.MDI 窗体的子窗体不可以拥有菜单33.下列关于文件的叙述中,错误的是_。(分数:2.50)A.使用 Append 方式打开文件时,文件指针被定位于文件尾B.当以 Input 打开文
16、件时,如果文件不存在,则自动建立一个新文件C.顺序文件的各个记录的长度可以不同D.随机文件打开后,既可以进行读操作,也可以进行写操作34.在 Visual Basic 中,_可以作为“启动对象”。(分数:2.50)A.Sub Main 过程或任何窗体B.任何窗体或过程C.Sub Main 其他任何模块D.任何标准模块35.下列事件过程的功能是:建立一个名为 Datal 的随机文件,存放角度值及这些角度的正弦函数值和余弦函数值,角度为 1,2,3,90。空白处应填入的内容是_。 Private Type Ang K AS Integer Sinx As Single Cosx As Single
17、 End Type Private Sub Form_Click() Dim Y As Single Dim i As Integer Dim Ksc AS Ang 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 Elld Stub(分数:2.50)A.“/Data1.txt“ For RandomAS#1 Len=10 Put#1,i,KscB.“/Data1.txt“ For Random AS#1 Len=10 Put#1,Y,KscC.“/D
18、ata1.txt“ For Random As#1 Put#1,i,KscD.“/Data1.txt“ For Random AS#1 Put#1,Y,Ksc36.若窗体上的图片框中有一个命令按钮,则此按钮的 Left 属性是指_。(分数:2.50)A.按钮左端到窗体左端的距离B.按钮左端到图片框左端的距离C.按钮中心点到窗体左端的距离D.按钮中心点到图片框左端的距离37.为使程序运行时通用对话框 CD1 上显示的标题为“对话框窗口”,若通过程序设置该标题,则应使用的语句是_。(分数:2.50)A.CD1.DialogTitle=“对话框窗口”B.CD1.Action=“对话框窗口”C.CD1
19、.FileName=“对话框窗口”D.CD1.Filter=“对话框窗口”38.在窗体上有如下图所示的控件,各控件的名称与其标题相同,并有如下程序: Private Sub Form Load() Command2.Enabled=False Check1.Value=1 End Sub 刚运行程序时,看到的窗体外观是_。 A B C D (分数:2.50)A.B.C.D.39.设在窗体中有一个名称为 List1 的列表框,其中有若干个项目(如图)。要求选中某一项后单击Command1 按钮,就删除选中的项,则正确的事件过程是_。 (分数:2.50)A.Private Sub Command1
20、_Click()List1.ClearEnd SubB.Private Sub Command1_Click()List1.Clear List1.ListIndexEnd SubC.Private Sub Command1_Click()List1.Removeltem List1.ListIndexEnd SubD.Private Sub Command1_Click()List1.RemoveltemEnd Sub40.窗体上有两个文本框 Text1、Text2 以及一个命令按钮 Command1,编写下列程序: Dim Y As Integer Private Sub Command1
21、_Click() Dim X As Integer x=2 Text1.Text=p2(p1(X),Y) Text2.Text=Pl(X) End Sub Private Function pl(X As Integer)As Integer x+x+y: y=x+y pl=x+y End Function Private Function p2(X As Integer, Y As Integer)As Integer p2=2*x+y End Function 当单击 1 次和单击 2 次命令按钮后,文本框 Text1 和 Text2 内的值分别为_。(分数:2.50)A.2 42 4B.
22、2 44 8C.4 48 8D.10 1058 58二级 VISUAL+BASIC-58 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列选项中不属于面向对象程序设计特征的是_。(分数:2.50)A.继承性B.多态性C.类比性 D.封装性解析:解析 面向对象程序设计的三个主要特征是封装性、继承性和多态性。2.在数据库设计中,将 E-R 图转换为关系模式的过程属于_。(分数:2.50)A.需求分析阶段B.逻辑设计阶段 C.概念设计阶段D.物理设计阶段解析:解析 数据库设计阶段主要包括需求分析、概念设计、逻辑设计和物理设计。其中逻辑设计的主
23、要工作是将 ER 图转换为关系模式。3.使用白盒测试法时,确定测试数据应该根据_和指定的覆盖标准。(分数:2.50)A.程序的内部逻辑 B.程序的复杂结构C.使用说明书D.程序的功能解析:解析 白盒测试是把测试对象看成一个打开的盒子,允许测试人员利用程序内部的逻辑结构及相关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试。所以,白盒测试的对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准测试数据。4.树是结点的集合,它的根结点的数目是_。(分数:2.50)A.有且只有 1 个B.1 或多于 1C.0 或 1 D.至少有 2 个解析:解析 树具有明显的层次关系,即树是一种层次结构。在树结
24、构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为 0。5.设 R 是一个二元关系,S 是一个三元关系,则下列运算中正确的是_。(分数:2.50)A.R-SB.RS C.RSD.RS解析:解析 关系的交()、并()和差(-)运算要求两个关系是同元的,显然作为二元的 R 和三元 S 只能做笛卡儿积运算。6.在结构化程序设计中,模块划分的原则是_。(分数:2.50)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度 解析:解析 在结构化程序设计中,模块划分应遵循高内聚、低耦合的原则。
25、其中,内聚性是对一个模块内部各个元素间彼此结合的紧密程度的度量,耦合性是对模块间互相连接的紧密程度的度量。7.有下列二叉树,对此二叉树前序遍历的结果是_。 (分数:2.50)A.ACBEDGFHB.ABDGCEHF C.HGFEDCBAD.ABCDEFGH解析:解析 对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。8.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为_。(分数:2.50)A.125B.n/2Cn D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与
26、表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。9.结构化程序设计的 3 种基本结构是_。(分数:2.50)A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移解析:解析 程序的 3 种基本控制结构包括顺序、选择和重复(循环),这 3 种结构就足以表达出各种其他形式的结构。10.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.
27、队头指针可以大于队尾指针,也可以小于队尾指针 解析:解析 循环队列是把队列的头和尾在逻辑上连接起来,构成一个环。循环队列中首尾相连,分不清头和尾,此时需要两个指示器分别指向头部和尾部。插入就在尾部指示器的指示位置处插入,删除就在头部指示器的指示位置删除。11.在新建一个 Visual Basic 工程时,将新建窗体的 Name 属性设置为 TheFirst,则默认的窗体文件名为_。(分数:2.50)A.Form1.frmB.工程 1.frmC.TheFirst.frm D.Form1.vbp解析:解析 设置 Name 的属性其实就是给窗体重命名。窗体的文件名是由文件名和后缀名(.frm)组成,
28、即“自定义名.frm”。12.下列_标识符不能作为 Visual Basic 的变量名。(分数:2.50)A.ABCabeB.b1234C.28wed D.crud解析:解析 给变量命名时应遵循 4 个原则:名字只能由字母、数字和下划线组成;第一个字符必须是英文字母,最后一个字符可以是类型说明符;名字的有效字符为 255 个;不能使用 Visual Basic 中的保留字作为变量名。13.已知 a=5,b=/,c=12,下列表达式的值为 True 的是_。(分数:2.50)A.ab And caB.ab Or caC.ab Xor caD.aa Eqv ca 解析:解析 And 逻辑运算符对两
29、个关系表达式的值进行比较,如果两个表达式的值均为 True,则结果为 True,否则为 False。Or 逻辑运算符对两个关系表达式的值进行比较,如果两个关系表达式的值均为True 或其中的一个表达式为 True,则结果为 True;如果两个表达式的值均为 False,则结果为False。Xor 逻辑运算符,如果两个表达式同时为 True 或同时为 False,则结果为 False,否则为True。Eqv 逻辑运算符,如果两个表达式同时为 True 或同时为 False,则结果为 True。14.在文本框中输入密码时,要求在文本框中只显示(+)号,则应当设置此文本框的_属性。(分数:2.50)
30、A.TextB.CaptionC.PasswordD.PasswordChar 解析:解析 Text 属性用来显示文本框中输入的文本;文本框没有 Caption 属性和 Password 属性;PasswordChar 属性中输入的字符或占位符可以替代在文本框中输入的字符显示出来,从而达到隐藏实际输入字符的功能,该属性一般用于密码设置。15.假定在图片框控件 Picturel 中装入了一个图形,为了在程序运行时清除该图形,则应使用_。(分数:2.50)A.选择图片框控件,然后按Del键B.执行语句 Picture 1_Picture=LoadPicture(“) C.执行语句 Picture1
31、.Picture=“D.选择图片框控件,在属性窗口中选择 Picture 属性,然后删除该属性的值解析:解析 选项 A 的方法是在设计程序时删除图片框控件的方法;选项 B 是在运行时给图片框控件加载一个空图片,替换图片框中原有的图片,即清除了图片框中的图片;选项 C 有语法错误;选项 D 的方法是在程序设计时清除图片框控件中的图形。16.在文本框中输入字符时,通过_事件过程可以得到字符的 ASCII 码值。(分数:2.50)A.ChangeB.GotFocusC.KeyPress D.LostFocus解析:解析 当文本框获得焦点,按下键盘上的某个键时,将触发文本框的 KeyPress 事件。
32、KeyPress事件带有一个 KeyCode 参数,可以通过该参数获取按键的 ASCII 码值。17.单击命令按钮时,下列程序段的执行结果是_。 Private Sub Command1 Click() Dim a As Integer, b As Integer, c As Integer a=2:b=4:c=6 Call S1(a,b) Print “a=“;a;“b=“;b;“c=“;c Call S2(a,b) Print “a=“; a;“b=“; b;“c=“;e; End Sub Private Sub S1(x As Integer, Y As Integer) Dim c A
33、s Integer x=2*x: y=y+2:c=x+y End Sub Sub S2(x As Integer, ByVal Y As Integer) Dim e As Inleger x=2*x: Y=Y+2: e=x+y End Sub(分数:2.50)A.a=1 b=6 c=6a=4 b=6 c=6B.a=8 b=6 c=6a=8 b=6 c=6C.a=4 b=c c=6a=8 b=6 c=6 D.a=8 b=6 c=6a=4 b=6 c=6解析:解析 在定义子过程的参数时,如果在参数前加上 ByVal,表示“传值”参数,主调函数中参数的值不被改变;否则表示是“传地址”参数,参数值会
34、被调用的子过程改变。题中 S1 过程的参数是“传地址”,因此调用后 a、b、c 的值都改变了,分别为 4、6、6:S2 过程的参数 a 是“传地址”参数,b 是“传值”参数,因此调用后 a 值改变,b 值不变,因为 C 是过程变量,所以也没有变化,因此输出的值为8、6、6。18.下列关于复选框的说法,正确的是_。(分数:2.50)A.复选框的 Enabled 属性用于决定该复选框是否可见B.复选框的 Value 属性用于决定该复选框是否被选中 C.复选框的 Tabindex 属性用于决定该复选框在控件数组中的序号D.复选框的 Visible 属性用于决定该复选框是否可用解析:解析 Enable
35、d 属性用于设置控件是否能够对用户产生的事件作出反应;Value 属性用来返回或设置复选框的状态,是否被选中;Tablndex 属性是指复选框在窗体中获得焦点的顺序;Visible 属性返回或设置复选框可见或隐藏。19.在窗体上面一个命令按钮,其名称为 Command1。程序运行后,单击命令按钮,输出结果是_。 Private Sub pl(n As Integer) For i=n To 1 Step=1 x=String(i, “*“) Print x Next i End Sub Private Sub Command1_Click() pl(3) EndSub(分数:2.50)A.*
36、B.*C.*D.*解析:解析 分析程序可知,命令按钮单击事件调用 pl(3)函数,因此循环中的 n 为 3,所以 For 循环的条件为 For i=3 to 1 step-1,即 i 从 3 递减到 1,输出的“*”号也递减,每一次 Print 执行后,自动换行。最后输出的结果如选项 A 所示。20.要在命令按钮控件上显示图像应_。(分数:2.50)A.设置 Picture 属性B.实现不了C.先将 Style 设置为 1,然后再设置 Picture 属性 D.以上都不对解析:解析 Style 属性的值可设置成标准模式 0(vbButtonStandard)或图形模式 1(vbButtonGr
37、aphical)。命令按钮控件默认的 Style 属性值为 0,只能显示标准的按钮,不能设置颜色和图形。使用 Picture 属性可以给命令按钮指定一个图形。21.在窗体上面 1 个名为 Text1 的文本框和 1 个名为 Labell 的标签,再画 4 个名为 Opl 的单选按钮控件数组,其 Index 属性按零度顺序为 03,如图 1 所示。在文件 Sales.txt 中按月份顺序存有某企业某年 12个月的销售额。要求在程序执行时,鼠标单击一个单选按钮,则 Text1 中显示相应季度的销售总额,并把相应的文字显示在标签上。如图 2 所示是单击“第二季度”单选按钮所产生的结果。请选择可在空白
38、处填写的合适语句_。 (分数:2.50)A.Opl_Click 3 Opl(Index) B.Opl_Click 0 Optionl(Index)C.Optionl_Click 1 Opl(Index)D.Optional_Click 2 Optionl(Index)解析:解析 解本题的关键是读懂题意和程序的作用。Form Load 事件过程的作用是打开文件Sales.txt,读出文件 12 个月的销售额分别存放在数组 sales 元素中。然后在单选按钮的单击事件中进行处理,因为控件数组共享同一个事件过程,所以第 1 个横线处,应填入单击事件,使用控件的名字 Opl 加下划线加 Click。在
39、单击事件过程中,通过变量 month 计算月份,分别统计每一个季度的销售总额,结合For 循环中 month 的值;第一季度,month 的初值为 0,index 的值为 0;第二季度,month 的初值为3,index 的值为 1;第三季度,month 的初值为 6,index 的值为 2;第四季度,month 的初值为 9,index的值为 3;所以第 2 个横线处应填入 3。第 3 个横线的填写较简单,就是显示选中的单选按钮的标题。22.在窗体上有一个文本框 Text1,Text 属性值为空,然后编写下列事件过程: Privale Sub Text1_KeyPress(KeyAscii
40、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 中显示的内容为_。(分数:2.50)A.ppB.pP C.PPD.Pp解析:解析 解答本题的前提是了解下列几个函数的作用:UCase 函数的作用是将某字符串中的字符全部转成大写;string(n,str)函数的作用是返回 n 个重复字符的字符串;Len 函数的作用是返回字符串的长度。因为 KeyPress
41、事件中接收 KeyAscii 参数为输入键的 ASCII 码,输入小写字母“p”后,str 为大写字母“P”,n=1,String(n,str)为“P”,所以 Text1 中在按下键盘上的键时又添加了一个“P”。23.下列程序执行后,变量 X 的值为_。 Dim fl.b,c,d As Single Dim X As Single fl=10 b=30 c=400 If bfl Then d=fl: fi=b: b=d End If If bc Then X=b Else If flc Then X=c Else X=a End If(分数:2.50)A.10B.30 C.400D.430解析
42、:解析 程序操作过程如下: 程序首先执行 If ba Then 语句,条件为真执行 d=a:a=b:b=d 语句,执行后 d=10,a=30,b=10;然后执行 If bc Then 语句,条件不成立,因此执行 Else lf ac Then 语句;条件不成立,因此执行 Else 后面的 X=a 语句,执行后 x=30。24.下列程序的运行结果是_。 Private Function myfun(m,n) Do While mn Do While mn: m=m-n: Loop Do While nm: n=n-m: Loop Loop myfun=m End Function Private
43、 Sub Command1_Click() print myfun(9, 8) End Sub(分数:2.50)A.2B.1 C.4D.3解析:解析 求解本题的关键在于理解好 3 个 Do While 循环的执行顺序,第 2 个和第 3 个 Do While 循环嵌套在第 1 个 Do While 循环内,先执行第 2 个循环,然后是第 3 个循环,最后是外层循环即第 1 个DoWhile 循环。程序执行过程是:m=9,n=8;第 1 个 Do While 循环完,执行第 2 个 Do While 循环,m=m-n=1;退出第 2 个 Do While 循环;执行第 3 个 Do While
44、循环,n=n-m,最后 n 的值为 1;退出第 3 个 Do While 循环;退出第 1 个 Do While 循环。程序执行结果是 1。25.为了使列表框中的项目分为多列显示,需要设置的属性为_。(分数:2.50)A.Columns B.StyleC.ListD.MultiSelect解析:解析 Columns 属性返回或设置一个值,以决定控件是水平还是垂直滚动以及如何显示列中的项目。Columns 属性值为 0 时,控件为垂直滚动;Columns 属性等于 1 时,则列表框呈多行多列显示;Columns 属性值大干 1 时,为水平滚动,Columns 属性值的数量决定在控件中的可见宽度内
45、显示列的数量。Columns 属性用来确定列表框的列数。26.假定有一个菜单项,名为 MenuItem,为了在运行时使该菜单项不可见,应使用的语句为_。(分数:2.50)A.MenuItem.Enabled=FalseB.MenuItem.Enabled=TrueC.MenuItem.Visible=TrueD.Menultem.Visible=Flase 解析:解析 Enabled 属性用来设置一个窗体或控件是否能够对用户产生的事件作出反应,设为 False时,菜单项在程序运行时失效,不响应用户的操作;设为 True 时,菜单项在程序运行有效,能响应用户的操作。Visible 属性用来设置窗
46、体或控件是否可见,设为 False 时,控件不可见;设为 True 时,控件可见。27.在通用对话框中打开“颜色对话框”的方法是_。(分数:2.50)A.ShowOpenB.MenuItem.Enabled=True C.MenuItem.Visible=TrueD.MenuItem.Visible=Flase解析:解析 在通用对话框中打开“颜色对话框”的方法是:使用 ShowColor 方法,或者将通用对话框的 Action 属性设置为 3,在本题中也可使用 Enable 属性进行控制,MenuItem.Endble=True。28.下列操作不能向工程中添加窗体的是_。(分数:2.50)A.
47、执行“工程”菜单中的“添加窗体”命令B.单击工具栏中的“添加窗体”按钮C.右击窗体,在弹出的菜单中选择“添加窗体”命令 D.右击工程资源管理器,在弹出的菜单中选择“添加”命令,然后在下一级菜单中选择“添加窗体”命令解析:解析 添加窗体的方法有下列 3 种: 通过“工程”菜单中的“添加窗体”命令来添加窗体;通过工具栏中的“添加窗体”按钮来添加窗体;在工程资源管理器中右击,在弹出的浮动菜单中选择“添加窗体”命令来添加窗体。但右击窗体,在弹出的浮动菜单中没有添加窗体的命令。29.某人设计了如下程序用来计算并输出 7!(7 的阶乘) Private Sub Command1_Click() t=0 F
48、or k=7 To 2 Step-1 t=t*k Nest Print t End Sub 执行程序时,发现结果是错误的,下面的修改方案中能够得到正确结果的是_。(分数:2.50)A.把 t=0 改为 t=1 B.把 For k=7 To 2 Step-1 改为 For k=7 To 1 Step-1C.把 For k=7 To 2 Step-1 改为 For k=1 To 7D.把 Next 改为 Next k解析:解析 由于 t=t*k,若 t=0,则循环的结果只能是 0,不可能得到 7 的阶乘,所以应将 t=0 改为t=1。30.下列描述不正确的是_。(分数:2.50)A.某个子过程中声明的局部变量,其使用范围仅限定于该子过程内B.某个子过程中声明的局部变量,其生命周期仅限于该子过程被执行过程