您的当前位置:首页正文

VB复习题

2021-07-29 来源:年旅网
1. 对于窗体,下面( )属性在程序运行时其属性设置起作用。 (A)MaxButton (B) BorderStyle (C) Name (D) Left

2. 要使Print 方法在Form_Load事件中起作用,要对窗体的( )属性进行设置。 (A)BackColor (B)ForeColor (C) AutoRedraw (D) Caption 3. 要使标签控件显示时不覆盖其背景内容,要对( )属性进行设置 (A)BackColor (B)ForeColor (C) BorderStyle (D) BackStyle 4. 要使命令按钮不可操作,要对( ) 设置

(A) Enabled (B)Visible (C) BackColor (D)Caption 5. 文本框没有( )属性

(A)Enabled (B)Visible (C) BackColor (D)Caption 6. 不论何控件,共同具有的是( )属性

(A)Text (B)Name (C) ForeColor (D)Caption 7. 要使Form1窗体的标题栏显示”欢迎使用VB”,以下( )语句正确。 (A) Form1.Caption=”欢迎使用VB” (B)Form1.Caption=‟欢迎使用VB‟ ( C) Form1.Caption=欢迎使用VB (D)

Form1.Caption=”\\欢迎使用VB”

8. 要使某控件在运行时不可显示,应对( )进行设置

(A) Enabled (B) Visible (C) BackColor (D) Caption

9 . 要使窗体在运行时不可以改变窗体的大小和没有最大,最小化按钮,只要对下面( )进行设置。

(A)MaxButton (B) BorderStyle (C) Width (D) MinButton 10. 当运行程序时候,系统自动执行启动窗体的( )事件过程 (A)Load (B)Click (C) Unload (D) GotFocus 11. 当文本框的ScrollBars 属性设置了非零值,却没有效果,原因为 (A) 文本框中没有内容

(B) 文本框的MultiLine属性为False (C) 文本框的MultiLine属性为True (D) 文本框的Locked属性为True

12. .要判断在文本框时否按了Enter键,应在文本框的( )事件中判断 (A)Change (B)KeyDown (C)Click (D)KeyPress

13. 在VB集成环境创建VB应用程序时,除了工具箱窗口,窗体中的窗口,属性窗口外,必不可少的窗口是( )

(A)窗体布局窗口 (B)立即窗口 (C)代码窗口 (D)监视窗口

14. 保存新建的工程时,默认的路径是( )

(A) My Documents (B) VB98 (C) \\ (D)Windows

15. 当需要上下文帮助时,选择要帮助的“难题”,然后按( )键,就可以出现MSDN窗口及所需帮助信息。

(A)Help (B) F10 (C) Esc (D) F1

16. 进入VB集成环境,发现美有显示“工具箱”,应选择( )菜单的( )选项,使“工具箱”窗口显示。

17.要使新建工程时,在模块的“通用声明”段自动加入Option Explicit语句,应对( )菜单的( ) 的( )选项卡进行相应的选择。

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. 在窗体上已建立了多个控件如Text1 Label1 Command1 若要使程序已运行焦点就定位在Command1控件上,应对Command1控件设置( TabIndex )属性的值为(0 )

第二章 练习题

1. 在一个语句内写多条语句时,每个语句之间用( )符号分隔。 (A), (B) : (C) 、 (D) ; 2. 一句语句要在下一行继续写,用( )符号作为续行符。 (A)+ (B) - (C) _ (D)… 3. 下面( )是合法的变量名。

(A)X_YZ (B)123ABC (C)integer (D)X-Y 4.下面( )是不合法的整常数。

(A)100 (B)&O100 (C)&H100 (D)%100

5.下面( )是合法的字符常数。

(A)ABC$ (B)”ABC” (C)‟ABC‟ (D)ABC 6. 下面( )是不合法的单精度型常数

(A)100! (B)100.0 (C)1E+2 (D)100.0D+2 7. 下面( )是合法的单精度型变量

(A)num! (B)sum% (C)xinte$ (D)mm# 8. 表达式16/4-2^5*8/4 MOD 5\\2的值为( )

