3月计算机等级考试二级VB试试题注解版_第1页
3月计算机等级考试二级VB试试题注解版_第2页
3月计算机等级考试二级VB试试题注解版_第3页
3月计算机等级考试二级VB试试题注解版_第4页
3月计算机等级考试二级VB试试题注解版_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、2010年3月计算机等级考试二级VB试试题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是A)

2、编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据

3、单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系R得到关系T的操作是A)选择B)投影C)交D)并(11)在VB集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是(12)设x是整型变量,与函数iif(x>0,-x,x)有相同结果的代数式是A)|x|B)-|x|C)xD)-x(13)设窗体文件中有下面的事件过程:Private Sub Command1_Click()Dim sa%=10

4、0Print aEnd Sub其中变量a和s的数据类型分别是A)整型,整型B)变体型,变体型C)整型,变体型D)变体型,整型(14)下面哪个属性肯定不是框架控件的属性A)TextB)CaptionC)LeftD)Enabled(15)下面不能在信息框中输出“VB”的是A)MsgBox "VB"B)x=MsgBox("VB")C)MsgBox("VB")D)Call MsgBox "VB"(16)窗体上有一个名称为Option1的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程Private Su

5、b Option1_C1ick(Index As Integer)End Sub下面关于此过程的参数Index的叙述中正确的是A)Index为1表示单选按钮被选中,为O表示未选中B)Index的值可正可负C)Index的值用来区分哪个单选按钮被选中D)Index表示数组中单选按钮的数量(17)设窗体中有一个文本框Text1,若在程序中执行了Text1.SetFocus,则触发A)Text1的SetFocus事件B)Text1的GotFocus事件C)Text1的LostFocus事件 D)窗体的GotFocus事件(18)VB中有3个键盘事件:KeyPress、KeyDown、KeyUp,若光

6、标在Text1文本框中,则每输入一个字母A)这3个事件都会触发 B)只触发KeyPress事件C)只触发KeyDown、KeyUp事件D)不触发其中任何一个事件(19)下面关于标准模块的叙述中错误的是A)标准模块中可以声明全局变量B)标准模块中可以包含一个Sub Main过程,但此过程不能被设置为启动过程C)标准模块中可以包含一些Public过程D)一个工程中可以含有多个标准模块(20)设窗体的名称为Form1,标题为Win,则窗体的MouseDown事件过程的过程名是A)Form1_MouseDownB)Win_MouseDownC)Form_MouseDownD)MouseDown_For

7、m1(21)下面正确使用动态数组的是A)Dim arr() As IntegerB)Dim arr() As IntegerReDim arr(3,5)ReDim arr(50)As StringC)Dim arr()D)Dim arr(50) As IntegerReDim arr(50) As IntegerReDim arr(20)(22)下面是求最大公约数的函数的首部Function gcd(ByVal x As Integer, ByVal y As Integer) As Integer若要输出8、12、16这3个数的最大公约数,下面正确的语句是A)Print gcd(8,12),

8、gcd(12,16),gcd(16,8)B)Print gcd(8,12,16)C)Print gcd(8),gcd(12),gcd(16)D)Print gcd(8,gcd(12,16)(23)有下面的程序段,其功能是按图1所示的规律输出数据Dim a(3,5) As IntegerFor i=1 To 3For j=1 To 5A(i,j)=i+jPrint a(i,j);NextPrintNext若要按图2所示的规律继续输出数据,则接在上述程序段后面的程序段应该是A)For i=1 To 5B)For i=1 To 3For j=1 To 3For j=1 To 5Print a(j,i

9、);Print a(j,i);NextNextPrintPrintNextNextC)For j=1 To 5D)For i=1 To 5For i=1 To 3For j=1 To 3Print a(j,i);Print a(i,j);NextNextPrintPrintNext(24)窗体上有一个Text1文本框,一个Command1命令按钮,并有以下程序Private Sub Commandl_Click()Dim nIf Text1.Text<>"123456" Thenn=n+1Print "口令输入错误" & n &

