计算机二级习题答案 下载本文

5 5 5 8 13 9. 运行下列过程,对话框输出结果是( )。

Private Sub Exa1() Dim x As Integer,y As Integer x=1:y=0

Do Until y<=25 y=y+x*x x=x+1 Loop

MsgBox \End Sub A. x=1,y=0 B. x=4,y=25 C. x=5,y=30 D. 其他结果

答案:A

解析:本题开始判断即满足结束循环条件。x,y没有变化。

10. 窗体有命令按钮Commandl和文本框Textl,对应的事件代码如下:

Private Sub Commandl_Click() For i=1 To 4 x=3

For j=1 To 3 For k=1 To 2 x=x+3 Next k Next j Next i

Text1.Value=Str(x) End Sub

运行以上事件过程,文本框中的输出是( )。 A. 6 B. 12 C. 18 D. 21 答案:D

解析:本题为三重嵌套循环,最外层i循环对x结果没有影响。在i循环最后一次循环时,x初值为3,然后j循环、k循环共执行6次x=x+3,结果为3+3*6,即21。

11. 程序段

For i=1 To 9 Step -3 ... Next

中的循环结构,其循环体将被执行( )。 A. 0次 B. 1次 C. 4次 D. 5次

答案:A

解析:本题增量为赋值,循环变量值小于终值时结束循环,赋初值后即满足结束条件,循环体一次都未执行。

16

12. 在窗体上有一个命令按钮Commandl,编写事件代码如下:

Private Sub Command1_Click() Dim x As Integer, y As Integer x = 12: y = 32 Call Proc(x, y) Debug.Print x; y End Sub

Public Sub Proc(n As Integer, ByVal m As Integer) n = n Mod 10 m = m Mod 10 End Sub

打开窗体运行后,单击命令按钮,立即窗口上输出的结果是( )。 A. 2 32 B. 12 3 C. 2 2 D. 12 32 答案:A

解析:过程Proc参数n为地址传递,m为值传递。实参x传递给n,y传递给m。过程修改n的结果返回给x,修改m的结果不影响y的值,所以x为2,y为32。

13. X是一个正的实数,要保留两位小数并将千分位四舍五入,正确的是( )。 A. 0.01*Int(x+0.05) B. 0.01*Int(100*(X+0.005))

C. 0.01*Int(x+0.005) D. 0.01*Int(100*(X+0.05))

答案:B

14. 窗体中有命令按钮Commandl,其单击事件过程如下:

Private Sub Commandl_Click() Dim y As Integer Dim x As Integer x=10 y=5 y=f(x)

Debug .Print x;y End Sub

Public Function f(x As Integer) As Integer Dim y As Integer x=20 y=2 f=x*y End Function

运行程序,单击命令按钮,则立即窗口中显示的内容是( )。 A. 10 5 B. 10 40 C. 20 5 D. 20 40

答案:D

解析:函数过程参数x为地址传递,函数执行时的修改结果返回给实参x。

17

15. 在模块的声明部分使用“Option Base 1”语句,然后定义二维数组A(2 to 5,5),则该数组的元素个数为( )。

A. 20 B. 24 C. 25 D. 36 答案:A

解析:数组下标下界说明为1,因此A数组有4行、5列,共20个数组元素。

二、填空题

1. 在VBA中要判断一个字段的值是否为Null,应该使用的函数是 。 答案:IsNull

2. 宏可以被分成3种基本类型:简单宏、条件宏和 。 答案:宏组

3. 赋值语句首先求解表达式并将计算结果值赋给指定的 。 答案:变量

4. VBA程序一般被分成不同的功能单位,叫做 。 答案:过程

5. 对象包含属性、 和方法。 答案:事件

6. 是同类型变量的有序集合。 答案:数组

7. 过程中定义的参数叫做 。 答案:形式参数,形参

8. 调用过程时为形参指定的参数叫做 。 答案:实际参数,实参

9. 在窗体上有一个命令按钮Commandl,其单击事件代码如下:

Private Sub Command1_Click() Dim a(10), p(3) As Integer k = 5

For i = 1 To 10 a(i) = i * i Next i

For i = 1 To 3 p(i) = a(i * i) Next i

For i = 1 To 3 k = k + p(i) *2 Next i MsgBox k End Sub

打开窗体运行后,单击该命令按钮,消息框中输出的结果是 。 答案:201

10. 数据库中有工资表,包括“姓名”、“工资”和“职称”等字段,现要对不同职称

18

的职工增加工资,规定教授职称增加15%,副教授职称增加10%,其他人员增加5%。下列程序的功能是按照上述规定调整每位职工的工资,并显示所涨工资之总和。请在空白处填入适当的语句,使程序可以完成指定的功能。

Private Sub Updatesalary() Dim ws As DAO.Workspace Dim db As DAO.Database Dim rs As DAO.Recordset Dim gz As DAO.Field Dim zc As DAO.Field Dim sum As Currency Dim rate As Single Set db = CurrentDb() Set rs = db.OpenRecordset(\工资表\ Set gz = rs.Fields(\工资\ Set zc = rs.Fields(\职称\ sum = 0 Do While Not rs.Edit Select Case zc Case Is = \教授\ rate = 0.15 Case Is = \副教授\ rate = 0.1 Case Else rate = 0.05 End Select sum = sum + gz * rate gz = gz + gz * rate rs.MoveNext Loop rs.Close db.Close Set rs = Nothing Set db = Nothing MsgBox \涨工资总计:\End Sub

答案:rs.EOF,rs.Update

解析:Do While循环需要对每个记录执行一次,循环条件是Not rs.EOF,因此第一个空白处应填rs.EOF。

19

修改记录时,记录集Edit方法和Update方法必须结合使用,Edit方法在修改记录集字段变量之前调用,修改之后,调用Update方法更新修改结果到数据库表中,因此,第二个空白处应填rs.Update。

第8章 习题答案及解析

一、单选题

1. 通过数据访问页可以把( )发布到互联网上。 A. 静态数据 B. 数据库中保持不变的数据 C. 数据库中的变动数据 D. 数据库数据 答案:D

2. 可以在( )中设计数据访问页。 A. 页面视图 B. 设计视图 C. 浏览器 D. 文本编辑器 答案:B

3. 纵栏式数据访问页中能够同时显示( )数据源记录。 A. 一条 B. 多条 C. 全部 D. 指定数目的 答案:A

4. 一个数据访问页上可以有多个控件,每个控件都有各自的Id属性,任一控件的Id属性值( )。

A. 必须与其他控件Id属性值相同 B. 可以与其他控件Id属性值相同 C. 不能与其他控件Id属性值相同 D. 取值不受限制 答案:C

二、填空题

1. Access数据库中的 、查询、窗体和报表等对象可以直接存储为数据访问页。

答案:表

2. 通过 设置可以使所有页面具有一致的风格。 答案:主题

3. Access数据访问页有两种视图,分别是设计视图和 视图。 答案:页面,页

4. Access数据访问页以 文件格式保存。 答案:HTM,htm

20