二级Visual+Basic语言程序设计模拟223.docx
《二级Visual+Basic语言程序设计模拟223.docx》由会员分享,可在线阅读,更多相关《二级Visual+Basic语言程序设计模拟223.docx(20页珍藏版)》请在冰豆网上搜索。
二级Visual+Basic语言程序设计模拟223
[模拟]二级VisualBasic语言程序设计模拟223
单项选择题
第1题:
与传统的程序设计语言相比,VisualBasic最突出的特点是____。
A.结构化程序设计
B.程序开发环境
C.事件驱动编程机制
D.程序调试技术
参考答案:
C
第2题:
以下叙述中错误的是____。
A.在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件
B.以.BAS为扩展名的文件是标准模块文件
C.窗体文件包含该窗体及其控件的属性
D.一个工程中可以含有多个标准模块文件
参考答案:
A
第3题:
下列有关VisualBasic特点的描述有误的是____。
A.VisualBasic是一种可视化、面向对象的程序设计语言
B.VisualBasic采用事件驱动编程机制
C.VisualBasic可用于开发Windows环境下的各类应用程序
D.VisualBasic是非面向对象的程序设计语言
参考答案:
D
第4题:
下列不属于VisualBasic系统的文件类型是____。
A..frm
B..bat
C..vbg
D..vbp
参考答案:
B
第5题:
VisualBasic窗体设计器的主要功能是____。
A.建立用户界面
B.编写源程序代码
C.画图
D.显示文字
参考答案:
A
第6题:
VisualBasic6.0集成环境的主窗口中不包括____。
A.标题栏
B.状态栏
C.菜单栏
D.工具栏
参考答案:
B
第7题:
结构化程序设计主要强调的是____。
A.程序的规模
B.程序的效率
C.程序设计语言的先进性
D.程序易读性
参考答案:
D
第8题:
用标准工具栏中的工具按钮不能执行的操作是____。
A.添加工程
B.打印源程序
C.运行程序
D.打开工程
参考答案:
B
第9题:
有一程序段,其功能是:
当x﹥0时,y=x;当-2=﹤x﹤=0时,y=-x,当x﹤-2时,产生一个“输入错误”信息框。
则下列程序空白处应为____。
PrivateSubForm_Click()
x%=InputBox("请输入x的值:
")Ifx﹥0Theny=x
____y=-x
Else
MsgBox"输入错误"
EndIf
Printy
EndSub
A.Elsex﹥=-2Andx﹤=0Then
B.ElseIfx﹥=-2Andx﹤=0Then
C.ElseIfx﹥=-2Andx﹤=0
D.ElseIfx﹥=-2Andx﹤=0Then
参考答案:
B
第10题:
运行下列程序后,显示的结果为____。
R1=21
R2=34
IfR1﹤R2ThenPrintR2ElsePrintR1
A.21
B.34
C.55
D.2134
参考答案:
B
第11题:
如果A为整数且|A|﹥=100,则打印"OK",否则打印"Error",表示这个条件的单行格式If语句是____。
A.IfInt(A)=AAndSqr(A)﹥=100ThenPrint"OK"ElsePrint"Error"
B.IfFix(A)=AAndAbs(A)﹥=100ThenPrint"OK"ElsePrint"Error"
C.IfInt(A)=AAnd(A﹥=100,A﹤=-100)ThenPrint"OK"ElsePrint"Error"
D.IfFix(A)=AAndA﹥=100AndA﹤=-100ThenPrint"OK"ElsePrint"Error"
参考答案:
B
第12题:
下列程序的执行结果是____。
a=75
Ifa﹥90Theni=4Ifa﹥80Theni=3Ifa﹥70Theni=2
Ifa﹥60Theni=1
Print"i=";i
A.i=1
B.i=2
C.i=3
D.i=4
参考答案:
A
第13题:
有如下程序:
a=1:
b=2:
c=3
a=a+b:
b=b+c:
c=b+aIfa﹤﹥3Orb﹤﹥3Thena=b-a:
b=c-a:
c=b+aEndIf
Printa+b+c
运行后,输出的结果是____。
A.16
B.3
C.6
D.8
参考答案:
A
第14题:
下列选项中不属于结构化程序设计方法的主要原则的是____。
A.自顶向下
B.逐步求精
C.模块化
D.可复用
参考答案:
D
第15题:
下述程序的功能是____。
x="((a+B)*A)-(a*b+C)"
n=Len(x)
m=0
Fork=1Ton
p$=Mid(x,k,1)
Ifp$="("Then
m=m-1ElseIfp$=")"Thenm=m+1EndIfNextk
Ifm﹥0Then
print":
-("
Else
print":
-)"
EndIf
A.统计输入的字符串中括号的总数
B.统计输入的字符串中匹配的括号的对数
C.检查输入的字符串中的括号是否能够匹配
D.删除字符串的括号
参考答案:
C
第16题:
执行下面的程序段后,变量c的值为____。
a=29
b=33
SelectCaseb\10Case0c=a*10+bCase1To9c=a*100+b
Case10To99
c=a*1000+b
EndSelect
Printc
A.29
B.2933
C.33
D.3329
参考答案:
B
第17题:
下列每组控件中,都包含有滚动条的一组控件是____。
A.ListBox和Label
B.TextBox和DriveListBox
C.ComboBox和CheckBox
D.FileListBox和DirListBox
参考答案:
D
第18题:
下述程序段中,与其他3个程序段作用不同的是____。
参考答案:
A
第19题:
下面的数组声明语句中正确的是____。
A.DimA[3,4]AsInteger
B.DimA(3,4)AsInteger
C.DimA[3;4]AsInteger
D.DimA(3;4)AsInteger
参考答案:
B
第20题:
有如下程序:
Dimarr(3,3)
Forj=1To3
Fork=1To3
arr(j,k)=(j-1)*3+k
NextkNextjForj=2To3Fork=2To3
Printarr(k,j);
Nextk
Print
Nextj
运行程序后,输出的结果是____。
A.2536
B.5869
C.4758
D.5968
参考答案:
B
第21题:
有如下的程序段:
Dima(4)AsInteger
Dimb(4)AsIntegerFork=0To2a(k+1)=Val(InputBox("Enterdata:
"))
b(3-k)=a(k+1)
Nextk
Printb(k)
程序运行后,依次输入1,3,5,输出的结果是____。
A.1
B.3
C.5
D.0
参考答案:
A
第22题:
有如下的程序段:
Dimt(10)
Fork=2To10
t(k)=10-k
Nextk
x=6
Printt(2+t(x))
程序运行后,输出结果为____。
A.2
B.3
C.4
D.5
参考答案:
C
第23题:
设有命令按钮Command1的单击事件过程,代码如下:
PrivateSubCommand1_Click()
Dima(30)AsInteger
Fori=1To30
a(i)=Int(Rnd*100)NextForEacharrItemIna
IfarrItemMod7=0ThenPrintarrItem
IfarrItem﹥90ThenExitFor
Next
EndSub
对于该事件过程,以下叙述中错误的是____。
A.a数组中的数据是30个100以内的整数
B.语句ForEacharrItemIna有语法错误
C.IfarrItemMod7=0……语句的功能是输出数组中能够被7整除的数
D.IfarrItem﹥90……语句的作用是当数组元素的值大于90时退出For循环
参考答案:
B
第24题:
以下不属于对象的基本特点的是____。
A.分类性
B.多态性
C.继承性
D.封装性
参考答案:
A
第25题:
设有如下程序:
OptionBase0
PrivateSubForm_Click()
Dima
DimIAsIntegera=Array(1,2,3,4,5,6,7,8,9)
Fori=0To3
Printa(5-i);
Next
EndSub
程序运行后,单击窗体,则在窗体上显示的内容是____。
A.4321
B.5432
C.6543
D.7654
参考答案:
C
第26题:
下列过程定义语句中合法的是____。
A.SubProc(ByValn())
B.SubProc(n)AsInteger
C.FunctionProc()
D.FunctionProc(ByValn)
参考答案:
D
第27题:
Sub过程与Function过程最根本的区别是____。
A.Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以
B.Function过程可以有参数,Sub过程不可以
C.两种过程参数的传递方式不同
D.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值
参考答案:
D
第28题:
运行以下程序后,输出结果为____。
PrivateSubCommand1_Click()
a=1:
b=2:
c=3
Calltest(a,b+3,(c))
Print"main:
";a;b;c
EndSub
PrivateFunctiontest(p,m,n)
p=p+1:
m=m+1:
n=n+1
Print"sub:
";p;m;n
EndFunction
参考答案:
B
第29题:
下列关于过程的叙述中不正确的是____。
A.过程的传值调用是将实参传送给形参
B.过程的传址调用是将实参在内存的地址传递给形参
C.过程的传值调用参数是单向传递的,过程的传址调用参数是双向的
D.无论过程传值调用还是传址调用,参数传递都是双向的
参考答案:
D
第30题:
要想在过程调用后返回两个结果,下面的过程定义语句中合法的是____。
A.SubProc(ByValn,ByValm)
B.SubProc(n,ByValm)
C.SubProc(n,m)
D.SubProc(ByValn,m)
参考答案:
C
第31题:
下列说法正确的是____。
A.KeyDown事件在KeyPress事件前发生
B.KeyPress过程不可以使用Call语句来调用
C.MouseUp事件在Click事件之后发生
D.控件响应Click事件后不再响应MouseUp事件
参考答案:
A
第32题:
如果设置窗体的ControlBox属性值为False,则____。
A.ControlBox仍起作用
B.窗口边框上的最大化和最小化按钮消失
C.窗口边框上的最大化和最小化按钮失效
D.运行时还可以看到窗口左上角显示的控制框,可以单击该控制框进行窗体的移动和关闭等操作
参考答案:
B
第33题:
运行下列程序,按下回车键后输出结果为____。
OptionBase1
PrivateSubForm_KeyPress(KeyAsciiAsInteger)
a=Array(237,126,87,48,498)
m1=a
(1)
m2=1
IfKeyAscii=13Then
Fori=2To5Ifa(i)﹥m1Thenm1=a(i)m2=iEndIf
Nexti
EndIf
Printm1
Printm2
EndSub
A.484
B.2371
C.4985
D.4984
参考答案:
C
第34题:
以下叙述中错误的是____。
A.在KeyPress事件过程中不能识别键盘的按下与释放
B.在KeyPress事件过程中不能识别回车键
C.在KeyDown和KeyUp事件过程中,将键盘输入的“A”和“a”视做相同的字母
D.在KeyDown和KeyUp事件过程中,从大键盘上输出的“1”和从右侧小键盘上输入的“1”被视做不同的字符
参考答案:
B
第35题:
有如下事件过程:
PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
If(ButtonAnd1)=1ThenPrint"你好棒啊!
"EndIf
EndSub
程序运行后,为了在窗体上输出“你好棒啊!
”,应当按下的鼠标键是____。
A.左键
B.右键
C.同时按下左键和右键
D.按什么都不显示
参考答案:
D
第36题:
下列控件不支持MouseDown事件的是____。
A.HsrcollBar
B.CommandButton
C.PictureBox
D.TextBox
参考答案:
A
第37题:
下列操作会执行"Form_MouseUp"过程的是____。
A.单击“结束”按钮
B.单击窗体可用区域
C.在窗体的可用区域移动鼠标
D.放开鼠标按键时
参考答案:
D
第38题:
下列说法错误的是____。
A.对象的操作由对象的属性、事件和方法来描述
B.VisualBasic是面向对象的程序设计,VisualBasic中只有窗体和控件两种对象
C.属性是对象的特征,不同的对象有不同的属性
D.对象事件在代码窗口中体现为过程
参考答案:
B
第39题:
下列关于VisualBasic“方法”的概念的说法错误的是____。
A.方法是对象的一部分
B.方法是预先规定好的操作
C.方法是对事件的响应
D.方法用于完成某些特定功能
参考答案:
C
第40题:
运行下列程序,在文本框中输入字符"a",则输出结果为____。
PrivateSubForm_Load()
Text1.Text=""
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
Text1.Text=KeyCode
PrintText1.Text
EndSub
A.a
B.65
C.A
D.97
参考答案:
B
基本操作题
基本操作题
第41题:
在名称为Form1,标题为“框架”的窗体上添加一个名称为Frame1,且标题为空的框架。
框架内含有两个单选按钮,名称分别为Opt1和Opt2,其标题分别为“字体”、“大小”。
注意:
存盘时必须存放在考生文件夹下,工程文件名保存为sjt1.vbp,窗体文件名保存为sjt1.frm。
____
参考答案:
操作步骤 步骤1:
建立界面,添加相应的控件并设置控件的属性。
程序中涉及的控件及属性见表。
步骤2:
调试并运行程序,关闭程序后按题目要求存盘。
第42题:
考生文件夹下的工程文件sjt2.vbp中有一个由直线Line1、Line2和Line3组成的三角形,直线Line1、Line2和Line3的坐标值如下所示:
要求添加一条直线Line4以构成三角形的高,且该直线的初始状态为不可见。
再添加两个命令按钮,名称分别为Cmd1、Cmd2,标题分别为“显示高”、“隐藏高”,如图所示。
请编写适当的事件过程使得在程序运行时,单击“显示高”按钮,则显示三角形的高;单击“隐藏高”按钮,则隐藏三角形的高。
注意:
要求程序中不得使用变量,每个事件过程只能写一条语句。
不得修改已经存在的控件,最后将修改后的文件按原文件名存盘。
____
参考答案:
简单应用题
简单应用题
第43题:
在考生文件夹下有一个工程文件sjt3.vbp,在Form1的窗体中有一个文本框、一个计时器和两个命令按钮。
程序的功能是在运行时,单击“开始计数”按钮,就开始计数(如图所示),每隔1秒,文本框中的数加1;单击“停止计数”按钮,则停止计数。
要求:
修改适当的控件的属性,并去掉程序中的注释符,把程序中的?
改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。
最后将修改后的文件以原来的文件名存盘。
____
参考答案:
操作步骤 步骤1:
打开本题工程文件,设置计时器Interval属性为1000,Enabled属性设置为False。
步骤2:
打开代码编辑窗口,去掉程序中的注释符“´”,将问号改为正确的内容。
PrivateSubC1_Click(IndexAsInteger)SelectCaseIndex´通过控件下标确定单击哪一个按钮Case1Timer1.Enabled=FalseCase0´控制下标从0开始,此处应为0Timer1.Enabled=TrueEndSelectEndSubPrivateSubTimer1_Timer()Text1.Text=Text1.Text´Text1中的内容加1显示EndSub 步骤3:
调试并运行程序,关闭程序后按题目要求存盘。
第44题:
已知出租车行驶不超过4公里时一律收费10元。
超过4公里时分段处理,具体处理方式为:
15公里以内每公里加收1.2元,15公里以上每公里收1.8元。
在考生文件夹下有一个工程文件sjt4.vbp。
程序的功能是:
单击“输入”按钮,将弹出一个输入对话框,接收出租车行驶的里程数;单击“计算”按钮,则可根据输入的里程数计算应付的出租车费,并将计算结果在名称为Text1的文本框内显示。
在窗体文件中已经给出了全部控件(如图所示),但程序不完整,要求去掉程序中的注释符,把程序中的?
改为正确的内容。
注意:
不得修改已经存在的内容和控件属性,最后将修改后的文件按原文件名存盘。
____
参考答案:
操作步骤 步骤1:
打开本题工程文件。
步骤2:
打开代码编辑窗口,去掉程序中的注释符“´”,将问号改为正确的内容。
DimsAsIntegerPrivateSubCommand1_Click()s=Val(InputBox("输入里程数(单位:
公里)"))´s用于存储里程数EndSubPrivateSubCommand2_Click()Ifs﹥0ThenSelectCases´对s进行判断CaseIs﹤=4f=10´根据题意s﹤=4时f=10CaseIs﹤=15f=10+(s-4)*1.2´同理CaseIs﹥15f=10+1*12+(s-15)*1.8´同理EndSelectText1.Text=f´在Text1中显示结果ElseMsgBox"请单击"输入"按钮输入里程数!
"EndIfEndSub 步骤3:
调试并运行程序,关闭程序后按题目要求存盘。
综合应用题
综合应用题
第45题:
在考生文件夹下有一个工程文件sjt5.vbp,窗体上有两个命令按钮,标题分别是“读数据”和“统计”,请添加两个标签,名称分别为Label1和Label2,标题分别为“出现次数最多的字母是”和“它出现的次数为”;再添加两个名称分别为Text1和Text2,初始内容为空的文本框,如图所示。
程序功能如下:
①单击“读数据”按钮,则将考生文件夹下in5.dat文件的内容读到变量s中(此过程已给出)。
②单击“统计”按钮,自动统计in5.dat文件中所含各字母(不区分大小写)出现的次数,并统计次数最多的字母显示在Text1文本框内,它所出现的次数显示在Text2文本框内。
“读数据”按钮的Click事件过程已经给出,请为“统计”按钮编写适当的事件过程实现上述功能。
注意:
考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须进行统计,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。
最后,程序按原文件名存盘。
____
参考答案:
操作步骤 步骤1:
打开本题工程文件,添加两个标签控件,名称分别为Label1和Label2,标题分别为“出现次数最多的字母是”和“它出现的次数为”;再添加两个名称分别为Text1和Text2,初始值为空的文本框。
步骤2:
打开代码编辑窗口,在指定位置编写如下代码。
Dima(1To26)AsInteger´定义数组a用于存放字母出现个数DimmaxAsIntegern=Len(s)´Len的功能是求字符串的长度Fori=1Tonk=Asc(Mid$(s,i,1))´依次获取字符If(k﹥=65Andk﹤=90)Thena(k-64)=a(k-64)+1´当为大写字母时,满足条件则计数EndIfIf(k﹥=97Andk﹤=122)Thena(k-96)=a(k-96)+1´当为小写字母时,满足条件则计数EndIfNextimax=0Form=1To26´循环查找出现次数最多的值Ifmax﹤a(m)Thenmax=a(m)EndIfNextmText2=max´显示出现次数Form=1To26´找到出现次数最多的值的下标Ifa(m)=maxThenl=m´将下标记下EndIfNextmText1=Chr(1+64)´通过下标找到对应的字母 步骤3:
调试并运行程序,关闭程序后按题目要求存盘。