首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > VB > 模拟试题 > 正文

2007年9月计算机二级VB模拟试题(2)及答案

来源:考试吧Exam8.com) 2007-8-31 10:26:50 考试吧:中国教育培训第一门户 模拟考场

(31) 定义过程的格式中,Static关键字的作用是指定过程中的局部变量在内存中的存储方式。若使用了Static关键字,则
A) 每次调用此过程,该过程中的局部变量都会被重新初始化
B) 在本过程中使用到的,在其他过程中定义的变量也为Statci型
C) 每次调用此过程时,该过程中的局部变量的值保持在上一次调用后的值
D) 定义了该过程中定义的局部变量为"自动"变量
解析:Static关键字用于指定局部变量在内存中的存储方式。变量的存储方式有两种:静态的和自动的。静态存储方式是指当过程运行完毕后,变量所占的内存单元不释放,而变量的值被保存下来,该变量为静态变量。Static型变量所占存储控件只初始化一次,且变量的值在整个程序运行期间都存在;Static关键字对过程之外定义的变量没有影响;Static关键字是定义该过程中定义的局部变量为静态变量。
(32) 单击命令按钮时,下列程序的执行结果为
Private Sub Command1_Click()
   Dim x As Integer, y As Integer
   x=50: y=78
   Call PPP(x, y)
   Print x; y
End Sub
Public Sub PPP(ByVal n As Integer, ByVal m As Integer)
   n=n \ 10
   m=m \ 10
End Sub
A) 08       
B) 5078
C) 450       
D) 7850
解析:在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在Visual Basic中,实参与形参的结合有两种方式,即传址与传值。这两种方法的特点如下:
传址的结合过程时,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。
传值的结合过程时,当调用一个过程时,系统将实参的值复制给形参并断开了联系,被调用过程中的操作是在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程PPP中有两个形参,两者均为传值方式。主调过程分别把实参x、y 传递给PPP,所以当过程调用结束后,实参x、y的值都没有改变,最后输出的值应为50  78。
(33) 单击按钮时,以下程序运行后的输出结果是
Private Sub proc1(x As Integer, y As Integer, z As Integer)
   x=3 * z
   y=2 * z
   z=x + y
End Sub
Private Sub Command1_Click()
   Dim x As Integer, y As Integer, z As Integer
   x=1: y=2: z=3
   Call proc1(x, x, z)
   Print x; x; z
   Call proc1(x, y, y)
   Print x; y; y
End Sub
   A) 6  6  12      
    6  10  10      
B) 9  5  10               
    5  10  10
    C) 9  6  12      
     9  10  15     
D) 9  10  10                
     5   4  10
解析:从整体上看,可得主调过程将两次调用过程Proc1后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的。
第一次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x = 3 * z后,形参x值变为9,此时相对应的实参x也变为9,执行语句y = 2 * z后,形参y值变为6,则相对应的实参x值变为6。执行z = x + y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;
第二次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x = 3 * z后,形参x值为6,相对实参x值也相应的变为6。执行语句y = 2 * z后,形参y值变为4,相应的实参y值也变为4,执行z = x + y后,形参z值变为10,相应的实参y的值变为10,而形参y和z的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。

 (34) 单击命令按钮时,下列程序的运行结果为
Private Sub Command1_Click()
   Print MyFund(20, 18)
End Sub
Public Function MyFund(m As Integer, n As Integer) As Integer
   Do While m <> n
      Do While m > n: m=m - n: Loop
      Do While m < n: n=n - m: Loop
   Loop
   MyFund=m
End Function
A) 0        
B) 2
C) 4        
D) 6
解析:此题程序代码中,被调过程采用了Do While…Loop的嵌套语句结构,主调过程只调用了一次被调过程,Print MyFund(20, 18) 语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程MyFund时,把数值20,18分别传给形参m和n,从被调过程中的循环语句来看,因为此时m的值大于n的值,所以执行语句m = m - n,m值变为2,而由语句MyFund = m可看出,此过程的返回值就是m的值,即2。
(35) 在窗体上画一个命令按钮,然后编写如下程序
Private Sub Command4_Click()
   Dim a As Integer, b As Integer
   a=1
   b=2
   Print N(a, b)
End Sub
Function N(x As Integer, y As Integer) As Integer
   N=IIf(x > y, x, y)
End Function
程序运行后,单击命令按钮,输出结果为
A) 1        
B) 2
C) 5        
D) 8
解析:事件过程N的作用是输出两个数中最大的,它调用了IIF函数,条件部分是(x>y),如果满足,那么N的值即为x的值,否则为y的值。在Sub过程中,定义了两个变量a,b,并赋给它们初值1,2,并调用Print函数,输出N(a,b)的值,因为x<y,所以输出y=2。

上一页  1 2 3 4 5 6 7 下一页
文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。