VB分章练习题.docx
《VB分章练习题.docx》由会员分享,可在线阅读,更多相关《VB分章练习题.docx(45页珍藏版)》请在冰豆网上搜索。
VB分章练习题
第一章练习题
1.对于窗体,下面(D)属性在程序运行时其属性设置起作用。
(A)MaxButton(B)BorderStyle(C)Name(D)Left
2.要使Print方法在Form_Load事件中起作用,要对窗体的(C)属性进行设置。
(A)BackColor(B)ForeColor(C)AutoRedraw(D)Caption
3.要使标签控件显示时不覆盖其背景内容,要对(D)属性进行设置
(A)BackColor(B)ForeColor(C)BorderStyle(D)BackStyle
4.要使命令按钮不可操作,要对(A)设置
(A)Enabled(B)Visible(C)BackColor(D)Caption
5.文本框没有(D)属性
(A)Enabled(B)Visible(C)BackColor(D)Caption
6.不论何控件,共同具有的是(B)属性
(A)Text(B)Name(C)ForeColor(D)Caption
7.要使Form1窗体的标题栏显示”欢迎使用VB”,以下(A)语句正确。
(A)Form1.Caption=”欢迎使用VB”
(B)Form1.Caption=’欢迎使用VB’
(C)Form1.Caption=欢迎使用VB
(D)Form1.Caption=”\欢迎使用VB”
8.要使某控件在运行时不可显示,应对(B)进行设置
(A)Enabled(B)Visible(C)BackColor(D)Caption
9.要使窗体在运行时不可以改变窗体的大小和没有最大,最小化按钮,只要对下面(B)进行设置。
(A)MaxButton(B)BorderStyle(C)Width(D)MinButton
10.当运行程序时候,系统自动执行启动窗体的(A)事件过程
(A)Load(B)Click(C)Unload(D)GotFocus
11.当文本框的ScrollBars属性设置了非零值,却没有效果,原因为B
(A)文本框中没有内容
(B)文本框的MultiLine属性为False
(C)文本框的MultiLine属性为True
(D)文本框的Locked属性为True
12..要判断在文本框时否按了Enter键,应在文本框的(D)事件中判断
(A)Change(B)KeyDown(C)Click(D)KeyPress
13.在VB集成环境创建VB应用程序时,除了工具箱窗口,窗体中的窗口,属性窗口外,必不可少的窗口是(C)
(A)窗体布局窗口(B)立即窗口(C)代码窗口(D)监视窗口
14.保存新建的工程时,默认的路径是(B)
(A)MyDocuments(B)VB98(C)\(D)Windows
15.当需要上下文帮助时,选择要帮助的“难题”,然后按(D)键,就可以出现MSDN窗口及所需帮助信息。
(A)Help(B)F10(C)Esc(D)F1
16.进入VB集成环境,发现美有显示“工具箱”,应选择()菜单的()选项,使“工具箱”窗口显示。
17.要使新建工程时,在模块的“通用声明”段自动加入OptionExplicit语句,应对()菜单的()的()选项卡进行相应的选择。
18.刚建立工程时,使窗体上的所有控件具有相同的字体格式,应对()的()属性设置。
19.当对文本框的ScrollBar的属性设置为2,但美有滚动条显示,是因为没有对(multiline)属性设置为True的原因
20.当对命令按钮的Picture属性装入.bmp图形文件后,选项按钮上并美有显示所需的图形,原因是没有对(style)属性设置为1
21.若已建立了Form1,Form2两个窗体,默认启动窗体为Form1.通过()菜单的()的()选项卡,可将启动窗体设置为Form2,在程序中若要显示Form1窗体,则要执行(form1.show)语句。
22.在文本框中,通过(selstart)属性能获得当前插入点所在的位置。
23.要对文本框中已有的内容进行编辑,按下键盘上的按键,就是不起作用,原因是设置了(locked)的属性为True
24.在窗体上已建立了多个控件如Text1Label1Command1若要使程序已运行焦点就定位在Command1控件上,应对Command1控件设置(TabIndex)属性的值为(0)
第二章练习题
1.在一个语句内写多条语句时,每个语句之间用(B)符号分隔。
(A),(B):
(C)、(D);
2.一句语句要在下一行继续写,用(C)符号作为续行符。
(A)+(B)-(C)_(D)…
3.下面(A)是合法的变量名。
(A)X_YZ(B)123ABC(C)integer(D)X-Y
4.下面(D)是不合法的整常数。
(A)100(B)&O100(C)&H100(D)%100
5.下面(B)是合法的字符常数。
(A)ABC$(B)”ABC”(C)’ABC’(D)ABC
6.下面(D)是不合法的单精度型常数
(A)100!
(B)100.0(C)1E+2(D)100.0D+2
7.下面(A)是合法的单精度型变量
(A)num!
(B)sum%(C)xinte$(D)mm#
8.表达式16/4-2^5*8/4MOD5\2的值为(B)
(A)14(B)4(C)20(D)2
9.数学关系3<=x<10表示成正确的VB表达式为(B)
(A)3<=X<10(B)3<=XANDX<10
(C)X>=3ORX<10(D)3<=XAND<10
10.\、/、MOD、*四个算术运算符中,优先级别最低的是(C)
(A)\(B)/(C)MOD(D)、
11.与数学表达式
对应,VB的不正确表达式是(D)
(A)a*b/(3*c*d)(B)a/3*b/c/d(C)a*b/3/c/d(D)a*b/3*c*d
12.Rnd函数不可能为下列(B)值
(A)0(B)1(C)0.1234(D)0.0005
13.Int(198.555*100+0.5)/100的值为(C)
(A)198(B)199.6(C)198.56(D)200
14.已知A$=”12345678”则表达式Val(Left$(A$,4)+Mid(A$,4,2))的值为(B)
(A)123456(B)123445(C)8(D)6
15.PrintDateAdd(“m”,1,#1/30/2000#)语句显示的结果是(A)
(A)00-2-29(B)00-2-28(C)00-2-30(D)00-1-31
16.表达式DateDiff(“y”,#12/30/1999#,#1/13/2000#)的结果是(C)
(A)1(B)11(C)14(D)99
17.表达式Len(“123程序设计ABC”)的值为(A)
(A)10(B)14(C)20(D)17
18.表达式LenB(“123程序设计ABC”)的值为(C)
(A)10(B)14(C)20(D)17
19.下面正确的赋值语句是(C)
(A)X+Y=30(B)Y=π*R*R(C)Y=X+30(D)3*Y=X
20.为了给X,Y,Z三个变量赋值为1,下面正确的赋值语句是(A)
(A)X=1:
Y=1:
Z=1(B)X=1,Y=1,Z=1
(C)X=Y=Z=1(D)XYZ=1
21.赋值语句:
A=123+MID(“1234356”,3,2)执行后,A变量的值为(D)
(A)”12334”(B)123(C)12334(D)157
22.赋值语句:
A=123&MID(“1234356”,3,2)执行后,A变量的值为(A)
(A)”12334”(B)123(C)12334(D)157
21.在VB中,1234,1234&,1.2346E+5,1.2346D+5四个常数分别表示(),(),(),()类型。
22.表示X是5的倍数或是9的倍数的表达式为()
23.已知A=3.5,B=5.0,C=2.5,D=True则表达式:
A>=0ANDA+C>B+3ORNOTD的值为()
24.int(-3.5),int(3.5),fix(-3.5),fix(3.5),round(-3.5),round(3.5)的值分别为多少()
()()()()()
25.表达式Ucase(Mid(“abcdefgh”,3,4))的值为()
26.计算离你毕业还有多少个星期的函数表达式为()(假定毕业日期为7/1/2007)
第三章练习题
1.下面程序运行后的结果为()
x=int(rnd)+3
ifx^2>8theny=x^2+1
ifx^2=9theny=x^2-2
ifx^2<8theny=x^3
printy
2.下面程序的功能为()
Dimn%,m%
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13then
IfIsNumeric(Text1)then
SelectCaseText1Mod2
Case0
N=n+text1
Case1
M=m+text1
EndSelect
Endif
Text1=””
Text1.SelFocus
Endif
EndSub
3.程序添空
Dimcount1%
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
If()=”(“then
Count1=count1+1
Elseif()=”)”then
()
endif
ifkeyascii=13then
if()then
Print“左右括号配对“
Elseif()then
Print“左括号多于右括号”;count1;“个”
Else
Print“右括号多于左括号”;-count1;“个”
Endif
Endif
Endsub
4.输入字符,统计有多少个元音字母,有多少其他字母,直到按了回车键结束并显示结果。
大小写不区分。
DimCounty%,countc%
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
Dimc$
C=()
If“A”<=CANDC<=”Z”then
SelectCase()
Case()
County=county+1
Case()
Countc=countc+1
Endselect
Endif
Ifthen()
Print“元音字母有”;county:
“个”
Print“其他字母有”;countc;“个”
Endif
Endsub
第四章练习题
1.以下()式正确的FOR….NEXT的结构
(A)forx=1tostep10(B)forx=3to–3step-3
…..……
nextxnextx
(C)forx=1to10(D)forx=3to10step3
re:
…….…….
Nextxnexty
IfI=10thengotore
2.以下循环能正常结束的是()
(A)I=5(B)I=1
DoDo
I=I+1I=I+2
LoopuntilI<0loopuntilI=10
(C)I=10(D)I=6
dodo
I=I+1I=I-2
LoopuntilI>0loopuntilI=1
3.下面程序运行的结果为()
forI=3to1step–1
printspc(5-I);
forj=1to2*I-1
print“*”;
nextj
print
nextI
(A)*(B)*****(C)*****(D)*****
************
********
4.当在文本框输入“ABCD”四个字符时候,窗体上显示的是()
privatesubtext1_change()
printtext1;
endsub
(A)ABCD(B)A(C)AABABCABCD(D)A
BAB
CABC
DABCD
5.那个程序不能正确表示1!
,2!
,3!
,4!
的值()
(A)ForI=1to4(B)ForI=1to4
N=1forj=1toi
Forj=1toIn=1
N=n*jn=n*j
Nextjnextj
Printnprintn
NextinextI
(C)n=1(D)n=1
forj=1to4j=1
n=n*jdowhilej<=4
printnn=n*j
nextjprintn
j=j+1
loop
6.要使下列FOR语句循环执行20次,循环变量的初值应当为()
Fork=()to-5step-2
7.下面程序段显示()个“*”
ForI=1to5
Forj=2toI
Print“*”
Nextj
Nexti
8.以下程序运行后。
Si,sj,sk,I,j,k的结果分别为()
Privatesubcommand1_click()
Si=0:
sj=0
ForI=1to3
Forj=1toI
Sk=0
Fork=jto3
Sk=sk+1
Nextk
Sj=sj+1
Nextj
Si=si+1
NextI
Printsi,sj,sk,I,j,k
Endsub
9.下面程序运行后的结果为()
Privatesubcommand1_click()
ForI=0to3
Printtab(4*I+1);”2”+I;”2”&I;
NextI
Endsub
10.程序运行结果()
Privatesubcommand1_click()
A$=”*”:
b$=”$”
ForI=1to4
IfImod2=0then
X$=string(len(a$)+I,b$)
Else
X$=string(len(a$)+I,a$)
Endif
Printx$;
NextI
Endsub
11.输入字符,要求将字符顺序倒置。
Privatesubcommand1_click()
Dima$,I%,c$,d$
A=inputbox$(“inputchar”)
N=()
ForI=1to()
C=mid(a,I,1)
mid(a,I,1)=()
()=c
nextI
printa
endsub
12.找出被3,5,7除,余数为1的最小的5个正整数。
Privatesubcommand1_click()
Dimcountn,n
Countn=0
N=1
Do
N=n+1
If()then
Printn
Countn=countn+1
Endif
Loop()
Endsub
13.猴子每天吃掉的桃子是所有桃子的一半多一个,到第七天发现只剩下一个了,问最开始有几个桃子?
Privatesubcommand1_click()
Dimn,I
X=1
ForI=6to1step–1
()
nextI
print“原来共有”;x;”个桃子”
endsub
14.键盘输入一个正整数,找除大于或等于该数的第一个素数。
Privatesubcommand1_click()
Dimm,x,tagasBoolean
Tag=false
X=inputbox(“inputnum”)
Dowhilenottag
M=2:
tag=()
Dowhiletagand(m<(x\2))
Ifxmodm=0then()else()
Loop
Ifnottagthenx=x+1
Loop
Printx
Endsub
15.将一个正整数分解为质因数乘积。
如,234=2*3*3*13
Privatesubcommand1_click()
Dimn,factor,firstasBoolean
N=inputbox(“inputnum”)
Factor=2
First=true
Do
Dowhile()
Iffirstthen
Printn;“=”;factor;
Else
Print“*”;factor;
Endif
()
first=false
loop
factor=factor+1
loopuntilfactor>n
endsub
第五章练习题
1.运行结果为()
dima
a=array(1,2,3,4,5,6,7)
forI=Lbound(a)toubound(a)
A(I)=A(I)*A(I)
NextI
Printa(i)
2.运行结果为()
optionbase1
privatesubcommand1_click()
dima(3,3)
forI=1to3
forj=1to3
ifj>1andI>1then
a(I,j)=a(a(I-1,j-1),a(I,j-1))+1
else
a(I,j)=I*j
endif
printa(I,j);”“;
nextj
print
nextI
endsub
3.运行结果为()
optionbase1
privatesubcommand1_click()
dima,b(3,3)
a=array(1,2,3,4,5,6,7,8,9)
forI=1to3
forj=1to3
b(I,j)=a(I*j)
if(j>=I)thenprinttab(j*3);b(I,j);
nextj
print
nextI
endsub
4.随机产生6位学生的分数(范围1-100),存放在数组a中,以每2分一个“*”显示。
如图:
Privatesubcommand1_click()
Dima(1to6)
ForI=1to6
A(I)=()
Print()
NextI
Endsub
5.输出大小可变的正方形图案,最外圈是第一层,要求每层上用的数字与层数相同。
OptionBase1
Privatesubform_click()
Dima()
N=inputbox(“inputN”)‘本例N为9
()
forI=()‘每一层图案上要显示的数字
forj=Iton-I+1‘数组中元素存放对应的数字
fork=Iton-I+1
()
nextk
nextj
nextI
forI=1ton
forj=1ton
printtab(j*3);a(I,j);
nextj
()
nextI
endsub
6.在一维数组中利用移位的方法显示如图结果
Privatesubform_click()
Dima(1to7)
ForI=1to7
A(i)=I:
printa(i);
NextI
Print
ForI=1to7
T=()
Forj=6to1()
()
nextj
a
(1)=t
forj=1to7
printa(j);
nextj
print
nexti
endsub
7.矩阵转置(就是行列互换),矩阵的值为30-80之间。
Optionbase1
Privatesubcommand1_click()
Dima%(2,3),b(3,2),I%,j%,n%
N=5
ForI=1to2
Forj=1to3
()‘赋初值
printa(I,j)
nextj
print
nextI
forI=1to3
forj=1to2
()‘转置
printb(I,j);
nextj
print
nextI
endsub
8.下面程序将输入的一个数插入到按递减的有序数列中。
插入后该序列仍有序。
Privatesubform_click()
Dima,I%,n%,m%
A=array(19,17,15,13,11,9,7,5,3,2,1)
N=ubound(a)
Redim()
M=val(inputbox(“输入想插入的数“)
ForI=ubound(a)-1to0step-1
Ifm>=a(i)then
()
ifI=0thena(i)=m
else
()
exitfor
endif
nextI
forI=0toubound(a)
printa(i)
nextI
endsub
9.冒泡法排序
Privatesubform_click()
Dima,n%,j%,I%,t
A=array(19,5,15,7,11,9,23,6,3,1)
N=ubound(a)
ForI=0ton-1
Forj=0ton-I+1
Ifa(j)>a(j+1)then
()
()
a(j+1)=t
endif
nextj
nextI
forI=0toub