VB复习习题练习一.docx
《VB复习习题练习一.docx》由会员分享,可在线阅读,更多相关《VB复习习题练习一.docx(36页珍藏版)》请在冰豆网上搜索。
VB复习习题练习一
练习一
一、单选题
◆一个完整计算机系统应包括___
(1)____。
(A)主机、键盘、和显示器(B)硬件系统和软件系统
(C)主机和其他外部设备(D)系统软件和应用软件
◆打印机属于计算机部件中的___
(2)___。
(A)输出设备(B)输入设备(C)存储设备(D)缓冲设备
◆下列表示存储容量的数据中,____(3)____是最大的。
(A)20480KB(B)1.44MB(C)1GB(D)4865723Byte
◆在计算机内部能够直接执行的程序语言是___(4)____。
(A)数据库语言 (B)高级语言(C)机器语言 (D)汇编语言
◆下列叙述正确的是___(5)____。
(A)程序设计就是编制程序 (B)程序的测试必须由程序员自己去完成
(C)程序经调试改错后还应进行再测试(D)程序经调试改错后不必进行再测试
◆以下叙述中错误的是___(6)___。
(A)VisualBasic是事件驱动型可视化编程工具
(B)VisualBasic应用程序不具有明显的开始和结束语句
(C)VisualBasic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性
(D)VisualBasic中控件的某些属性只能在运行时设置
◆以下不属于VB工作模式的是___(7)___模式。
(A)编译(B)设计(C)运行(D)中断
◆以下语句的输出结果是___(8)___。
PrintFormat$(32548.5,“000,000.00”)
(A)32548.5(B)32,548.5(C)032,548.50(D)32,548.50
◆若要使某可见控件获得焦点,则可使用___(9)_____方法来实现。
(A)Refresh(B)SetFocus(C)Value(D)GotFocus
◆在下列说法中,正确的是___(10)___。
(A)通过适当的设置,可以在程序运行期间,让时钟控件显示在窗体上
(B)在列表框中不能进行多项选择
(C)VB系统不能在列表框中自动实现将项目按字母顺序从大到小排列
(D)复选框的Value属性值为布尔型
◆执行以下程序段,输出的结果为___(11)___。
a$="abbacddcba"
Fori=6To2Step-2
x=Mid(a,i,i):
y=Left(a,i)
z=Right(a,i):
z=UCase(X&Y&z)
Nexti
Printz
(A)ABA(B)BBABBA(C)ABBABA(D)AABAAB
◆控件在窗体上的位置是由___(12)___属性确定的。
(A)Width和Height(B)Top和Left(C)Width和Left(D)Top和Width
◆关于Name属性,以下叙述中___(13)___是正确的。
(A)窗体的Name属性指定窗体的名称,用于标识一个窗体。
(B)窗体的Name属性用于设置显示在窗体标题栏的文本。
(C)可以通过代码在程序运行中改变某个对象的Name属性值。
(D)对象的Name属性值可以设置为空。
◆下列名称中___(14)___可以作为VB的变量名。
(A)mod(B)m-d(C)tempVal(D)left
◆要求出变量x和y中较大的一个并保存在变量Max中,下面的程序段中___(15)___是不正确的。
(A)Max=IIf(x>y,x,y)
(B)Ifx>yThenMax=xElseMax=y
(C)Max=x
Ify>=xThenMax=y
(D)Ify>xThenMax=y
Max=x
◆执行以下语句后,a的值为___(16)___
DimaAsInteger
a=1
DoUntila=100
a=a+2
Loop
(A)102(B)100(C)溢出(D)101
◆对于语句Ifa=bThenc=d的语法分析,___(17)___是正确的。
(A)a=b和c=d都是赋值语句(B)a=b是关系表达式,c=d是赋值语句
(C)a=b和c=d都是关系表达式(D)a=b是赋值语句,c=d是关系表达式
◆运行下列程序段,单击两次命令按钮,则第二次单击时窗体中显示的结果是__(18)__。
PrivateSubCommand1_Click()
DimaAsInteger
StaticbAsInteger
a=a+5:
b=b+5
Printa,b
EndSub
(A)510(B)55(C)1010(D)00
◆在系统默认的情况下,Dima(3,4,2To5)定义的数组共有___(19)___个元素。
(A)36(B)48(C)60(D)80
◆下面的子过程定义语句中没有语法和逻辑错误的是___(20)___。
(A)SubS1(ByValn%())(B)SubS1(nAsInteger)AsInteger
(C)FunctionS1(ByValnAsInteger)(D)FunctionS1%(ByValS1AsInteger)
◆执行了下面程序后,组合框中数据项的值是___(21)___。
PrivateSubForm_Click()
Fori=1to6
Combo1.AddItemi
Nexti
Fori=1to3
Combo1.RemoveItemi
Nexti
EndSub
(A)156(B)135(C)456(D)246
◆设窗体上有一个列表框控件List1,且其中含有若干列表项。
则以下能表示当前被选中的列表项内容的是__(22)___.
(A)List1.ListB)List1.ListIndex(C)List1.Index(D)List1.Text
◆在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程:
PrivateSubCommand1_Click()
n=Val(Text1.Text)
Fori=2Ton
Forj=2Tosqr(i)
IfiModj=0ThenExitFor
Nextj
Ifj>Sqr(i)ThenPrinti
Nexti
EndSub
该事件过程的功能是__(23)__
(A)输出n以内的奇数(B)输出n以内的偶数
(C)输出n以内的素数(D)输出n以内能被j整除的数
◆如果要在菜单中添加一个分隔线,则应将其标题属性设置为___(24)_____。
(A)=(B)*(C)&(D)-
◆以下关于文件的叙述中正确的是__(25)__。
(A)一个记录中所包含的各元素的数据类型都是相同的
(B)随机文件中每个记录的长度是固定的
(C)Open命令的作用是打开一个已经存在的文件
(D)使用Input#语句可以从随时机文件中读取数据
◆以下定义数组或给数组元素赋值的语句中,正确的是__(26)__。
(A)DimaAsVariant(B)Dima(10)AsIntegera=Array(1,2,3,4,5)a=Array(1,2,3,4,5)(C)Dima%(10)(D)Dima(3),b(3)AsIntegera
(1)="ABCDE"a(0)=0:
a
(1)=1:
a
(2)=2:
b=a
窗体中有一个命令按钮,编写如下程序,程序运行后,输出结果为___(27)___。
PrivateSubtest(p,m,n)
p=p+1:
m=m+1:
n=n+1
Print“Sub:
”;p;m;n
EndSub
PrivateSubCommand1_Click()
a1=1:
b1=2:
c1=3
Calltest(a1,b1+3,(c1))
Print“Main:
”;a1;b1;c1
EndSub
(A)Sub:
264
Main:
264
(B)Sub:
264
Main:
164
(C)Sub:
264
Main:
123
(D)Sub:
264
Main:
223
◆以下语句用于打开一个顺序文件Open"C:
\MyFile.txt"ForOutPut,但是该语句的一个重要错误是没有___(28)_____。
(A)指定打开方式(B)指定文件号(C)指定打开文件名(D)指定文件类型
◆
PrivateSubTimer1_Timer()
IfLabel1.LeftLabel1.Left=Label1.Left+20
Else
Label1.Left=0
EndIf
EndSub
在窗体上画一个名称为Label1、标题为“VisualBasic考试”的标签,两个名称分别为Command1和Command2、标题分别为“开始”和“停止”的命令按钮,然后画一个名称为Timer1的计时器控件,并把其Interval属性设置为500。
编写如下程序:
PrivateSubForm_Load()
Timer1.Enabled=False
EndSub
PrivateSubCommand1_Click()
Timer1.Enabled=True
EndSub
程序运行后,单击“开始”按钮,标签在窗体中移动。
对于这个程序,以下叙述中错误的是___(29)___
(A)标签的移动方向为自右向左
(B)单击“停止”按钮后再单击“开始”按钮,标签从停止的位置继续移动
(C)当标签全部移出窗体后,将从窗体的另一端出现并重新移动
(D)标签按指定的时间时隔移动
◆设有如下程序,通过For循环计算一个表达式的值,这个表达式是___(30)____:
PrivateSubCommand1_Click()
DimsumAsDouble,xAsDouble
sum=0:
n=0
Fori=1To5
x=n/i:
n=n+1:
sum=sum+x
Next
EndSub
(A)1+1/2+2/3+3/4+4/5(B)1+1/2+2/3+3/4
(C)1/2+2/3+3/4+4/5(D)1+1/2+1/3+1/4+1/5
二、填空题
◆VisualBasic中有三种类型的模块文件,即类模块、标准模块和___[1]___模块。
◆将数学式
写成VB表达式,应该是___[2]____。
◆赋值语句:
a=123+MID("123456",3,2)执行后,a变量中的值__[3]____。
◆VisualBasic提供的对数据文件的三种访问方式为顺序访问方式、___[4]____
和二进制访问方式。
◆执行下列语句序列,显示的结果是___[5]___。
a=2:
b=3:
c=4:
d=5
Print3>2*bOra=cAndb<>cOrc>d
◆运行下列程序,单击命令按钮,则Text1中显示___[6]___,窗体中显示___[7]___。
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger,a(5,4)AsInteger
Fori=2To3
Forj=2To4
a(i,j)=i+j
Nextj
Nexti
Text1.Text=a(3,2)
Printa(3,1)
EndSub
◆如下图,窗体上有两个命令按扭C1,C2及一个文本框Text1,当按下C1时,将C2的标题与Text1中的内容交换。
C2
C1
PrivateSubC1_Click()
DimaAsString
Form1.Caption="交换后"
a=___[8]____
Text1.Text=___[9]____
C2.Caption=a
EndSub
◆
请完善以下判断完数的程序。
一个数如果恰好等于它的因子之和,这个数就被称为“完数”。
一个数的因子是指除了该数本身以外能够被其整除的数。
例如6是一个完数,因为6=1+2+3。
PrivateSubCmdJudge_Click()
If___[13]____Then
Picture1.Printm&"是完数"
Picture1.Printm;"=";
Fori=1ToUBound(a)-1
Picture1.Printa(i);"+";
Nexti
Picture1.Print___[14]___
Else
Picture1.Printm&"不是完数"
EndIf
EndSub
Dima()
m=Val(Text1.Text)
ReDima
(1)
a
(1)=1
k=___[10]___
j=1
Fori=2Tom-1
IfmModi=0Then
k=k+i'因数和
j=j+1'因数个数
ReDim___[11]___a(j)
a(j)=___[12]____
EndIf
NextI(转右)
◆
编写程序。
在窗体上显示如下图所示的“九九加法表”。
___[15]___Explicit
PrivateSubForm_Click()
Dimi%,j%
Print"+123456789"
Fori=1To___[16]____
Printi;
Forj=1To___[17]____
Ifi+j<10___[18]__Print"";
Print_[19]__;
Nextj
___[20]____
Nexti
EndSub
◆在窗体上画一个名称为Command1的命令按钮,然后编写如下程序,通过调用过程Swap,调换数组中数值的存放位置,即a
(1)与a(10)的值互换,a
(2)与a(9)的值互换,……,a(5)与a(6)的值互换。
请填空
OptionBase1
PrivateSubCommand1_Click()
Dima(10)AsInteger
Fori=1To10
a(i)=i
Next
CallSwap(___[21]___)
Fori=1To10
Printa(i);
Next
EndSub
SubSwap(b()AsInteger)
n=___[22]___
Fori=1Ton/2
t=b(i)
b(i)=b(n)
b(n)=t
___[23]___
Next
EndSub
◆设当前文件夹已有文件t1.txt和t2.txt,其中各有若干文字。
现要将t2.txt的内容合并到t1.txt中。
例如t1.txt原来内容为"ABCD",t2.txt原来内容为"1234",合并后t1.txt的内容将成为“ABCD1234”
PrivateSubCommand1_Click()
Open"t1.txt"____[24]____As#1
Open"t2.txt"ForInputAs#2
DoWhileNotEOF
(2)
LineInput#2,s
____[25]____
Loop
Close
EndSub
三、编程题
1.编写一个自定义函数Gcd(m,n),实现求m和n两个正整数的最大公约数。
2.在文本框Text1中输入一串字符,用标签Label1显示其中出现频率最高的字母(不区分大小写)及其出现次数。
例如:
输入“Thisisabeautifulworld.”则输出“使用频率最高的是i,共出现3次。
”
参考答案:
一、选择题
1
2
3
4
5
6
7
8
9
10
B
A
C
C
C
C
A
C
B
C
11
12
13
14
15
16
17
18
19
20
B
B
A
C
D
C
B
A
D
C
21
22
23
24
25
26
27
28
29
30
B
D
C
D
B
A
D
B
A
C
二、填空题
1、窗体2、Sqr(y^3+3/abs(a*b))3、157
4、随机访问方式5、False或06、5
7、08、Text1.Text9、C2.Caption
10、1或a
(1)11、Preserve12、i
13、k=m14、a(i)或a(UBound(a))15、Option
16、917、I18、then
19、i+j20、Print21、a()或a22、Ubound(b)或10
23、n=n-1或n=10–I24、ForAppend25、Print#1,s或Write#1,s
三、编程题
1、
FunctionGcd(ByvalmAsInteger,ByvalnAsInteger)AsInteger
r=mModn
Ifr=0Then
Gcd=n
Else
Gcd=Gcd(n,mModn)
Loop
r=mModn
DoUntilr=0
m=n
n=r
r=mModn
Loop
Gcd=n
DimrAsInteger
Do
r=mModn
m=n
n=r
LoopUntilr=0
Gcd=m
EndFunction
红部分代码可以换成蓝色或者黑色的代码。
2、
OptionBase1
PrivateSubCommand1_Click()
DimA(26)AsInteger
DimmaxAsInteger
s=Text1.Text
L=Len(s)
Fori=1ToL
ch=UCase(Mid(s,i,1))
Ifch>="A"Andch<="Z"Then
Idx=Asc(ch)-Asc("A")+1
A(Idx)=A(Idx)+1
EndIf
Nexti
max=A
(1)
Fori=1To26
IfA(i)>maxThenmax=A(i):
x=i
Nexti
Label1.Caption="使用频率最高的是"&Chr(x+64)&",共出现"&max&"次。
"
EndSub
练习二
一、单选题
1、用______属性可唯一标志控件数组中的某一个控件。
A)NameB)IndexC)CaptionD)Tablndex
2、算法的时间复杂度是指________。
A)执行算法程序所需要的时间B)算法程序的长度
C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数
3、下列哪条语句是错的_______。
A)exitsubB)exitfunctionC)exitwhileD)exitdo
4、下列叙述中正确的是_______。
A)在窗体的FormLoad事件过程中定义的变量是全局变量
B)局部变量的作用域可以超出所定义的过程
C)在某个Sub过程中定义的局部变量可以与其他事件过程中定义的局部变量同名,但其作用域只限于该过程
D)在调用过程中,所有局部变量被系统初始化为0或空字符串
5、对建立良好的程序设计风格,下面描述正确的是_______。
A)程序应简单、清晰、可读性好B)符号名的命名要符合语法
C)充分考虑程序的执行效率D)程序的注释可有可无
6、设在菜单编辑器中定义了一个菜单项,名为menu1。
为了在运行时隐藏该菜单项,应使用的语句是_______。
A)menu1.Enabled=TrueB)menu1.Enabled=False
C)menu1.Visible=TrueD)menu1.Visible=False
7、图像框有一个属性,可以自动调整图像框的大小,以适应图像的尺寸,这个属性是___。
A)AutoSizeB)StretchC)AutoRedrawD)Appearance
8、大部分控件都没有的属性是_______。
A)TopB)NameC)VisibleD)Interval
9、在代码中定义了一个子过程:
SubP(a,b)
…
EndSub
下面_______调用该过程的格式是正确的。
A)CallPB)CallP10,20C)CallP(10,20)D)P(10,20)
10、将一个窗体设置为MDI子窗体的方法是________。
A)将窗体的名称改为MDIB)将窗体的MDIChild属性设为True
C)将窗体的MDIChild属性设为FalseD)将窗体的Enabled属性设为False
11、在程序运行期间,如果拖动滚动条上的滚动框,则触发的滚动条事件是______。
A)MoveB)ChangeC)ScrollD)GetFocus
12、表达式4+5\6*7/8Mod9的值是______。
A)4B)5C)6D)7
13、在VisualBasic中,下列____是合法的变量名。
A)RemB)2ndC)LoapD)Sum
14、对象的三个要素是:
____。
A)属性、方法、事件B)色彩、高度、宽度
C)事件、属性、色彩D)属性、高度、宽度
15、窗体模块文件的扩展名是:
____。
A)frmB)basC)vbpD)txt
16、VisualBasic逻辑运算符Xor、0r、Not、And中,级别最高的运算符是______。
A)XorB)OrC)NotD)And
17、InputBox函数返回值的类型为_______。
A)数值B)字符串C)变体D)数值或字符串(视输入