某校计算机程序设计课程期末,计算机语言与程序设计08-09[1].2期末试卷B卷.doc

本文探讨了Visual Basic编程中的关键概念,包括冒泡排序算法实现、事件驱动程序设计以及模块间数据交换技巧。通过实例演示如何在VB工程中创建窗体,设置标题、处理For循环、使用算术运算和逻辑判断,以及正确使用全局变量和菜单设计。此外,还涉及了错误处理和文件操作,提供了解决实际问题的实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

试卷编号

命题人:       试卷分类(A卷或B卷) B

五邑大学 试 卷

学期: 2008 至 2009 学年度   第 2 学期

课程: 计算机语言与程序设计       专业:

班级:              姓名:       学号:

题号

总分

得分

得分

一、       选择题(2分/题,15小题,共30分)

1. 以下叙述中,错误的是( C )。

A 一个VisualBasic应用程序可以含有多个标准模块文件

B 一个VisualBasic工程可以含有多个窗体文件

C 标准模块文件可以属于某个指定的窗体文件

D 标准模块文件的扩展名是.Bas

2. Visual Basic规定工程文件的扩展名是( B )。

A .frmB .vbpC .vbgD .bat

3. 下面的运算符中,优先级最高的是( D )。

A NotB AndC OrD Like

4. 下面的( D )不能用来在模块之间传递数据。

A 全局变量 B 对象属性C 全局数组D 模块级变量

5. VB提供了结构化程序设计的三种基本结构,三种基本结构是( D )。

A 递归结构、选择结构、循环结构B 选择结构、过程结构、循序结构

C 过程结构、输入输出结构、转向结构D 选择结构、顺序结构、循序结构

6. 如果要改变窗体的标题,则需要设置的属性是( A )。

A CaptionB NameC BackColorD BorderStyle

7.函数Mid(“WuyiUniversity”,5)的值为( B )。

A “WuyiU”B “University”C “rsity”D “Unive”

8.以下能判断是否到达文件尾的函数是( D ) 。

A BOFB LOCC LOFD EOF

9. 以下赋值语句中正确的是( D )。

A 10x=Sin(x)+yB c+x+y=c*y

C x=Sin(x)/(20 Mod 2)D c=3+Sqr(18)

10. 退出For循环可使用的语句为( A )。

A Exit ForB Exit DoC End ForD End Do

11. 下列符号中,合法的VB变量是( A )。

A a123B IntegerC 2abD sin(x)

12. 设有以下循环结构

Do

循环体

Loop While

则以下叙述中错误的是( A )。

A 若“条件”是一个为0的常数,则一次也不执行循环体

B “条件”可以是关系表达式、逻辑表达式或常数

C 循环体中可以使用Exit Do语句

D 如果“条件”总是为True,则不停地执行循环体

13. 如果要在菜单中添加一个分隔线,则应将其Caption属性设置为( D )。

A =B *C &D -

14. 如下数组声明语句,( D )正确。

A Dim a[3,4] As IntegerB Dim a(3,4) As Integer

C Dim a[n,n] As IntegerD Dim a(3: 4) As Integer

15. 要从磁盘上读入一个文件名为“c:\t1.txt”顺序文件,正确的是( A )。

A F=“ c:\t1.txt”B F=“ c:\t1.txt”

Open F For Input As #1Open “F” For Input As #1

C Open “c:\t1.txt” For output As #1D Open c:\t1.txt For input As #2

得分

二、       填空题(1分/空,20空,共20分)

1.VB有三种工作模式,它们分别是设计模式、运行模式和中断模式。

2.Visual Basic工程文件的扩展名是vbp,窗体文件的扩展名是frm。

3.若A=120,B=80,C=70,D=30,则表达式A+B>160 Or (B*C>200 And Not d>60)的值是 True 。

4.VB算术表达式 a/(c/(d+e^sqr(f))+b)所对应的数学表达式是

5.用随机函数产生一个两位的随机正整数的VB表达式是Int(Rnd*90+10)

6.Format(10, "0.00")的返回值为10.00

7.VB可能遇到的错误有语法错误、运行时错误、逻辑错误

8.设某个程序中要用到一个二维数组,要求数组名为Mark,类型为字符串类型,第一维下标从1到5,第二维下标从-2到6,

