大一的vb期末考试题和答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[转] 大一的vb期末考试题和答案 分享 复制地址 日志地址:
请用Ctrl+C复制后贴给好友。
转载自 helloOx 2011年05月13日 10:02 阅读(0) 评论(0) 分类:个人日记 权限: 公开
字体:大▼ 小 中 大 更多▼ 设置置顶 权限设置 推荐日志 转为私密日志 删除编辑
1.在代码中引用一个控件时,应使用控件的( b )属性。
A.Caption B.Name C.Text D.Index
2.设变量x = 4,y = -1,a = 7,b = -8,下面表达式( a )的值为“假”。
A.x+a <= b-y B. x > 0 AND y < 0
C.a = b OR x>y D. x+y > a+b AND NOT (y < b)
3.表达式Int(Rnd*71)+10产生的随机整数范围是( c )。
A.(10,80) B.(10,81) C.[10,80] D.[10,81]
4.函数Sgn(3.1416)的返回值是( c )。
A.-1 B.0 C.1 D.以上都不对
5.67890属于( d )类型数据。
A.整型 B.单精度浮点数 C.货币型 D.长整型
6.下列变量名中正确的是( d )。
A.3S B.Print C.Select My Name D.Select_1
7.下列赋值语句( a )是有效的。
A.sum = sum -sum B.x+2 = x + 2 C.x + y = sum D.last = y / 0
8.以下的控件或方法具有输入和输出双重功能的为( b )。
A.Print B.Textbox C.Optionbutton D.Checkbox
9.若要获得列表框中被选中的列表项的内容,可以通过访问( d )属性来实现。
A.Name B.ListIndex C.ListCount D.Text
10.下列代码的运行结果为( b )。
Private Sub command1_click()
Dim m(10)
For k = 1 To 10
m(k) = 11 - k
Next k
x = 5
Print m(2 + m(x))
End Sub
A.2 B.3 C.4 D.5
二、填空题(10分)
1.写出整数n能同时被13和17整除的Basic表达式 n Mod 13=0 And n Mod 17=0 。
2.代码窗口中有两个下拉列表框:左侧是 列表框,右侧是过程列表框。
3.写出在字符串 ”Visual Basic 6.0” 中截取 ”Visual” 的Basic表达式 。
4.函数Len(“abcdef”)的返回值是 。
5.设a = 2,b = 5,c = -2,d = 100,则a > b >= c AND a < b >= d的值为 。
6.要使标签的大小自动与所显示的文本相适应,可以通过设置 属性为True来实现。
7.若要在一行书写多条语句,则各语句间应加分隔符,Visual Basic的语句分隔符为 。
8.要强制显式声明变量,使用__________语句完成。
9.在VB中,用户定义常量使用 语句,声明变量
使用 语句。
三、将下列数学表达式转换为VB表达式。(6分)
1.a2+2ab+b2 __________________________
2. __________________________
3.8exln10 __________________________
4.2sin(450)cos(450) _______________________________
5. ___________________________________________
6. ___________________________________________
四、判断题,正确打“√”,错误打“×”(10分)
1.在VB中,控件的事件只能通过用户的操作触发。( )
2.字符型数据以双引号作为定界符,输出时双引号本身不会显示在屏幕上。( )
3.保存工程时,窗体文件和工程文件的文件名不能相同。( )
4.改变控件的大小,可以使用鼠标和键盘,还可以通过修改代码。( )
5.同一过程中,数组和简单变量可以同名。( )
6.VB函数中的参数可以是常量、变量、表达式,还可以是另一个函数。( )
7.代码Const Number1=15:Number1=10合法。( )
8.允许将块If-Then语句结构中的所有语句都写在一行上( )
9.定义数组语句Dim a(b) As Integer 是正确的( )
10.在过程调用中,“实参表”和“形参表”中对应的变量名不必相同,但是变量的个数必须相等,而且实际参数的类型必须与相应形式参数的类型相符。( )
五、根据题意,将下列程序补充完整。(16分)
1. 产生20个[10,100] 之间的随机整数,每行输出10个数据。
Private Sub command1_click()
Dim a(1 To 20) As Integer
Randomize
i = 0
Do While i < 20
i = i + 1
a(i) = ( )
If ( )Then
Print a(i);
End If
If i = 10 Then Print a(i)
If i > 10 Then Print a(i);
Loop
End Sub
2.打印九九乘法表
Private Sub command1_click()
For i = 1 To 9
For j = 1 To 9
Print ( )
Next j
Print
( )
End Sub
3.判断一个数是否素数
Private Sub command1_click()
x = InputBox("请输入一个整数")
flag = 1
For i = 2 To ( )
If x Mod i = 0 Then
flag = 0
End If
Next i
If ( )Then Print x; "是素数" Else Print x; "不是素数"
End Sub
4.利用数组输出Fibonacci数列的前15项。
该数列的第1项和第2项为1,其余各项均为其前两项之和。
Private Sub Command1_Click()
( )
f(1) = 1 : f(2) = 1
List1.AddItem f(1) : List1.AddItem f(2)
For i = 3 To 15
f(i) = ( )
List1.AddItem f(i)
Next i
End Sub
六、写出下面程序的输出结果。(每题3分,共18分)
1. Private Sub command1_click()
x = InputBox("enter x") ' x 的输入值为-
8
Select Case Sgn(x) + 2
Case 1
Print "y="; x ^ 2 + 1
Case 2
Print "y="; x - 4
Case 3
Print "y="; x ^ 3 + 100
End Select
End Sub
2. Private Sub command1_click()
Dim a, b, c, d, e As String
a = "Zheng Zhou"
b = "Zhong Yuan Gong Xue Yuan"
c = a + " " + b
d = Left(a, 1) + Mid(a, 7, 1)
e = Left(b, 1) + Mid(b, 12, 1)
Print c
Print d; e
End Sub
3.设有Sub过程:
Private Sub p1(x As Integer, ByVal y As Integer)
x = 4 :y = 5 :z = 6
End Sub
则如下程序段的运行结果是:
Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = 1: y = 2: z = 3
Print x, y, z
Call p1(x, y)
Print x, y, z
End Sub
4. Private Sub command1_click()
k = 0
For i = 1 To 3
k = k + 1
a = i * i * k
Print a;
Next i
End Sub
5. Private Sub command1_click()
Dim a(5, 5) As Integer
For i = 1 To 5
For j = 1 To 5
a(i, j) = i * 2 + j
Print a(i, j);
Next j
Print
Next i
End Sub
6.设有Function过程:
Private Function f1(b, a)
a = a * a: b = b * b
f1 = a - b
End Function
则如下程序段的运行结果是什么?
Private Sub command1_click()
a = 4: b = 3
a = f1(a, b)
Print a
End Sub
七.编程题(共30分)
注意:艺术类学生(环艺、装潢、表演、服设)做第1、2、5、6小题;
其他学生做 第1、2、3、4 小题。
1.给出一个百分制的成绩,要求输出成绩的相应等级。(7分)
90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。
2.求n!,n由键盘输入。(7分)
3.产生20个 [0,99] 之间的随机整数,并按从小到大的顺序输出。(8分)
4.产生并输出一个6×6的二维数组A:(8分)
(1)两条对角线上元素的值为1,其余元素为小于30的随机整数。
(2)计算各行元素的平均值,输出平均值最大和平均值最小的行号。
5.输出1+2+……+100的和,并求出1~100 之间能被17整除的数据的个数(8分)
6.从键盘输入10个数,求出其中的最大数,最小数和平均值。(8分)
VB试题答案及评分标准
一、 单项选择题(每题1分,共10分)
1.B 2.A 3.C 4.C 5.D
6.D 7.A 8.B 9.D 10.B
二、 填空题(每空1分,共10分)
1.n Mod 13=0 And n Mod 17=0
1、 对象
3.LEFT(“Visual Basic 6.0”,6)
4.6
5.False
6.Autosize
7. : 8.Option Explict 9.Const Dim
三、 将下列数学表达式转换成VB表达式(每题1分,共6分)
1、 a^2+2*a*b+b^2
2、 x^(1/3)*y^(1/4)
3、 8*exp(x)*log(10)
4、 2*s
in(3.1416/4)*cos(3.1416/4)
5、 (x+y+z)/sqr(x^2+y^2+z^2)
6、 log(1+abs((a+b)/(a-b)))
四、 判断题(每题1分,共10分)
1.× 2.√ 3.× 4.√ 5.×
6.√ 7.× 8.× 9.× 10.√
五、 根据题意,将下列程序补充完整(每空1分,共10分)
1.(1) int(rnd*91)+10 (2) I<10
2.(1) i*j (2) next i
3.(1)int(sqr(x))或者x-1 (2) flag=1
4.(1)dim f(15) as integer (2)f(I-1)+f(I-2)
六、 写出下面程序的输出结果(每题4分,共24分)
1、 y=65
2、 Zheng Zhou Zhong Yuan Gong Xue Yuan 2分
ZZZG 2分
3.1 2 3
4 2 3
4.1 8 27
5.3 4 5 6 7
5 6 7 8 9
7 8 9 10 11
9 10 11 12 13
11 12 13 14 15
6.-7
七、 编写程序
1. private sub command1_click()
dim x as integer,grade as string 1分
x=text1.text 1分
select case x 4分
case 90 to 100
grade=”A”
case 80 to 89
grade=”B”
case 70 to 79
grade=”C”
case 60 to 69
grade=”D”
case is<60
grade=”E”
case else
msgbox “请重新输入”
end select
print “该学生成绩为”+grade 1分
end sub
2.Private Sub command1_click()
Dim n as integer,f as long 1分
n=text1.text 1分
f=1
for I=1 to n 3分
f=f*I
next I
text2.text=f 2分
end sub
3. Private Sub Command1_Click()
Dim a(1 To 20) As Integer ' 1分
Randomize
For i = 1 To 20 2分
a(i) = Int(Rnd * 100)
Print a(i);
Next
Print
For i = 1 To 19 3分
For j = i + 1 To 20
If a(i) > a(j) Then
t = a(i): a(i) = a(j): a(j) = t
End If
Next j
Next i
For i = 1 To 20 2分
Print a(i);
Next i
End Sub
4. Private Sub Command1_Click()
Dim a(1 To 6, 1 To 6) As Integer ' 1分
Dim aver As Single
Randomize
For i = 1 To 6 3分
For j = 1 To 6
If i = j Or i + j = 7 Then
a(i, j) = 1
Else
a(i, j) = Int(Rnd * 30)
End If
Print a(i, j);
Next j
Print
Next i
Print
Max = 0: Min = 30 4分
For i = 1 To 6
s = 0
For j = 1 To 6
s = s + a(i, j)
Next j
aver = s / 6
If aver > Max Then Max = aver: row_max = I
If aver < Min Then Min = aver: row_min = i
Next i
Print row_max, row_min
End Sub
5. Private
Sub Command1_Click()
Dim i As Integer, c As Integer
Dim s As Integer
For i = 1 To 100 4分
s = s + i
If i Mod 17 = 0 Then c = c + 1
Next i
Print "1+2+...+100="; s 2分
Print "能被17整数的数据有"; c; "个" 2分
End Sub
6. Private Sub Command1_Click()
Dim x As Integer
x = InputBox("x=") 1分
Print x;
Max = x: Min = x: s = x 2分
For i = 2 To 10 3分
x = InputBox("x=") :Print x;
s = s + x
If x > Max Then Max = x
If x < Min Then Min = x
Next i
Print s / 10 1分
Print Max, Min 1分
End Sub
应该不是真的