二级VISUAL BASIC真题.docx

上传人:b****6 文档编号:3321362 上传时间:2022-11-21 格式:DOCX 页数:15 大小:81.67KB
下载 相关 举报
二级VISUAL BASIC真题.docx_第1页
第1页 / 共15页
二级VISUAL BASIC真题.docx_第2页
第2页 / 共15页
二级VISUAL BASIC真题.docx_第3页
第3页 / 共15页
二级VISUAL BASIC真题.docx_第4页
第4页 / 共15页
二级VISUAL BASIC真题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

二级VISUAL BASIC真题.docx

《二级VISUAL BASIC真题.docx》由会员分享,可在线阅读,更多相关《二级VISUAL BASIC真题.docx(15页珍藏版)》请在冰豆网上搜索。

二级VISUAL BASIC真题.docx

二级VISUALBASIC真题

2009年9月全国计算机等级考试二级笔试试卷

VisualBasic语言程序设计

一、选择题

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

(11)以下变量名中合法的是

A)x2-1B)printC)str_nD)2x

(12)把数学表达式

表示为正确的VB表达式应该是

A)(5x+3)/(2y-6)B)x*5+3/2*y-6

C)(5*x+3)÷(2*y-6)D)(x*5+3)/(y*2-6)

(13)下面有关标准模块的叙述中,错误的是

A)标准模块不完全由代码组成,还可以有窗体

B)标准模块中的Private过程不能被工程中的其他模块调用

C)标准模块的文件扩展名为.bas

D)标准模块中的全局变量可以被工程中的任何模块引用

(14)下面控件中,没有Caption属性的是

A)复选框B)单选按钮C)组合框D)框架

(15)用来设置文字字体是否斜体的属性是

A)FontUnderlineB)FontBoldC)FontSlopeD)Fontltalic

(16)若看到程序中有以下事件过程,则可以肯定的是,当程序运行时

PrivateSubClick_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Print"VBProgram"

EndSub

A)用鼠标左键单击名称为"Command1"的命令按钮时,执行此过程

B)用鼠标左键单击名称为"MouseDown"的命令按钮时,执行此过程

C)用鼠标右键单击名称为"MouseDown"的控件时,执行此过程

D)用鼠标左键或右键单击名称为"Click"的控件时,执行此过程

(17)可以产生30~50(含30和50)之间的随机整数的表达式是

A)Int(Rnd*21+30)B)Int(Rnd*20+30)

C)Int(Rnd*50-Rnd*30)D)Int(Rnd*30+50)

(18)在程序运行时,下面的叙述中正确的是

A)用鼠标右键单击窗体中无控件的部分,会执行窗体的FormLoad事件过程

B)用鼠标左键单击窗体的标题栏,会执行窗体的Form_Click事件过程

C)只载入而不显示窗体,也会执行窗体的Form_Load事件过程

D)载入窗体后,每次显示该窗体时,都会执行窗体的Form_Click事件过程

(19)窗体上有名称为Commandl的命令按钮和名称为Text1的文本框

PrivateSubCommand1_Click()

Text1.Text="程序设计"

Text1.SetFocus

EndSub

PrivateSubText1_GotFocus()

Text1.Text="等级考试"

EndSub

运行以上程序,单击命令按钮后

A)文本框中显示的是“程序设计”,且焦点在文本框中

B)文本框中显示的是“等级考试”,且焦点在文本框中

C)文本框中显示的是“程序设计”,且焦点在命令按钮上

D)文本框中显示的是“等级考试”,且焦点在命令按钮上

(20)设窗体上有名称为Option1的单选按钮,且程序中有语句:

IfOption1.Value=TrueThen

下面语句中与该语句不等价的是

A)IfOption1.ValueThenB)IfOption1=TrueThen

C)IfValue=TrueThenD)IfOption1Then

(21)设窗体上有1个水平滚动条,已经通过属性窗口把它的Max属性设置为1,Min属性设置为100。

下面叙述中正确的是

A)程序运行时,若使滚动块向左移动,滚动条的Value属性值就增加

B)程序运行时,若使滚动块向左移动,滚动条的Value属性值就减少

C)由于滚动条的Max属性值小于Min属性值,程序会出错

D)由于滚动条的Max属性值小于Min属性值,程序运行时滚动条的长度会缩为一点,滚动块无法移动

(22)有如下过程代码:

Subvar_dim()

StaticnumaAsInteger

DimnumbAsInteger

numa=numa+2

numb=numb+1

printnuma;mumb

EndSub

连续3次调用var_dim.过程,第3次调用时输出的是

A)21B)23C)61D)63

(23)在窗体上画1个命令按钮,并编写如下事件过程:

PrivateSubCommand1_Click()

Fori=5To1Step-0.8

