省二VB笔试主要考点.docx
《省二VB笔试主要考点.docx》由会员分享,可在线阅读,更多相关《省二VB笔试主要考点.docx(50页珍藏版)》请在冰豆网上搜索。
![省二VB笔试主要考点.docx](https://file1.bdocx.com/fileroot1/2023-1/31/5d73d8f4-6d5a-4b62-af0d-b9197c40b7ee/5d73d8f4-6d5a-4b62-af0d-b9197c40b7ee1.gif)
省二VB笔试主要考点
VB笔试主要考点(省水平)
一、变量和常量
(一)变量
1.变量的命名规则
(1)以字母或汉字开头,后可跟字母、数字或下划线组成,长度小于等于40个字符;
(2)不能使用VB中的关键字;
(3)VB中不区分变量名的大小写.
2.定义变量的关键字和类型说明符
3.强制显式声明——OptionExplicit语句
4.变量的作用域和生存期
1、VisualBasic中可以用类型说明符来标识变量的类型,其中表示货币型的是_______。
C
A.%B.#C.@D.$
2、以下关键字中,不能定义变量的是_______。
A
A.DeclareB.DimC.PublicD.Private
3、与语句Dimabc%作用相同的语句是_______。
A
A)DimabcAsIntegerB)DimabcAsLong
C)DimabcAsStringD)DimabcAsDate
(二)常量
1.常量的分类:
普通常量、符号常量、系统常量
(1)整型(Integer)
长整型(Long)书写:
23&
八进制整数:
以&或&O(字母O)开头的整数是八进制整数,如&O25表示八进制整数25,即(25)8
十六进制。
以&H开头的整数是十六进制整数,如&H25表示十六进制整数25,即(25)16。
VB中的颜色数据常常用十六进制整数表示。
(2)实型常量
单精度实型(Single):
有效数为7位表示-3.37E+38至3.37E+38之间的实数
双精度实型(Double):
有效数为15位实型常量的表示:
1)十进制小数形式。
它是由正负号(+,-)、数字(0~9)和小数点(.)或类型符号(!
、#)组成,即±n.n,±n!
或±n#,其中n是0~9的数字。
例如0.123、.123、123.0、123!
、123#等都是十进制小数形式。
2)指数形式。
±nE±m或±n.nE±m,±nD±m或±n.nD±m例:
1.25E+3和1.25D+3相当于1250.0或者1.25×103。
(3)字符串常量
在VB中字符串常量是用双引号“"”括起的一串字符,例如"ABC","abcdefg","123","0","VB程序设计"等。
说明:
字符串中的字符可以是所有西文字符和汉字、标点符号等;""表示空字符串,而""表示有一个空格的字符串;
若字符串中有双引号,例如ABD"XYZ,则用连续两个双引号表示,即:
"ABD""XYZ"
(4)逻辑(Boolean)数据类型
只有两个值True,或False。
将逻辑数据转换成整型时:
True为-1,False为0;其它数据转换成逻辑数据时:
非0为True,0为False。
(5)日期常量
日期(Date)型数据按8字节的浮点数来存储,表示日期范围从公元100年1月1日~9999年12月31日,而时间范围从0:
00:
00~23:
59:
59。
一种在字面上可被认作日期和时间的字符,只要用号码符“#”括起来,都可以作为日期型数值常量。
例:
#09/02/99#、#January4,1989#,#2002-5-414:
30:
00PM#都是合法的日期型常量。
说明:
当以数值表示日期数据时,整数部分代表日期,而小数部分代表时间;例如1表示1899年12月31日。
大于1的整数表示该日期以后的日期,0和小于0的整数表示该日期以前的日期。
2.符号常量
格式:
Const常量名[As类型|类型符号]=常数表达式
例如:
ConstPI#=3.1415926535等价于:
ConstPIAsDouble=3.1415926535
1、以下4种描述中,错误的是_______。
D
A.常量在程序执行期间其值不会发生改变
B.根据数据类型不同,常量可分为字符型常量、数值常量、日期/时间型常量和布尔型常量
C.符号常量是用一个标识符来代表一个常数,好象是为常数取一个名字,但仍保持常数的性质
D.符号常量的使用和变量的使用没有差别
2、下面合法的常量是_______。
D
A.1/2B.'abcd'C.1.2*5D.False
3、用十六进制表示VisualBasic的整型常数时,前面要加上的符号是_______。
A
A)&HB)&OC)HD)O
4、VisualBasic日期常量的定界符是_______。
A
A.##B.‘’C.()D.{}
二、运算符和表达式
算术运算符>=字符运算符>关系运算符>逻辑运算
1.算术运算符
2.字符串运算符有:
&、+。
功能是字符串连接
例:
"100"+123'结果为223
"100"+"123"'结果为100123
"Abc"+"123"'出错
"100"&123'结果为100123
100&123'结果为100123
"Abc"&"123"'结果为Abc123
"Abc"&123'结果为Abc123
注意:
使用运算符“&”时,变量与运算符“&”之间应加一个空格。
这是因为符号“&”还是长整型的类型定义符,如果变量与符号“&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。
3.关系运算的规则如下:
(1)当两个操作式均为数值型,按数值大小比较。
(2)字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。
例:
"ABCDE">"ABRA"结果为False
(3)数值型与可转换为数值型的数据比较,如:
29>"189",按数值比较,结果为False。
(4)数值型与不能转换成数值型的字符型比较,如:
77>"sdcd",不能比较,系统出错。
4.数学函数
Abs(N)Cos(N)Sin(N)Exp(N)
Log(N)Sqr(N)Rnd[(N)]Sgn(N)
(1)在三角函数中的自变量是以弧度为单位。
如:
sin300sin(3.14159/180*30)
(2)Rnd函数返回0~1(包括0和不包括1)之间的双精度随机数。
若要产生1-100的随机整数:
Int(Rnd*100)+1
提问:
怎样产生[a,b]区间的随机整数?
INT(RAND*(b-a+1))+a
5.转换函数
(1)要区别两个取整函数int()和fix()
Fix(N)为截断取整,即去掉小数后的数。
Int(N)不大于N的最大整数。
N>0与int(N)相同,当N<0时,int(N)与fix(N)-1相等。
例如:
Fix(9.59)=9,Int(9.59)=9Fix(-9.59)=-9,Int(-9.59)=-10
思考:
如何实现四舍五入取整?
Int(x+0.5)
(2)Asc("Abcd")值为:
65(只取首字母的Ascii值)
(3)Val("abc123")值为:
0,Val("1.2sa10")值为1.2
注意:
Val()函数只将最前面的数字字符转换为数值。
6.字符串操作函数
如果返回是字符型,则函数后有“$”字符。
当然一般也可以不写,习惯都写上。
例如:
len("Thisisabook!
")15
Left$("ABCDEFG",3)"ABC"
Mid$("ABCDEFG",2,3)"BCD"
InStr(2,“ABCDEFGEF”,“EF”)5(第一次出现的位置)
1、数学关系3≤x<10表示成正确的VB表达式为_______。
B
A.3<=x<10B.3<=xANDx<10
C.x>=3ORx<10D.3<=xAND<10
2、\,/,Mod,*四个算术运算符中,优先级别最低的是_______。
C
A.\B./C.ModD.*
3、下面语句中有非法调用的是_______。
C
A.x=SGN(-1)B.x=FIX(-1)
C.x=SQR(-1)D.x$=CHR$(65)
4、表达式23/5.8、23\5.8、23Mod5.8的运算结果分别是_______。
B
A.3、3.9655、3B.3.9655、3、5
C.4、4、5D.3.9655、4、3
5、如果变量a=2、b="abc"、c="acd"、d=5,则表达式acANDb<>c的值_______。
A
A.TrueB.FalseC.YesD.No
6、以下4类运算符,优先级最低的是_______。
D
A.算术运算符B.字符运算符C.关系运算符D.逻辑运算符
7、已知a="12345678",则表达式Left(a,4)+Mid(a,4,2)的值是_______。
B
A)123456B)"123445"C)123445D)1279
8、执行PRINT18/2*3,-3^2命令后,输出结果为_______。
C
A.39B.3-9
C.27-9D.-927
9、执行PRINT9.4\3.7,9.4MOD3.7命令后,输出结果为_______。
A
A.21B.30C.220D.12
10、运行以下程序后,输出结果为_______。
C
x%=1/4
y%=11/4
PRINTx%;y%
END
A.0.250.75B.02C.03D.13
11、设a=1,b=2,c=3,d=4,则表达式IIf(a
D
A.4B.3C.2D.1
12、表达式Int(198.555*100+0.5)/100的值为_______。
C
A.198B.199.6C.198.56D.200
13、要使变量x赋值为1~100间(含1,不含100)的一个随机整数,正确的语句是___D____。
A.x=Int(100*Rnd)B.x=Int(101*Rnd)
C.x=1+Int(100*Rnd)D.x=1+Int(99*Rnd)
14、VisualBasic表达式Cos(0)+Abs
(1)+Int(Rnd
(1))的值是_______。
D
A.1B.-1C.0D.2
15、表达式Int(5*Rnd+1)*Int(5*Rnd-1)值的范围是_______。
D
A.[0,15]B.[-1,15]C.[-4,15]D.[-5,15]
16、表达式Len("123程序设计ABC")的值是_______。
A
A.10B.14C.20D.17
17、赋值语句g=123+Mid("123456",3,2)执行后,变量g中的值是_______。
D
A)"12334"B)123C)12334D)157
18、如果x是一个正实数,对x的第3位小数四舍五入的表达式是_______。
B
A.0.01*Int(x+0.005)B.0.01*Int(100*(x+0.005))
C.0.01*Int(100*(x+0.05))D.0.01*Int(x+0.05)
19、下列程序的执行结果为______。
-9
A="1"
B="2"
A=Val(A)+Val(B)
B=Val("12")
IfA<>BThenPrintA-BElsePrintB-A
三、print方法的使用
形式:
[对象.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,]
作用:
在对象上输出信息
对象:
窗体、图形框或打印机(Pinter),省略对象在窗体上输出。
Spc(n)函数:
插入n个空格,允许重复使用。
Tab(n)函数:
左端开始右移动n列,允许重复使用。
;(分号):
光标定位上一个显示的字符后。
,(逗号):
光标定位在下一个打印区的开始位置处。
每个打印区占14列。
无;,换行。
开始打印的位置是由对象的CurrentX和CurrentX属性决定,缺省为打印对象的左上角0,0。
1、窗体里有两个对象,分别是图片框Picture1和标签Label1。
那么下面关于Print方法的使用中,错误的一条是_______。
D
A.Picture1.Print147B.Print147
C.Printer.Print147D.Label1.Print147
2、下面的_______语句可以实现:
先在窗体上输出大写字母A,然后在同一行的第10列输出小写字母b。
B
A.Print"A";Tab(9);"b"B.Print"A";Spc(8);"b"
C.Print"A";Space(10);"b"D.Print"A";Tab(8);"b"
3、阅读下面的程序段:
n1=InputBox("请输入第一个数:
")
n2=InputBox("请输入第二个数:
")
Printn1+n2
当输入分别为111和222时,程序输出为______。
A
A.111222B.222C.333D.程序出错
4、语句PrintFormat("HELLO","<")的输出结果是_______。
B
A.HELLOB.helloC.HeD.he
5、语句Print(a=2)And(b=-2)的输出结果是_______。
D
A.TrueB.结果不确定C.-1D.False
四、inputbox和msgbox两个特殊函数
6、用MSGBOX函数显示的对话框,以下叙述正确的是_______。
D
A)该对话框有一个“确定”按钮
B)该对话框有“是”,“否”两个按钮
C)该对话框有“是”,“否”,“取消”三个按钮
D)该对话框通过选择参数可以得到以上不同的的按钮组合
7、当函数MsgBox返回值为1,对应的符号常量是vbOK,那么此时表示用户做的操作是A
A.用户单击了对话框中的“确定”按钮
B.用户单击了对话框中的“取消”按钮
C.用户单击了对话框中的“是”按钮
D.用户单击了对话框中的“否”按钮
8、在VisualBasic中,InputBox函数的默认返回值类型为字符串,用InputBox函数输入数值型数据时,下列操作中可以有效防止程序出错的操作是_______。
A
A.事先对要接收的变量定义为数值型
B.在函数InputBox前面使用Str函数进行类型转换
C.在函数InputBox前面使用Value函数进行类型转换
D.在函数InputBox前面使用String函数进行类型转换
9、MsgBox函数的返回值的类型是_______。
A
A)整数 B)字符串 C)逻辑值 D)日期
五、选择结构
1.If…Then…Else语句(双分支结构)
If<表达式>Then
<语句块1>
Else
<语句块2>
EndIf
If<表达式>Then<语句1>Else<语句2>
2.If…Then…ElseIf语句(多分支结构)
形式:
If<表达式1>Then
<语句块1>
ElseIf<表达式2>Then
<语句块2>
…
[Else
语句块n+1]
EndIf
3.SelectCase语句(情况语句)
形式:
SelectCase变量或表达式
Case表达式列表1
语句块1
Case表达式列表2
语句块2
…
[CaseElse
语句块n+1]
EndSelect
<表达式列表>与<变量或表达式>同类型,为以下形式之一:
1).表达式A+5
2).一组枚举表达式(用逗号分隔)2,4,6,8
3).表达式1To表达式260to100
4).Is关系运算符表达式Is<60
1、若x=1,执行语句IfxThenx=0Elsex=1的结果是_______。
D
A.实时错误B.编译错误C.x=1D.x=0
2、下面分别是求两个数中的大数的四个程序段,_______不正确。
D
A)Max=IIf(x>y,x,y)B)Ifx>yThenMax=xElseMax=y
C)Max=xD)Ify>=xThenMax=y
Ify>=xThenMax=yMax=x
3、下列程序的执行结果为______。
2
A=75
IfA>60ThenI=1
IfA>70ThenI=2
IfA>80ThenI=3
IfA>90ThenI=4
PrintI
4、下列程序的执行结果为______。
1
A=75
IfA>60then
I=1
ElseIfA>70Then
I=2
ElseIfA>80Then
I=3
ElseIfA>90Then
I=4
EndIf
PrintI
5、在窗体的MouseUp事件中有下列程序代码:
Hello!
SelectCaseButton
Case1“Hello!
”
Print"Ok!
""Hello!
"
Case2
Print"Hello!
"
Case4
Print"Welcome!
"
EndSelect
运行此程序,当单击鼠标右键时,窗体显示______。
6、有如下程序,运行时从键盘输入4,则输出的结果是_______。
B
PrivateSubForm_Click()
a=InputBox("Enteeravalueofa:
")
SelectCasea
CaseIs>2
b=a+1
CaseIs>3
b=a+2
CaseIs>5
b=a+3
CaseElse
b=a+4
EndSelect
Printa;b
EndSub
A.44B.45C.46D.47
7、执行如下程序段时,从键盘输入-5,输出的结果是_______。
A
x=-5
s=Val(InputBox("请输入s的值:
"))
SelectCases
CaseIs>0
y=x+1
CaseIs=0
y=x+2
CaseElse
y=x+3
EndSelect
Printx;y
A.-5-2B.-5-4C.-5-3D.-5-5
8、设输入的数据分别为14、3时,标签Label1中显示的值分别是_______。
A
PrivateSubForm_Click()
DimaAsInteger
a=Val(InputBox("请输入一个数"))
SelectCaseaMod5
CaseIs<2
w=a+10
CaseIs<4
w=a*2
CaseElse
w=a-10
EndSelect
Label1.Caption=Str(w)
EndSub
A.4、6B.6、4C.24、6D.6、24
六、循环结构
(1)For循环变量=初值to终值[Step步长]
语句块
[ExitFor]
语句块
Next循环变量
(2)Do{While|Until}<条件>
语句块
[ExitDo]
语句块
Loop
(3)Do
语句块
[ExitDo]
语句块
Loop{While|Until}<条件>
(4)While<条件>
<循环块>
Wend
(一)循环过程中各变量值的变化(尤其是循环变量的值的变化)
1、下列程序段的循环结构执行后,i的输出值是_______。
C
DimyasInteger
Fori=1To10Step2
y=y+i
Nexti
Printi
A)25B)10C)11D)因为y初值不知道,所以不确定
2、以下程序运行的结果是_______。
D
Dima
a=Array(1,3,4,5,6,7)
Fori=LBound(a)ToUBound(a)
a(i)=a(i)*a(i)
Nexti
Printa(i)
A)49B)0C)不确定D)下标越界
3、下列程序输出结果为_______。
A
PrivateSubCommand1_Click()
Fori=1To3
GetValue(i)
Nexti
PrintGetValue(i)
EndSub
PrivateFunctionGetValue(ByValaAsInteger)
dimSAsInteger
S=S+a
GetValue=S
EndFunction
A.4B.5C.10D.11
4、以下程序段的执行结果是_______。
A
Fori=1To4
x=2
Forj=1To3
x=1
Fork=1To2
x=x+3
Nextk
Nextj
Nexti
Printx
A.7B.6C.56D.72
(二)循环条件的判断
5、下列循环能正常结束的是_______。
C
A.i=5B.i=1
DODO
i=i+1i=i+2
LoopUntili<0LoopUntili=10
C.i=10D.i=6
DODO
i=i+1i=i-2
LoopUntili>0LoopUntili=1
6、以下程序段的执行结果是_______。
B
a=10:
y=0
Do
a=a+2
y=y+a
Ify>20Then
ExitDo
EndIf
LoopWhilea<=14
Print"a=";a;"y=";y
A.a=18y=24B.a=14y=26
C.a=14y=24D.a=12y=12
7、以下循环的执行次数是______。
11
K=0
DoW