vb二级考试历年真题_第1页
vb二级考试历年真题_第2页
vb二级考试历年真题_第3页
vb二级考试历年真题_第4页
vb二级考试历年真题_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

§1、VB的特点、运行环境、对象、属性、方法、事件各概念,尤其是方法和事件的区分。

熟悉VB的IDE,VB开发应用程序的一般步骤。

特点:GUI(集成开发环境)、OLE(对象的连接和嵌入)、OOP(面向对象);

运行环境:Windows(VB5.0以上在32位操作系统)

方法:对象可以执行的动作或行为;(主动性)

事件:使某个对象进入活动状态的一种操作或动作。(被动性)

例题:

1、VB的使用目的是()。

A.开发Windows应用程序B.图象处理

C.制作WAV文件D.文字处理

2、一个对象可以执行的动作和可被对象识别的动作分别称为()。

A.方法、事件B.事件、方法C.方法、属性D.事件、属性

3、一只白色的足球被踢进球门,则白色、足球、踢、进球门是()。

A.属性、对象、方法、事件B.属性、对象、事件、方法

C.对象、属性、方法、事件D.对象、属性、事件、方法

§2、熟练应用窗体、控件。掌握窗体的常用方法(Hide、Show、Print、Cis、Refresh、Move)、

属性和事件(Load、Activate>Click)o

Load事件、Unload事件、End语句

常用控件:CommandButton(Default>Cancel、Enabled、Style>DisabledPicture>

DownPicture)>Label(AutoSize)>TextBox(Alignment、MaxLength>PasswordChar>Multiline>

ScrollBars注:Multiline=True)>OptionButton(Value)>ListBox(属性:

list\listcount\listindex\selected>方法:Additem>Removeitem>Clear)>ComboBox(P27)>

HscrollBar>VscrollBar(min^Max、Value)>PictureBox(print方法)、Timer(运行时不可见、

只有Timer事件、Interval)方法、属性、事件的掌握。

容器控件:Form、Picture>Frame特殊控件:菜单的使用(只响应Click事件)

1、以下窗体名中哪些是非法的窗体名()。

对象名命名规则:以字母或汉字开头,后面可以是字母、数字、下划线、汉字。(变量

名类似)

A._aformB.3frmC.f_lD.frm5E.f_l*

2、一个名称为myfrm,标题属性为forml的窗体,它的单击事件名应为O。

A.myfrm_clickB.forml_click

C.form_clickD.me_click

3、执行下面语句:print“5*20”的结果是()。

A.“5*20"B.出现错误信息C.5*20D.100

4、下列语句代码哪一些可正常执行(正常执行是指系统不给出出错提示);

A、Print32765+3B、Print5+7=14

C、Print256/128D>Print"14”+12E、Printn14n&12

5、以下使用方法的代码中,正确的是()。

A、Label1.SetfocusB>Forml.Clear

C、Textl.SetFocusD>Combo1.Cis

6、在程序中可以通过复选框和单选按钮的O属性值来判断他们的当前状态。

A.CaptionB.ValueC.CheckedD.Selected

7、将复选框的Value属性设为“2”,其效果与把它的Enabled属性设为"False”有何异同?

若把一个控件的Visible属性设为"False”,意味着什么?

8、当用户单击命令按钮时,()属性可以使得命令按钮对激发事件无效。

A.NameB.EnabledC.DefaultD.Cancel

9、在文本框Textl和Text2中分别输入35与48,变量S与X分别为字符型与整型,

以下赋值语句的执行结果是什么?

s=Textl.Text+Text2.Textx=Textl.Text+Text2.Text

s=Textl.Text&Text2.Textx=Textl.Text&Text2.Text

s=Val(Textl.Text)+Text2.Text

x=Val(Textl.Text)+Text2.Text

s=Val(Textl.Text)&Text2.Text

x=Val(Textl.Text)&Text2.Text

§3、g速与模块

f窗体事件过程

事件过程对象.

也不控件事件过程

一执行方式

Sub子过程

---------------------Vs]

