VB.docx
《VB.docx》由会员分享,可在线阅读,更多相关《VB.docx(22页珍藏版)》请在冰豆网上搜索。
VB
第一套
一、判断题
1、VisualBasic程序开发的特点是面向对象的事件驱动。
(√)
2、Print_Text是一个不合法的变量名。
(×)
3、窗体的AutoRedraw属性实现了屏幕图像的重建。
(√)
4、设置字体大小应使用Font属性(×)
5、Sub过程可以实现嵌套调用(√)
6、IIF函数中的三个参数都不能省略。
(√)
7、块结构条件语句以EndIf结束,而单行结构条件语句没有EndIF。
(√)
8、当终值小于初值时,步长为负数。
(√)
9、执行While-Wend循环时,如果一开始条件就不成立,则语句块一次也
不会执行。
(√)
10、关于数组的引用,在程序中,凡是简单变量可以出现的地方都可以出现数组元素的引用(√)
二、单项选择题
1.PrintFormat(123,”####”)执行之后的结果为
A)#123B)123C)123#D)####
【答案】B
2.下面可以表示注释语句开头的为
A)ReB)RC)RemD)dim
【答案】C
3.下列选项中窗体载入事件为
A)Load事件B)Click事件C)DblClick事件D)Unload事件
【答案】A
4.Timer控件可以使用下列哪种事件
A)Click事件B)Timer事件C)Dblclick事件D)Change事件
【答案】B
5.在InputBox函数中哪一个参数是必须的
A)PromptB)ButtonsC)TitleD)Context
【答案】A
6.以下叙述中错误的是:
A)如果过程被定义为Static类型,则该过程中的局部变量都是Static类型
B)Sub过程中不能嵌套定义Sub过程
C)Sub过程可以嵌套调用Sub过程
D)事件过程可以像通用过程一样由用户定义过程名
【答案】C
7.要填加一个标准模块,可使用“_____”菜单中的“添加模块”命令。
A)文件B)视图C)工程D)工具
【答案】C
8.在块结构条件语句If-Then/Endif中
(A)必须至少有一个Elseif语句
(B)可以有任意多个ElseIf-Then语句
(C)如果没有Else语句,运行时将出现错误
(D)给定的条件只能是关系表达式或逻辑表达式
【答案】B
9.以下Case语句中错误的是
(A)Case10To1
(B)CaseIs>10
(C)CaseIs>10,Is<50
(D)Case3,5,Is>10
【答案】A
10.对DoUntil…Loop循环,正确的是()。
A.如果循环条件为常数0,则一次循环也不执行
B.如果循环条件为常数0,则至少执行一次循环
C.如果循环条件是不为0的常数,则至少执行一次循环
D.无论循环条件是否为"True",则至少执行一次循环
【答案】B
11.语句Dimarr(-3To5,2To6)AsInteger定义的数组元素有_______个。
A)45B)40C)11D)54
【答案】A
12.下列关于OptionBase语句说法错误的是______D
A)OptionBase语句只能出现在窗体层或模块层
B)OptionBase语句不能出现在过程中
C)OptionBase语句必须位于数组的定义之前
D)OptionBase语句只对一维数组有效
【答案】D
13、VisualBasic的特点不包括下面的(A)
A不需编程B面向豆象的程序设计
C可视化程序设计D时间驱动的程序设计
14、从键盘上能够输入两个字符串,分别保存在变量str1、str2中。
确定第二个字符串在第一个字符串中起始位置的函数是(D)
ALeftBMid
CStringDInstr
15、如果将布尔常量值True赋值给一个整型变量,则整型变量的值为(B)
A0B-1
CTrueDfalse
16、下列符号常量的声明中,(C)是不合法的。
AConstaAsSingle=1.1BConstaAsInteger=“12”
CConstaAsDouble=Sin
(1)DConsta=”OK”
17、四个字符“E”,“y”,“B”,“8”的ASCII码值最大的是(B)
A“E”B“y”
C“B”D“8”
18、将变量k四舍五入保留2位小数的表达式是(C)
AInt((k+0.5)*100)/100BInt((k*100)/100)+0.5
CInt(k*100+0.5)/100DInt(k*(100+0.5))/100”
19、30.将数学表达式Cos2(a+b)+5e2写成VisualBasic的表达式,其正确的形式是(A)
A)Cos(a+b)^2+5*exp
(2)B)Cos^2(a+b)+5*exp
(2)
C)Cos(a+b)^2+5*ln
(2)D)Cos^2(a+b)+5*ln
(2)
20、在顺序文件中,当使用Write#语句时,文件打开的方式必须是(B)
AOutput和InputBOutput和Append
COutputDAppend
三、程序分析题
1.以下语句的输出结果是(注:
■表示一个空格)
a=123
b=456
Printa;b
A)123■456B)■123■456C)■123■456■D)■123■■456
【答案】D
2.下列程序执行的结果为
x=-6^2
PrintSgn(x)+Abs(x)+Int(x)
A)-36B)1C)-1D)-72
【答案】C
3.在窗体上画一个名称为Command1的命令按钮,一个名称为Label1的标签,然后编写如下的事件过程:
PrivateSubCommand1_Click()
s=0
Fori=0To15
X=2*i-1
IfXMod3=0Thens=s+1
Nexti
Label1.Caption=s
EndSub
程序运行后,单击命令按钮,则标签中显示的内容为
A)1B)5C)27D)45
【答案】B
4.在窗体上画一个名称为Command1的命令按钮,一个名称为Label1、Label2、Label3的标签,然后编写如下的事件过程:
PrivatexAsInteger
PrivateSubCommand1_Click()
StaticyAsInteger
DimzAsInteger
n=10
z=n+z
y=y+z
x=x+z
Label1.Caption=x
Label2.Caption=y
Label3.Caption=z
EndSub
运行程序后,连续三次单击命令按钮后,则三个标签中显示的内容分别是
A)101010B)303030C)303010D)1030
【答案】C
5.在窗体上画一个名称为Command1的命令按钮,一个名称为Label1、Label2的标签,然后编写如下的事件过程:
PrivatexAsInteger
PrivateSubCommand1_Click()
x=5:
y=3
CallProc(x,y)
Label1.Caption=x
Label2.Caption=y
EndSub
PrivateSubProc(ByValaAsInteger,ByValbAsInteger)
x=a*a
y=b+b
EndSub
运行程序后,则两个标签中显示的内容分别是
A)5和3B)25和3C)25和6D)5和6
【答案】B
6.下面程序段求两个数中的大数,不正确的是
(A)Ifx>yThenMax=xElseMax=y
(B)Max=IIf(x>y,x,y)
(C)Ify>=xThenMax=y
Max=x
(D)Ify>xThenMax=y
Max=x
【答案】D
7.如果x的值大于或等于y的立方,则打印“OK”,表示这个条件的单行格式的If语句是
A)Ifx>=y^3Print“OK”
B)Ifx>=y*y*yThen“OK”
C)Ifx>=y^3ThenPrint“OK”
D)Ifx>=y*y*yThenPrint“OK”EndIf
【答案】C
8.下列程序段执行结果为
x=5
y=-6
IfNotx<0Thenx=y-3Elsey=x+3
Printy-x;x-y
A)3-3
B)-95
C)-33
D)5-6
【答案】A
9.已知x的值,计算分段函数f(x),下面选项不正确的是
当x>=1,f(x)=;
当x<1,f(x)=x2+3
(A)SelectCasex
CaseIs<1
f=x^2+3
Caseelse
f=sqr(x+1)
EndSelect
(B)SelectCasex
Casex>=1
f=sqr(x+1)
Casex<1
f=x^2+3
EndSelect
(C)SelectCasex
CaseIs>=1
f=sqr(x+1)
CaseIs<1
f=x^2+3
EndSelect
(D)IFx>=1thenf=sqr(x+1)elsef=x^2+3
【答案】B
10.执行完下面的程序段后,循环执行了()次。
Fori=1.7To5.9Step0.9
a=a+1
Printa
NextI
A.3B.4C.5D.6
【答案】C
11.下列程序段的执行结果为()。
n=0
j=1
DoUntiln>2
n=n+1
j=j+n*(n+1)
Loop
Printn;j
A.01B.37C.321D.313
【答案】C
12.以下正确的For…Next结构是
(A)Forx=1To10
fory=1to10
…
Next
(B)Forx=1To10
fory=1to10
…
Nexty,x
(C)Forx=1To10
fory=1to10
Nextx
Nexty
(D)Forx=1To10
fory=1to10
…
Nextx,y
【答案】B
13.下列程序中,第一个Do语句共执行了()次循环。
DimiAsInteger,jAsInteger
i=1
Do
j=1
Do
Sum=Sum+j
j=j+2
Printj;
LoopUntilj>3
i=i+2
LoopUntili>10
PrintSum
A.10B.20C.5D.7
【答案】A
14.下列语句中,a是一个数组,则使用正确的是______
A)OptionBase2
B)Redima
C)Erasea
D)a=Array()
【答案】C
15.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
Dimarray1(10,10)AsInteger
DimiAsInteger,jAsInteger
Fori=1To3
forj=2To4
array1(i,j)=i+j
nextj
nexti
Text1.Text=arrry1(2,3)+array(3,4)
EndSub
程序运行后,单击命令按钮,在文本框中显示的值是______
A)12B)13C)14D)15
【答案】A
16.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
Dima(10,10)AsInteger
DimiAsInteger,jAsInteger
Fori=1To3
forj=1To3
a(i,j)=(i–1)*3+j
Printa(i,j);
nextj
Print
nexti
EndSub
程序运行后,单击命令按钮,窗体上显示的是______
A)123
246
369
B)234
345
456
C)147
258
369
D)123
456
789
【答案】D
17.设有如下程序:
OptionBase0
PrivateSubForm_Click()
Dima
DimiAsInteger
a=Array(1,2,3,4,5,6,7,8,9)
Fori=0To3
Printa(5–i);
Next
EndSub
程序运行后,单击窗体,则在窗体上显示的是______
A)4321B)5432C)6543D)7654
【答案】C
18.执行以下Command1的Click事件过程在窗体上显示_______。
PrivateSubCommand1_Click()
Dima
a=Array(“a”,”b”,”c”,”d”,”e”,”f,”,”g”)
Printa
(1);a(3);a(5)
EndSub
A)abcB)bdfC)aceD)出错
【答案】B
19、设有语句
Open"c:
\Test.Dat"ForOutputAs#1
则以下错误的叙述是(B)
A)该语句打开C盘根目录下一个已存在的文件Test.Dat
B)该语句在C盘根目录下建立一个名为Test.Dat的文件
C)该语句建立的文件的文件号为1
D)执行该语句后,就可以通过Print#语句向文件Test.Dat中写入信息
20、以下代码完成对顺序文件test1.txt追加打开的是(C)
A)Opentest1.txtForInputAs#1
B)Opentest1.txtForOutputAs#1
C)Opentest1.txtForAppendAs#1
D)Opentest1.txtForRedomAs#1
四、上机题
1.小王有存款A元,年利率为P,存储时间为T年.请编写一个程序计算本利合计。
(A、P、T均使用Inputbox输入)
2.求100以内的素数,素数是指一个数x除了1和它本身,不能被其他任何整数整除。
要求每行输出10个素数。
单击窗体,运行结果如图所示:
答案
在单击窗体的事件过程中添加代码,程序代码如下:
PrivateSubForm_click()
ConstN=100
Dimi,j,Line,a(N)AsInteger
Fori=0ToN-l'置初值
a(i)=i
Nexti
Fori=2ToSqr(N)
Forj=i+1ToN
Ifa(i)<>0Anda(j)<>0Then
Ifa(j)Moda(i)=0Thena(j)=0'能整除就赋0
EndIf
Nextj
Nexti
Print"显示出100以内的素数"
Fori=2ToN-1
Ifa(i)<>0Then
Printa(i);Spc
(1);
Line=Line+1
EndIf
IfLine<>0AndLineMod10=0ThenPrint'每行显示10个数
Nexti
EndSub
评分标准:
1、正确给数组赋值(2分)
2、正确判断素数(3分)
3、正确输出显示结果(2分)
4、文件存盘(2分)
5、程序结构合理、清晰(1分)
一、单项选择题(共10分)
1.在代码中引用一个控件时,应使用控件的()属性。
A.CaptionB.NameC.TextD.Index
2.设变量x=4,y=-1,a=7,b=-8,下面表达式()的值为“假”。
A.x+a<=b-yB.x>0ANDy<0
C.a=bORx>yD.x+y>a+bANDNOT(y
3.表达式Int(Rnd*71)+10产生的随机整数范围是()。
A.(10,80)B.(10,81)C.[10,80]D.[10,81]
4.函数Sgn(3.1416)的返回值是()。
A.-1B.0C.1D.以上都不对
5.67890属于()类型数据。
A.整型B.单精度浮点数C.货币型D.长整型
6.下列变量名中正确的是()。
A.3SB.PrintC.SelectMyNameD.Select_1
7.下列赋值语句()是有效的。
A.sum=sum-sumB.x+2=x+2C.x+y=sumD.last=y/0
8.以下的控件或方法具有输入和输出双重功能的为()。
A.PrintB.TextboxC.OptionbuttonD.Checkbox
9.若要获得列表框中被选中的列表项的内容,可以通过访问()属性来实现。
A.NameB.ListIndexC.ListCountD.Text
10.下列代码的运行结果为()。
PrivateSubcommand1_click()
Dimm(10)
Fork=1To10
m(k)=11-k
Nextk
x=5
Printm(2+m(x))
EndSub
A.2B.3C.4D.5
二、填空题(10分)
1.写出整数n能同时被13和17整除的Basic表达式。
2.代码窗口中有两个下拉列表框:
左侧是列表框,右侧是过程列表框。
3.写出在字符串”VisualBasic6.0”中截取”Visual”的Basic表达式。
4.函数Len(“abcdef”)的返回值是。
5.设a=2,b=5,c=-2,d=100,则a>b>=cANDa=d的值为。
6.要使标签的大小自动与所显示的文本相适应,可以通过设置属性为True来实现。
7.若要在一行书写多条语句,则各语句间应加分隔符,VisualBasic的语句分隔符为。
8.要强制显式声明变量,使用__________语句完成。
9.在VB中,用户定义常量使用语句,声明变量使用语句。
三、将下列数学表达式转换为VB表达式。
(6分)
1.a2+2ab+b2__________________________
2.__________________________
3.8exln10__________________________
4.2sin(450)cos(450)_______________________________
5.___________________________________________
6.___________________________________________
四、判断题,正确打“√”,错误打“×”(10分)
1.在VB中,控件的事件只能通过用户的操作触发。
()
2.字符型数据以双引号作为定界符,输出时双引号本身不会显示在屏幕上。
()
3.保存工程时,窗体文件和工程文件的文件名不能相同。
()
4.改变控件的大小,可以使用鼠标和键盘,还可以通过修改代码。
()
5.同一过程中,数组和简单变量可以同名。
()
6.VB函数中的参数可以是常量、变量、表达式,还可以是另一个函数。
()
7.代码ConstNumber1=15:
Number1=10合法。
()
8.允许将块If-Then语句结构中的所有语句都写在一行上()
9.定义数组语句Dima(b)AsInteger是正确的()
10.在过程调用中,“实参表”和“形参表”中对应的变量名不必相同,但是变量的个数必须相等,而且实际参数的类型必须与相应形式参数的类型相符。
()
五、根据题意,将下列程序补充完整。
(16分)
1.产生20个[10,100]之间的随机整数,每行输出10个数据。
PrivateSubcommand1_click()
Dima(1To20)AsInteger
Randomize
i=0
DoWhilei<20
i=i+1
a(i)=()
If()Then
Printa(i);
EndIf
Ifi=10ThenPrinta(i)
Ifi>10ThenPrinta(i);
Loop
EndSub
2.打印九九乘法表
PrivateSubcommand1_click()
Fori=1To9
Forj=1To9
Print()
Nextj
Print
()
EndSub
3.判断一个数是否素数
PrivateSubcommand1_click()
x=InputBox("请输入一个整数")
flag=1
Fori=2To()
IfxModi=0Then
flag=0
EndIf
Nexti