10、; "次"End IfEnd Sub 希望程序运行时得到左图所示的效果,即:输入口令,单击“确认口令”命令按钮,若输入的口令不是“123456”,则在窗体上显示输入错误口令 的次数。但上面的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是A)在Dim n语句的下面添加一句:n=OB)把Print "口令输入错误" & n & "次"改为Print "口令输入错误" +n+"次"C)把Print "口令输入错误" & n &

11、"次"改为Print "口令输入错误"&Str(n)&"次"D)把Dim n改为Static n(25)要求当鼠标在图片框P1中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是A)Private Sub P1_MouseMove(Button AS Integer,Shift As Integer,X As Single, Y As Single)Print X,YEnd SubB)Private Sub P1_MouseDown(Button AS Integer,Shift As Int

12、eger,X As Single, Y As Single)Picture.Print X,YEnd SubC) Private Sub P1_MouseMove(Button AS Integer,Shift As Integer,X As Single, Y As Single)P1.Print X,YEnd SubD)Private Sub Form_MouseMove(Button AS Integer,Shift As Integer,X As Single, Y As Single)P1.Print X,YEnd Sub(26)计算的近似值的一个公式是。某人编写下面的程序用此公式计

13、算并输出的近似值:Private Sub Comand1_Click()PI=1Sign=1n=20000For k=3 To nSign=-Sign(/k)PI=PI+Sign/kNext kPrint PI*4End Sub运行后发现结果为3.22751,显然,程序需要修改。下面修改方案中正确的是A)把For k=3 To n 改为 For k=1 To nB)把n=20000改为n=20000000C)把For k=3 To n改为For k=3 To n Step 2D)把PI=1改为PI=0(27)下面程序计算并输出的是Private Sub Comand1_Click()a=10s

14、=0Dos=s+a*a*aa=a-1Loop Until a<=0Print sEnd SubA)13+23+33+103的值B)10!+3!+2!+1!的值C)(1+2+3+10)3的值D)10个103的和(28)若在窗体模块的声明部分声明了如下自定义类型和数组Private Type recCode As IntegerCaption As StringEnd TypeDim arr(5) As rec则下面的输出语句中正确的是A)Print arr.Code(2),arr.Caption(2)B)Print arr.Code,arr.CaptionC)Print arr(2).Co

15、de,arr(2).CaptionD)Print Code(2),Caption(2)(29)设窗体上有一个通用对话框控件CD1,希望在执行下面程序时,打开如图所示的文件对话框Private Sub Comand1_Click()CD1.DialogTitle="打开文件"CD1.InitDir="C:"CD1.Filter="所有文件|*.*|Word文档|*.doc|文本文件|*.Txt"CD1.FileName=""CD1.Action=1If CD1.FileName=""ThenPri

16、nt"未打开文件"ElsePrint"要打开文件"& CD1.FileNameEnd IfEnd Sub但实际显示的对话框中列出了C:下的所有文件和文件夹,“文件类型”一栏中显示的是“所有文件”。下面的修改方案中正确的是A)把CD1.Action=1改为CD1.Action=2B)把“CD1.Filter=”后面字符串中的“所有文件”改为“文本文件”C)在语句CD1.Action=1的前面添加:CD1.FilterIndex=3D)把CD1.FileName=""改为CD1.FileName="文本文件"(

17、30)下面程序运行时,若输入395,则输出结果是Private Sub Comand1_Click()Dim x%x=InputBox("请输入一个3位整数")Print x Mod 10,x100,(x Mod 100)10End SubA)3 9 5B)5 3 9C)5 9 3D)3 5 9(31)窗体上有List1、List2两个列表框,List1中有若干列表项(见图),并有下面的程序:Private Sub Comand1_Click()For k=List1.ListCount-1 To 0 Step -1If List1.Selected(k) ThenList