(A)14 (B)4 (C)20 (D)2 9. 数学关系3<=x<10表示成正确的VB表达式为( ) (A)3<=X<10 (B) 3<=X AND X<10 (C ) X>=3 OR X<10 (D) 3<=X AND <10

10. \\、/、MOD、*四个算术运算符中,优先级别最低的是( ) (A) \\ (B) / (C) MOD (D) 、

11. 与数学表达式

ab对应,VB的不正确表达式是( ) 3cd(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函数不可能为下列( )值

(A) 0 (B) 1 (C) 0.1234 (D)0.0005 13. Int(198.555*100+0.5)/100的值为( )

(A) 198 (B) 199.6 (C)198.56 (D)200 14. 已知A$=”12345678” 则表达式Val(Left$(A$,4)+Mid(A$,4,2))的值为( ) (A) 123456 (B)123445 (C) 8 (D) 6 15. Print DateAdd(“m”,1,#1/30/2000#)语句显示的结果是( )

(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#)的结果是( ) (A)1 (B) 11 (C)14 (D) 99 17. 表达式Len(“123程序设计ABC”)的值为( )

(A)10 (B)14 (C)20 (D)17 18. 表达式LenB(“123程序设计ABC”)的值为( )

(A)10 (B)14 (C)20 (D)17 19. 下面正确的赋值语句是( )

(A)X+Y=30 (B)Y=π*R*R (C) Y=X+30 (D)3*Y=X

20.为了给X,Y,Z三个变量赋值为1,下面正确的赋值语句是( ) (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变量的值为( ) (A)”12334” (B)123 (C) 12334 (D)157

22.赋值语句:A=123 & MID(“1234356”,3,2) 执行后,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>=0 AND A+C>B+3 OR NOT D的值为( )

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

if x^2 >8 then y=x^2+1 if x^2=9 then y=x^2-2 if x^2<8 then y=x^3 print y

2. 下面程序的功能为( ) Dim n%,m%

Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii=13 then

If IsNumeric(Text1) then Select Case Text1 Mod 2 Case 0 N=n+text1 Case 1 M=m+text1

End Select End if Text1=”” Text1.SelFocus End if End Sub 3. 程序添空 Dim count1%

Private Sub Text1_KeyPress(KeyAscii As Integer) If ( ) =”(“ then Count1=count1+1 Elseif ( ) =”)” then ( ) end if

if keyascii=13 then if ( ) then

Print “左右括号配对“ Elseif ( ) then

Print “左括号多于右括号”; count1; “个” Else

Print “右括号多于左括号”; -count1; “个” End if End if End sub

4. 输入字符,统计有多少个元音字母,有多少其他字母,直到按了回车键结束并显示结果。大小写不区分。 Dim County%, countc%

Private Sub Text1_KeyPress(KeyAscii As Integer) Dim c$ C=( )

If “A”<=C AND C<=”Z” then Select Case ( ) Case ( )

County=county+1 Case ( )

Countc=countc+1 End select

End if If then ( )

Print “元音字母有”;county: “个” Print “其他字母有”;countc; “个” End if End sub

第四章 练习题

1. 以下( ) 式正确的FOR….NEXT 的结构 (A) for x=1 to step 10 (B)for x=3 to –3 step -3

….. …… next x next x

( C) for x=1 to 10 (D) for x=3 to 10 step 3 re: ……. ……. Next x next y If I=10 then goto re

2. 以下循环能正常结束的是( ) (A) I=5 (B) I=1

Do

I=I+2 loop until I=10

do I=I-2 loop until I=1 Do

I=I+1 ( C) I=10

do I=I+1

Loop until I<0

(D) I=6

Loop until I>0

3. 下面程序运行的结果为( ) for I=3 to 1 step –1 print spc(5-I); for j=1 to 2*I-1 print “*”; next j print next I

(A) * (B) ***** (C) ***** (D) ***** ***

***

***

*

*** *

***** *

4. 当在文本框输入“ABCD”四个字符时候,窗体上显示的是( ) private sub text1_change( )

print text1; end sub

(A) ABCD (B) A (C) AABABCABCD (D)A

5. 那个程序不能正确表示1!,2!,3!,4!的值( ) (A) For I=1 to 4 N=1

(B) For I=1 to 4 for j=1 to i n=1

n=n*j next j print n

B C D

AB ABC ABCD

For j=1 to I

N=n*j

Next j Print n Next i (C ) n=1

next I (D) n=1 j=1

n=n*j print n j=j+1

do while j<=4

for j=1 to 4

n=n*j print n

next j

loop

6. 要使下列FOR语句循环执行20次,循环变量的初值应当为( ) For k= ( ) to -5 step -2 7. 下面程序段显示( ) 个“*” For I=1 to 5 For j=2 to I Print “*” Next j Next i

8. 以下程序运行后。 Si, sj, sk, I, j, k的结果分别为( ) Private sub command1_click( ) Si=0: sj=0 For I=1 to 3 For j=1 to I

Sk=0

For k=j to 3

Sk=sk+1

Next k Sj=sj+1 Next j

Si=si+1 Next I

Print si,sj,sk,I,j,k End sub

9.下面程序运行后的结果为( )

Private sub command1_click( ) For I=0 to 3

Print tab(4*I+1);”2”+I;”2” & I; Next I End sub

10.程序运行结果( ) Private sub command1_click( ) A$=”*”: b$=”$” For I=1 to 4 If I mod 2=0 then X$=string(len(a$)+I,b$) Else

X$=string(len(a$)+I,a$) Endif Print x$; Next I End sub

11.输入字符,要求将字符顺序倒置。 Private sub command1_click( ) Dim a$,I%,c$,d$ A=inputbox$(“input char”)

N=( ) For I=1 to ( ) C=mid(a,I,1) mid(a,I,1)=( ) ( )=c next I

print a

end sub

12.找出被3,5,7除,余数为1的最小的5个正整数。 Private sub command1_click( )

Dim countn ,n Countn=0 N=1 Do N=n+1 If ( ) then Print n

Countn=countn+1 End if Loop ( ) End sub

13.猴子每天吃掉的桃子是所有桃子的一半多一个,到第七天发现只剩下一个了,问最开始有几个桃子?

Private sub command1_click( ) Dim n,I X=1

For I=6 to 1 step –1 ( ) next I

print “原来共有”;x;”个桃子” end sub

14.键盘输入一个正整数,找除大于或等于该数的第一个素数。 Private sub command1_click( ) Dim m, x, tag as Boolean Tag=false

X=inputbox(“input num”) Do while not tag M=2: tag= ( )

Do while tag and (m<(x\\2))

If x mod m=0 then ( ) else ( ) Loop

If not tag then x=x+1 Loop

Print x End sub

15.将一个正整数分解为质因数乘积。如,234=2*3*3*13 Private sub command1_click( ) Dim n, factor ,first as Boolean N=inputbox(“input num”) Factor=2 First=true Do Do while ( ) If first then Print n; “=”; factor;

Else Print “*”; factor;

End if

( ) first=false loop

factor=factor+1 loop until factor>n end sub

第五章1. 运行结果为( ) dim a

a=array(1,2,3,4,5,6,7) for I=Lbound(a) to ubound(a) A(I)=A(I)*A(I) Next I Print a(i) 2.运行结果为( ) option base 1

private sub command1_click( ) dim a(3,3) for I=1 to 3 for j=1 to 3

练习题

if j>1 and I>1 then

a(I,j)=a(a(I-1,j-1),a(I,j-1))+1 else a(I,j)=I*j end if

print a(I,j);” “; next j print next I end sub

3.运行结果为( ) option base 1

private sub command1_click( ) dim a,b(3,3)

a=array(1,2,3,4,5,6,7,8,9) for I=1 to 3 for j=1 to 3 b(I,j)=a(I*j)

if (j>=I) then print tab(j*3); b(I,j); next j print next I end sub

4. 随机产生6位学生的分数(范围1-100),存放在数组a中,以每2分一个“*”显示。如图:

Private sub command1_click( ) Dim a( 1 to 6) For I=1 to 6 A( I)=( ) Print ( )

Next I End sub

5. 输出大小可变的正方形图案,最外圈是第一层,要求每层上用的数字与层数相同。

Option Base 1

Private sub form_click( )

Dim a( )

N=inputbox(“input N”) „本例N为9 ( )

for I= ( ) ‘每一层图案上要显示的数字 for j= I to n-I+1 ‘数组中元素存放对应的数字 for k=I to n-I+1 ( ) next k next j next I for I=1 to n for j=1 to n

print tab(j*3);a(I,j); next j ( ) next I end sub

6. 在一维数组中利用移位的方法显示如图结果

Private sub form_click( ) Dim a( 1 to 7) For I=1 to 7 A(i)=I: print a(i); Next I Print For I=1 to 7 T=( ) For j=6 to 1 ( ) ( )

next j a(1)=t for j=1 to 7 print a(j); next j print next i end sub

7. 矩阵转置(就是行列互换),矩阵的值为30-80之间。 Option base 1

Private sub command1_click( ) Dim a%(2,3),b(3,2),I%,j%,n% N=5 For I=1 to 2 For j=1 to 3

( ) „赋初值 print a(I,j) next j print next I

for I=1 to 3 for j=1 to 2

( ) ‘转置 print b(I,j); next j print next I end sub

8. 下面程序将输入的一个数插入到按递减的有序数列中。插入后该序列仍有序。 Private sub form_click( ) Dim a,I%,n%,m%

A=array(19,17,15,13,11,9,7,5,3,2,1) N=ubound(a) Redim ( )

M=val(inputbox(“输入想插入的数“) For I=ubound(a)-1 to 0 step-1 If m>=a(i) then ( )

if I=0 then a(i)=m else ( ) exit for endif next I

for I=0 to ubound(a) print a(i) next I end sub 9. 冒泡法排序

Private sub form_click( )

Dim a,n%,j%,I%,t

A=array(19,5,15,7,11,9,23,6,3,1) N=ubound(a) For I=0 to n-1 For j=0 to n-I+1 If a(j)>a(j+1) then ( ) ( )

a(j+1)=t endif next j next I

for I=0 to ubound(a) print a(I) next I end sub

print #1,”NO.”;4,f2 for I=5 to 7 f3=f1+f2

print #1,”NO.”;I,F3 F1=F2 F2=F3 Next I Close End sub

参考答案

第一章

(1~15) D C D A D B A B B A B D C B D 16. 视图 工具箱 17. 工具 选项 编辑器 18. 窗体 字体 19. Multiline 20. Style

21. 工程 工程属性 通用 Form1.show 22. Selstart 23. Locked 24. Tabindex 0 第二章

(1~22) B C A D B D A B B C D B C B A C A C C A D A 21. 整型 长整型 单精度型 双精度型 22. x mod 5=0 or x mod 9=0 23. False

24. –4 3 –3 3 –4 4 25. CDEF

26. DateDiff(“ww”, now, #7/1/2007#)

第三章 1. 7

2. 统计输入的若干个数中奇数和与偶数和存放在M,N中 3. chr(keyascii)

chr(keyascii) count1=count1-1 count1=0 count1>0

4. ucase(chr(keyascii))

c

“A”,”E”,”I”,”O”,”U”

else keyascii=13 第四章

(1~5) B C B C B 6. 33 7. 10

8. 3 6 1 4 4 4 9. 2 20 3 21 4 22 5 23 10. **$$$****$$$$$ 11. len(a)

int(n\\2)或n\\2 mid(a,n-I+1,1) mid(a,n-I+1,1)

12. n mod 3=1 and n mod 5=1 and n mod 7=1

while countn<5 13. x=(x+1)*2 14. true

tag=false m=m+1

15. n mod factor=0

n=n\\factor

第五章 1. 下标越界 2.

1 2 3 2 3 1 3 2 3

3.

1 2 3 4 6

9

4. int(rnd*100+1)

string(a(i)\\2,”*”);a(i) 5. redim a(n,n)

1 to (n+1)\\2 a(j,k)=I print 6. a(7)

step –1 a(j+1)=a(j) 7. a(I,j)=int(rnd*51+30)

b(I,j)=a(j,I)

8. preserve a(n+1)

a(I+1)=a(i) a(I+1)=m 9. t=a(j)

a(j)=a(j+1)

因篇幅问题不能全部显示,请点此查看更多更全内容