PrintInt(i);

Nexti

EndSub

运行程序,单击命令按钮,窗体上显示的内容为

A)543211B)44321C)43211D)443211

(24)在窗体上画1个命令按钮,并编写如下事件过程:

PrivateSubCommand1_Click()

Dima(3,3)

Form=1To3

Forn=1To3

Ifn=mOrn=4-mThen

a(m,n)=m+n

Else

a(m,n)=0

EndIf

Printa(m,n);

Nextn

Print

Nextm

EndSub

运行程序,单击命令按钮,窗体上显示的内容为

A)200B)204C)230D)200

040040340045

006406006056

(25)设有以下函数过程:

Functionfun(aAsInteger,bAsInteger)

DimcAsInteger

Ifa<bThen

c=a:

a=b:

b=c

EndIf

c=0

Do

LoopUntilcModb=0

fun=c

EndFunction

若调用函数fun时的实际参数都是自然数,则函数返回的是

A)a、b的最大公约数B)a、b的最小公倍数

C)a除以b的余数D)a除以b的商的整数部分

(26)窗体上有1个名称为Text1的文本框;1个名称为Timer的计时器控件,其Interval属性值为5000,Enabled属性值是True。

Timer1的事件过程如下:

PrivateSubTimer1_Timer()

StaticflagAsInteger

Ifflag=0Thenflag=1

flag=-flag

Ifflag=1Then

Text1.ForeColor=&HPP&'&HFF&为红色

Else

Text1.ForeColor=&HC000&'&HC000&为绿色

EndIf

EndSub

以下叙述中正确的是

A)每次执行此事件过程时,flag的初始值均为0

B)flag的值只可能取0或1

C)程序执行后,文本框中的文字每5秒改变一次颜色

D)程序有逻辑错误,Else分支总也不能被执行

(27)为计算10+21+22+23+24+…+210的值,并把结果显示在文本框Text1中,若编写如下事件过程:

PrivateSubCommand1_Click()

Dima%,s%,k%

s=1

a=2

Fork=2To10

a=a*2

Nextk

Text1.Text=s

EndSub

执行此事件过程后发现结果是错误的,为能够得到正确结果,应做的修改是

A)把s=1改为s=0B)把Fork=2To10改为Fork=1To10

C)交换语句s=s+a和a=a*2的顺序D)同时进行B)、C)两种修改

(28)标准模块中有如下程序代码:

PublicxAsInteger,yAsInteger

Subvar_pub()

x=10:

y=20

EndSub

在窗体上有1个命令按钮,并有如下事件过程:

PrivateSubCommand1_Click()

DimxAsInteger

Callvar_pub

x=x+100

y=y+100

Printx;y

EndSub

运行程序后单击命令按钮,窗体上显示的是

A)100100B)100120C)110100D)110120

(29)设a、b都是自然数,为求a除以b的余数,某人编写了以下函数:

Functionfun(aAsInteger,bAsInteger)

Whilea>b

a=a-b

Wend

fun=a

EndFunction

在调试时发现函数是错误的。

为使函数能产生正确的返回值,应做的修改是

A)把a=a-b改为a=b-aB)把a=a-b改为a=a\b

C)把Whilea>b改为Whilea<bD)把Whilea>b改为Whilea>=b

(30)下列关于通用对话框CommonDialog1的叙述中,错误的是

A)只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开

B)使用CommonDialogl.ShowColor方法,可以显示“颜色”对话框

C)CancelError属性用于控制用户单击“取消”按钮关闭对话框时,是否显示出错警告

D)在显示“字体”对话框前,必须先设置CommonDialogl的Flags属性,否则会出错

(31)在利用菜单编辑器设计菜单时,为了把组合键“Alt+X”设置为“退出(X)”菜单项的访问键,可以将该菜单项的标题设置为

A)退出(X&)B)退出(&X)C)退出(X#)D)退出(#X)

(32)在窗体上画1个命令按钮和1个文本框,其名称分别为Command1和Text1,再编写如下程序:

DimssAsString

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

IfChr(KeyAscii)<>""Thenss=ss+Chr(KeyAscii)

EndSub

PrivateSubCommand1_Click()

DimmAsString,iAsInteger

Fori=Len(ss)To1Step-1

m=m+Mid(ss,i,1)

Next

Text1.Text=UCase(m)

EndSub

运行程序后,在文本框中输入“Number100”,并单击命令按钮,则文本框中显示的是

A)NUMBER100B)REBMUNC)REBMUN100D)001REBMUN

(33)窗体的左右两端各有1条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见图);另有1个名称为Timer1的计时器控件,其Enabled属性值是True。

要求程序运行后,圆每秒向右移动100,当圆遇到Line2时则停止移动。

为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下

程序:

