大一期末考试试题
漯河食品职业学院-出国留学吧
一、单项选择题(共10分)
1.在代码中引用一个控件时,应使用控件的( )属性。
A.Caption B.Name C.Text D.Index
2.设变量x = 4,y = -1,a = 7,b = -8,下面表达式(
)的值为“假”。
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产生的随机整数范围是( )。
A.(10,80) B.(10,81) C.[10,80]
D.[10,81]
4.函数Sgn(3.1416)的返回值是( )。
A.-1 B.0 C.1
D.以上都不对
5.67890属于( )类型数据。
A.整型 B.单精度浮点数 C.货币型 D.长整型
6.下列变量名中正确的是( )。
A.3S
B.Print C.Select My Name D.Select_1
7.下列赋值语句( )是有效的。
A.sum =
sum -sum B.x+2 = x + 2 C.x + y
= sum D.last
= y 0
8.以下的控件或方法具有输入和输出双重功能的为( )。
A.Print B.Textbox C.Optionbutton
D.Checkbox
9.若要获得列表框中被选中的列表项的内容,可以通过访问(
)属性来实现。
A
10.下列代码的运行结果为( )。
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表达式
。
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; 是素数不是素数
End Sub
4.利用数组输出Fibonacci数列的前15项。
该数列的第1项和第2项为1,其余各项均为其前两项之和。
Private Sub
Command1_Click()
(
)
f(1) = 1 : f(2) = 1
m f(1)
: m f(2)
For i = 3 To 15
f(i) = ( )
m
f(i)
Next i
End Sub
六、写出下面程序的输出结果。(每题3分,共18分)
1.
Private Sub command1_click()
x =
InputBox( ' x 的输入值为-8
Select Case
Sgn(x) + 2
Case 1
Print
Case 2
Print
Case 3
Print
End Select
End Sub
2. Private
Sub command1_click()
Dim a, b, c, d, e
As String
a =
b =
c = a +
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^(13)*y^(14)
3、 8*exp(x)*log(10)
4、
2*sin(3.14164)*cos(3.14164)
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
flag=1
2.(1) i*j (2) next i
3.(1)int(sqr(x))或者x-1 (2)4.(1)dim f(15) as
integer
六、 写出下面程序的输出结果(每题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
2)f(I-1)+f(I-2) (
6.-7
七、 编写程序
1. private
sub command1_click()
dim x as
integer,grade as string 1分
x=
select
case x
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
1分
4分
2.Private Sub
command1_click()
Dim n as integer,f
as long 1分
n=
1分
f=1
for I=1 to n
3分
f=f*I
next I
=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.产生并输出一个6×6的二维数组A:(8分)
(1)两条对角线上元素的值为1,其余元素为小于30的随机整数。
(2)计算各行元素的平均值,输出平均值最大和平均值最小的行号。
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.输出1+2+……+100的和,并求出1~100
之间能被17整除的数据的个数(8分)
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
2分
Print 能被17整数的数据有个 2分
End Sub
6.从键盘输入10个数,求出其中的最大数,最小数和平均值。(8分)
6.
Private Sub Command1_Click()
Dim x As
Integer
x = InputBox( 1分
Print x;
Max = x: Min = x: s =
x 2分
For i = 2 To 10
3分
x = InputBox(: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
一、单项选择题(共10分)
1.在代码中引用一个控件时,应使用控件的( )属性。
A.Caption B.Name C.Text D.Index
2.设变量x = 4,y = -1,a = 7,b = -8,下面表达式(
)的值为“假”。
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产生的随机整数范围是( )。
A.(10,80) B.(10,81) C.[10,80]
D.[10,81]
4.函数Sgn(3.1416)的返回值是( )。
A.-1 B.0 C.1
D.以上都不对
5.67890属于( )类型数据。
A.整型 B.单精度浮点数 C.货币型 D.长整型
6.下列变量名中正确的是( )。
A.3S
B.Print C.Select My Name D.Select_1
7.下列赋值语句( )是有效的。
A.sum =
sum -sum B.x+2 = x + 2 C.x + y
= sum D.last
= y 0
8.以下的控件或方法具有输入和输出双重功能的为( )。
A.Print B.Textbox C.Optionbutton
D.Checkbox
9.若要获得列表框中被选中的列表项的内容,可以通过访问(
)属性来实现。
A
10.下列代码的运行结果为( )。
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表达式
。
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; 是素数不是素数
End Sub
4.利用数组输出Fibonacci数列的前15项。
该数列的第1项和第2项为1,其余各项均为其前两项之和。
Private Sub
Command1_Click()
(
)
f(1) = 1 : f(2) = 1
m f(1)
: m f(2)
For i = 3 To 15
f(i) = ( )
m
f(i)
Next i
End Sub
六、写出下面程序的输出结果。(每题3分,共18分)
1.
Private Sub command1_click()
x =
InputBox( ' x 的输入值为-8
Select Case
Sgn(x) + 2
Case 1
Print
Case 2
Print
Case 3
Print
End Select
End Sub
2. Private
Sub command1_click()
Dim a, b, c, d, e
As String
a =
b =
c = a +
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^(13)*y^(14)
3、 8*exp(x)*log(10)
4、
2*sin(3.14164)*cos(3.14164)
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
flag=1
2.(1) i*j (2) next i
3.(1)int(sqr(x))或者x-1 (2)4.(1)dim f(15) as
integer
六、 写出下面程序的输出结果(每题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
2)f(I-1)+f(I-2) (
6.-7
七、 编写程序
1. private
sub command1_click()
dim x as
integer,grade as string 1分
x=
select
case x
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
1分
4分
2.Private Sub
command1_click()
Dim n as integer,f
as long 1分
n=
1分
f=1
for I=1 to n
3分
f=f*I
next I
=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.产生并输出一个6×6的二维数组A:(8分)
(1)两条对角线上元素的值为1,其余元素为小于30的随机整数。
(2)计算各行元素的平均值,输出平均值最大和平均值最小的行号。
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.输出1+2+……+100的和,并求出1~100
之间能被17整除的数据的个数(8分)
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
2分
Print 能被17整数的数据有个 2分
End Sub
6.从键盘输入10个数,求出其中的最大数,最小数和平均值。(8分)
6.
Private Sub Command1_Click()
Dim x As
Integer
x = InputBox( 1分
Print x;
Max = x: Min = x: s =
x 2分
For i = 2 To 10
3分
x = InputBox(: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