通用云:程Function函数过程

Property属性过程

J

窗体模块

模块.标准模块,bas

I.C1S

1、下列模块中哪个是一个工程必须具备的()。

A.窗体模块B.标准模块C.类模块D.用户自定义模块

2语言基础

一、书写规范:"间隔符号、续行符号注释符号“

二、数据:数据类型、关键字、存储单位、初值。

数值常量&O(8)&H(16)

字符常量""命名规则局部Dim/Static

常量逻辑常量变量作用域窗体/模块DinVPrivate

日期常量#月/日/年#全局(共有)Public

字符常量""「命名规则局部Di*/Static

常量逻辑常量变量<作用域窗体/模块

Di*/Private

日期常量。月/日/年#(ftWPublic

醋相Co11st关堤字语DiaaAsSingle

例如:1、在窗体或标准模块的通用声明处可以用语句定义变量。

A.Dim、RedimB.Dim、Static

C.Dim^Private、PublicD.Dim>Private、Static

注意:在窗体和类模块中,不能将定长字符串、符号常量、数组用Public来定义。

隐式说明的六个符号:%、&、!、#、@、$

例:ml&=5*x%\3+x%mody%和ml&="5*x%\3+x%mody%”的正确性

OptionExplicit语句功能:强制变量的声明

例题:

1、下列字符串中()是合法变量

A.char_1,student,no,al234B.exp,123a,x*y

C.x\y,x>yD.end,Ibex

三、运算符与表达式

算术俄号/~*Af-od»I、—>4

例如:8\4*-2+1

关系

1r

那辑NoLAnd_*Or-*Xor

注意慑表达式与VB表达式的转换.

例如ex<T+|x-^y|

2X+1

四、VB公共函数

算术:Sqr>Log、Exp>Abs、Rnd、Sin>Cos

字符:Len>left、Right>Mid>Ucase>Lease>Ltrim>Rtrim、Trim、Instr>String>Space

转换:Str、Vai、Chr、Asc、Int>Cint

日期:Date、Time、Now、Year>Month、Day、Week>Day

例如:

1、设si,s2均为字符串变量,sl="VisualBasic”,s2="b”,则下面关系表达式中结果为True

的是()。

A.Mid(sl,8,l)>s2B.Len(sl)o2*Instr(sl,,T,)

C.Chr(66)&Right(sl,4)=,,Basic,?

D.Instr(Left(sl,6),,,a,,)+60>Asc(Ucase(s2))

2、求出下列表达式的运算结果;