则相应的数组声明语句为Dim Mark(1 to 5,-2 to 6) as String

9.把数学表达式写成VB的算术表达式为abs(a^2-b^2) 或者 abs(a*a-b*b)

10.VB表达式 21 \ 5 + 14 Mod 4的运算结果是 6 。

1. 11.文本框的Text属性值是文本框中包含的文本内容。

2. 12.数组按大小是否可变分为 定长数组、动态数组 两类。

13.用Dim A(-3 to5)语句定义的数组的元素个数是 9 。

14.使用Exit Function 语句可以中途退出Function过程,使用Exit Sub语句可以中途退出Sub过程。

得分

三、 程序填空(2.5分/空,2空/小题,4小题,共20分)

1. 在窗体上输出金字塔型数字,如图所示。

Private Sub Form_click()

For i = 1 To 9

Print Spc(9 - i);

For j = 1 To 2 * i – 1

Print Format(i, "0");

Next j

Print

Next i

End Sub

2. 在窗体上画一个名称为Label1的标签和一个名称为List1的列表框。程序运行后,在列表框中添加若干列表项。当单击列表框中的某个项目时,在标签Label1中显示所选中的项目,如下图所示。

Private Sub Form_load()

List1.AddItem "北京"

List1.AddItem "上海"

List1.AddItem "河北"

End Sub

Private Sub UBound(a) ()

Label1.Caption= sum = sum + a(i)

End Sub

3. 编写一子过程,求一维数组中所有元素之和。

Sub procSum(ByRef a%(), ByRef sum%)

Dim i%

For i = LBound(a) To List1_Click

List1.Text

Next i

End Sub

4. 在窗体单击Command1的命令按钮,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,……,a(5)与a(6)的值互换。

Sub swap(b() As Integer)

n=UBound(b)

For i=1 To n/2

t=b(i): b(i)=b(n): b(n)=t

n=n-1

Next i

End Sub

Private Sub Command1_Click()

Dim a, i%

a=Array (1,2,3,4,5,6,7,8,9,10)

Call swap(__ a ___)

For i=1 To 10

Print a(i);

Next i

End Sub

得分

四、 程序阅读(5分/题,4小题,共20分)

1.有如下事件过程:

Private Sub Form_Click()

a=6

b=8

c=Sqr(a*a+b*b)

Print c

End Sub

问题:

(1)语句“c=Sqr(a*a+b*b)”的功能是:将a*a+b*b的值开平方,然后赋给变量c。

(2)程序运行后,单击窗体,输出的结果是:10。

2.有如下程序:

Private Sub Form_Click()

For m = 1 To 5

For n = 1 To m

Print Tab(n + 5); "*";

Next n

Print

Next m

End Sub

问题:

(1)语句“Print”的功能是:(1)换行。

(2)程序运行后,单击窗体,输出的图案是:

*

* *

* * *

* * * *

* * * * *

3.有如下事件过程:

Private Sub Form_Click()

Dim n As Integer

n=8

Do While n>5

n=n-1

Print n,

Loop

End Sub

问题:

(1)语句“Do While n>5”的功能是:控制循环,当n 的值大于5的时候,就继续循环。。

(2)程序执行后,单击窗体,输出结果是:7 6 5

4.有如下事件过程:

Private Sub Form_Click()

Dim x As Integer, n As Integer

x = 1

n = 0

Do While x < 28

x = x * 3

n = n + 1

Loop

Print x, n

End Sub

问题:

(1)语句“n = 0”的功能是:(1)将数值0赋给变量n。(2)程序运行后,单击窗体,输出结果是:81 4 。

得分

五、 程序设计(10分/题,1小题,共10分)

1. 编写一个过程,要求使用冒泡法对一组整数数据进行升序排序。过程名为Sort,需要排序的数据通过数组从外部传入。

Public Sub Sort(ByRef a() As Integer)

Dim i%, j%, ln%, un%, temp%

ln= LBound(a)

un=UBound(a)

For i=ln To un-1

For j= ln To un-i-1

If a(j)>a(j+1) Then

temp=a(j)

a(j)=a(j+1)

a(j+1)=temp

End If

Next j

Next i

End Sub

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值