1、计算机程序设计 A期末复 习题(答案) 第 1 页 共 25 页 1 在 Visual Basic 中最基本的对象是( ),它是应用程序的基石 ( A)标签 ( B)窗体 ( C)文本框 ( D)命令按钮 2 事件驱动应用程序的典型操作序列是( ) ( A) 启动应用程序、加载显示窗体,接收事件,执行代码,等待下次事件 ( B) 接收事件,启动应用程序,加载显示窗体,执行代码,等待下次事件 ( C) 执行代码,启动应用程序,加载显示窗体,接收事件,等待下次事件 ( D) 等待下次事件,接收事件,启动应用程序,加载显示窗体,执行代码 3 对于不同的对象有不同的属性,但所有的对象都共同拥有的属性是
2、( ) ( A) Picture ( B) Caption ( C) Name ( D) Lcon 4 从键盘上输入两个字符串,分别保存在变量 str1和 str2中。确定第二个字符串在第一个字符串中起始位置的函数是( ) ( A) Left ( B) Mid ( C) String ( D) Instr 5 函数 Int(100*Rnd+1)的取值范围是( ) ( A)从 1 到 100 ( B)从 0 到 100 ( C)从 1 到 101( D)从 0 到 101 6 如果将布尔常量值 True 赋值给一个整型变量,则整型变量的值为( ) ( A) 0 ( B) -1 ( C) True
3、 ( D) False 7 下列符号常量的申明中,( )是不合法的 ( A) Const a As Single = 1.1 ( B) Const a As Integer = “12” ( C) Const a As Double = Sin(1) ( D) Const a = “OK” 8 将变量 k 四舍五入保留 2 位小数的表达式是( ) ( A) Int(k+0.5)*100)/100 ( B )Int(k*100)/100+0.5 ( C) Int(k*100+0.5)/100 ( D )Int(k*(100+0.5)/100 9 假设 a和 b是整型变量,则表示条件“ 1 a 8
4、 和 1 b 8中只要有一个成立即可 ”的逻辑表达式是( ) ( A) 1”Fine” ( B) ”good”god” 28 设 a = 3 , b = 5,则以下表达式值为真的是( 【 6】 ) ( A) (-3+5) And (b 0) ( B) a = b And b 10 ( C) (a b) Or (b 0) ( D) (a 0) 29 语句 Print 6 / 5 * 6 5 Mod 2 的输出结果是 ( 【 4】 ) ( A) 0 ( B) 1 ( C) 2 ( D)3 30 以下定义数组或给数组元素赋值的语句中,正确的是 ( 【 4】 ) ( A) Dim Arr as Var
5、iant ( B) Dim Arr(10) as Integer Arr=Array(1,2,3,4,5,6,7,8) Arr=Array(1,2,3,4,5,6,7,8) ( C) Dim Arr%(10) ( D) Dim a(3),b(3) as Integer Arr(1)=”ABCDEFGH” a(0)=0 a(1)=1 a(2)=2 b=a 31 在窗体上画一个名称为 List1的列表框,为了对列表框中的每个项目都能进行处理, 应使用的循环语句为 ( 【 4】 ) ( A) For i=0 To List1.ListCount-1 ( B) For i=0 To List1.Cou
6、nt-1 Next Next ( C) For i=1 To List1.ListCount ( D) For i=1 To List1.Count Next Next 32 以下关于图片框 控件的说法中,错误的是 ( 【 4】 ) ( A)可以通过 Print 方法在图片框中输出文本 ( B)清空图片框控件中图形的方法之一是加载一个空图形 ( C)图片框控件可以作为容器使用 ( D)用 Stretch 属性可以自动调整图片框中图形的大小 33 设有语句 x = InputBox( “请输入数值 ” , “ 0 ” , “示例 ”) 则程序运行后,如果从键盘输入 100 并按回车键,下列叙述中
7、正确的是( 【 7】 ) ( A) 0 是默认值 ( B)变量 x 的值是数值 100 ( C)变量 x 的值是字符串 “100” ( D)在 InputBox 对话框标题栏中显示的是 “请输入数值 ” 34 以下 叙述中错误的是 ( A)窗体或控件的事件的名称可以由编程人员确定 ( B)移动鼠标时,会触发 MouseMove 事件 ( C)控件的名称可以由编程人员设定 ( D)双击鼠标可以触发 DblClick 事件 35 从键盘上输入两个字符串,分别保存在变量 Str1, Str2 中,确定第二个字符串在第一个字符串中起始位置的函数是( 【 8】 ) ( A) Mid ( B) Instr
8、 ( C) String ( D) Left 36 以下能够触发文本框 Change 事件的操作是( 【 9】 ) ( A)文 本框获得焦点 ( B)改变文本框的内容 ( C)文本框失去焦点 ( D)设置文本框的焦点 37 设 a = “西南交通大学峨眉校区 ”,下面使 b = “峨眉校区 ”的语句是( 【 10】 ) ( A) b = Left (a , 15 , 8 ) ( B) b = Left ( a , 7 , 4 ) ( C) b = Mid ( a , 15 , 8 ) ( D) b = Mid ( a , 7 , 4 ) 38 在窗体上有一个文本框控件,名称为 TxtTime;
9、一个计时器控件,名称为 Timer1,要 求每一 秒钟在文本框中显示一次当前时间。程序为: Private Sub Timer1 _ ( ) TxtTime.Text = Time End Sub 在下划线上应填入的内容是( 【 11】 ) ( A) Visible ( B) Interval ( C) Timer ( D) Enabled 39 以下能正确定义数据类型 Student 的代码是 ( A) Type Student ( B) Type Student Name As String*10 Name As String*10 TelNum As Integer TelNum As
10、Integer 计算机程序设计 A期末复 习题(答案) 第 4 页 共 25 页 End Type End Student ( C) Type Student ( D) Typedef Student Name String*10 Name String*10 TelNum Integer TelNum Integer End Type Student End Type 40 为了 在按下 Esc 键时执行某个命令按钮的 Click 事件过程,需要把该命令按钮的一个属性值设置为 True,这个属性是( 【 12】 ) ( A) Value ( B) Cancel ( C) Default (
11、D) Enabled 41 以下叙述中错误的是 ( A)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件 ( B)保存 Visual Basic 程序时,应分别保存窗体文件及工程文件 ( C)事件可以由用户引发,也可以由系统引发 ( D) Visual Basic 应用程序只能以解释方式执 行 42 设窗体上有一个列表框控件 List1,且其中含有若干列表项。则以下能表示当前被选中 的列表项内容的是 ( A) List1.List ( B) List1. Text ( C) List1.ListIndex ( D)List1.Index 43 图像 框 Image 有一个属性
12、,可以自动调整图形的大小,以适应图像框的尺寸,这个属性是( 【 13】 ) ( A) Autosize ( B) AutoRedraw ( C) Appearance ( D)Stretch 44 程序运行 后,在窗体上单击鼠标,此时窗体不会接收到的事件是 ( A) Load ( B) MouseDown ( C) MouseUp ( D)Click 45 在窗体上画一个命令按钮,名称为 Com1,然后编写如下程序: Private Sub Com1_Click( ) For i=1 to 4 For j=0 to i Print Chr$(97+j); Next j Print Next i
13、 End Sub 则程序运行结果为( 【 14】 ) ( A) ab ( B) a ( C) aa ( D) aa abc b bb bbb abcd c cc cccc abcde d dd ddddd 46 设 a=100, b=50, c=10,执行语句 Print a b c 后,窗体上显示的是 ( A) True ( B) False ( C) 1 ( D)出错信息 47 MsgBox 函数中 用于 指定对话框中显示按钮的数目的参数项是( 【 15】 ) ( A) Prompt 参数 ( B) Buttons 参数 ( C) Title 参数 ( D)Default 参数 48 下列
14、各组函数中,功能相似的一组函数是( 【 16】 ) ( A) Str 和 Val ( B) Asc 和 Chr ( C) Int 和 Fix ( D)Lcase 和 Ucase 49 如果要 改变 窗体的标题,则需要设置的属性是 ( A) Name ( B) Caption ( C) BackColor ( D)BorderStyle 50 下列 Format$函数的说明中错误的是( 【 17】 ) ( A)一个 # 格式符表示一个数字位, # 的个数即为显示区段的长度 ( B) “ , ”格式符与 “ . ”格式符的作用完全相同 ( C) “ $ ”格式符用于在数值前面加上一个 $,以表示货
15、币 ( D) 0 格式符与 # 格式符的功能相似 51 以下能判断 是否 到达文件尾的函数是 ( A) BOF ( B) LOC ( C) EOF ( D)LOF 52 执行下列程序段后,变量 c 的值为( 【 18】 ) a = 123 : b$ = “ 456 ” : c = a + b$ ( A) 0 ( B) 123456 ( C) 579 ( D)语句 c = a+b$错误 53 为了在程序中设置命令按钮为不可见,需要把该命令按钮的一个属性值设置为 False,这个属性是( 【 19】 ) ( A) Value ( B) Visible ( C) Cancel ( D) Enable
16、d 54 下列控件中,不能接收焦点的控件是( 【 20】 ) ( A) Form ( B) TextBox ( C) CommandBotton ( D)计算机程序设计 A期末复 习题(答案) 第 5 页 共 25 页 Label 55 InputBox 函数的返回值类型是( 【 21】 ) ( A)数值型 ( B)字符串型 ( C)变体型 ( D)数值或字符串型(视输入的数据而定) 56 如果一个 工程 含有多个窗体及标准模块,则以下叙述中错误的是 ( A)用 Hide 方法只是隐藏一个窗体,不能从内存中清除该窗体 ( B)不能把标准模块设置为启动模块 ( C)如果工程中含有 Sub Mai
17、n 过程,则程序一定首先执行该过程 ( D)任何时刻最多只有一个窗体是活动窗体 57 运行下列程序段后, x 的值是( 【 22】 ) x = 8 For i =1 to 5 x = x + x 3 Next ( A) 13 ( B) 22 ( C) 29 ( D) 38 58 在窗体上画一个 名称为 Command1 的 命令按钮,然后编写如下的事件过程: Private Sub Command1_Click( ) m = 6789 c = Trim(Str(m) For i = 1 To 4 Print ( 【 23】 ) Next End Sub 程序运行后,单击命令按钮,要求在窗体上显
18、示如下内容: 6 67 678 6789 则在 【 23】 处应该填入的内容为 ( A) Left(c,i) ( B) Right(c,i) ( C) Mid(c,i,i) ( D)Mid(c,i,1) 59 在窗体上画一个命令按钮,然后编写如下的事件过程: Private Sub Command1_Click( ) a=Val ( InputBox ( “ 请输入 a 的值 ” ) b=Val ( InputBox ( “ 请输入 b 的值 ” ) c=Val ( InputBox ( “ 请输入 c 的值 ” ) If a b Then t = a : a = b : b = t If a
19、 c Then t = a : a = c : c = t If b c Then t = b : b = c : c = t Print a , b , c End Sub 程序运行后,单击命令按钮,依次在输入对话框中输入 10、 5、 20,则输入结果为( 【 23】 ) ( A) 20 10 5 ( B) 5 10 20 ( C) 10 5 20 ( D)20 5 10 60 在窗体上画一个名称为 Command1 的命令按钮,然后编写如下的事件过程: Private Sub Command1_Click() X=-4 If Sgn(X) Then Y=Sgn(X2) Else Y=Sg
20、n(x) End If Print Y End Sub 程序运行后,单击命令按钮,窗体上显示的是 ( 【 4】 ) ( A) 1 ( B) -1 ( C) -4 ( D)16 61 下列不能打开代码窗口的操作是( 【 24】 ) ( A)单击窗 体的任何地方 ( B)双击窗体的任何地方 ( C)单击工程窗口中的 “查看代码 ”按钮 ( D)单击 “视图 ”下拉菜单中的 “代码窗口 ”选项 62 在立即窗口中输出变量 a 的值,正确的语句是( 【 25】 ) ( A) Debug a ( B) Debug.Print a ( C) Print.Debug a ( D) Print a 63 在窗
21、体上画一个名称为 Drive1 的驱动器列表框,一个名称为 Dir1的目录列表框。当改变当前驱动器时,目录列表框应该与之同步改变。设置两个控件同步的命令放在一个事件过程中,此事件过程是 ( 【 26】 ) ( A) Drive1_Change ( B) Drive1_Click ( C) Dir1_Click ( D) Dir1_Change 计算机程序设计 A期末复 习题(答案) 第 6 页 共 25 页 64 窗体 的 MouseUp 事件过程 Form_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Sing
22、le) 有 4 个参数,关于这些参数,正确的描述是 ( A)通过 Button 参数判定当前按下的是哪一个鼠标键 ( B) Shift 参数只能用来确定是否按下 Shift键 ( C) Shift 参数只能用来确定是否按下 Alt 和 Ctrl 键 ( D)参数 x,y 用来设置鼠标当前位置的坐标 65 InputBox 函数有 6 个参数,其中不能省略的参数项是( 【 26】 ) ( A) Default 参数 ( B) Title 参数 ( C) Xpos, Ypos 参数 ( D)Prompt 参数 66 在窗体上画一个名称为 Command1 的命令按钮,然后编写如下的事件过程: Op
23、tion Base 1 Private Sub Command1_Click() Dim a s=0 a=Array(1,2,3,4) j=1 For i=4 To 1 Step -1 s = s + a(i) * j j = j * 10 Next i Print s End Sub ( A) 34 ( B) 12 ( C) 1234 ( D)4321 67 不能从一个已知字符串中得到一个子字符串的函数是( 【 27】 ) ( A) Trim ( B) Right ( C) Mid ( D) Left 68 设组合框 Combo1 中有 3 个项目,则 以下能删除最后一项的语句是 ( A)
24、Combo1.RemoveItem Text ( B) Combo1.RemoveItem Combo1.Listcount ( C) Combo1.RemoveItem 2 ( D) Combo1.RemoveItem 3 69 表达式 17 2 *10 Mod 3 的值是( 【 28】 ) ( A) 0 ( B) 1 ( C) 2 ( D) 3 70 如果在立即窗口中执行以下操作: a = “ abc ” ( 表示回车键,下同) b = “ aBc ” Print ab 则输出结果是( 【 29】 ) ( A) -1 ( B) 0 ( C) False ( D) True 71 在窗体上画
25、一个名称为 Text1 的文本框,要求文本框只能接收小写字母的输入。以下能实现该操作的事件过程是 ( 【 29】 ) ( A) Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii 122 Then MsgBox “请重新输入小写字母 ” KeyAscii = 0 End If End Sub ( B) Private Sub Text1_MouseUp(Button As Integer,Shift As Integer, _ X as Integer,Y as Integer) If KeyCode 122 Then Msg
26、Box “请重新输入小写 字母 ” KeyCode = 0 End If End Sub ( C) Private Sub Text1_MouseUp(Button As Integer,Shift As Integer, _ X as Integer,Y as Integer) If Asc(Text1.Text) 122 Then MsgBox “请重新输入小写字母 ” End If End Sub ( D) Private Sub Text1_Change() If Asc(Text1.Text) 96 And Asc(Text1.Text) 则以下叙述中错误的是 ( A) “ 条件 ”
27、 可以是关系表达式、逻辑表达式或常数 ( B)循环体中可以使用 Exit Do 语句 ( C)若 “ 条件 ” 是一个为 0的常数,则一次也不执行循环体 ( D)如果 “ 条件 ” 总是为 True,则不停地执行循环体 105 要 获得 打开文件的长度(字节数)应用使用( 【 58】 )函数。 ( A) FileLen ( B) Len ( C) Loc ( D) Lof 106 给文件改名的 VB语句正确的是( 【 59】 ) ( A) Name 原文件名 To 新文件名 ( B) Rename 原文件名 To 新文件名 ( C) Name 原文件名 As 新文件名 ( D) Rename
28、原文件名 As 新文件名 107 在窗体上画一个 名称为 Command1 的 命令按钮,然后编写如下的事件过程: Option Base 1 Private Sub Command1_Click( ) Dim a(10) As Integer For i = 1 To 10 a(i) = i Next Call Sw ap 【 5】 For i = 1 To 10 Print a(i); Next End Sub Sub Sw ap(b() As Integer) n=【 5】 For i = 1 To n / 2 t = b(i) b(i) = b(n) b(n) = t 【 5】 Nex
29、t End Sub 上述程序的功能是,通过调用过程 Swap,调换数组中数值的存放位置,即 a(1)与 a(10)的值互换, a(2)与 a(9)的值互换, , a(5)与 a(6)的值互换。请填空。 108 在 窗体 上画一个标签(名称为 Label1)和一个计 时器(名称为Timer1),然后编写如下几个事件过程: Private Sub Form_Load() Timer1.Enabled = False Timer1.Interval = 【 5】 End Sub Private Sub Form_Click() Timer1.Enabled = 【 6】 End Sub Privat
30、e Sub Timer1_Timer() Label1.Caption = 【 7】 End Sub 程序运行后,单击窗体,将在标签中显示当前时间,每隔 1 秒钟变换一次(见图)。请填空 。 109 下面程序用选择法将数组 a中的 10 个整数按升序排列。算法是:从数组中找出最小的值,将该数与第 1 个数交换,这样第 1 个数组元素是最小的数。再从第 2 个数开始,找出其后各数组元素中最小的数,将该数与第 2 个数交换位置,这样第 2个数是次小的数。如此重复上述过程,即可将数组排序。请完善以下的程序: Option Base 1 Private Sub Command1_Click( ) Di
31、m a (1 To 10 ) As Integer , i As Integer , j As Integer , k As Integer For i=1 To 10 a ( i ) = Val ( InputBox ( “请输入第 a( ” Max End Sub 以上程序的功能是:用 Array 函数建立一个含有 8个元素的数组,然后查找并输出该数组中元素的最大值。请填空。 111 下面程序是从键盘上输入一个字符串,把该字符串中的大写字母转换成小写字母,输出到文件 Ks61.dat中,然后从该文件中读出字符串并显示出来。请完善下面的程序: Private Form_Click( ) Di
32、m Str1 As String * 50 , Str2 As String , FileNo As Integer FileNo = 【 63】 Open “d:Vb2003KsKs61.dat” For 【 64】 As FileNo Str1 = InputBox ( “请输入一个字符串: ” ) Str1 = Lcase ( Str1 ) Seek #FileNo , 1 Put #FileNo, , Str1 【 65】 #FileNo, 1 Str2 = Input (【 66】 , #FileNo ) Print Str2 End Sub 【 63】( A) Free ( B)
33、File ( C) FreeFile ( D)FileFree 【 64】( A) Input ( B) Output ( C) Random ( D)Binary 【 65】( A) Loc ( B) Lof ( C) Eof ( D)Seek 【 66】( A) Len ( Str1 ) ( B) Len ( Str2 ) ( C) StrLen ( Str1 ) ( D)StrLen (Str2) 112 以下程序的功能是:把当前目录下的顺序文 件 smtext1.txt的内容读入内存,并在文本框 Text1 中显示出来。请填空。 Private Sub Command1_Click()
34、 Dim inData As String Text1.Text = “ Open “.smtext1.txt“ 【 14】 As #1 Do While 【 15】 Input #1, inData Text1.Text = Text1.Text & inData Loop Close #1 End Sub 113 在窗体上画一个文本框(其 Name 属性为 Text1),然后编写 如下事件过程: Private Sub Form_Load( ) Text1.Text = “ ” Text1.SetFocus For i = 1 to 10 Sum = Sum + i Next i Text1.Text = Sum End Sub 程序运行后,输出结果为( 【 67】 ) ( A)在文本框 Text1 中输出 55 ( B)在文本框 Text1中输出 0