《VB历年真题答案解析教学提纲.doc》由会员分享,可在线阅读,更多相关《VB历年真题答案解析教学提纲.doc(110页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。VB历年真题答案解析-2005年4月一、选择题(1)D【解析】数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。(2)B【解析】栈(stack)是限定只在一端进行插入与删除的线性表,这一端称为栈顶(top),另一端称为栈底(bottom)。栈是按照先进后出或后进先出的原则组织数据的。栈具有记忆作用。(3)D【解析】在最坏的情况下,冒泡排序和快速排序需要比较的次数为n(n1)/2。(4)C【解析】对于长度为n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,而顺
2、序查找需要比较n次。(5)A【解析】在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。(6)C【解析】软件测试是为了发现程序中的错误。(7)B【解析】耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,这样有利于提高模块的独立性。(8)D【解析】软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。程序是软件开发
3、人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列。数据是使程序能正常操纵信息的数据结构。文档是与程序的开发、维护和使用有关的图文资料。(9)D【解析】数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。数据的独立性一般分为物理独立性与逻辑独立性两级。(10)C【解析】层次模型是最早发展起来的数据库模型。层次模型的基本结构是树形结构。(11)A【解析】当在文本框内输入了一个文字,触发了Text1_Change()事件,改变按钮的标题用的按钮的Caption属性,所以这里只需在Text1_Change()事件里写上Command1.Capti
4、on计算机等级考试即可。(12)B【解析】本题考查各类表达式的综合运算。先执行32*b值为False,在判断a=cAndbc为False,cd为True;所以最终结果为True。(13)B【解析】表达式是从左起数到第10个字符V开始的字符串赋给b。题中所涉及的几个字符串函数功能分别为,Left(a,10)取出字符串a左边10个字符;Mid(a,10)取出字符串a中从位置10开始向右的全部字符;Right(a,10)取出字符串a右边的10个字符;Mid(a,11,10)在字符串a中从位置11开始向右取10个字符。(14)C【解析】b$位置是MsgBox的标题栏上的名称,MsgBox的格式为Msg
5、Box(prompt,buttons,title,helpfile,context),其中的title是显示在对话框标题栏中的字符串表达式。如果省略title,则将应用程序的名称显示在标题栏中。(15)D【解析】在该题中,关键考查的是IIF(),IIF()函数的形式是:IIF(表达式,当条件为True时的值,当条件为False时的值),显然在题目里的表达式(ad)为True,所以x的值应该为A。(16)C【解析】在VisualBasic中,每个对象定位于存放它的容器内,对象的Left、Top属性指示了该对象在容器内的位置。坐标原点在窗体的左上角,水平位置由其Left属性决定,竖直位置由其Top
6、属性决定,故为了使命令按钮(名称为Command1)右移200,应该将其Left属性值增加200,所以正确答案为选项C)。(17)D【解析】程序运行后,在文本框里输入的是456即Text1.Text的值为456,在输入对话框里输入123则x的值为123,最后的xText1.Text即为123和456两个字符串的连接,故最后的显示结果为123456。(18)A【解析】本题考查的是时钟控件Timer,该控件的Interval属性,表示两个计时器事件之间的时间间隔,其值以ms为单位,而当Enabled属性为False时,时钟控件不起作用,故欲使程序实现每隔1s在文本框中显示一次当前的时间,则前提就需
7、将时钟控件的Enabled设置为True。(19)B【解析】Picture属性可设置被显示的图片文件名(包括可选的路径名),在程序运行时可使用LoadPicture()在图形框中装入图形,其格式为:图形框对象PictureLoadPicture(图形文件名),为了在运行时从图形框中删除一个图形,可用LoadPicture(),将一个空白图形装入图形框的Picture属性。(20)D【解析】本题考查的是列表框的知识,题中要求在Label中显示内容,则使用的是其Caption属性,由此可排除选项B)和C),而列表框的ListIndex属性指的是程序运行时被选定的选项的序号,而Text属性是被选定的
8、选项的文本内容。(21)A【解析】本题主要考查的是循环和条件判断,本题难度不大,只要理清思路很容易解决。当i4循环完成后,x5;当i等于5和6时,都是执行循环体内的xx2,所以最后结果是x9。(22)B【解析】本题考查的是字符串函数,Left(c,n)取字符串c左边n个字符;Right(c,n)取字符串c右边n个字符;Mid(c,N1,N2)取字符子串,在c中从N1位开始向右取N2个字符,默认N2到结束。(23)C【解析】本题主要考查的是循环,其中需提出的是,该运算符是表示整除(截尾取整),再者就是需注意该题中的循环变化的步长为2。(24)D【解析】在VisualBasic中,除了可以指定某个
9、窗体作为启动对象外,还可以指定Main子过程为启动对象,如果不指定启动窗体则默认将工程中建立的第一个窗体作为启动窗体。(25)B【解析】控件数组是由一组相同类型的控件组成,它们共用一个控件名,具有相同的属性,但它们的按钮标题可不一样,当建立控件数组时,系统给每个元素赋一个惟一的索引号(Index),通过该索引号可以访问控件数组中的每个命令按钮。(26)C【解析】本题主要考查的知识点为字符及其ASCII码之间的转换,需要注意的是UCase(ch)是将ch转化为其相应的大写,Asc()是取字符的ASCII码,Chr()是将ASCII码转化为相应的字符。(27)D【解析】在该题中,关键是知识点IIF
10、(),IIF()函数的形式是:IIF(表达式,当条件为True时的值,当条件为False时的值),因为16大于10且小于20,所以只有在第二个IIF()中表达式的值为True,取故宫,而其他两个IIF()中表达式的值均为False,所以第一和第三个中取的均为。故t最后的值为旅游景点:故宫。(28)B【解析】本题具有一定的迷惑性,其实分析一下可知arr(i,j)的值即为j*j,而与i无关,所以arr(2,2)+arr(3,3)就是求2*2+3*3=13。(29)B【解析】本题中的通用过程fun(ByValmAsInteger)作用是判断参数m,如果m为偶数则函数返回2,如果m为奇数则函数返回1。
11、在i1To5的fun(ByValmAsInteger)调用中,共有偶数两个,奇数三个,所以最后结果为7。(30)B【解析】每次使用ReDim语句都会使原来数组中的值丢失,也可以在ReDim后加Preserve参数来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变,而在本题中arr(3,2)始终都未赋值,arr(3,4)4913,故最后为13。(31)C【解析】本题考查的是循环和条件判断语句,OptionBase1是强制使数组下表从1开始。(32)D【解析】本题中最后输入0时结束循环,所以最后d的值为0,故判断输出结果其实就是计算c的值,c从输入5开始(除最后
12、的0)每次加1(共5次),所以c最后为9。(33)B【解析】解答本题需了解文件的操作,并且需要了解函数LCase(),该函数是将其中的字符转化为小写。(34)C【解析】本题考查的是鼠标事件,当压下鼠标左键(发生MouseDown时)SW的值为False,当松开鼠标左键(触发MouseUp时)SW的值为True。(35)A【解析】欲解答本题,需先对通用过程分析Fun(a()AsInteger,xAsInteger)的功用,该通用过程是将数组的a(1)到a(5)的和返回,arr(5)的各个元素值分别为a(1)到a(5)的值分别为2、4、6、8、10,所以其和为30。二、填空题(1)【1】19【解析
13、】在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。(2)【2】对象【解析】类是具有共同属性、共同方法的对象的集合,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。(3)【3】程序调试【解析】程序调试是指在发生程序错误的情况下,确定出错的位置并纠正错误,其中关键是要确定出错的位置。程序调试主要在开发阶段。(4)【4】关系【解析】在关系数据库中,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。(5)【5】算法【解析】算法是指对问题处理方案的准确而完整的描述。(6)【6】11345.68【解析】11
14、345.6789*100的值为1134567.89,加上0.5后为1134568.39,然后取整数得1134568,再除以100,最后得11345.68。(7)【7】VB程序设计【8】VBProgramming【解析】单击窗体时响应Form_Click()事件,所以文本框的内容为VB程序设计。当文本框的内容改变后,就触发了Text1_Change(),所以图片框的内容变为VBProgramming。(8)【9】10【解析】本题主要考查的是循环,分析可知内循环的结束条件是当Counter为10,而此时CheckFalse,则也跳出外循环,故最后Counter为10。(9)【10】计算1到8的和【
15、11】36【解析】此题考查的Do匴hile语句的使用。本题的运算次数为8次,当n减小到0时跳出循环。所以经运算s12345678,其结果为36。(10)【12】arr1(0)【13】Minarr1(i)【解析】此题的功能是计算数组中的最小值,首先,把数组的第一个元素给Min,然后分别和剩下的元素进行比较,如果哪一个元素比Min小,就交换把这个元素的值给Min,直到最后。所以【12】应该是把数组的第一个元素给Min,即Minarr1(0)。【13】是把和Min比较后较小的值赋给Min,所以为Minarr1(i)。(11)【14】EOF(1)【15】Text1.Text【解析】EOF()函数返回一
16、个表示文件指针是否到达文件末尾的值。当到达文件末尾时,EOF()函数返回True,否则返回False。所以【14】为EOF(1),表示如果没有到达文件1的末尾。Print#1,Text1.Text表示把整个文本框Text1的内容一次性地写入文件。2005年9月一、选择题(1)C【解析】程序设计并不等于编程,编程只是程序设计中的一小步。测试的目的在于发现错误,一般不由开发者测试自己的程序,测试发现错误后,可以立即进行调试并改正错误,经调试改错后还应进行再测试。(2)A【解析】二分查找只适用于顺序存储的有序表。(3)C【解析】栈是特殊的线性表,在栈顶端既可以插入元素,又可以删除元素;在栈底端不允许
17、插入元素,也不允许删除元素。(4)D【解析】数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构;而采用不同的存储结构,其数据处理的效率是不同的。(5)C【解析】软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法,由于软件开发中面临着纷繁复杂的问题,所以强调用工程化的原则去处理。(6)D【解析】DFD(数据流图)是常用的结构化分析工具;NS、PAD、PDL是常见的过程设计工具,其中NS、PAD属于图形工具,PDL属于语言工具。(7)A【解析】软件生命周期是软件工程中重要的基本概念,通常把软件从开始研制(形成概念)到最终软件被废弃不用
18、的整个阶段称为软件生命周期。注:软件的生命周期包括软件交付后的使用和维护。(8)A【解析】数据库技术的根本目标是要解决数据共享的问题,选项A的说法是正确的。(9)B【解析】T是RS的结果,关系T由属于关系R的或者属于关系S的元组组成。(10)B【解析】数据库系统的核心是数据库管理系统(DBMS)。(11)B【解析】在VisualBasic中,一个应用程序通常只有一个窗体,但有时为了程序的需要会增加窗体个数或标准模块等,如果要保存该程序通常要分别保存窗体模块、标准模块等模块和工程文件。如果要打开该程序,只需打开该工程文件,则与该工程有关的窗体或模块文件会自动打开。所以本题的正确答案是选项B)。(
19、12)C【解析】在VisualBasic中,为了清除窗体上的一个控件,必须先把该控件变为活动控件,然后按Del键,即可把该控件清除。所以本题的正确答案是选项C)。(13)C【解析】在VisualBasic中,打开一个工程时,则系统会自动装入与该工程有关的窗体、标准模块等文件,因此选项A)表述正确;当程序运行时,如果在窗体上双击会触发窗体的DblClick事件,因此选项B)表述正确;VisualBasic程序既可以以解释方式执行也可以以编译方式执行,所以选项C)表述错误;事件既可以由用户引发,也可以由系统引发,故选项D)表述正确。(14)D【解析】在该题中,考查了运算符的优先级别。在Visual
20、Basic中,运算符的运算顺序是:首先进行函数运算,接着进行算术运算,其次为幂、取负、乘或浮点除、整除、取模、加减、连接,然后进行关系运算,最后进行逻辑运算。因此NotacOr4*cb2Andbac运算的结果为False,故本题的正确答案是选项D)。(15)C【解析】本题考查Rnd随机函数和Int取整函数,首先Rnd随机函数的范围为01,Int函数的作用是返回不大于自变量的最大整数,所以当乘上(ba)(值为5)后变为05,再加上a变为510,经取整后变为59,然后加1后变为610,所以本题的正确答案是选项C)。(16)C【解析】本题考查了MsgBox语句以及字符串函数。MsgBox语句的作用是
21、既可以向用户传递信息,又可以通过用户在对话框上的选择接收用户所做的响应,作为程序继续执行的依据。该语句有5个参数,其中第3个应该是一个字符串,用来显示对话框的标题,即b$,Right()函数返回字符串右边指定长度的字符串,所以为hardware,所以本题的正确答案是选项C)。(17)A【解析】本题考查了InputBox函数。InputBox函数可以产生一个对话框,这个对话框作为输入数据的界面,等待用户输入数据,并返回所输入的内容。在默认的情况下,该函数的返回值是一个字符串,所以在没有事先声明变量类型的情况下,VisualBasic总是将其按字符串来处理。的作用是将两个字符串连接,所以输出结果应
22、为108,所以本题的正确答案是选项A)。(18)B【解析】本题考查了函数Mid()的应用。Mid函数的作用是返回从指定位开始的指定长度的字符串,如果不指定长度,则从开始位置开始一直到结束。由于在该题目中只指定了开始的字符位置为8,而没有指定长度,故后边的字符将全部传给文本框Text2,所以本题的正确答案是选项B)。(19)B【解析】本题考查了列表框的知识。其中列表框的list属性用来列出表项的内容,也可以改变数组中已有的值。列表框中表项的排列从0开始,最后一项的序号为ListCount1,所以,该题语句的作用是把字符串AAAA添加到列表框的最后,但不改变Item3的值,所以本题的正确答案是选项
23、B)。(20)A【解析】本题考查了DoWhile匧oop循环语句。判断条件为x28。循环语句xx*3的作用是将x的值每循环一次变为原来3倍,而n用来记录循环次数,当循环3次后,x变为2728,n变为4,不再满足循环条件,执行Print语句,输出x和n的值,又因为x和n之间用的,所以n将跳到下一个Tab位输出,故本题的正确答案是选项A)。(21)D【解析】本题考查了Do循环的嵌套应用以及If条件语句。一开始,Counter为020,满足循环条件,进入循环,每循环一次增加1。当循环10次后,Check变为False,则跳出内部循环,外层循环结束的条件是CheckFalse,所以结束循环,此时Cou
24、nter为10,Check为False,所以本题的正确答案是选项D)。(22)A【解析】本题考查的是For循环语句和If条件语句的应用。本题程序段的作用是将210中不是2的倍数但是3的倍数的数的和输出。在210中满足条件的数字是3,9,所以和是12,故本题的正确答案是选项A)。(23)A【解析】本题考查的数组以及数组的赋值。本题首先定义了一个整型数组,然后用For循环嵌套语句给数组中的部分元素赋值。从赋值语句array1(i,j)ij可以看出,元素的值等于下标之和。所以Text1.Textarray1(2,3)array(3,4)233412,所以文本框中显示的值是12。故正确答案是选项A)。
25、(24)D【解析】本题考查了数组以及数组的赋值。本程序段首先定义了两个二维数组,然后通过For循环语句给其赋值。从循环体a1(i,j)ij可以看出,a1()数组的元素值即是下标之和,而循环体a2(i,j)a1(i,j)ij的作用即是将a1的元素加上i和j赋给a2,即是a2的元素值为下标和的2倍。所以a1(3,3)6,a2(3,3)12。故本题的正确答案是选项D)。(25)C【解析】本题考查的是数组赋值以及算术运算符/和的区别。本程序段首先用Array函数给arr数组赋初值。/是浮点除法,执行标准除法操作,结果为浮点数;为整数除法,整型整除运算,结果为整型值。本题程序的作用是返回能被3整除的数,
26、将其累加到sum中,然后输出。满足的条件的元素是3,9,15,和值为27,故本题的正确答案是选项C)。(26)A【解析】本题考查了数组的赋值操作以及ForEach匢n循环语句。本程序段首先定义了一个一维数组变量,然后用For循环为其赋值,Asc()函数的作用是返回字符的ASCII码,字符A的ASCII码为65,Chr()函数的作用是将ASCII码值变为相应的字符,而a(i)Chr(Asc(A)(i1)的作用是将每次比原来大1的ASCII码值变为字符赋给a,所以a的元素是A,B,C,D,E。ForEach匢n用于输出a中元素的值,所以正确答案是选项A)。(27)D【解析】函数过程行参的类型与函数
27、返回值的类型没有关系,所以选项D)是正确的。如果不指明函数过程参数的类型,则该参数为变体类型而不是没有类型,所以选项A)是错误的;函数过程的返回值只有一个,不能有多个,所以选项B)是错误的;当数组作为函数过程的参数时,一般通过传地址方式传送,所以选项C)的表述不恰当。(28)B【解析】本题考查的是函数过程的定义。b是偶数的条件是bMod20,当b为偶数时返回0,应将0赋给函数名即F1,当b为奇数时返回1,即将1赋给F1。所以本题的正确答案是选项B)。(29)A【解析】本题考查的是KeyPress事件。该事件有一个参数,这个参数有两种形式,第一种形式是IndexAsInteger,只用于控件数组
28、,第二种形式是KeyAsciiAsInteger,用于单个控件。KeyPress事件用来识别按键的ASCII码,所以选项A)是正确的;从参数定义来看,KeyAscii类型为整型,所以选项B)和选项D)错误;在应用中参数不能省略,所以选项C)错误。(30)C【解析】本题考查了窗体的鼠标事件和文本框的键盘事件。Form_MouseUp的作用是当鼠标放开的时候触发的事件,而Text1_KeyDown是键盘按下触发的事件。当在文本框中输入a时触发文本框的键盘事件,则窗体上输出VisualBasic,当单击窗体后触发的是窗体的MouseUp事件,则在窗体上又输出了程序设计,所以窗体上显示的是Visual
29、Basic程序设计。故正确答案是选项C)。(31)C【解析】本题考查的是菜单项的标记,它是通过菜单的Checked属性来控制的,当其值为False时,菜单项的前面没有,当其值为True时,则菜单项的前面有。故要使单击菜单项的大图标后菜单项的前添加一个,只需将其属性Checked的值设为True,故本题的正确答案是选项C)。(32)C【解析】本题考查的是通用对话框控件。在选项A)中显示的是打印机对话框,标题是打印;选项B)显示的是字体对话框,标题是字体;选项D)显示的是颜色对话框,标题是颜色;故都不正确;只有在文件对话框中标题才可以通过程序修改。故本题的正确答案是选项C)。(33)D【解析】本题
30、考查的是多重窗体的程序设计。任何时候,最多只有一个窗体是活动窗体,所以选项A)描述正确;在程序设计中,不能把标准模块设置为启动模块,所以选项B)描述正确;Hide方法只是将一个窗体隐藏,并不能从内存中清除,所以选项C)描述正确;即使一个工程中有SubMain过程,如果不指定其为启动窗体,程序运行时也不首先执行该过程,所以选项D)描述错误。(34)A【解析】本题考查了文件的读写操作。要向顺序文件中写入记录必须用ForOutput参数打开文件,然后用Print#或Write#语句将内容写入文件,因此选项B)和选项D)不正确;又因为自定义数据类型变量的引用要用变量名变量元素名,所以选项C)是不正确的
31、。故本题的正确答案只有选项A)。(35)D【解析】本题考查了目录列表框的Path属性。该属性用来设置或返回当前驱动器的路径,如果省略,则显示当前目录下的文件目录结构;如果指定路径,则显示指定路径下的文件目录结构。所以本题的正确答案是选项D)。二、填空题(1)【1】数据库系统【解析】数据管理技术的发展过程分为人工管理,文件系统以及数据库系统三个阶段,数据独立性最高的阶段是数据库系统。(2)【2】空间【解析】算法的复杂度主要包括时间复杂度和空间复杂度。(3)【3】驱动模块【解析】驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(4)【4】32【解析】对于深度为6的二叉树
32、来说,第6层的结点数最多为26132。(5)【5】存储【解析】循环队列是队列的一种顺序存储结构。(6)【6】30【解析】本题考查了函数的调用。从函数定义的过程来看,此函数的作用是将从m开始依次递减2且不小于1的数累加起来,赋给m,然后返回给函数。故当调用此函数时sfun(10)10864230,故s的值为30。(7)【7】sc【8】1【解析】本题考查的是字符串的操作。从题意来考虑,【7】处的内容应该是如果c在字符串中没有找到,即字符串不包含此字符,则将该字符赋给s,所以应填入的内容是sc;然后将c赋予其他字符进行检验,从该题来看,应该是按字母表逆续检验,所以其ASCII码值依次减1,故【8】处
33、应填入的是1。(8)【9】nr【10】t1【解析】根据函数Fun语句可知Fun函数是一个求阶乘函数,参数n是所要计算阶乘的数值。根据阶乘定义可知起始值应从1开始,因此10处应填t1。本题公式是几个阶乘的乘除运算,因此公式,所以9外应填nr。(9)【11】Text1(0)【12】1【13】summaxmin【解析】本题考查的是For循环和条件语句的嵌套使用。从题意看,本题的功能是计算得分程序,即去掉一个最高分和一个最低分后的平均分,即为最后得分。所以程序段开始时应将第一个文本框的值赋给sum、max和min,所以【11】处应填入的是Text1(0);对于For循环应该是从第二个文本框开始处理,第
34、二个文本框的下标是1,所以【12】处应填入的是1;文本框2用来输出得分,即去掉一个最高分和一个最低分后的平均分,所以在【13】处应填入的是summaxmin。(10)【14】Text1.Text【15】List1.(k)【解析】本题考查了列表框内容显示和Left函数。2006年4月一、选择题(1)D【解析】结构化程序设计方法的主要原则是:自顶向下、逐步求精、模块化及限制使用goto语句。可复用性是指软件元素不加修改和稍加修改可在不同的软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法。面向对象的程序设计具有可复用性的优点。(2)A【解析】模块的独
35、立程度可以由两个定性标准度量:内聚性和耦合性。耦合性衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚性衡量一个模块内部各个元素彼此结合的紧密程度。一般来说,要求模块之间的耦合尽可能地弱,而模块的内聚程度要尽可能地高。(3)D【解析】因为测试的目的在于发现错误,由程序的编写者自己进行测试是不合适的,为了达到好的测试效果,应该由独立的第三方进行测试工作,所以选项A)错误;程序调试,修改一个错误的同时可能引入了新的错误,解决的办法是在修改了错误之后,必须进行回归测试,所以选项B)错误;所谓软件维护,就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程,可见选项C)也是错误的。(4
36、)B【解析】栈的特点是栈顶元素总是最后被插入的元素,也是最早被删除的元素;栈底元素总是最早被插入的元素,也是最晚才能被删除的元素,即栈的修改原则是后进先出(LastInFirstOut,简称LIFO)或先进后出(FirstInLastOut,简称FILO)。(5)A【解析】所谓线性链表,就是指线性表的链式存储结构,简称链表。线性表链式存储结构的基本单位称为存储结点,每个存储结点包括数据域和指针域两个组成部分。栈、队列和双向链表是线性结构,二叉树是非线性结构。线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系,即使是空的二叉树也是非线性结构。(6)D【解析】后序
37、遍历可以描述为:若二叉树为空,则空操作;否则:后序遍历左子树;后序遍历右子树;访问根结点。对于后序遍历,第一个访问的结点一定是最左下的结点,最后一个访问的结点一定是根结点,如果知道这个小技巧,可以迅速确定本题的答案为选项D)。(7)C【解析】满二叉树是指除最后一层外,每一层上的所有结点都有两个子结点的二叉树。满二叉树在其第i层上有2i1个结点,即每一层上的结点数都是最大结点数。对于深度为7的满二叉树,叶子结点所在的是第7层,一共有27164个叶子结点。(8)D【解析】两个实体集之间的联系实际上是实体集间的函数关系,主要有3种:一对一的联系、一对多的联系、多对多的联系。商品与顾客两个实体集之间的
38、联系一般是多对多,因为一种商品可以被多个顾客购买,而一个顾客也可以购买多个商品。(9)A【解析】在ER图中,用矩形表示实体集,用椭圆形表示属性,用菱形(内部写上联系名)表示联系。(10)C【解析】DB即数据库(DataBase),是统一管理的相关数据的集合;DBMS即数据库管理系统(DataBaseManagementSystem),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法;DBS即数据库系统(DatabaseSystem)由如下5部分组成:数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一-硬件平台(硬件)、系统平台之二-软件平台
39、(软件)。(11)D【解析】VisualBasic是在BASIC和QuickBASIC语言中发展起来的,因此具有高级程序设计语言的语句结构,VisualBasic是结构化程序。(12)C【解析】标准模块也称全局模块或总模块,由全局变量声明、模块层声明及通用过程等几部分组成,因此标准模块不能属于某个特定的窗体文件。(13)B【解析】大部分属性既可以通过属性窗口设置,也可以通过程序代码来进行设置,而有些属性只能使用程序代码或者属性窗口设置。如Name属性只能通过属性窗口来进行设置。(14)A【解析】在一个Dim语句中定义多个变量时,每个变量都要用As子句声明其类型,否则该变量被看作是变体类型,在该
40、语句中,a即被定义为变体类型。(15)B【解析】通过字符串函数Mid即可以实现字符串Basic的提取,提取过程如下:cVisualBasic:printMid(c,7,5)。(16)D【解析】运算符的优先顺序是:算术运算符关系运算符逻辑运算符算术运算符的优先顺序是:(*与/)Mod(与)。关系运算符的优先顺序是:(或)()()()()IsLike。逻辑运算符的优先顺序是:非(Not)与(And)或(Or)异或(Xor)等价(Epv)蕴涵(Imp)。根据运算符的优先级计算本题中的表达式最后结果为0。(17)B【解析】在VisualBasic中,变量名只能由字母、数字和下划线组成,而且第一个字符必
41、须是英文字母,而最后一个字符可以是类型说明符。由此得知counstA可以作为变量名。(18)B【解析】Print方法没有赋值功能,因此A选项不能在窗体上显示A10,该选项的结果为False。(19)A【解析】在默认情况下,InputBox函数的返回值是一个字符串,如果没有事先声明返回值变量的类型,则把该函数的返回值赋给这个变量时,VisualBasic总是把它作为字符串来处理。因此x的值是字符串10。(20)A【解析】该题考查的内容为多分支控制结构。在多分支控制结构中,先对测试表达式进行求值,然后测试该值与哪个Case子句中的表达式表列相匹配,如果找到,则执行与该Case子句有关的语句,下面的
42、子句不再执行,直接把控制转移到EndSelect后面的语句。(21)B【解析】该题考查的是ForEach匩ext语句。该语句可用于对数组元素进行处理,重复执行的次数由数组中元素的个数确定的,因此ForEacharrItemIna是没有语法错误的,相反,ForEach匩ext语句比For匩ext语句更方便,因为它不用指明循环结束的条件。(22)C【解析】经赋值后数组a的元素为(2,3,4,4,6,8,6,9,12),而第三个For循环语句的作用是求次对角线上三个元素的和,即Suma(1,3)a(2,2)a(3,1)46616。(23)D【解析】由if语句知:当j为1或者3时,a减1,而j为1、2
43、、3和4的时候a均加1,因此,实际上经过Forj1To4后,a增加了2,而程序的最外部循环了两次,因此结果应该为a4。(24)A【解析】该程序实际上是通过检验单选按钮数组的索引来确定相应的运算,当Index1表示选定的是单选按钮1,当Index2表示选定的是单选按钮2,当Index3表示选定的是单选按钮3。(25)D【解析】Function过程中的x与事件过程Command1_Click中的x使用的是同一地址,因此在Function过程中执行xx3这一语句时,事件过程Command1_Click中的x也同时执行该语句,因此Print函数的内容是a(f(2)23)a(10),因而输出应该为18。
44、(26)B【解析】函数过程要返回一个值,而且只能返回一个值。(27)D【解析】VisualBasic通过关键字ByVal来实现传值。这时候,VisualBasic为形参分配内存,并将相应的实参值复制给形参。对于f,其参数分别为x36,y24,这里的x、y与事件过程中的x、y使用的不是同一个地址。f的返回值为12,因此Text3中的内容是12。(28)C【解析】该题考查内容为控件参数。在一个通用过程中设置相同性质控件所需要的属性,然后用不同的控件调用此过程。29)C【解析】KeyDown和KeyUp都有两个参数,即KeyCode和Shift,KeyCode是按键的实际ASCII码,Shift是转
45、换键。Chr函数为求ASCII字符,而ASC(C)ASC(A)2。因此输出结果应该为A与C。(30)A【解析】Columns属性为返回一个值,决定列表框是在一列中垂直滚动(这时值为0)还是多个列中水平滚动(这时值大于0)。(31)B【解析】由于窗体MouseUp事件将Flag置为True,因此Printf(intNum)能够执行。Function过程的形参为5,可以得到该过程的返回值为5,因此程序的输出结果是5。(32)B【解析】鼠标键Button1时,表示当前按下的是左键,该事件过程的作用是单击鼠标左键的时候弹出一个菜单。(33)C【解析】FilterIndex属性用于指定默认的过滤器。在用
46、Filter属性设置多个过滤器后,每个过滤器都有一个值,第一个为1,第二个为2,依次类推,当前的FilterIndex2,因此默认的文件类型为*.doc。(34)C【解析】Static类型变量的作用域是它所在的过程,通常用来存放中间结果或用作临时变量,因此,一般在过程中声明定义该类型的变量。(35)B【解析】使用Open语句打开文件时,如果为输入打开的文件不存在,则产生文件未找到错误,如果为输出,附加或随机访问方式打开的文件不存在,则建立相应的文件。二、填空题(1)【1】45【解析】对长度n为10的线性表进行冒泡排序,最坏情况下需要比较的次数为n(n1)/25?945。(2)【2】类【解析】在面向对象方法中,类(Class)描述的是具有相似属性与操作的一组对象,而一个具体对象则是其对应类的一个实例(Instance)。(3)【3】关系【解析】在关系模型中,把数据看成是二维表,每一个二维表称为一个关系。(4)【4】静态分析(静态测试)【解析】原则上讲,可以将软件测试方法分为两大类,即静态测试和动态测试。静态测试无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率。动态测试,是使被测