PrivateSubTimer1_Timer()

Fork=Line1.X1ToLine2.X1Step100

IfShape1.Left+Shape1.Width<Line2.X1Then

Shape1.Left=Shape1.Left+100

EndIf

Nextk

EndSub

运行程序时发现圆立即移动到了右边的直线处,与题目要求的移动方式不符。

为得到与题目要求相符的结果,下面修改方案中正确的是

A)把计时器的Interval属性设置为1

B)把Fork=Line1.X1ToLine2.X1Step100和Nextk两行删除

C)把Fork=Line1.X1ToLine2.X1Step100改为Fork=Line2.X1ToLine1.X1Step100

D)把IfShape1.Left+Shape1.Width<Line2.X1Then改为IfShape1.Left<Line2.X1Then

(34)下列有关文件的叙述中,正确的是

A)以Output方式打开一个不存在的文件时,系统将显示出错信息

B)以Append方式打开的文件,既可以进行读操作,也可以进行写操作

C)在随机文件中,每个记录的长度是固定的

D)无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的

(35)窗体如图1所示。

要求程序运行时,在文本框Text1中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框List1中所有该姓氏的项目。

若编写以下程序来实现此功能:

PrivateSubCommand1_Click()

Dimn%,k%

n=Len(Text1.Text)

Fork=0ToList1.ListCount-1

IfLeft(List1.List(k),n)=Text1.TextThen

List1.Removeltemk

Endlf

Nextk

EndSub

在调试时发现,如输入“陈”,可以正确删除所有姓“陈”的项目,但输入“刘”,则只删除了“刘邦”、“刘备”两项,结果如图2所示。

这说明程序不能适应所有情况,需要修改。

正确的修改方案是把Fork=0ToList1.ListCount-1改为

A)Fork=List1.ListCount-1To0Step-1B)Fork=0ToList1.ListCount

C)Fork=1ToList1.ListCount-1D)Fork=1ToList1.LstCount

二、填空题

请将每空的正确答案写在[1]~[15]引序号的横线上。

(6)工程中有Form1、Form2两个窗体,Form1窗体外观如图1所示。

程序运行时,在Form1中名称为Text1的文本框中输入______个数值(圆的半径),然后单击命令按钮“计算并显示”(其名称为Command1),则显示Form2窗体,且根据输入的圆的半径计算圆的面积,并在Form2的窗体上显示出来,如图2所示。

如果单击命令按钮时,文本框中输入的不是数值,则用信息框显示“请输入数值数据!

”,请填空。

PrivateSubCommand1_Click()

IfText1.Text=""Then

MsgBox"请输入半径!

"

ElseIfNotIsNumeric([6])Then

MsgBox"请输入数值数据!

"

Else

r=Val([7])

Form2.Show

[8].Print"圆的面积是"&3.14*r*r

EndIf

EndSub

(7)设有整型变量s,取值范围为0~100,表示学生的成绩。

有如下程序段:

Ifs>=90Then

Leve1="A"

ElseIfs>=75Then

Leve1="B"

ElseIfs>=60Then

Leve1="C"

Else

Leve1="D"

EndIf

下面用SelectCase结构改写上述程序,使两段程序所实现的功能完全相同,请填空。

SelectCases

Case[9]>=90

Leve1="A"

Case75To89

Leve1="B"

Case60To74

Leve1="C"

Case[10]

Leve1="D"

[11]

(8)窗体上有名称为Command1的命令按钮。

事件过程及2个函数过程如下:

PrivateSubCommand1_Click()

DimxAsInteger,yA8Integer,z

X=3

y=5

z=fy(y)

Printfx(fx(x)),y

EndSub

Functionfx(ByValaAsInteger)

a=a+a

fx=a

EndFunction

Functionfy(ByRefaAsInteger)

a=a+a

fy=a

EndFunction

运行程序并单击命令按钮,则窗体上显示的两个值依次是[12]和[13]。

(9)窗体上有名称为Command1的命令按钮及名称为Text1、能显示多行文本的文本框。

程序运行后,如果单击命令按钮,则可打开磁盘文件c:

\test.txt,并将文件中的内容(多行文本)显示在文本框中。

下面是实现此功能的程序,请填空。

PrivateSubCommand1_Click()

Text1=""

Number=FreeFile

Open"c:

\test.txt"ForInputAsNumber

DoWhileNotEOF([14])

LineInput#Number,s

Text1.Text=Text1.Text+[15]+Chr(13)+Chr(10)

Loop

CloseNumber

EndSub

2009年9月笔试试卷参考答案及解析

一、选择题

(11)C[解析]变量命名应遵循以下规则:

