1、 二级VISUAL BASIC笔试183(总分100, 考试时间90分钟)一、选择题1. 按照“先进后出”原则组织数据的数据结构是( )。A 队列B 栈C 双向链表D 二叉树该题您未回答: 该问题分值: 2答案:B解析 栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另一端是封闭的。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,而栈底元素是最后被删除的。因此栈是按先进后出的原则组织数据的。2. 线性表常采用的两种存储结构是( )。A 顺序存储结构和链式存储结构B 散列方法和索引方式C 链表存储结构和数组D 线性存储结构和非线性存储结构该题您未回答
2、: 该问题分值: 2答案:A解析 线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。3. 树是结点的集合,它的根结点的数目是( )。A 有且只有1个B 1或多于1C 0或1D 至少有2个该题您未回答: 该问题分值: 2答案:C解析 树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为0。4. 已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为( )。A 1B 2C 3D 9该题您未回答: 该问题分值:
3、 2答案:B解析 根据二分法查找法需要两次:首先将90与表中间的元素50进行比较,由于90大于50,所以在线性表的后半部分查找。第二次比较的元素是后半部分的中间元素,即90,这时两者相等,即查找成功。5. 结构化程序设汁主要强调的是( )。A 程序的规模B 程序的效率C 程序设汁语言的先进性D 程序的易读性该题您未回答: 该问题分值: 2答案:D解析 程序不光是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一,效率第二”。6. 结构化程序设计的核心和基础是( )。A 结构化分析方法B 结构化设计方法C 结构化设计
4、理论D 结构化编程方法该题您未回答: 该问题分值: 2答案:C解析 结构化程序设计的核心和基础是结构化设计理论,其中包括:结构化分析方法、结构化设计方法和结构化编程方法。7. 在面向对象方法中,( )描述的是具有相似属性与操作的一组对象。A 属性B 事件C 方法D 类该题您未回答: 该问题分值: 2答案:D解析 类描述的是具有相似属性与操作的一组对象,而一个具体对象则是其对应类的一个实例。8. 需求分析阶段的任务是( )。A 软件开发方法B 软件开发工具C 软件开发费用D 软件系统功能该题您未回答: 该问题分值: 2答案:D解析 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现
5、实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。9. 有下列二叉树,对此二叉树前序遍历的结果是( )。A ACFXDBEYZB ABEFXYZCDC ABCDEFXYZD ABDYECFXZ该题您未回答: 该问题分值: 2答案:D解析 对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。记住3种遍历的顺序:前序,访问根一按前序遍历左子树一按前序遍历右子树;中序,按中序遍历左子树一访问根一按中序遍历右子树;后序,按后序遍历左子树一按后序遍历右子树一访问根。10.
6、设R是一个二元关系,S是一个三元关系,则下列运算中正确的是( )。A R-SB RSC RSD RS该题您未回答: 该问题分值: 2答案:B解析 关系的交()、并()和差(-)运算要求两个关系是同元的,显然作为二元的R和三元S只能做笛卡儿积运算。11. 表达式5Mod3+35*2的值是( )。A 0B 2C 4D 6该题您未回答: 该问题分值: 2答案:B解析 算术运算的优先级由高到低为:幂()取负(-)乘、浮点除(*、/)整除()取模(Mod)加、减(+、-)连接(Sgn(-34)后,其输出结果是( )。A Sgn(-34)=34B Sgn(-34)=-34C Sgn(-34)=-1D Sg
7、n(-34)=-1该题您未回答: 该问题分值: 2答案:D解析 本题使用Sgn函数来判断某数的正负号。当参数大于0时,返回1;当参数等于0时,返回0;当参数小于0时,返回-1。13. 程序运行时,用户向文本框输入内容时,将触发文本框的( )事件。A ClickB DblClickC GotFocusD Change该题您未回答: 该问题分值: 2答案:D解析 Click事件是在对象上按下然后释放一个鼠标按钮时触发的事件;Db1Click事件是在对象上连续两次按下和释放鼠标按钮时触发的事件;GotFocus事件是在对象得到焦点时触发的时间;当用户向文本框输入新信息,或者当程序把文本框的Text属
8、性设置为新值时触发Change事件。14. 将文本框的( )属性设置为True时,文本框可以输入或显示多行文本,且会自动换行。A TextB ScrollBarsC MultiLineD Enabled该题您未回答: 该问题分值: 2答案:C解析 MultiLine属性可设置为True或Flase值,它确定文本框是否能接受和显示多行文本:ScrollBars属性返回或设置一个值,它确定文本框显示滚动条的显示方式,0-vbBNone默认值为没有滚动条,1-vbHorizontal为水平滚动条,2-vbVertical为垂直滚动条,3-vbBoth为两种滚动条都有;Text属性设置文本框中显示的内
9、容;Enabled属性设置为True或False,分别决定对象在运行时有效或无效。15. 要使一个文本框具有水平和垂直滚动条,则应先将其MultiLine属性设置为True,然后再将ScrollBars属性设置为( )。A 0B 1C 2D 3该题您未回答: 该问题分值: 2答案:D解析 文本框控件ScrollBars的属性设置有下列4种:0(默认值)没有滚动条、1(水平滚动条)、2(垂直滚动条)和3(水平和垂直滚动条两种)。16. 可以作为其他控件容器的控件是( )。A 窗体控件,列表框控件,图像框控件B 窗体控件,文本框控件,框架控件C 窗体控件,框架控件,图片框控件D 窗体控件,标签控件
10、,图片框控件该题您未回答: 该问题分值: 2答案:C解析 图片框和框架可以作为容器控件来存放其他控件。而图像框控件不能作为容器控件;文本框控件也不能作为容器控件,它只能用来显示或供用户输入、编辑文本;标签控件只能用来显示文本,更不能作为容器控件。17. 在使用打印直接输出信息时,下列哪个属性或方法实现了使文件结束打印( )。A Print方法B Page属性C NewPage方法D EndDoc方法该题您未回答: 该问题分值: 2答案:D解析 每次应用程序结束时,它们会自动使用EndDoc方法,将打印机对象中任何未确定的信息送到打印机,即通过“Printer.EndDoc”方法结束文件打印。1
11、8. 只有将组合框的Style属性值设置为( )时,才能触发DblClick事件。A 0B 1C 2D 3该题您未回答: 该问题分值: 2答案:B解析 组合框的Style属性值有3个,0、1、2。当组合框的Style属性值为0时,可识别DropDown事件;当组合框的Style属性值为1时,可识别DbiClick事件;当组合框的Style属性值为2时,不能识别DblClick、Change事件,但可识别DropDown事件。19. 下列关于ForNext语句的说法正确的是( )。A 循环变量、初值、终值和步长都必须为数值型B Step后的步长只为正数C 初值必须小于终值D 初值必须大于终值该题
12、您未回答: 该问题分值: 2答案:A解析 考生在使用ForNext循环语句时必须了解它的注意事项:For循环语句的步长可以是正数或负数,但不能为0。如果为正数,说明循环变量是递增循环,当大于终值时,停止循环;如果为负数,说明循环变量是递减循环,当小于终值时,停止循环。20. 下列关于图像框控件和图片框控件的说法错误的是( )。A 两者都支持Print方法B 两者都有Picture属性C 两者都可以用LoadPicture函数把图形文件装入控件中D 两者都能在属性窗口装入图形文件,也都能在运行期间装入图形文件该题您未回答: 该问题分值: 2答案:A解析 图片框控件可以通过Print方法接收文本,
13、并可接收由像素组成的图形;而图像框控件不能接收用 Print方法输入的信息,也不能用绘图方法在图像框上绘制图形。21. 要使单击命令按钮与按下Esc键实现相同的作用,则应设置( )属性为True。A CancelB VisualC DefaultD Enabled该题您未回答: 该问题分值: 2答案:A解析 当一个命令按钮的Cancel属性被设置为True时,按下Esc键与单击该命令按钮的作用相同。需要注意的是,在一个窗体中,只能有一个命令按钮的Cancel属性被设置为True。22. 可以通过( )的方法来输出一个二维数组中的各个元素。A 引用数组的两个下标B 将数组名赋值给变量C 通过引用
14、数组的一个下标D 以上都不正确该题您未回答: 该问题分值: 2答案:A解析 一般输出数组元素时,可以通过引用数组下标来逐个输出。在输出二维数组元素时,也可以采用同样的方法,只是二维数组需要引用两个下标来逐个输出。23. 下列关于Sub过程的叙述正确的是( )。A 一个Sub过程必须有一个Exit Sub语句B 一个Sub过程必须有一个End Sub语句C 在Sub过程中可以定义一个Function过程D 可以用Goto语句退出Sub过程该题您未回答: 该问题分值: 2答案:B解析 每个Sub过程必须以Sub开始,以EndSub结束;Exit Sub语句使程序立即从一个Sub过程中退出,在Sub
15、过程中可以使用一个或多个Exit Sub语句,也可以没有Exit Sub语句,因此选项A)错误,选项B)正确。在Sub过程中不能嵌套定义Sub过程或者Function过程,不能使用Goto语句进入或转出一个Sub过程,因此选项C)、D)说法是错误的。24. 下列程序的执行结果是( )。Function P(N As Integer)For i=1 To NSum=Sum+iNext iP=SumEnd FunctionPrivate Sub Command1_Click()S=P(1)+P(2)+P(3)+P(4)Print S;End SubA 15B 16C 20D 25该题您未回答: 该
16、问题分值: 2答案:C解析 本题主要考查函数返回值引用的方法。在引用函数时,只需应用该函数名即可。题中程序运算过程为:S=P(1)+P(2)+P(3)+P(4)S=1+3+6+10=20。25. 在窗体上有一个命令按钮Command1,通用过程fun和命令按钮的事件过程如下:Private Function fun(ByVal m As Integer)Ifm Mod2=0 Thenfun=2Elsefun=1End IfEnd FunctionPrivate Sub Command1_Click()Dim i As Integer,s As Integers=0For i=1 To 5s=s
17、+fun(i)NextPrintsEnd Sub程序运行后,单击命令按钮,则窗体上输出( )。A 6B 7C 8D 9该题您未回答: 该问题分值: 2答案:B解析 本题比较简单,只要根据程序的执行条件和顺序就可以运算出该程序的最后输出结果。程序运算过程为:当i=1时,s=s+fun(i)=1;当i=2时,s=s+fun(i)=3;当i=3时,s=s+fun(i)=4;当i=4时,s=s+fun(i)=6;当i=5时,s=s+fun(i)=7。26. 设有下列过程:Sub ff(x,y,z)x=y+zEnd Sub下列选项中所有参数的虚实结合都是传址方式调用的是( )。A Call ff(5,7
18、,B Call ff(x,y,C Call ff(3+x,5+y,D Call ff(x+y,x-y,该题您未回答: 该问题分值: 2答案:B解析 参数可以是常量、变量、表达式、数组等。如果是变量则可能是传值方式也可能是传地址方式,默认为传地址方式,如果用ByVal修饰则说明是传值方式,而数组是传地址方式,常量、表达式则是传值方式。27. 下列叙述菜单设计的语句中正确的是( )。A 菜单也是一个控件,存在于工具箱中B 菜单也有外观和行为的属性C 菜单设计在“菜单编辑器”中进行,因此它不是一个控件D 菜单的属性也是在“属性窗口”中设置的该题您未回答: 该问题分值: 2答案:B解析 菜单通过“菜单
19、编辑器,即菜单设计窗口建立,其属性设计也是在“菜单编辑器”中设置的,每一个菜单项都可以看作是一个控件,但工具箱中没有菜单,每个菜单项都有自己的属性和行为的属性。28. 下列关于MDI子窗体在运行时特性的叙述错误的是( )。A 子窗体在MDI窗体的内部区域显示B 子窗体可在MDI窗体的外部区域显示C 当子窗体最小化时,它的图标在MDI窗体内显示D 当子窗体最大化时,其标题与MDI窗体标题合并,并显示在MDI窗体的标题栏该题您未回答: 该问题分值: 2答案:B解析 程序运行时,子窗体在总是包含在主窗体中,不能移到主窗体之外。当最小化子窗体时,它以图标的形式出现在主窗体下部;当最大化子窗体时,它的标
20、题与主窗体的标题合并,并显示其标题栏的内容。29. Visual Basic根据计算机访问文件的方式将文件分成3类,其中不包括( )。A 顺序文件B Unix文件C 二进制文件D 随机文件该题您未回答: 该问题分值: 2答案:B解析 访问文件时应根据文件包括的数据类型,来使用合适的文件访问类型。文件访问类型有3种:顺序型,适用于读写在连续块中的文本文件;二进制型,适用于读写有固定长度记录结构的文本文件或者二进制文件;随机型,适用于读写任意有结构的文件。30. 下列关于文件的叙述中,错误的是( )。A 使用Append方式打开文件时,文件指针被定位于文件尾B 当以Input打开文件时,如果文件不
21、存在,则自动建立一个新文件C 顺序文件的各个记录的长度可以不同D 随机文件打开后,既可以进行读操作,也可以进行写操作该题您未回答: 该问题分值: 2答案:B解析 使用Append方式打开文件与使用Output方式不同,它的文件指针被定位于文件尾;当以Input打开文件时,如果文件不存在,则产生“文件未找到”错误,而如果为Output、Append、Random访问方式打开的文件不存在,则自动建立相应的文件;顺序文件中记录的长度可以不同,随机文件中每个记录的长度是固定的;随机文件打开后,可以进行读、写操作。31. 下列程序的功能是:将数据1,1,8写入顺序文件Num.txt中,请选择正确的程序段
22、( )。Private Sub Form_Click()Dim i As IntegerOpen“Num.txt“For Output As #1For i=1 To 8_Next iClose #1End SubA print#1,iB input#1,IC print#1D input#1该题您未回答: 该问题分值: 2答案:A解析 顺序文件的写操作使用“Print#”语句或者“Write#”语句,而“Input#”语句是用于从一个顺序文件中读取数据。使用“Print#语句”向一个顺序文件写数据的格式是:Print#文件号,表达式表。各个表达式之间用逗号或分号隔开,如果省略表达式,则向顺序
23、文件中写入一个空行。32. 在C盘当前文件夹下建立一个名为SDat.txt的顺序文件。要求用InputBox函数输入5名学生的学号(StuNo)、姓名(StuName)和英语成绩(StuEng)。则横线处合适的语句是( )。Private Sub Form_Click()Open“C:SDat.txt“For Output As IFor i=1 To 5StuNo=InputBox(“请输入学号“)StuName=InputBox(“请输入姓名“)StuEndg=Val(InputBox(“请输入英语成绩“)Next iClose #1End SubA Input#1,StuNo,StuNa
24、me,StuEndgB Put#1,StuNo,StuName,StuEndgC Write#1,StuNo,StuName,StuEndgD Get#1,StuNo,SmName,StuEndg该题您未回答: 该问题分值: 2答案:C解析 顺序文件的读操作使用Input语句,写操作使用Print或Write语句。Write语句的正确格式为:Write #文件号,表达式表。各表达式之间用逗号隔开。随机文件的写操作使用Put#语句,读操作使用Get#语句。33. 下列子过程语句的说明正确的是( )。A Sub fl(ByVal x() As IntegeB Sub fl(x%()As Integ
25、erC Function fl%(fl%)D Function fl%(x As Intege该题您未回答: 该问题分值: 2答案:D解析 选项A)中,形式参数为数组,但数组不能作为值传递方式;选项B)中,Sub过程不能有返回值;选项C)中的参数和函数名相同是不允许的;选项D)中对子过程的定义是正确的。34. 下列说明中,不属于随机文件特点的是( )。A 可以随意读取随机文件中任一记录的数据B 随机文件没有只读或只写的操作方式,随机文件只要一打开,就既可读又可写C 随机文件的操作是以记录为单位进行的D 随机文件的读、写操作语句与顺序文件的读写操作语句一样该题您未回答: 该问题分值: 2答案:D
26、解析 本题考查随机文件的基本知识,随机文件的每个记录都有一个记录号,只要给出记录号就可以直接写或读取该记录;在随机文件中,可以同时进行读、写操作;随机文件的读写操作语句分别为Get#、Put#语句;顺序文件的读写操作语句分别为Input#、Print#语句。35. 下列程序要求用户输入一个年份,并能够判断用户输入的年份是否是闰年,横线处应填( )。Sub EnSure()Dim year As Integeryear=Val(InputBox(“请输入年份:“)If(year Mod 4=0_year Mod 1000)_(year Mod 400=0)ThenPrint“您输入的是闰年“El
27、sePrint“不是闰年,是普通年份“End IfEnd SubA And AndB And OrC Or OrD Or Of该题您未回答: 该问题分值: 2答案:B解析 闰年的判断条件是:年份是4的倍数并且不是100的倍数,或者年份是400的倍数。所以表达式为:(year Mod 4=0 And year Mod 1000) Or (year Mod 400=0)。二、填空题1. 在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,且每一个_实际上对应一个处理模块。该题您未回答: 该问题分值: 2答案:加工解析 数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换
28、过程,其中的每一个加工对应一个处理模块。2. 结构化程序设计的3种基本结构分别是顺序、选择和_。该题您未回答: 该问题分值: 2答案:重复或循环解析 结构化程序设计包括3种基本结构:顺序结构、选择结构和重复结构(循环结构),利用这3种结构就足以表达出各种其他形式结构的程序设计方法。其中利用循环结构,可以简化大量的程序执行。3. 二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是_。该题您未回答: 该问题分值: 2答案:顺序存储或顺序方式存储解析 二分法查找对表的要求是有序的顺序表,即第一要求是数据元素有序,第二要求是按顺序方式存储。4. 一个模块直接调用的其他模块个数称为_。该
29、题您未回答: 该问题分值: 2答案:扇出解析 在结构图中,调用一个给定模块的模块个数称为扇入,一个模块直接调用的其他模块个数称为扇出。5. 数据库系统中实现各种数据管理功能的核心软件是_。该题您未回答: 该问题分值: 2答案:数据库管理系统解析 数据库管理系统是数据库的管理机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。6. 当用户桉下键盘上的某个键时,将会触发拥有输入焦点的控件的_事件。该题您未回答: 该问题分值: 2答案:KeyPress解析 当按下键盘上的某个键时,将触发拥有焦点的控件的KeyPress事件。当活动窗体上所有控件均未获得焦点时,
30、窗体才获得焦点。当窗体具有焦点时,按下键盘键触发窗体的KeyDown和KeyPress事件,松开键盘键时触发KeyUp事件。当控件具有焦点时,按下键盘键触发该控件的KeyDown和KeyPress事件,松开键盘键时触发KeyUp事件。7. 一个变量未被显式定义,末尾没有类型说明符,则该变量的隐含类型是_类型。该题您未回答: 该问题分值: 2答案:变体或Variant解析 变量由名字和数据类型两部分组成。根据默认规定,如果在声明中没有说明数据类型,则变量的数据类型为变体(Variant)。8. 设A=“345678“,则表达式Val(Mid(A,4,2)+Right(A,4)的值为_。该题您未回
31、答: 该问题分值: 2答案:675678解析 Val(string)函数用于返回字符串中所含的数值。Right(string,length)函数得到某字符串最右边的几个字符。Mid(Str,p,n)函数从第p个字符开始,向后取字符串的n个字符。题中,首先计算Mid(A,4,2)为“67“,Right(A,4)为“5678”,然后用+连接符连接起来成为“675678”字符串,最后转换成“675678”数值。9. 下列程序段运行后,a的值为_。a=600b=50a=a+bb=a-ba=a-b该题您未回答: 该问题分值: 2答案:50解析 程序执行过程是:a=a+b650,b=a-b600,a=a-
32、b50。10. 在窗体上设计两个复选框,一个显示粗体,另一个显示斜体,通过对复选框的选择,在一个文本框中显示相应效果的文本,请完成下列程序。Private Sub Form_Load()Check1.Caption=“显示粗体“Check2.Caption=“显示斜体“Text1.Text=“May you a happy day!“End SubPrivate Sub Check1_Click()If_=1 ThenText1.FontBold=TrueElseText1.FontBold=FalseEnd IfEnd SubPrivate Sub Check2_Click()If Chec
33、k2.Value=1 ThenText1._EIseText1._End IfEnd Sub该题您未回答: 该问题分值: 6答案:Check1.Value FontItalic=True FontItalic=False解析 分析程序,根据题目要求可知:单击复选框Check1时,使文本框中的文字显示为粗体,因此Check1单击事件实现的功能是:当 Check1.Value=1时,将文本框的字体设置为粗体(即Text1.FontBold=True);当Check1.Value=0时,将文本框中的文字粗体去掉(即Text1.FontBold=False)。单击复选框Check2时,使文本框中的文字
34、显示为斜体,因此Check1单击事件实现的功能是:当 Check2.Value=1时,将文本框的字体设置为斜体(即Text2.Fontltalic=True);当Check2.Value=0时,将文本框中的文字斜体去掉(即Text2.Fontltalic=False)。11. 建立一个通讯录的随机文件phonBook.txt,内容包括姓名、电话、地址和邮编,用文本框输入数据。单击“添加主记录”按钮Command1时,将文本框数据写入文件,单击“显示”按钮Command2时,将文件中所有记录内容显示在立即窗口。Private Type PerDataName 1 As StringPhon As
35、 String *11Address As String *10PostCd As String*6End Type_定义PerData类型的变量xDataPdvate Sub Form Load()Open“C:phonBook.txt“For Random As 1End SubPrivate Sub Command1_Click()xData.Name1=Text1.TextxData.Phon=Text2.Text_=Text3.Text 地址xData.PostCd=Text4.TextPut#1,1,xDataText1.Text=“:Text2.Text=“Text3.Text=“:Text4.Text=“End SubPtirate Sub Command2_Click()reno=LOF(1)/Len(xData)i=1Do While i=renoGet#1,i,xDataDebug.Print xData.Namel, _ ,xData.Address,xData.PostCdi=i+1LoopEnd Sub该题您未回答: 该问题分值: 6