A.Mid('Visualbasic",1,12)=Right("Programminglanguagevisualbasic",12)

B.nABCRG">="abede"C.Int(134.69)>=CInt(134.69)

D.78.9/32.77<=97.5/43.87And-45.4>-4.98

E.Str(32.345)=CStr(32.345)

3、VB只有求自然对数的函数Log(x),如果计算式中需要使用常用对数或以2为底的

对数,应如何处理?(使用换底公式)

§4、算法雌

算法特征:确定、可行、有穷、输入、输出

算法结构:顺序、分支、循环

①分造构Ifel111cti

1\IfethenAIfethenAl

WiH2AElseife2then

EndIfA2•■■■

SelectCasee

Casecl色体值b2—

Al、也据区间8To10

Casec2廉达式Is>20

A2

CaseElse

A3

Endselect

例如:1、if语句:

PrivateSubForm_Click()

DimxAsInteger,yAsInteger

DimzAsSingle

x=0.2

yi

If(x>=1)Then

z=Log(x)

Elselfx>=0Andx<1Andy>=0Then

z=2*x-y

Else

z=Exp(x+y)

EndIf

Print"z=n+Str(z)

EndSub

结果:z=-l

2、SelectCase语句

PrivateSubForm_Click()

DimchAsString,iAsInteger

ch=

SelectCasech

Case"An,"a"

i=1

Case"BH,"bH

i=2

Case"C","cM

i=3

Case"Dn,"d"

i=4

CaseElse

i=5

EndSelect

Print”运行结果"+Ucase(ch)+Str(i)

EndSub

结果:运行结果C3

②循环结构

1、For-----Next(循环次数的计算)

特例:

PrivateSubForm_Click()PrivateSubForni_ClickQ

Fori=10To1Step-2Fori=1To10

i=i+ln=n+1

k=k+li=i+1

NextNexti

PrintiPrintn

PrintkPrinti

EndSubEndSub

PrivateSubForm_ClickQPrivateSubForm_Click()

n=1n=-3

Form=6TonStep-3Form=6To1Stepn

m=m4-1m=m+1

n=n-mn=n-m

k=k+lk=k+1

NextmNextm

PrintkPrintk

PrintnPrintn

EndSubEndSub

PrivateSubForm_Click()Else

Fori=1To3Printn;

n=i-1EndIf

Forj=1To3Nextj

n=n+1Print

Ifn>3ThenNexti

PrintnMod3;EndSub

例如:有循环:forI=nlton2stepn3下列哪些语句会影响循环次数()

A.nl=nl+I

B.n3=2*n3

C.n2=n2+n3

D.I=I+n3

2、Do-----Loop(While,Until)

例如:运行下面的程序,单击窗体后在窗体上的内容是o;若将程序中的A语句与B语

句的位置互换,再次执行程序,单击窗体后在窗体上显示的内容是()

PrivateSubForm_Click()

DimaAsInteger,bAsInteger

a=0:b=0

DoWhilea<=8

a=a+2'A语句

b=b+a*a'B语句

Loop

Printa,b

EndSub

例如:窗体上显示的结果:

PrivateSubForm_Click()

DimpAsInteger,iAsInteger,nAsInteger

p=2:n=20

Fori=1TonStepp

P=P+2

n=n-3

i=i+1

Ifp>=10ThenExitFor

Nexti

Printi,p,n

EndSub

一、InputBox函数

MsgBox函数(注意参数含义及顺序)

x=InputBox(,,)

写出显示下图信息框的MsgBox函数

§5、数组

1、数组的上、下界:Ubound。、Lbound()2,数组的大小的计算、数组的结构:(二维

数组:以列存放)3、Erase语句:重新初始化静态数组的元素、或释放动态数组的存储空间。

4、ForEach-Next结构语句5、用Array函数给数组赋值(只能给Variant类型的变量赋值)6、

控件数组(load/UnloadObject(Index))

动态数组(Redim语句)

数组分类:

固定大小数组OptionBase语句功能

Preserve语句功能

例如:

PrivateSubFormClickQNexti

Dima()AsInteger'Fori=lTo3

DimiAsIntegerPrinta(i);

Fori=lTo3Nexti

ReDima(i)EndSub

^DimPi^esenrea(i)

a(i)=i

n数组重点算法:

n一数组,求其中最大和最小;n对一数组排序(选择法、冒泡法、直接排序法)

n在一数组中查找指定的数(顺序、二分查找);n删除一数组中重复的数

2、在窗体模块的通用声明处用下面的语句声明变量、数组、正确语句有O个。

A.Publica(5)asintegerB.Publicnasinteger

C.Publicstasstring*10D.Privateb()asinteger

3、下列语句中的()语句可以用来正确地声明一个动态数组。

A.PrivateA(n)asintegerB.DimA()asinteger

C.DimA(,)asintegerD.Dima(lton)

4、下列关于数组的说法中正确的是()。

A.在过程中,不能用private语句定义数组

B.利用Redim语句重新定维时,不得改变已经说明过的数组的数据类型。

C.数组重新定维后,原有的数据元素内容将不予保留

5、过程的形参为数组时,以下定义语句中正确的是()。

A.privatesubsort(a()asinteger)

B.privatesubsort(a(10)asinteger)

C.privatesubsort(a(,)asinteger)

D.privatesubsort(byvala()asinteger)

6、某过程的说明语句中,正确的数组说明语句是=

ConstNAsInteger=4:DimLAsInteger

①Dimx(L)AsInteger

②DimA(K)AsInteger

ConstKAsInteger=3

③DimB(N)AsInteger

④DimY(2000To2008)AsInteger

A.①②④B.①③④C.③④D.②③

§7、文件管理控件

文件处理顺序文件和随机文件的打开(open)语句,EOF函数,读写语句。

dowhilenoteof(l)dountileof(l)

print#1,write#1,

input#l,a,b,clineinput#l,sinput(#l,100)

get#l,aput#l,,,af,

打开方式:

顺序文件Open"文件路径+文件名(包括文件后缀)"ForOutputAs#1-511

Open"文件路径+文件名(包括文件后缀)"ForAppendAs#1-511

Open”文件路径+文件名(包括文件后缀)"ForInputAs#1-511

随机文件:Open"文件路径+文件名(包括文件后缀)"ForRandomAs#1-511

二进制文件:Open"文件路径+文件名(包括文件后缀)"ForBinaryAs#1-511

Open语句打开文件的注意:

1.如果以Output、Append>Random、Binary模式打开一个不存在的文件时,VB自动创

建一个相应文件;

2.在InputRandomBinaiy模式下,可以用不同的文件号打开同一文件,但OutputAppend

方式不可以;

3.所有当前使用的文件号必须是唯一的;

4.如果以Output模式打开一个已存在的文件,即使没有进行写操作原来数据也将被覆

rmo

Close语句注意:(Reset)

1.直接使用Close语句(缺省文件号),则所有用Open语句打开的活动文件都被关闭;

2.当程序结束时,所有打开的文件自动被关闭。

Lock和Unlock语句注意:

1.对于二进制文件,Lock和Unlock的是字节范围;

2.对于随机文件,Lock和Unlock的是记录范围;

3.对于顺序文件,Lock和Unlock的是整个文件,即使指明范围也不起作用;

4.缺省情况下Lock和Unlock的范围是整个文件;

5.Lock和Unlock总是成对使用。

特别注意:在关闭文件或结束程序之前,必须用Unlock语句对先前锁定的文件解锁,

否则会产生难以预料的错误。

1.要对顺序文件进行写操作,下列打开文件语句中正确的是O。

Open"filel.txt"foroutputas#1

Open"filel.txt"forinputas#1

Open"file1.txtnforRandomas#1

Opennfilel.txtnforbinaryas#1

2.在VB中文件访问的类型有()。

A.顺序、随机、二进制B.顺序、随机、字符

A.顺序、十六进制、随机D.顺序、记录、字符

例如:将文件Datal中的无序数据和Data2中的有序数据插入到Data3中,要求:Data3

中的数据必须也是排好序。请填写空白处以实现该题功能。

PrivateSubForm_Click()

Dima()AsInteger,b()AsInteger

DimkAsInteger,iAsInteger

Open"e:\datal.txt"ForInputAs#2

Open"e:\data2.txt”ForInputAs#3

DoWhileNotEOF(2)

k=k+1

ReDimPreservea(k)

Input#2,a(k)

Loop

_______k=0_______________________

DoWhileNotEOF(3)

k=k+1

ReDimPreserveb(k)

Input#3,b(k)

Loop

Callinsert(a,b)

Open"e:\data3.txt"ForOutputAs#4

_k=ubound(b)

Fori=1Tok

Print#4,b(i)

Nexti

Close

EndSub

PrivateSubinsert(a()AsInteger,b()AsInteger)

DimmAsInteger,iAsInteger

DimnAsInteger,jAsInteger

m=UBound(a):n=UBound(b)

_redimpreserveb(m+n)________________________

i=0

DoWhilei<m

i=i+1

j=n

DoWhilej>=1Anda(i)<b(j)

Ifa(i)<b(j)Then

—b(j+l)=b(j)________________________

j=j-1

Else

ExitDo

EndIf

Loop

_b(j+l)=a(i)

n=n+1

Loop

EndSub

§8、速与维

子速它们的区别、如何调用、参数的传递)

