当前位置:首页 > 03-04学年第1学期VB考试题及标准答案
2003~2004学年第一学期《计算机应用基础》试题
命题教师: 审题教师:
注意事项:所有答案均写在答题纸上,并请写清题号。 一、选择题(共10分,每题1分)
1. 对于以下的四个对象,不能使用PRINT方法的是:( )
A. 打印机 A. Name
B. 窗体 B. Height
C. 文本框 C. MultiLine
D. 图片框 D. ScrollBars
2. 在下属性中,可以在代码中设置的是:( )
3. 以下各选项中,前一个属性的设置不会影响后一个属性设置的是:( )
A.文本框的MultiLine与ScrollBars C.标签的Caption与Name
4. 通过文本框得到的数据类型为:( )
A. 数值
B. 字符串
C. 变体
D. 数值或字符串
5. 一个文本框从得到焦点、输入一个字符“A”再失去焦点,以下事件的发生顺序为:( )
A. GotFocus、KeyPress、Change、LostFocus B. GotFocus、Change、KeyPress、LostFocus C. LostFocus、Change、KeyPress、GotFocus D. LostFocus、KeyPress、Change、GotFocus
6. 关于PictureBox和Image对象的说法,不正确的是:( )
A. 二者都可以用来显示多种图片; B. 二者都可以用来作容器使用;
C. 二者在代码中装入图片使用的函数均为LoadPicture; D. 二者都可以通过属性设置自动调整大小与显示的图片匹配 7. 文本框没有的属性是:( )
A. Enabled
B. Visible
C. BackColor
D. Caption
8. 给变量赋值时,若变量类型与表达式类型不一致时,以下说法错误的是:( ) A. 若均为数值型,则变量自动改变类型,以适应表达式值的类型
B. 当变量为数值型,而表达式为数字字符串,则自动转换成数值型再赋值,当表达式
中有非数字字符或是空字符串时,出现“类型不匹配”。
C. 当变量为数值型,而表达式为逻辑型时,True转换成-1,False转换成0再赋值,反之,数值型数据赋给逻辑型变量时,非0转换为True,0转换成False。 D. 任何非字符类型赋值给字符型变量,均自动转换为字符型。 9. 关于Array函数与Split函数的说法,正确的是:( ) A.二者都只能给变体动态数组赋值 B.二者只能接收字符型数据
C.二者给数组赋值后,数组的最小下标受Option Base语句的影响
共7页 第1页
B.命令按钮的Style与Picture D.窗体的MousePointer与MouseIcon
D.通过前者赋值时,数据必须写在代码中,而后者的数据可以在程序运行过程中通过
键盘或其它方式获得
10.顺序文件是因为文件中的记录是按:( ) A.记录号顺序存放
C.记录的长度顺序存放
B.某关键数据项排序存放 D.按记录进入的先后顺序存放
二、指出下列各段程序的错误并改正,除第6小题外,不得增删程序行(共30分) 1.本段程序2行有错误(4分)。
'计算y=x^2,x的值从键盘输入,如果|x|>7,则输出y值 Dim x!, y!
x = InputBox(\请输入X的值\ if x>-7 and <7 then Print y = x ^ 2 End If
2.本段程序3行有错误(6分)。 '从文本框获得两个数值,按先大到小顺序输出 Dim x, y, t Text1.Text = x Text2.Text = y If x < y Then
t = x: x = y: y = t End If
Print x, y
3.本段程序3行有错误(6分)。
'计算s=10!+20!+30! Dim s#, i%, f#, j% For i = 10 To 30 f = 1
For j = 1 To i f = f * j Next i s = f Next j Print s
4.设我国现有人口为13亿,如果以每年平均1.5%的速度增长,问多少年后我国人口达到或超过26亿。本段代码出现溢出错误,请说明原因并改正(4分)。
Dim x%, n% x = 13 n = 0
Do Until x >= 26
x = x * (1 + 0.015) n = n + 1 Loop
MsgBox \当\年后,我国人口为\亿\
5.要输出一个4行4列的二维数组,有人用以下程序段输出结果结果如图1所示。
(1) 请说明原因并改正;(2) 倒数第二行的Print可否省略?简述原因?(4分)
共7页 第2页
For i = 1 To 4
For j = 1 To 4
Print Tab(j * 5); a(i, j) Next j Print Next i 6.以下程序段要完成从键盘上输入若干个数,输出其中的最大值和最小值,请说明程序的错误并重写程序。(6分) Dim x!, max!, min!, i% max = 0: min = 0 For i = 1 To 10
x = InputBox(\请输入第\个数\ If max < x Then max = x Else
min = x End If Next i
Print \最大值为:\ Print \最小值为:\
三、写出以下程序的运行结果(每题5分,共30分) 1. i = 0 x = 0
Do While i < 20
If i Mod 5 = 0 Then x = x + 1 i = i + 1 Loop
Print x 2. x = 0
For i = 1 To 10
If i \\ 2 <> i / 2 Then x = x + i Else
x = x - 1 End If Next i
Print x 3. x = 0
For i = 0 To 3
For j = 0 To i
Select Case i - j Case 0
x = x + 2 Case 1
x = x + 1 Case Else
x = x - 1 End Select Next j Next i
Print x
共7页 第3页
图1 第5小题图
4. Private Sub Form_click() Dim a%, b%, c%, d%
a = InputBox(\请输入A的值\ b = InputBox(\请输入B的值\ c = InputBox(\请输入C的值\ d = InputBox(\请输入D的值\
MsgBox fns(fns(a, b), fns(c, d)) End Sub
Function fns%(ByVal x%, ByVal y%) fns = IIf(x > y, x, y)
End Function
写出程序在依次输入34,32,123,6后输出的内容。 5. Dim k%, n%, m%, i%, f% k = Val(InputBox(\ n = 0: m = 2 Do While n < k f = 0
For i = 2 To Sqr(m)
If m / i = m \\ i Then f = 1: Exit For Next i
If f = 0 Then n = n + 1 Print m; End If m = m + 1 Loop
在程序运行时输入5后,输出结果为。
6.Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0 End If
End Sub
请说明本段程序的作用。 四、程序设计(共30分)
1.数组中有10个元素,元素的值由键盘输入,要求将前5个元素与后5个元素对换,即
第一个元素与第10个元素互换,第2个元素与第9个元素互换??(6分)。 2.顺序文件“c:\\my\\zg.txt”中包含若干条职工信息,每条记录由职工号、职称、工资三
个数据项组成,如图2所示,现按以下要求加工资: (1)“教授”加原工资的20%; (2)“副教授”加原工资的15%; (3)“讲师“加原工资的10%; (4)“助教“加原工资的5%; (5)其它人员工资不变。
将修改后的信息放入原文件夹下另一个顺序 文件“newzg.txt”中。(10分)。 3.补充完善程序(14分)
将10个数按由大到小排序,算法如下:
图2 第2小题图
共7页 第4页
共分享92篇相关文档