18、2.AddItem List1.List(k)List1.RemoveItem kEnd IfNext kEnd Sub程序运行时,按照图示在List1中选中2个列表项,然后单击Commandl命令按钮,则产生的结果是A)在List2中插入了“外语”、“物理”两项B)在List1中删除了“外语”、“物理”两项C)同时产生A)和B)的结果D)把List1中最后1个列表项删除并插入到List2中(32)设工程中有2个窗体: Form1、Form2,Form1为启动窗体。Form2中有菜单。其结构如表。要求在程序运行时,在Form1的文本框Text1中输入口令并按回车键(回车键的ASCII码为13)

19、后,隐藏Form1,显示Form2。若口令为“Teacher”,所有菜单项都可见;否则看不到“成绩录入”菜单项。 为此,某人在Form1窗体文件中编写如下程序:Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii=13 ThenIf Text1.Text="Teacher" ThenForm2.input.visible=TrueElseForm2.input.visible=FalseEnd IfEnd IfForm1.HideForm2.ShowEnd Sub程序运行时发现刚输入口令时就隐藏了Form1,显

20、示了Form2,程序需要修改。下面修改方案中正确的是A)把Form1中Text1文本框及相关程序放到Form2窗体中B)把Form1.Hide、Form2.Show两行移到2个End If之间C)把If KeyAscii=13 Then改为 If KeyAscii="Teaeher" ThenD)把2个Form2.input.Visible中的“Form2”删去(33)某人编写了下面的程序,希望能把Text1文本框中的内容写到out.txt文件中Private Sub Comand1_Click()Open "out.txt" For Output As

21、 #2Print "Text1"Close #2End Sub调试时发现没有达到目的,为实现上述目的,应做的修改是A)把Print "Text1"改为Print #2,Text1B)把Print "Text1"改为Print Text1C)把Print "Text1"改为Write "Text1"D)把所有#2改为#1(34)窗体上有一个名为Command1的命令按钮,并有下面的程序:Private Sub Comand1_Click()Dim arr(5) As IntegerFor k=1

22、To 5arr(k)=kNext kprog arr()For k=1 To 5Print arr(k)Next kEnd SubSub prog(a() As Integer)n=Ubound(a)For i=n To 2 step -1For j=1 To n-1if a(j)< a(j+1) then t=a(j):a(j)=a(j+1):a(j+1)=tEnd IfNext jNext iEnd Sub程序运行时,单击命令按钮后显示的是A)12345B)54321C)01234D)43210(35)下面程序运行时,若输入“Visual Basic Programming”,则在窗

23、体上输出的是Private Sub Comand1_Click()Dim count(25) As Integer, ch As Stringch=Ucase(InputBox("请输入字母字符串")For k=1 To Len(ch)n=Asc(Mid(ch,k,1)-Asc("A")If n>=0 ThenCount(n)=Count(n)+ 1End IfNext km=count(0)For k=1 To 25If m< count(m=count(k)End IfNext kPrint mEnd SubA)0B)1C)2D)3二、填