函致」

注意:

F按值传递参数

形参和实参的类型不一定要统一,VB自动进行数据的转换。

-例如:PrivateSubForm_Click()

DimaAsString:a=2

Callsub—a)

Printa

EndSub

PrivateSubsub1(ByVaibAsInteger)

b=b+1:Printb

EndSub

F按地址传递参数

-当实参是变量时:如果形参规定了类型,则实参必须跟形参保持一致

如果形参没有规定类型,则VB按要求进行数据类型转换

-当实参是常量或表达式时:

VB自动用“按值传递”的方式进行处理,如果数据类型不统一,VB自动进行数据转换

例如:1、在应用程序中用“PrivatefunctionFun(Xasinteger,Yassingle)”定义了函数Fun。

调用函数Fun的过程中的变量I、J均为Integer型,能正确引用函数Fun的是()

A.Fun(IJ)B.CallFun(I,3.56)C.Fun(3.14,234)D.Fun("245","231.5")

2.程序中的不同过程之间,不能通过进行数据传递。

①全局变量②窗体或模块级变量③形参与实参结合④静态变量

A.①②④B.①②③C.②④D.@

二级考试必考题型:(课后习题)

传值传地址Static变量同名变量递归过程

例如:

1、以下有关变量作用域的说法中,错误的是()

