1、国家二级 ACCESS机试(选择题)模拟试卷 138及答案解析(总分:62.00,做题时间:90 分钟)一、选择题(总题数:31,分数:62.00)1.在 VBA代码调试过程中,能显示当前过程中变量声明及变量值信息的是( )。(分数:2.00)A.快速监视窗口B.监视窗口C.立即窗口D.本地窗口2.ADO对象模型中可以打开并返回 RecordSet对象的是( )。(分数:2.00)A.只能是 Connection对象B.只能是 Command对象C.可以是 Connection对象和 Conmand对象D.不存在3.ADO的含义是( )。(分数:2.00)A.开放数据库互联应用编程窗口B.数据
2、库访问对象C.动态链接库D.ActiveX数据对象4.要从指定记录集(一个域)内获取特定字段的值,应该使用的内置函数是( )。(分数:2.00)A.DLookupB.DCountC.DFirstD.DLast5.下列程序的功能是:将三个数按从大到小进行排序,程序【 】处应填写的语句是( )。 If ab Then da:ab:bd End If If ac Then da:ac:cd End If If【 】Then db:bc:cd End If(分数:2.00)A.bcB.cbC.caD.ba6.下列过程的功能是:通过对象变量返回当前窗体的 Recordset属性记录集引用,消息框中输出记
3、录集的记录(即窗体记录源)个数。 Sub GetRecNum() Dim rs As Object Set rsMeRecordset MsgBox【 】 End Sub 程序【 】处应填写的是( )。(分数:2.00)A.CountB.rsCountC.RecordCountD.rsRecordCount7.窗体中有文本框 Textl和标签 Labell。运行程序,输人大于 0的整数 m,单击按钮 Command1,程序判断 m是否为素数,若是素数,则 Label1显示“m 是素数”,否则显示“m 是合数”。事件代码如下: Private Sub Commandl_Click() mVal(
4、Me!Textl) resultm&“是素数“ k2 Do While km2 If m Mod k0 Then resultm&“是合数“ 【 】 End If kk1 Loop Me!Label1Captionresult End Sub 程序【 】处应填写的语句是( )。(分数:2.00)A.ExitB.Exit LoopC.Exit WhileD.Exit Do8.在窗体中有文本框 Text1和 Text2。运行程序时,在 Text1中输入整数 m(m0),单击 Command1“运行”按钮,程序能够求出 m的全部除 1之外的因子,并使用 Text2显示结果。例如,18 的全部因子有2
5、,3,6,9,18,输出结果为 2,3,6,9,18,;28 的全部因子为 2,4,7,14,28,输出结果为2,4,7,14,28,。事件代码如下: Private Sub Command1_Click() mVal(Me!Text1) result“ “ k2 Do If m Mod k0 Then resultresult&k&“ kk1 Loop Until【 】 Me!Text2result End Sub 程序【 】处应填写的语句是( )。(分数:2.00)A.kmB.kmC.kmD.km9.已知学生表(学号,姓名,性别,生日),以下事件代码功能是将学生表中生日为空值的学生“性别”
6、字段值设置为“男”。 Private Sub Command0_Click() Dim str As String Set dbCurrentDb() str“【 】“ DoCmdRunSQL str End Sub 按照功能要求,在【 】内应填写的是( )。(分数:2.00)A.Update 学生表 set 性别男where 生日 Is NullB.Update 学生表 set 性别男where 生日NullC.Set 学生表 Values 性别 男where 生日 Is NullD.Set 学生表 Values 性别男 where 生日Null10.窗体中有一个名为 run的命令按钮,单击
7、该按钮从键盘接收学生成绩,如果输入的成绩不在 0到 100分之间,则要求重新输入;如果输入的成绩正确,则进入后续处理。run 命令按钮的 Click的事件代码如下: Private Sub run_Click() Dim flag As Boolean result0 flagTrue Do While flag resultVal(InputBox(“请输入成绩:“,“输入“) If result0 And result100 Then 【 】 Else MsgBox “输入错误,请重新输入“ End If Loop Rem 成绩输入正确后的程序代码略 End Sub 为实现程序的功能,程序
8、【 】处不能填写的语句是( )。(分数:2.00)A.flagTrueB.flagFalseC.flagNot flagD.Exit Do11.在窗体中添加一个名称为 Command1的命令按钮,然后编写如下事件代码: Private Sub Commandl_Click() MsgBox f(24,18) End Sub Public Function f(m As Integer,n As Integer)As Integer Do While m n Do While Inn mmn Loop Do While Inn nnm Loop Loop fm End Function 窗体打开
9、运行后,单击命令按钮,则消息框的输出结果是( )。(分数:2.00)A.2B.4C.6D.812.在窗体上有一个命令按钮 Command1,编写事件代码如下: Private Sub Command1_Click() Dim d1 As Date Dim d2 As Date d1#12252009# d2#152010# MsgBox DateDiff(“ww“,d1,d2) End Sub 打开窗体运行后,单击命令按钮,消息框中输出的结果是( )。(分数:2.00)A.1B.2C.10D.1113.有如下事件程序,运行该程序后输出结果是( )。 Private Sub Command1_C
10、lick() Dim x As Integer,y As Integer x1:y0 Do Until y25 yyx*x xx1 Loop MsgBox“x“&x&“,y“&y End Sub(分数:2.00)A.x1,y0B.x4,y25C.x5,y30D.输出其他结果14.运行下列程序,结果是( )。 Private Sub Command1_Click() f01:f11:k1 Do While k5 ff0f1 f0f1 f1f kk1 Loop MsgBox“f“&f End Sub(分数:2.00)A.f5B.f7C.f8D.f1315.在窗体上有一个命令按钮 Command1,
11、事件代码如下: Private Sub Command1_Click() Dim x As Integer,y As Integer x12:y32 Call Proc(x,y) DebugPrint x;Y End Sub Public Sub Proc(n As Integer,ByVal mAs Integer) nn Mod 10 min Mod 10 End Sub 打开窗体运行后,单击命令按钮,立即窗口上输出的结果是( )。(分数:2.00)A.2 32B.12 3C.2 2D.12 3216.在窗体上有一个命令按钮 Command1和一个文本框 Text1,事件代码如下: Pri
12、vate Sub Command1_Click() Dim i,j,x For i1 T0 20 Step 2 x0 For ji To 20 Step 3 xx1 Next j Next i Text1ValueStr(x) End Sub 打开窗体运行后,单击命令按钮,文本框中显示的结果是( )。(分数:2.00)A.1B.7C.17D.40017.在窗体中有一个文本框 Text1,事件代码如下: Private Sub Text0_Click() xVal(InputBox(“输入 x的值“) y1 If x 0 Then y2 Text0Valuey End Sub 打开窗体运行后,在
13、输入框中输入整数 12,文本框 Text1中输出的结果是( )。(分数:2.00)A.1B.2C.3D.418.若有以下窗体单击事件过程: Private Sub 主体_Click() result1 For i1 To 6 Step 3 resultresult * i Next i MsgBox result End Sub 打开窗体运行后,单击窗体,则消息框的输出内容是( )。(分数:2.00)A.1B.4C.15D.12019.窗体中有命令按钮 Command1,事件过程如下: Public Function f(x As Integer)As Integer Dim Y As Int
14、eger x20 y2 fx * y End Function Private Sub Command1_Click() Dim y As Integer Static x As Integer x10 y5 yf(X) DebugPrint x;y End Sub 运行程序,单击命令按钮,则立即窗口中显示的内容是( )。(分数:2.00)A.10 5B.10 40C.20 5D.20 4020.运行下列程序,输入数据 8、9、3、0 后,窗体中显示结果是( )。 Private Sub Form_click() Dim sum As Integer,m As Integer sum0 Do
15、mInputBox(“输入 m“) sumsumm Loop Until m0 MsgBox sum End Sub(分数:2.00)A.0B.17C.20D.2121.如果在北京时间 7点 50分运行以下代码,程序的输出结果是( )。 Sub Procedure() If Hour(Time()8 And Hour(Time()12 Then DebugPrint“上午好!“ ElseIfHour(Time()12 And Hour(Time()18 Then DebugPrint“下午好!“ Else DebugPrint“欢迎下次光临!“ End If End Sub(分数:2.00)A
16、.欢迎下次光临!B.上午好!C.下午好!D.无输出22.已知过程对应的代码如下: Sub Proc() f10 f21 For n1 To 8 ff1f2 DebugPrint f f1f2 f2f Next n End Sub 过程 Proc在立即窗口中显示的结果是( )。(分数:2.00)A.斐波那契序列中 2到 9对应的序列值B.斐波那契序列中 2到 8对应的序列值C.整数 1到 n(n9)对应的累加和D.整数 1到 n(n8)对应的累加和23.若有如下 Sub过程: Sub sfun(x As Single,y As Single) tx xty yt Mod y End Sub 在窗
17、体中添加一个命令按钮 Command1,对应的事件过程如下: Private Sub Command1_Click() Dim a As Single Dim b As Single a5:b4 sfun a,b MsgBox a&Chr(10)Chr(13)&b End Sub 打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为( )。(分数:2.00)A.1和 1B.125 和 1C.125 和 4D.5和 424.在窗体中有一个命令按钮 Command1,事件代码如下: Private Sub Command1_Click() Dim s As Integer sP(1)P(2
18、)P(3)P(4) DebugPrint s End Sub Public Function P(N As Integer) Dim Sum As Integer Sum0 For i1 T0 N SumSum+i Next i PSum End Function 打开窗体运行后,单击命令按钮,在立即窗口显示结果是( )。(分数:2.00)A.15B.20C.25D.3525.在窗体有两个名为 text1、text2 的文本框和一个名为 Command1的命令按钮,事件过程如下: Private Sub command1_click() Dim x As Integer,n As Intege
19、r x1 n0 Do While x20 xx * 3 nn1 Loop Text1Str(x) Text2Str(n) End Sub 程序运行后,单击命令按钮,在两个文本框text1和 text2中显示的值分别是( )。(分数:2.00)A.15和 1B.27和 3C.195和 3D.600和 426.已知事件对应的程序代码如下: Private Sub Command0_Click() Dim J As Integer J10 Call GetData(J5) MsgBox J End Sub Private Sub GetData(ByRef f As Integer) ff20 En
20、d Sub 运行窗体后,单击命令按钮,消息框的输出结果是( )。(分数:2.00)A.10B.15C.30D.3527.在窗体中有命令按钮 Command1和文本框 Text1,按钮的事件代码如下: Public X As Integer Private Sub Command1_Click() x10 Call s1 rall s2 MsgBox x End Sub Private Sub s1() xx20 End Sub Private Sub s2() Dim x As Integer xx20 End Sub 运行窗体后,单击命令按钮,消息框的输出结果是( )。(分数:2.00)A.
21、30B.10C.40D.5028.在窗体中有标签 Lb1和一个命令按钮 Command,事件代码如下: Option Compare Database Dim a As String * 10 Private Sub Command_Click() a“12345“ bLen(a) MeLb1Captionb End Sub 打开窗体运行后,窗体中显示的是( )。(分数:2.00)A.10B.5C.4D.4029.在窗体中有命令按钮 Command1和两个文本框 Text0、Text1,命令按钮对应的代码过程如下: Private Sub Command1_Click() Dim m,k As
22、 Integer Dim flag As Boolean mVal(Me!Text0)输入一个整数 Do While 1 k2 flag=True Do While km2 And flag If m Mod k0 Then flagFalse Else kk1 End If Loop If flag Then Me!Text1m输出计算结果 Exit Do Else mm1 End If Loop End Sub 运行程序,在 Text0中输入 15,单击命令按钮,程序的输出结果是( )。(分数:2.00)A.17B.15C.13D.其他整数30.在窗体中有命令按钮 Command1和三个文
23、本框 Text0、Text1、Text2,命令按钮对应的代码过程如下: Private Sub Command1_Click() Dim i,f1,f2 As Integer Dim flag As Boolean f1Val(Me!Text0) t2Val(Me!Text1) If f1f2 Then if2 Else if1 End If flagTrue Do While i1 And flag If f1 Mod i0 And f2 Mod i0 Then flagFalse Else ii1 End If Loop Me!Text2i End Sub 运行程序,在文本框 Text0和
24、 Text1中分别输入 15和 20,单击命令按钮,则文本框 Text2中显示的结果是( )。(分数:2.00)A.5B.15C.20D.1031.在窗体中变量 131对应的文本框为 Text1,“运行”按钮 Command1对应的事件代码如下: Private Sub Command1_Click() Dim result As String mVal(Me!Text1) result“ “ For k1 To m For n1 To km1 If nmk1 Then resultresult&“ “ Else resultresult& “*“ End If Next n resultre
25、sultChr(13) Next k MsgBox result,“运行结果“ End Sub 打开窗体,在文本框中输入m的值为 5,单击运行按钮后,程序的运行结果是( )。(分数:2.00)A.由星号组成的高为 5的等腰三角形B.由星号组成的高为 5的等腰梯形C.由星号组成的边长为 5的平行四边形D.由星号组成的边长为 10的平行四边形国家二级 ACCESS机试(选择题)模拟试卷 138答案解析(总分:62.00,做题时间:90 分钟)一、选择题(总题数:31,分数:62.00)1.在 VBA代码调试过程中,能显示当前过程中变量声明及变量值信息的是( )。(分数:2.00)A.快速监视窗口B
26、.监视窗口C.立即窗口D.本地窗口 解析:解析:本地窗口内部自动显示出所有在当前过程中的变量声明及变量值。本地窗口打开后,列表中的第一项内容是一个特殊的模块变量。对于类模块,定义为 Me。Me 是对当前模块定义的当前实例的引用。由于它是对象引用,因此可以展开显示当前实例的全部属性和数据成员。2.ADO对象模型中可以打开并返回 RecordSet对象的是( )。(分数:2.00)A.只能是 Connection对象B.只能是 Command对象C.可以是 Connection对象和 Conmand对象 D.不存在解析:解析:Recorclset 对象只代表一个记录集,这个记录集是一个连接的数据库
27、中的表或者是 Command对象的执行结果返回的记录集。Connection 对象用于建立与数据库的连接,通过连接可从应用程序访问数据源,因此,可以打开和返回 RecorclSet对象。Command 对象在建立 Connection后,可以发出命令操作数据源,因此,也可以打开并返回 RecorclSet对象。3.ADO的含义是( )。(分数:2.00)A.开放数据库互联应用编程窗口B.数据库访问对象C.动态链接库D.ActiveX数据对象 解析:解析:ADO(ActiveX Data Object)即 ActiveX数据访问对象,是 Microsoft公司在 OLEDB 之上提出的一种逻辑接
28、口,以便编程者通过 OLEDB 更简单地以编程方式访问各种各样的数据源。4.要从指定记录集(一个域)内获取特定字段的值,应该使用的内置函数是( )。(分数:2.00)A.DLookup B.DCountC.DFirstD.DLast解析:解析:Dlookup 函数是从指定记录集里检索特定字段的值。它可以直接在 VBA、宏、查询表达式或计算控件中使用,而且主要用于检索来自外部表字段中的数据。5.下列程序的功能是:将三个数按从大到小进行排序,程序【 】处应填写的语句是( )。 If ab Then da:ab:bd End If If ac Then da:ac:cd End If If【 】Th
29、en db:bc:cd End If(分数:2.00)A.bc B.cbC.caD.ba解析:解析:由题目可判断,第三个 If条件句是要判断 b和 c的大小,如果 bc,则将 b和 c的位置交换。6.下列过程的功能是:通过对象变量返回当前窗体的 Recordset属性记录集引用,消息框中输出记录集的记录(即窗体记录源)个数。 Sub GetRecNum() Dim rs As Object Set rsMeRecordset MsgBox【 】 End Sub 程序【 】处应填写的是( )。(分数:2.00)A.CountB.rsCountC.RecordCountD.rsRecordCoun
30、t 解析:解析:题目中对象变量 rs返回了当前窗体的 Recordset属性记录集的引用,那么通过访问对象变量 rs的属性 Record Count就可以得到该记录集的记录个数,引用方法为 rsRecondCount。7.窗体中有文本框 Textl和标签 Labell。运行程序,输人大于 0的整数 m,单击按钮 Command1,程序判断 m是否为素数,若是素数,则 Label1显示“m 是素数”,否则显示“m 是合数”。事件代码如下: Private Sub Commandl_Click() mVal(Me!Textl) resultm&“是素数“ k2 Do While km2 If m
31、Mod k0 Then resultm&“是合数“ 【 】 End If kk1 Loop Me!Label1Captionresult End Sub 程序【 】处应填写的语句是( )。(分数:2.00)A.ExitB.Exit LoopC.Exit WhileD.Exit Do 解析:解析:依照题意,空白处添加的语句应该是满足条件便退出循环。Exit Do 用来提前中断并退出 Do While循环。8.在窗体中有文本框 Text1和 Text2。运行程序时,在 Text1中输入整数 m(m0),单击 Command1“运行”按钮,程序能够求出 m的全部除 1之外的因子,并使用 Text2显
32、示结果。例如,18 的全部因子有2,3,6,9,18,输出结果为 2,3,6,9,18,;28 的全部因子为 2,4,7,14,28,输出结果为2,4,7,14,28,。事件代码如下: Private Sub Command1_Click() mVal(Me!Text1) result“ “ k2 Do If m Mod k0 Then resultresult&k&“ kk1 Loop Until【 】 Me!Text2result End Sub 程序【 】处应填写的语句是( )。(分数:2.00)A.km B.kmC.kmD.km解析:解析:根据题意,DoLoop 循环用来判断 m的因子
33、,每次执行循环都用一个小于 m的数 k去整除m,如果能够整除,则说明 k是 m的因子。故当 km 的时候执行循环;当 km 的时候循环结束。9.已知学生表(学号,姓名,性别,生日),以下事件代码功能是将学生表中生日为空值的学生“性别”字段值设置为“男”。 Private Sub Command0_Click() Dim str As String Set dbCurrentDb() str“【 】“ DoCmdRunSQL str End Sub 按照功能要求,在【 】内应填写的是( )。(分数:2.00)A.Update 学生表 set 性别男where 生日 Is Null B.Updat
34、e 学生表 set 性别男where 生日NullC.Set 学生表 Values 性别 男where 生日 Is NullD.Set 学生表 Values 性别男 where 生日Null解析:解析:本题考查 SQL语句,SQL 语句更新数据要使用 Update语句,判断字段是否为空应使用 Is Null函数。10.窗体中有一个名为 run的命令按钮,单击该按钮从键盘接收学生成绩,如果输入的成绩不在 0到 100分之间,则要求重新输入;如果输入的成绩正确,则进入后续处理。run 命令按钮的 Click的事件代码如下: Private Sub run_Click() Dim flag As B
35、oolean result0 flagTrue Do While flag resultVal(InputBox(“请输入成绩:“,“输入“) If result0 And result100 Then 【 】 Else MsgBox “输入错误,请重新输入“ End If Loop Rem 成绩输入正确后的程序代码略 End Sub 为实现程序的功能,程序【 】处不能填写的语句是( )。(分数:2.00)A.flagTrue B.flagFalseC.flagNot flagD.Exit Do解析:解析:判断输入的成绩在正确范围内,则进入后续处理,即 flagTrue,答案选 A。11.在窗
36、体中添加一个名称为 Command1的命令按钮,然后编写如下事件代码: Private Sub Commandl_Click() MsgBox f(24,18) End Sub Public Function f(m As Integer,n As Integer)As Integer Do While m n Do While Inn mmn Loop Do While Inn nnm Loop Loop fm End Function 窗体打开运行后,单击命令按钮,则消息框的输出结果是( )。(分数:2.00)A.2B.4C.6 D.8解析:解析:题目中命令按钮的单击事件是使用 MsgBo
37、x显示过程 f的值。在过程 f中有两层 Do循环,传入参数 m24,n18,由于 mn,所以执行 mmn24186,内层第 1个 Do循环结束后,m6,n18;此时 m小于 n,因此再执行 nnm18612,此时 m6,n12;再执行 nnm 后mn6;mn 条件不满足,退出循环,然后执行 fm 的赋值语句,即为 fm6。12.在窗体上有一个命令按钮 Command1,编写事件代码如下: Private Sub Command1_Click() Dim d1 As Date Dim d2 As Date d1#12252009# d2#152010# MsgBox DateDiff(“ww“,
38、d1,d2) End Sub 打开窗体运行后,单击命令按钮,消息框中输出的结果是( )。(分数:2.00)A.1B.2 C.10D.11解析:解析:函数 DateDiff按照指定类型返回指定的时间间隔数目。语法为 DateDiff(间隔类型,日期 1,日期 2,W1,W2),间隔类型为“ww”,表示返回两个日期间隔的周数。13.有如下事件程序,运行该程序后输出结果是( )。 Private Sub Command1_Click() Dim x As Integer,y As Integer x1:y0 Do Until y25 yyx*x xx1 Loop MsgBox“x“&x&“,y“&y
39、 End Sub(分数:2.00)A.x1,y0 B.x4,y25C.x5,y30D.输出其他结果解析:解析:Do Until 循环采用的是先判断条件后执行循环体的做法,如果条件为 True,则循环体一次都不执行,否则进入循环体执行。本题中的循环结束条件是 y25,而 y0,满足条件表达式,则不进入循环体,x、y 的值不变,仍为 1、0。14.运行下列程序,结果是( )。 Private Sub Command1_Click() f01:f11:k1 Do While k5 ff0f1 f0f1 f1f kk1 Loop MsgBox“f“&f End Sub(分数:2.00)A.f5B.f7
40、C.f8D.f13 解析:解析:本题考查 Do循环语句: k1 时,f112,f01,f12,k112: k2 时,f3,f02,f13,k213; k3 时,f5,f03,f15,k314; k4 时,f8,f05,f18,k415; k5 时,f13,f08,f113,k6,不再满足循环条件即跳出循环,此时 f13。15.在窗体上有一个命令按钮 Command1,事件代码如下: Private Sub Command1_Click() Dim x As Integer,y As Integer x12:y32 Call Proc(x,y) DebugPrint x;Y End Sub Pu
41、blic Sub Proc(n As Integer,ByVal mAs Integer) nn Mod 10 min Mod 10 End Sub 打开窗体运行后,单击命令按钮,立即窗口上输出的结果是( )。(分数:2.00)A.2 32 B.12 3C.2 2D.12 32解析:解析:参数有两种传递方式:传址传递 ByRef和传值传递 ByVal。如果没有说明传递类型,则默认为传址传递。在函数 Proc(n As Integer,ByVal m As Integer)参数中,形参 n默认为传址传递,形参的变化将会返回到实参,即形参 n Mod 10(12 Mod 10)得到的结果 2将返回
42、给实参 x,即 x2;而 y为传值类型,不因形参的变化而变化,因此输出的 x和 y应为 2和 32。16.在窗体上有一个命令按钮 Command1和一个文本框 Text1,事件代码如下: Private Sub Command1_Click() Dim i,j,x For i1 T0 20 Step 2 x0 For ji To 20 Step 3 xx1 Next j Next i Text1ValueStr(x) End Sub 打开窗体运行后,单击命令按钮,文本框中显示的结果是( )。(分数:2.00)A.1 B.7C.17D.400解析:解析:题目中使用了双重 For循环,外循环中每循
43、环一次,x 的值都是从 0开始,因此外循环中到最后一次循环时,x 的值是 0;而内循环中的最后一次循环是 j20 To 20 Step 3,所以此时内循环只循环一次,x 的值为 x011。Str 函数将数值转换成字符串。17.在窗体中有一个文本框 Text1,事件代码如下: Private Sub Text0_Click() xVal(InputBox(“输入 x的值“) y1 If x 0 Then y2 Text0Valuey End Sub 打开窗体运行后,在输入框中输入整数 12,文本框 Text1中输出的结果是( )。(分数:2.00)A.1B.2 C.3D.4解析:解析:本题中窗体
44、单击事件是通过输入框输入数值,根据所输入数值内容对 y进行赋值,运行时输入框输入 12,y 赋初值为 1,判断 x的值不等于 0,因此 y又赋值为 2,最终文本框中输出结果为 2。18.若有以下窗体单击事件过程: Private Sub 主体_Click() result1 For i1 To 6 Step 3 resultresult * i Next i MsgBox result End Sub 打开窗体运行后,单击窗体,则消息框的输出内容是( )。(分数:2.00)A.1B.4 C.15D.120解析:解析:本题主要考查 For循环执行的次数和循环变量的取值。 第一次循环i1,resu
45、lt1*11,之后 i3; 第二次循环 i4,result1*44,之后 i3 为 7不符合 For循环条件,结束循环,因此输出结果为 4。19.窗体中有命令按钮 Command1,事件过程如下: Public Function f(x As Integer)As Integer Dim Y As Integer x20 y2 fx * y End Function Private Sub Command1_Click() Dim y As Integer Static x As Integer x10 y5 yf(X) DebugPrint x;y End Sub 运行程序,单击命令按钮,则
46、立即窗口中显示的内容是( )。(分数:2.00)A.10 5B.10 40C.20 5D.20 40 解析:解析:本题考查的是变量的作用域,程序中命令按钮中的 x是用 static定义的局部静态变量,只在模块的内部使用,过程执行时才可见。当调用 f函数时,所求的 f函数的值是 f函数中 x和 y的值的乘积,即 f函数的值是 2*2040,调用 f函数后,原命令按钮中 x的值被 f函数的值覆盖,即 x20。最后输出 x20,y40。20.运行下列程序,输入数据 8、9、3、0 后,窗体中显示结果是( )。 Private Sub Form_click() Dim sum As Integer,m
47、 As Integer sum0 Do mInputBox(“输入 m“) sumsumm Loop Until m0 MsgBox sum End Sub(分数:2.00)A.0B.17C.20 D.21解析:解析:本题程序是通过 Do循环结构对键盘输入的数据进行累加,循环结束条件是输入的字符为0,题目在输入 0之前将输入的 3个有效数据 8、9、3 相加,值为 20。21.如果在北京时间 7点 50分运行以下代码,程序的输出结果是( )。 Sub Procedure() If Hour(Time()8 And Hour(Time()12 Then DebugPrint“上午好!“ Else
48、IfHour(Time()12 And Hour(Time()18 Then DebugPrint“下午好!“ Else DebugPrint“欢迎下次光临!“ End If End Sub(分数:2.00)A.欢迎下次光临! B.上午好!C.下午好!D.无输出解析:解析:本题考查的是条件语句的多分支结构。Time()函数获取当前时间,Hour()函数获取当前时间的小时数。北京时间 7点 50分,经过函数 Hour(Time()计算返回 7,所以进入条件语句的最后一个分支并执行该分支的语句。22.已知过程对应的代码如下: Sub Proc() f10 f21 For n1 To 8 ff1f2 DebugPrint f f1f2 f2f Next n End S