24、空题(1)一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为 【1】 。(2)设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有 【2】 个元素。(3)设二叉树如下:对该二叉树进行后序遍历的结果为 【3】 。(4)软件是 【4】 、数据和文档的集合。(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(

25、学号, 【5】 ,成绩)。(6)为了使复选框禁用(即呈现灰色),应把它的Value属性设置为 【6】 。(7)在窗体上画一个标签、一个计时器和一个命令按钮,其名称分别为Labl1、Timer1和Command1,如图1所示。程序运行后,如 果单击命令按钮,则标签开始闪烁,每秒钟“欢迎”二字显示、消失各一次,如图2所示。以下是实现上述功能的程序,请填空。Private Sub Form_Load()Label1.Caption="欢迎"Timer1.Enabled=FalseTimer1.Interval= 【7】Command1.Caption="开始闪烁&quo

26、t;End SubPrivate Sub Timer1_Timer()Label1.Visible= 【8】End SubPrivate Sub command1_Click()【9】End Sub 图1 图2(8)有如下程序:Private Sub Form_Click()n=10i=0Doi=i+nn=n-2Loop While n>2Print iEnd Sub程序运行后,单击窗体,输出结果为 【10】 。(9)在窗体上画一个名称为Command1的命令按钮。然后编写如下程序:Option Base 1Private Sub Command1_Click()Dim a(10) As

27、 IntegerFor i=1 To 10a(i)=iNextCall swap ( 【11】 )For i=1 To 10Print a(i);NextEnd SubSub swap(b() As Integer)n=Ubound(b)For i=1 To n / 2t=b(i)b(i)=b(n)b(n)=t【12】NextEnd Sub上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,。请填空。(10)在窗体上画一个文本框,其名称为Text1,在属性窗口中把该文本框的MultiLine属性设置为True,然后编写如

28、下的事件过程:Private Sub Form_Click()Open "d:testsmtext1.Txt" For Input As #1Do While Not 【13】Line Input #1, aspect$Whole$=whole$+aspect$+Chr$(13)+Chr$(10)LoopText1.Text=whole$【14】Open "d:testsmtext2.Txt" For Output As #1Print #1, 【15】Close #1End Sub运行程序,单击窗体,将把磁盘文件smtext1.txt的内容读到内存并在

29、文本框中显示出来,然后把该文本框中的内容存入磁盘文件 smtext2.txt。请填空。参考答案:填空题 1A2D3B4A5C6B7A8D9C10A11D12B13C14A15D16C17B18A19B20C21A22D23A24D25C26C27A28C29C30B31C32B33A34B35D填空题(1) A,B,C,D,E,5,4,3,2,1(2) 15(3) EDBGHFCA(4) 程序(5) 课号(6) 6 2(7) 7 500 8 Not Label1.Visible9 Timer1.Enabled=True(8) 10 28(9) 11 a ( ) 或a 12 n=n-1(10)

30、13 EOF(1) 14 Close #1 15 Text1.Text或Text1 (12)B知识点:IIF函数评析:语法:IIf(expr,val1,val2)expr必要参数。用来判断真伪的表达式。val1必要参数。如果expr为True,则返回这部分的值或表达式。val2必要参数。如果expr为False,则返回这部分的值或表达式。题目中,当x>0时,IIf函数返回的是-x值,得到的是一个负数,当x<=0时,IIf函数返回的是x的值,得到的是0 或负数。选项A 中,当x 为负数或正数时,|x|都是一个正数,所以选项A 是错误的;选项B 中,当x>0时,-|x|是一个负数

31、,当x<=0时,-|x|是一个负数或0,所以选项B是正确的;选项C中,当x为正数时,与IIf函数结果不一致,所以选项C是错误的;选项D中,当x为负数时,-x为正数,与IIf函数结果不一致,所以选项D是错误的。(13)C知识点:变量类型评析:使用变量说明语句说明变量的数据类型,通常称为“显式说明”,例如,Dim a As Integer,也可以采用在变量名后加上一个用于规定变量类型的说明字符,例如,x%。VB 规定的类型说明字符表如下:说明字符示例意义%x%x是整型变量&x&x是长整型变量!x!x是单精度型变量#x#x是双精度型变量xx是货币型变量$x$x是字符型变量如果一

32、个变量未被显式定义,末尾也没有类型说明符,则被隐含地说明为变体类型变量。由题目中可知,s变量没有具体定义类型,所以它是变体型,a后面加上了一个%符号,可知a是整型,所以选项C是正确的。(15)D知识点:信息框的使用方法评析:信息框的使用方法有3种:1、使用赋值语句,例如:ans=MsgBox("非法数据!",48, "信息提示")2、等同为一个方法使用,例如:MsgBox "非法数据!",48, "信息提示"3、直接书写,例如:MsgBox("非法数据!",48, "信息提示"

33、;)在Visual Basic中,可以直接使用过程名调用过程,也可以结合Call关键字调用。使用Call调用过程时,参数列表必须用圆括号括起。其形式为:子过程名 参数列表或Call 子过程名(参数列表)所以选择选项D。(17)B知识点:文本框的事件和方法评析:SetFocus事件:是文本框中较常用的方法,该方法可以把光标移到指定的文本框中。GotFocus事件:当文本框具有输入焦点(即处于活动状态)时,键盘上输入的每个字符都将在该文本框中显示出来。只有当一个文本框被激活并且可见性为True时才能接收到焦点。LostFocus事件:但按下Tab键使光标离开当前文本框或用鼠标选择窗体中的其他对象时

34、触发该事件。GotFocus事件是对象获得焦点时发生,当文本框使用SetFocus方法时,文本框获得了焦点,因此触发了文本框的GotFocus事件。(19)B知识点:标准模块评析:标准模块也称全局模块,由全局变量声明、模块层声明及通用过程等几部分组成。Sub Main过程位于标准模块中,一个工程可以含有多个标准模块,但Sub Main过程只能有一个,Sub Main过程通常是作为启动过程编写的,但是Sub Main过程不能自动被识别,也就是说Visual Basic并不自动把它作为启动过程,必须通过与设置启动窗体类似的方法把它指定为启动过程,所以选项B是错误的。(20)C知识点:窗体事件过程名

35、评析:窗体事件过程由“Form”、下划线和事件名组成,所以选项C是正确的。(21)A知识点:动态数组评析:动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时,随时用Redim语句重新指出数组大小,但是不能改变数组类型。选项B和C,都改变了数组的类型,所以是错误的,选项D中,arr()数组已经给出了大小,所以不能用Redim重新定义,所以选项A是正确的(22)D知识点:函数的调用评析:如果一个过程或函数的形式参数是固定的,调用时提供的实参也是固定的,本题gcd函数有2个形参,则调用时必须按相同的顺序和类型提供2个实参,所以选项B、C是错误的;题目中要求计算三个数的最大公约数

36、,最后得出的应该是一个值,所以选项A是错误的,只有选项D是正确的。(23)A知识点:For循环、嵌套循环评析:由题目中可知,数组a是一个3行5列的数组,而选项B和C中,j从1到5,i从1到3,也就是数组a的第一维下标的最大值大于3,出错,所以选项B和C是错误的;选项D和选项B、C一样,也会出现下标越界的错误。选项A中:当i=1时,j从1到3循环,打印出来的值为:2、3、4当i=2时,j从1到3循环,打印出来的值为:3、4、5当i=3时,j从1到3循环,打印出来的值为:4、5、6当i=4时,j从1到3循环,打印出来的值为:5、6、7当i=5时,j从1到3循环,打印出来的值为:6、7、8所以选项A

37、是正确的。(34)B知识点:函数的调用、排序算法、参数传递评析:首先程序给数组arr赋值,然后调用prog函数,prog函数的作用是排序,通过循环判断相邻两个数的大小,如果前一个数小于后面一个数,则交换两个数,当用数组作为过程的参数时,使用的是“传地址”方式,所以实参的值会随着形参的改变而改变,最后输出的arr数组的值是改变后的值。开始时,数组arr的值为1,2,3,4,5,通过prog函数的处理,当i=5时,交换后的值为2,3,4,5,1;当i=4时,交换后的值为3,4,5,2,1;当i=3时,交换后的值为4,5,3,2,1;当i=2时,交换后的值为5,4,3,2,1,所以选项B是正确的。(35)D知识点:字符的ASCII码、截取字符串评析:此程序的作用是输入一个字符串,然后统计每个字符串出现的次数,并输出最大出现次数。首先定义了一个有25个元素的co

温馨提示

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

评论

0/150

提交评论