2011年春江苏省计算机二级VB考试笔试真题.doc_第1页
2011年春江苏省计算机二级VB考试笔试真题.doc_第2页
2011年春江苏省计算机二级VB考试笔试真题.doc_第3页
2011年春江苏省计算机二级VB考试笔试真题.doc_第4页
2011年春江苏省计算机二级VB考试笔试真题.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二部分 Visual Basic 程序设计一、 选择题(用答题卡答题,答案依次填在2130答题号内)21以下说法中,正确的是 21 。A. 属性是对象的特征,所有的对象都有相同的属性B. 属性值只能在属性窗口中设置C. 在程序中可以用赋值语句给对象的任何一个属性赋值D. 对象的运行时属性不出现在对象属性窗口中22下面4个语句中,错误的是 22 。AN = InputBox(输入N:, , 5)BInputBox (输入N:, , 5)CMsgBox 请回答DK = MsgBox(请回答) 23若设X=1,Y=2,则不能在窗体上显示出“A= 3”的语句是 23 。APrint A = X + YBPrint A=; X + YCPrint A= + Str(X + Y)DPrint A= & X + Y24表达式InStr(4, abcabca, c) + Int(2.5)的值为 24 。A. 7 B. 8 C. 5 D. 925以下有关数组的说法中,错误的是 25 。A. 用ReDim语句重新定义动态数组时,其下标的上下界可以使用赋了值的变量B. 用ReDim语句重新定义动态数组时,不能改变已经说明过的数组的数据类型C. 使用ReDim语句一定可以改变动态数组的上下界D. 定义数组时,数组维界值可以不是整数26以下有关过程的说法中,错误的是 26 。A不论在Function过程中是否给函数名赋过值,都会返回一个值B不能在Function与Sub过程内部,再定义Function或Sub过程CFunction过程与Sub过程,都可以是无参过程D过程名可以和主调过程的局部变量同名27下列关于菜单的说法中,错误的是 27 。A. 除了Click事件之外,菜单项不能响应其他事件B. 菜单的名称项(Name属性)不可缺省C. 只有当代码窗口为当前活动窗口时,才能打开菜单编辑器D. 菜单项的快捷键不能任意设置28. 设a=1,b=2,c=3,逻辑表达式a b Xor c 10 b = b / 2 Do Until b 10 a = (a + b) 2 + b b = b + 5 Print a, b Loop a = a - 3 LoopEnd Sub2执行下面程序,当单击Cmd1时,在窗体上显示的第一行内容是 (4) ,第二行的内容是 (5) ,第四行的内容是 (6) 。Option ExplicitPrivate Sub Cmd1_Click() Dim a As Integer, b As Integer a = 1 b = 2 Print fun(2 * b, fun(a, (b) Print a; bEnd SubPrivate Function fun(x As Integer, y As Integer) As Integer x = x + 2 y = x - y + 3 fun = x + y Print funEnd Function3执行下面的程序,单击CmdRun后,数组元素a(1, 2)的值是 (7) ,a(2, 1)的值是 (8) ,a(3, 2)的值是 (9) 。Option ExplicitOption Base 1Private Sub CmdRun_Click() Dim A(3, 3) As Integer, i As Integer, j As Integer, k As Integer, n As Integer n = 3 i = 1 : j = n A(i, j) = 1 For k = 2 To n * n If i + 1 n Then i = n - j + 2 : j = 1 ElseIf i + 1 n Then j = j i : i = 1 Else i = i + 1 : j = j + 1 End If A(i, j) = k Next k For i = 1 To n For j = 1 To n Print A(i, j); Next j Print Next iEnd Sub4运行程序,在文本框Text1中输入用空格分隔的4位二进制数1001、0101和0110。单击“处理”按钮,在多行文本框Text2中第一行显示 (10) ,第二行显示 (11) ,第三行显示 (12) 。Option ExplicitPrivate Sub Cmd1_Click() Dim S(3) As String, n As Integer Dim i As Integer, k As Integer k = 1 For i = 1 To 3 S(i) = Mid(Text1, k, 4) k = k + 5 Call Transform(n, S(i) Text2 = Text2 & n & vbCrLf Next iEnd SubPrivate Sub Transform(n As Integer, S As String) Dim k As Integer, i As Integer, L As Integer L = Len(S) If Val(Mid(S, 1, 1) = 1 Then n = -(2 (L - 1) Else n = 0 End If For i = 2 To L k = Mid(S, i, 1) n = n + k * 2 (L - i) Next iEnd Sub5执行下列程序,单击CmdRun按钮,则窗体上显示的第一行是 (13) ,第二行是 (14) ,最后一行是 (15) 。Option ExplicitPrivate Sub CmdRun_Click() Dim n As Integer For n = 4 To 7 If Fun1(n, Sqr(n) Then Print n; SS Else Print n; HS End If Next nEnd SubPrivate Function Fun1(n As Integer, i As Integer) As Boolean If i = 1 Then Fun1 = True ElseIf n Mod i 0 Then Fun1 = Fun1(n, i - 1) Else Fun1 = False End IfEnd Function6下面程序的功能是:求S的值。 (x1)计算到第k项的值小于等于10-6为止。请完善本程序。Option ExplicitPrivate Sub CmdSum_Click() Dim s As Single, x As Single, k As Integer, t As Single x = CSng(Text1.Text) (16) Do t = pt(x, k) s = s + t k = k + 1 Loop Until t 0 Then If yzh(a, st) Then List1.AddItem i & : & st End If Erase a Next iEnd SubPrivate Function yzh(a() As Integer, st As String) As Boolean Dim i As Integer, j As Integer Dim sum1 As Long, sum2 As Long, st1 As String, st2 As String For i = 1 To UBound(a) For j = 2 To Sqr(a(i) If a(i) Mod j = 0 Then Exit For Next j If (21) Then sum1 = sum1 + a(i) st1 = st1 & a(i) & + Else sum2 = sum2 + a(i) st2 = st2 & a(i) & + End If Next i If sum1 * 2 = sum2 Then (22) st = ( & Left(st1, Len(st1) - 1) & )*2= & Left(st2, Len(st2) - 1) End IfEnd Function8本程序的功能是求 -128+127之间整数n的8位2进制补码。采用的算法是:若n0,则直接将其转换为相应的7位2进制数,前面的符号位置为“0”;若n= 0 Then bm = 0 & d2b(n) Else n = n + 128 bm = (24) End IfEnd FunctionPrivate Function d2b(n As Integer) As String Dim p As Integer Do p = n Mod 2 d2b = CStr(p) & d2b n = n 2 Loop Until (25) d2b = Right(000000 & d2b, 7)End Function9本程序的功能是,按从大到小的次序给一组正整数标记序次。程序的算法是:先找出原数组中所有的最大数,假如有n个最大数,它们序次均标记为1,已处理的数据值改为-99;再找出所有的次大数,它们的序次标记为n+1直到所有数据处理完毕。请完善本程序。(说明:数组sn用于存放数组a中相应的各个元素的序次,数组b用来保留原始数据)Option ExplicitOption Base 1Private Sub Cmd1_Click() Dim a(10) As Integer, sn(10) As Integer, b(10) As Integer, i As Integer For i = 1 To 10 a(i) = Int(Rnd * 61) + 40 b(i) = (26) Text1 = Text1 & Str(a(i) Next i Call order(a, sn) For i = 1 To 10 List1.AddItem b(i) & - & sn(i) Next

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论