文档库

最新最全的文档下载
当前位置:文档库 > 安徽大学【vb】大一期末考试试题vb[1][1]

安徽大学【vb】大一期末考试试题vb[1][1]

一、单项选择题(共10分)

1.在代码中引用一个控件时,应使用控件的()属性。

A.C a p t i o n B.N a m e C.T e x t D.I n d e x 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.Name B.ListIndex C.ListCount D.Text

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; "是素数" 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*sin(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

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

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

VB复习资料

一、窗体的属性:NAME属性和CAPTION属性

六、列表框控件

如何表示当前被选中的列表项内容?对象名.List(对象名.ListIndex)

八、常用内部函数

如Abs,CLong等P74

List 属性:使用LIST属性可以得到列表中任何选项的值,它以数组的方式存在,

例如:List1.list(2)=”包头”表示列表框list1 中的第3项的值为”包头”

生成m到n之间的随机数的方法。

(1).Int(Rnd*整数n):产生0,1,…,n-1中的一个随机整数;

(2).Int(Rnd*整数n)+1: 产生1,…,n-1中的一个随机整数;

(3).Int(Rnd*(n-m+1)+m):产生一个在区间[m,n]中的随机整数。

例如:若生成(200,500)内的随机整数?

Int(Rnd*(n-m+1)+m)=Int(Rnd*((500-200)+200)= Int(Rnd*(300+200)

`````之所以没加一是因为这里是小括号而不是中括号`````

九、鼠标事件

Button, Shift, X , Y说明

Button:用来判断按下的鼠标的哪一个键。

安徽大学【vb】大一期末考试试题vb[1][1]

安徽大学【vb】大一期末考试试题vb[1][1]

X ,和Y:返回鼠标的当前位置。

十、菜单

如果要在菜单中添加一个分隔线,则应将其Caption属性设置为-,分割条不可以响应鼠标事件。

十二、编程题

1、编一程序,找出三位数的“阿姆斯壮数”,所谓“阿姆斯壮数”是指一数等于其各位数字的立方和,如153=13+53+33。

Private Sub Command1_Click()

Dim i, j, k As Integer

Dim sum1, sum2 As Integer

For i = 1 To 9

For j = 0 To 9

For k = 0 To 9

sum1 = 100 * i + 10 * j + k

sum2 = i ^ 3 + j ^ 3 + k ^ 3

If sum1 = sum2 Then

Print Str(sum1); "="; Str(i); "^"; Str(3); "+"; Str(j); "^"; Str(3); "+"; Str(k);

"^"; Str(3)

End If

Next k

Next j

Next i

End Sub

2、字符加密界面如图所示。在文本框中输入一串字符,按加密处理按纽(command1),则根据复选框(check1)进行相应处理:(1)已选,则将a(A)变成c(C)…z(Z)变成b(B),其他字符不变,并将结果显示在text2中;(2)未选,则将text1的内容原样显示在TEXT2中,按关闭按钮(command2),则退出程序。

安徽大学【vb】大一期末考试试题vb[1][1]

Dim strinput As String * 70, code As String * 70 Dim strtemp As String * 1 Dim i As Integer, length As Integer, iasc As Integer

Private Sub Command1_Click()

strinput = Text1.Text

If Check1.Value = 1 Then

i = 1

code = ""

length = Len(RTrim(strinput))

Do While (i <= length)

strtemp = Mid$(strinput, i, 1)

If (strtemp >= "A" And strtemp <= "Z") Then

iasc = Asc(strtemp) + 2

If iasc > Asc("Z") Then iasc = iasc - 26

code = Left$(code, i - 1) + Chr$(iasc)

ElseIf (strtemp >= "a" And strtemp <= "z") Then

iasc = Asc(strtemp) + 2

If iasc > Asc("z") Then iasc = iasc - 26

code = Left$(code, i - 1) + Chr$(iasc)

Else

code = Left$(code, i - 1) + strtemp

End If

i = i + 1

Loop

Text2.Text = code

Else

Text2.Text = strinput

End If

End Sub

Private Sub Command2_Click()

End

End Sub

3、C:盘的根目录中有一个文件test1.txt,文件中只有一个正整数。编程建立窗体界面,当按下按钮command1时,从文件test1.txt中读入那个正整数,显示在文本框text1中。并计算该数的阶乘值,结果显示在文本框text2中,然后把这个阶乘值写入C:盘根目录下的一个新文件test2.txt中。如果文件test1.txt中的数大于12时,显示一个“数据太大,不能计算”的消息框并关闭程序。

安徽大学【vb】大一期末考试试题vb[1][1]