全国计算机等级考试二级VB复习资料考试要点.docx
《全国计算机等级考试二级VB复习资料考试要点.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级VB复习资料考试要点.docx(39页珍藏版)》请在冰豆网上搜索。
![全国计算机等级考试二级VB复习资料考试要点.docx](https://file1.bdocx.com/fileroot1/2023-7/17/1edb5cc8-6d59-4609-922f-741edf20b867/1edb5cc8-6d59-4609-922f-741edf20b8671.gif)
全国计算机等级考试二级VB复习资料考试要点
VisualBasic程序设计基础知识要点(概念分析篇)
知识点1:
(1)在工程资源管理器窗口中可以包含:
工程文件、窗体模块文件、标准模块文件和类模块文件(其中可以包含许多各种文件类型)。
(2)VisualBasic应用程序可以以解释方式执行和编译方式执行。
例题:
(1)以下叙述中错误的是A
A.在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件。
B.以.bas为扩展名的文件是标准模块文件。
C.窗体文件包含该窗体及其控件的属性。
D.一个工程中可以有多个标准模块文件。
(2)以下叙述中错误的是C
A.打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件。
B.保存VisualBasic程序时,应分别保存窗体文件及工程文件。
C.VisualBasic应用程序只能以解释方式执行。
D.事件可以由用户引发,也可以由系统引发。
知识点2:
(1)窗体和各种控件的名称(Name)是唯一的,用来标识一个窗体或控件的。
而窗体和控件的标题是用来说明的,是可有可无的。
(2)各种控件之间有部分相同的属性,并不是拥有所有属性。
控件有些属性只能在属性窗口中设置,但也有少数属性只能在代码状态设置。
(3)Form1.Hide方法和UnloadForm1方法的区别:
第一个方法窗体消失并不存在于内存中;第二个方法窗体消失但仍存在于内存中。
例题:
(1)以下叙述中正确的是A
A.窗体的Name属性指定窗体的名称,用来标识一个窗体。
B.窗体的Name属性的值是显示在窗体标题栏中的文本。
C.可以在运行期间改变对象的Name属性的值。
D.对象的Name属性值可以为空。
(2)以下叙述中错误的是C
A.VisualBasic是事件驱动型可视化编辑工具。
B.VisualBasic应用程序不具有明显的开始和结束语句。
C.VisualBasic工具箱中的所有控件都具有Width和Height属性。
D.VisualBasic中控件的某些属性只能在运行时设置。
知识点3:
(1)标签(Label1):
Autosize的True属性可以自动调整标签的大小,而False属性不能。
(2)文本框(Text1):
1、Maxlength属性表示文本框所能容纳的字符数。
2、Password属性表示口令输入,可以是“*”或“?
”等。
设置文本框输入字符为“*”:
Text1.Password=”*”,还原文本框字符:
Text1.Password=””,
3、ScrollBars属性是表示文本框有垂直或水平滚动条,但是需要和多行属性Multiline结合一起使用。
4、SelLength属性是表示选中文本框中字符的个数:
Text1.SelLength。
SelStart属性是表示选中文本框中字符或光标之前的字符数:
Text1.SelStrart。
SelText属性是表示选中文本框中的字符:
Text1.SelText。
5、文本的主要事件是Change事件:
(标签内容随文本框内容变化而变化)
PrivatesubText1_Change()
Label1.caption=Text1.text
Endsub
6、文本框的方法只有一个:
Text1.SetFocus
例题:
(1)能够获得一个文本框中被选取文本的内容的属性是C
A.TextB.SelLengthC.SelTextD.SelStrart
(2)在窗体上画一个文本框(其名称为Text1)和标签(其名称为Label1)。
要求程序运行后,如果在文本框中输入字符,则立即在标签中显示相同的内容。
以下可以实现上述操作的事件过程是A
A.PrivateSubText1_Change()B.PrivateSubText1_Click()
Label1.caption=Text1.TextLabel1.caption=Text1.Text
EndSubEndSub
C.PrivateSubLabel1_Change()D.PrivateSubLabel1_Click()
Label1.caption=Text1.TextLabel1.caption=Text1.Text
EndSub
(3)命令按钮(Command1):
1、Default属性:
当一个命令按钮的Default属性为True时,按回车键和单击该命令按钮的效果相同。
2、Cancel属性:
当一个命令按钮的Cancel属性为True时,按ESC键和单击该命令按钮的效果相同。
(4)单选按钮和复选框(Option1和Check1):
1、单选按钮:
Value属性的值是True(选中)和False(未选中),Option1.Value=True等同于Option1.Value用法。
2、复选框:
Value属性的值是0(未选中)、1(选中)和2(表示暂时不可用)。
Check1.Value=False可以用,但Check1.Value=True不可用(因为True只能转化数值-1而不是1)。
(5)列表框(List1):
1、List属性是一个数组型属性:
List1.List(索引),索引可以是数字0、1…,List1.listindex,变量i(List1.Text等同于List1.list(List1.listindex))。
2、MultSelect属性:
用来设置一次可以多选表项数。
MultSelect属性值为0时,每次只能选择一项;MultSelect属性值为1时,可以同时选择多个项目;MultSelect属性值为2时,可以用辅助键Shift或Ctrl选择多个项目。
3、常用方法:
AddItem方法表示添加的是一个项目,而Removeitem方法表示通过删除索引的方式删除项目。
RemoveItem索引索引可以是数字0、1…,List1.listindex,变量i。
(6)组合框(Combo1):
1、Style属性:
Style属性值为0时,表示下拉式组合框;Style属性值为1时,表示下简单组合框;Style属性值为2时,表示下拉式列表框。
其他功能类似列表框(List1)。
(7)图片框和图像框(Picture1和Image1):
1、图片框(Picture1):
Autosize属性值为True时,表示图片框大小随图片大小改变而改变;Autosize属性值为False时,表示图片框只能部分显示大图片。
2、图像框(Image1):
Stretch属性为True时,图片大小随图像框的大小改变而改变;Stretch属性为True时,图像框的大小随图片大小的改变而改变。
3、两种图形类型都可以按照下面这个方法加载图片:
Picture1.picture=LoadPicture(App.Path&“\图片名称.扩展名”)
Image1.picture=LoadPicture(App.Path&“\图片名称.扩展名”)
如果要清楚图片:
Picture1.picture=LoadPicture(“”)
Image1.picture=LoadPicture(“”)
注意:
如果使用App.Path方法需要先保存好窗体文件和工程文件到考生文件夹中。
(8)滚动条(HScroll1):
1、Max和Min属性是分别表示滚动条的最大和最小刻度,刻度值用Value属性值来表示:
HScroll1.value。
2、LargeChange和SmallChange属性是分别表示移动滚动条上的左右箭头按钮的移动量和移动滚动条上滚动框的移动量。
3、Scroll和Change事件分别表示拖动滚动条上滚动框的操作和单击滚动条上箭头按钮的操作。
(9)计时器(Timer1):
1、Enabled属性:
Enabled属性值为True时,表示计时器可以走动;Enabled属性值为False时,表示计时器停止走动;
2、Interval属性:
是表示计时器运动的时间间隔,单位为毫秒。
1秒时间:
Timer1.Interval=1000。
3、Enabled和Interval这两个属性一般情况下需要一起使用。
知识点4:
(1)VisualBasic常用函数的使用方法:
1、数学函数:
★求平方根:
Sqr(n)
★求自然对数Log(n)→lnnlog78=loge8/loge7(注意非e为底的对数需要如此转换)
★求以e为底的幂值,exex→Exp(x)
1n>0
★Sqn(n)=0n=0
★Rad()-->X=Int(Rnd*(上界—下界+1))+下界(产生随机整数)
2、转换函数:
★Str(x)数值x转换成字符串str(12.75)=”12.75”这样转换12.75之前会多出一位。
如果使用Cstr(12.75)=”12.75”这样转换12.75之前不会多出一位。
★Val(x)字符x转换成数值,但x要一定是数字字符才行,Val(“12.75”)=12.75,如果是含有其他字符Val(“12.7ab”)将无法转换。
★chr(x)返回以x为Asccii代码值的字符chr(97)=”a”;Asc(x)给出字符x的Asccii代码值Asc(“A”)=65
三种类型ASCII代码值转换:
Asc(“0”)~Asc(“9”)-→48~57
Asc(“A”)~Asc(“Z”)-→65~90
Asc(“a”)~Asc(“z”)-→97~122
特殊情况:
Asc(“ABC”)=65只求第一个字符“A”的Ascii代码值
★Fix(x)将数值型数据x的小数部分舍去Fix(12.8)=12Fix(-12.5)=-12;
Int(x)取小于等于x的最大整数当x>0时,用法和Fix一样;当x<0时,Int(-12.3)=-13;
Cint(x)将数值型数据x的小数部分四舍五入Cint(12.7)=13Cint(12.3)=12
但是有特殊情况:
x当x是偶数
Cint(x.5)=
x+1当x是奇数
3、字符函数
★Left(x,n)从x字符串左边起取n个字符Left("ABCDEFG",3)="ABC";
Right(x,n)从x字符串右边起取n个字符Right("ABCDEFG",3)="EFG"。
★Mid(x,n1,n2)从字符串x左边第n1个位置开始向右起取n2个字符
Mid(x,n)从字符串x左边第n个位置开始向右全部取
Mid("ABCDEFG",3,2)="CD"Mid("ABCDEFG",3)="CDEFG"
★Instr(n,s1,s2)从字符串s1的第n个位置起查找s2在s1中位置,如果n省略,则默认从字符串s1的第1个位置起查找s2在s1中位置
Instr(2,"ABCDEFG","CD")=3
知识点5:
1、运算符:
★算术运算符
运算符的优先级:
^>-->(*/)>\>Mod>(+--)
★关系运算符
<<=>>==<>LikeIs运算符优先级相同
★逻辑运算符
运算符的优先级:
Not>And>Or>Xor>Eqv
例题:
(1)表达式4+5\6*7/8Mod9的值是B
A.4B.5C.6D.7
(2)a=3b=2c=1求Printa>b>c的结果?
首先a>b的结果是true,然后再PrintTrue>c此时True需要转换成-1再比较,Print-1>1结果是False,所以整个输出结果是False。
知识点6:
1、交互函数的使用:
★InputBox函数:
A=InputBox("提示信息","标题信息","默认值或输入框的值")
例题:
(1)执行下列语句后,将显示输入对话框,此时如果单击“确定”按钮,则变量strInput的内容是C
strInput=InputBox("请输入字符串","字符串对话框","字符串")
A."请输入字符串"B."字符串对话框"
C."字符串"D.空字符串
★MsgBox函数:
MsgBox“提示信息”,按钮类型值+图标类型值+默认焦点值,“标题信息”
A=MsgBox“提示信息”,按钮类型值+图标类型值+默认焦点值,“标题信息”;A的值根据单击什么按钮有关,A的值在[1,7]之间取值。
比如:
单击“确定”按钮,A=1。
例题:
(1)以上图形所表示的函数表达式为:
MsgBox"请输入查询的学生学号:
",3+32+256,"学生基本信息查询"
知识点7:
1、选择结构语句(If条件语句):
★单分支条件语句:
格式:
①If条件Then
语句块
EndIf(称If块语句)
②If条件Then只有一条语句(称If条语句)
★双分支条件语句:
格式:
If条件Then
语句块1
Else
语句块2
EndIf
★多分支条件语句
If条件1Then
语句块1
Elseif条件2Then
语句块2
。
。
。
。
。
。
Else
语句块n
EndIf
其中,条件可以是:
关系表达式(a>5)、逻辑表达式(a>5Andc>4)、变量(i)或常数(0)。
例题:
(1)下列程序段的执行结果为A
X=5
Y=-20
IfNotx>0Then
x=y-3
Else
Y=x+3
EndIf
Printx-y;y-x
A.-33B.5-8C.3-3D.25-25
以上题中的“条件”主要是逻辑表达式。
(2)下列程序段的执行结果为B
X=2
Y=1
Ifx*y<1Theny=y-1Elsey=-1
Printy-x>0
A.TrueB.FalseC.-1D.1
以上题中的“条件”主要是关系表达式。
(3)下列程序段的执行结果为C
DimxAsInteger
IfxThenPrintxElsePrintx-1
A.1B.0C.-1D.不确定
以上题中的“条件”主要是变量。
2、选择结构语句(SelectCase语句):
SelectCase测试表达式
Case表达式列表1
语句块1
Case表达式列表2
语句块2
。
。
。
。
。
。
CaseElse
语句块n
EndSelect
注意:
测试表达式的类型只能是数值数据或字符型,表达式列表的值只要第一个符合测试表达式值的要求,就结束SelectCase语句;表达式列表可以是三种结构或三种混合结构:
①、1To10②、1,3,5,6,7,8③、Is>10④、1,2,,5,7,Is>10
例题:
(1)在窗体上画一个名称为Command1的命令按钮和两个名称分别为Text1和Text2的文本框,然后编写如下事件过程:
PrivateSubCommand1_Click()
n=Text1.text
SelectCasen
Case1T10
X=10
Case2,4,6
X=20
CaseIs<10
X=30
Case10
X=10
EndSelect
Text2.text=x
EndSub
程序运行后,如果在文本框Text1中输入10,然后单击命令按钮,则在Text2中显示的内容是A
A.10B.20C.30D.40
3、选择结构语句(IIF函数):
变量=IIF(条件,参数1,参数2)
其中,条件可以是:
关系表达式(a>5)、逻辑表达式(a>5Andc>4)、变量(i)或常数(0)。
执行过程:
条件成立,变量的值就是“参数1”,否则变量的值就是“参数2”。
例题:
(1)设a=6,则执行语句:
x=IIF(a>5,-1,0)后,x的值为D
A.5B.6C.0D.-1
知识点8:
1、循环结构
①For循环变量=初值To终值Step步长
循环体
If条件Then
语句
ExitFor
EndIf
Next循环变量
注意:
循环如果正常退出时(没有执行ExitFor语句),那么循环变量必须要大于终值或等于终值+步长。
②DoWhile条件
循环体
Loop
DoUntil条件
循环体
Loop
注意:
左边上下两种循环是先判断条件后执行循环体,右边上下两种循环是不管条件成立与否都至少执行一次;While循环是条件成立执行循环体,Until循环是条件不成立执行循环体。
例题:
(1)下列程序段的执行结果为B
s=0:
t=0:
u=0
Forx=1To3
Fory=1Tox
Forz=yTo3
s=s+1
Nextz
t=t+1
Nexty
u=u+1
Nextx
Prints;t;u
A.3614B.1463C.1436D.1643
分析:
A组语句和B语句都在X循环内,并且是并列的,所以可以先计算B组语句,A组语句暂时不算,这样很容易求出u=u+1语句循环了三次,则u=3;C组语句和D语句都在Y循环内,并且是并列的,所以可以先计算D组语句,C组语句暂时不算,这样也比较容易求出t=t+1语句循环了六次,则t=6;然后再结合答案很快就能得出答案是选B。
知识点9:
1、数组:
①数组的概念
★等级考试主要考一维数组、二维数组和三维数组(三维的只需知道数组中可以存储多少数据即可)。
数组的格式:
a(2,3To7,-1To2),那它的存储空间大小计算:
每一维用上界-下界+1计算,例如(2-0+1)*(7-3+1)*(2-(-1)+1)=3*5*4=60。
★数组的下标下界是根据语句OptionBasen来决定:
当n=0时,数组下标下界是从0开始;当n=1时,数组下标下界是从1开始。
★数组分为:
固定大小数组:
Dima(10)AsInteger
动态大小数组:
Dima()AsIntegerRedima(10)
★Array函数用法:
为一个变体型变量创建一个数组。
DimaasVariant
a=Array(1,2,3,4,5)
因此:
a(0)=1a
(1)=2a
(2)=3a(3)=4a(4)=5
★注意:
如果数组被定义为一下三种类型,
(1)数值型
(2)字符型(3)逻辑型,则它们初始化的数组元素数值分别为:
0、空字符串和False。
例题:
(1)在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:
PrivateSubCommand1_Click()
Dima(4,4)AsInteger
Fori=1To4
Forj=1To4
a(i,j)=(i-1)*3+j
Nextj
Nexti
Fori=3To4
Forj=3To4
Printa(j,i)
Nextj
Print
Nexti
EndSub
程序运行后,单击命令按钮,其输出结果为D。
A.69B.710C.811D.912
7108119121013
分析:
对循环和数组结合的问题,往往要先看B组语句输出结果是什么,然后根据B组语句输出结果代入到A组语句中求结果。
B组语句输出结果:
代入A组语句的结果:
知识点10:
1、过程与函数:
★过程与函数的参数类型有:
实参和形参;传递方式有:
值传递和地址传递。
★以下程序中,x,y为实参;a,b为形参
注意:
实参要与形参的类型、个数要相同。
★在形参a,b之前如果加上关键字ByVal,那么就是值传递;如果加上关键字ByRef或不加关键字,那么就是地址传递。
★过程调用方式有两种:
CallSwap(x,y)或Swapx,y(Swap是过程名)
注意:
只有地址传递方式才能实现交换功能,值传递方式x,y的值不变。
当有事件过程和通用过程一起运行时,先执行事件过程(Command_Click)。
例题:
(1)假定有如下的Sub过程:
SubS(xAsSingle,ByValyasSingle)
t=x
x=t/y
y=tMody
EndSub
在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle
a=5:
b=4
Sa,b
Printa,b
EndSub
程序运行后,单击命令按钮,输出结果为_____C_____。
A.54B.11C.1.254D.1.251
程序分析:
首先形参x是地址传递方式,当a传递给x时,因此a与x拥有一个共同存储空间,图形表示:
;形参y是值传递方式,当b传递给y时,因此b与y是两个不同存储空间,图形表示:
;那么在过程S中:
运算x=t/y后,x=1.25,图形表示
;因此a的值就是1.25;运算y=tMody后,y=1,图形表示:
,因为此时b和y存储空间不同,则不影响b的值,则还是4,因此Printa,b的结果就是选择C答案。
知识点11:
1、菜单和鼠标事件
★菜单编辑器的使用:
注意:
菜单中的标题可以为空,但不论是第几级菜单名称必须唯一,且不能为空。
★鼠标事件(按下鼠标键事件过程)
主要事件有:
Form_MouseDown、Form_MouseUp和Form_MouseMove。
现在以某个为例说明:
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
…
EndSub
上述事件过程不仅使用在窗体上(Form_MouseDown),还可以使用于大多数控件上,包括命令按钮(Command1_MouseDown)或文本框(Text1_MouseDown)等。
以上鼠标事件过程的参数,含义如下:
(1)Button有值1、2和4,分别表示按下左键、右键和中建;
(2)Shift表示Shift、Ctrl和Alt键的状态,其值分别是1、2和4;
(3)X,Y表示鼠标光标的坐标位置
★弹出式菜单(菜单和鼠