A.只有在标准模块中用public语句说明的变量才是全局变量

B.在过程中不能使用public语句说明全局变量

C.在标准模块的通用声明处可用private语句说明模块级变量

D,在窗体的通用声明处可用private语句说明窗体级变量

2.一个名为frml的窗体,在窗体通用声明处和过程sub1中分别定义:publickasinteger、

dimkasinteger如何在subl中访问全局变量k()

A.frml.kB.form.kC.forml.kD.k

例:阅读程序,给出输出结果:

(1)字符串处理(数组参数)

OptionBase1

PrivateSubForm_Click()

DimstAsString,charAsString

Dimdata()AsString,iAsInteger,jAsInteger

st=n10281018123811181038n

Fori=1ToLen(st)

IfMid(st,i,1)<>n8nThen

char=char&Mid(st,i,1)

Else

j=j+1

ReDimPreservedata(j)

data(j)=char

char=

EndIf

Nexti

Callconver(data,char)

Printchar

EndSub

PrivateSubconver(a()AsString,chAsString)

DimiAsInteger,jAsInteger

DimnAsInteger,decAsInteger

Fori=1ToUBound(a)

n=Len(a(i))

Forj=1Ton

dec=dec+Val(Mid(a(i),j,1)*8A(n-j))

Nextj

ch=ch&Chr(dec)

dec=0

Nexti

EndSub

(2)static变量

PrivateSubCommandl_Click()

DimnAsInteger,iAsInteger

n=2

Fori=9To1Step-1

Callsub2(i,n)

Printi,n

Nexti

EndSub

PrivateSubsub2(xAsInteger,yAsInteger)

StaticnAsInteger

DimiAsInteger

Fori=3To1Step-1

n=n+x

x=x-1

Nexti

y=y4-n

EndSub

⑶递归

PrivateSubCommandl_Click()

DimaAsInteger

a=2

Callsubl(a)

EndSub

PrivateSubsubl(xAsInteger)

x=x*2+1

Ifx<10Then

Callsubl(x)

EndIf

x=x*2+1

Printx

EndSub

(4)递归

PrivateSubtest(xAsInteger)

DimiAsInteger

Ifx<>0Then

Calltest(x-1)

Fori=1Tox

Printx;

Nexti

Print

EndIf

EndSub

PrivateSubForm_Click()

test3

EndSub

⑸同名变量

DimyAsInteger

PrivateSubForm_Click()

DimxAsInteger,yasinteger

x=l:y=l

Print"xl=n;x,nyl=M;y

Test

Printnx4=";x,ny4=";y

EndSub

PrivateSubTest()

DimxAsInteger

Printnx2=";x,ny2=n;y

x=2:y=3

Printnx3=";x,ny3=n;y

EndSub

温馨提示

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

评论

0/150

提交评论