①名字只能由字母、数字和下画线组成;②名字的第一个字符必须是英文字母,最后一个字符可以是类型说明符;③名字的有效字符为255个;④不能用VisualBasic的保留字作变量名,但可以把保留字嵌入变量名中;同时,变量名也不能是末尾带有类型说明符的保留字。

变量名字中不应该出现“—”符号,所以A)选项错误;print是VisualBasic中的保留字,所以B)选项也不符合变量命名规则;选项D)中2x的第一个字符不是英文字母,所以也不符合变量命名规则。

(12)D[解析]VB中的数乘应用“*”来连接,浮点除法用“/”连接。

选项A)中应该将5x、2y改成5*x和2*y;选项B)中5*x+3是一个整体被除数,所以应该用小括号,否则整个表达式的运算优先级顺序将改变;选项C)中两个表达式间应该用“/”连接。

(13)A[解析]模块有窗体模块、标准模块和类模块3种类型,其中标准模块可以包含类型、常数、变量、外部过程和公共过程的公共的或模块级的声明,其文件扩展名为.bas。

标准模块中可以引用窗体但不包含窗体,所以A)选项错误。

(14)C[解析]组合框含有Name、Height、Width、Top、Left、Enabled、Visible、Index、List、ListIndex、ListCount、Selected、Sorted、Text、MultiSelect和Style等属性,但没有Caption属性。

(15)D[解析]FontUnderline属性是表示正文字体是否带有下画线;FontBold属性是表示正文字体是否是粗体;没有FontSlope属性;FontItalic属性是表示正文字体是否是斜体。

所以正确答案为D)。

(16)D[解析]在鼠标单击事件过程中,Button属性值为1时代表按下鼠标左键,值为2时代表按下鼠标右键,题中所述代码中没有定义Button值,所以单击鼠标左键或者右键都能触发MouseDown事件;代码中控件名称为Click,所以答案为D)。

(17)A[解析]生成某个范围内的随机整数,计算公式为:

Int((上界-下界+1),Rnd+下界),题目中上界为30,下界为50,所HiE确答案为A)。

(18)C[解析]当加载窗体时,系统白动触发该窗体的Load事件;当窗体成为一个活动窗口时,触发Activate事件;单击窗体空白处时,会触发窗体Click事件;选项A)触发的是Form_Click事件;选项B)用鼠标左键单击窗体的标题栏,不会触发Form_Click事件过程;选项D)触发的是Form_Activate事件过程。

所以正确答案为C)。

(19)B[解析]运行程序后单击命令按钮,首先执行命令按钮Command1_Click代码的内容,即Text1文本框获得焦点并显示内容“程序设计”;当文本框获得焦点后,程序执行文本框的Text1_GetFocus事件代码,即文本框显示内容“等级考试”,覆盖了原来文本框的内容,同时文本框获得焦点。

(20)C[解析]在If语句中,如果省略其判断条件,则默认为True时,Then后面的语句成立,所以选项A)的形式与题目语句等价;Option1的默认属性为Value,所以选项B)中的Option1=True与题中语句Option1.Value=True等价;同理,选项D)省略了If语句判断条件及Option1的默认属性,也是与原语句等价的。

(21)A[解析]因为Max<Min,最大值将被置于水平滚动条的最左端,所以在程序运行时水平滚动条左边为100,右边为1,滚动条向左移动,滚动条的Value属性值就增加,所以正确答案为A)。

(22)C[解析]由题意可知,numa是静态变量,所以3次调用过程该变量值是累加的,而numb是动态变量,每次调用过程,该变量值都被初始化为0,所以3次调用该过程后输出的结果是6和1。

(23)A[解析]题中所述程序是一个初值为5,步长为-0.8,终值为1的循环过程。

第一次执行时,循环变量i=5,PrintInt(i)的输出结果为在窗体上打印数字5,其中Int()函数取不大于i的最大整数;第2次循环,i=4.2,输出结果为4;第3次、第4次输出结果分别为3和2;第5次循环,i=1.8,输出结果为1;第6次循环,i=1,输出结果为1。

第6次循环后跳出循环,整个程序结束。

(24)B[解析]当m=1时,如果n=1,满足条件m=n,执行Then语句a(1,1)=m+n=2;当n=2时,不满足If语句中的条件,执行Else语句a(1,2)=0;当n=3时,满足If条件n=4-m,执行Then语句a(1,3)=m+n=4。

同理可得,当m=2时,得到的结果为0,4,0;当m=3时,结果为4,0,6。

(25)B[解析]题中所述函数过程中,If语句用来保证数a大于数b,如果数a小于数b,则将两者的值交换。

取模运算符Mod用来求余数,即结果是数c整除数b所得的余数。

c等于a值的累加,其值在逐步增大,c当然能整除a;而循环结束的条件为c是否能整除b,当刚好整除时跳出循环体,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1