vb复习题.docx

上传人:b****8 文档编号:9095035 上传时间:2023-02-03 格式:DOCX 页数:18 大小:38.69KB
下载 相关 举报
vb复习题.docx_第1页
第1页 / 共18页
vb复习题.docx_第2页
第2页 / 共18页
vb复习题.docx_第3页
第3页 / 共18页
vb复习题.docx_第4页
第4页 / 共18页
vb复习题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

vb复习题.docx

《vb复习题.docx》由会员分享,可在线阅读,更多相关《vb复习题.docx(18页珍藏版)》请在冰豆网上搜索。

vb复习题.docx

vb复习题

VB复习题

一、选择题

1、在窗体Form1的Click事件过程中有以下语句:

Label1.Caption="VisualBasic"

若本语句执行之前,标签控件Label1的Caption属性为默认值,则标签控件的Name属性和Caption属性在执行本语句之前的值分别为:

(A)"Label"、"Label"(B)"Label"、"Caption"

(C)"Label1"、"Label1"(D)"Caption"、"Label"

2、文本框对象的默认属性是:

(A)Name(B)Text(C)Visible(D)Enabled

3、下列数据类型中,占用内存最小的是:

(A)Boolean(B)Byte(C)Integer(D)Single

4、下面哪一个不是字符串常量:

(A)"你好"(B)""(C)"True"(D)#False#

5、下列哪一个是日期型常量:

(A)"2/1/99"(B)2/1/99(C)#2/1/99#(D){2/1/99}

6、已知变量A、B、C中C值最小,下列表达式中,可以判断A、B、C的值可否构成三角形三条边长的是:

(A)A>=BAndB>=CAndC>0(B)A+C>BAndB+C>AAndC>0

(C)(A+B>=COrA-B<=C)AndC>0(D)A+B>CAndA-B0

7、下列运算符中,优先级最高的是:

(A)Not(B)Is(C)Like(D)&

8、当VB执行下面语句后,A的值为__________

A=1

IfA>0ThenA=A+1

IfA>1ThenA=0

(A)0(B)1(C)2(D)3

9、程序在运行循环“Fori=1to14step3”结束后,i的值等于________。

(A)16(B)13(C)14(D)15

10、以下______语句可以跳出DoUntil……Loop循环

(A)End(B)ExitLoop(C)ExitDo(D)ExitFor

11、窗体上放置一个命令按钮Commmand1,单击按钮后,X的值是______。

PrivateSubCommand1_Click()

x=5

Fori=1To20Step2

x=x+i\5

Nexti

EndSub

(A)21(B)22(C)23(D)24

12、在窗体上画1个命令按钮和1个标签,其名称分别为Command1和Label1,然后编写如下事件过程:

PrivateSubCommand1_Click()

Counter=0

Fori=1To4

Forj=6To1Step-2

Counter=Counter+1

Nextj

Nexti

Label1.Caption=Str(Counter)

EndSub

程序运行后,单击命令按钮,标签中显示的内容是

(A)11(B)12(C)16(D)20

13、阅读下面的程序段:

Fori=1to3

Forj=1toi

a=a+1

nextj

nexti

执行上面的两重循环后,a的值为

(A)3(B)9(C)6(D)21

14、用下面的语句所定义的数组的元素个数是

DimA(-3to5)AsInterger

(A)6(B)7(C)8(D)9

15、Sub过程与Function过程最根本的区别是:

(A)前者可以使用Call或直接使用过程名调用,后者不可以

(B)后者可以有参数,前者不可以

(C)两种过程参数的传递方式不同

(D)前者无返回值,但后者有返回值

16、在定义函数过程时,不可能用到的关键字是:

(A)Exit(B)As(C)Sub(D)End

17、3.在定义通用过程时,下列关键字中不能用来修饰形参的是:

(A)ByVal(B)ByRef(C)Optional(D)Static

18、执行以下程序段:

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)AABAAB(C)ABBABA(D)BBABBA

19、用下面的语句所定义的数组的元素个数是______。

Dimarr(3To5,-2To2)

(A)20(B)12(C)15(D)24

20、以下程序段的执行结果是____________。

DimA(1To10)

Fori=1To10

A(i)=2*i

Nexti

PrintA(A(3))

(A)12(B)6(C)8(D)16

二、填充题

21、下列数据类型的变量各占多少字节的内存:

Byte:

(1);Integer:

(2);Long:

(3);Single:

(4);Double:

(5)。

22、刚被定义尚未赋值的日期型变量的值为(6);逻辑型变量的值为(7);对象型变量的值为(8);变体变量的值为(9)。

23、如果int1是整型变量,则执行int1="2"+3语句之后,int1的值为(10);执行int1="2"+"3"语句之后,int1的值为(11)。

24、表达式(-3)Mod8的值为(12)。

25、判断变量X是不是能被5整除的偶数,逻辑表达式可写为(13)

26、已知a、b、c都是整型变量,使用VisualBasic逻辑表达式描述下列条件:

a小于b或小于c:

(14);

a和b都大于c:

(15);

a和b中至少有一个大于c:

(16);

a和b中只有一个大于c:

(17);

a是非正数:

(18);

a不能被b整除:

(19)。

27、阅读下面的事件过程。

单击窗体后,在文本框Text1和Text2中显示的内容分别是(20)和(21);若将程序中A语句与B语句的位置互换,再次执行程序,单击窗体后在Text1和Text2中显示的内容分别是(22)和(23)。

1PrivateSubForm_Click()

2DimxAsInteger,yAsInteger

3x=1:

y=0

4DoWhilex<3

5y=y+x'A语句

6x=x+1'B语句

7Loop

8Text1.Text=x

9Text2.Text=y

10EndSub

28、本程序根据下式计算

的值(通项的值小于10-6时停止计算),请完善之。

1PrivateSubCommand1_Click()

2DimxAsSingle,yAsSingle,tAsSingle

3DimaAsSingle,bAsSingle,nAsSingle

4x=CSng(Text1.Text)

5y=(24)

6b=1

7n=2

8Do

9a=x^(2*n-1)/(2*n-1)

10b=(25)

11t=a*b

12y=y+t

13n=n+1

14LoopWhile(26)

15Text2.Text=y

16EndSub

29、在过程调用中,参数的传递方式可分为按值传递和按地址传递两种,其中(27)是默认方式。

使用(28)关键字来修饰形式参数,可以使之按值传递。

30、运行下面程序,当单击窗体时,窗体上显示在内容是(29);如果把A语句替换为x=64,B语句替换为r=8,则输出结果为(30)。

分析一下这个程序的功能是什么。

1DimnAsInteger,kAsInteger,xAsInteger,rAsInteger'模块级变量

2Dima(8)AsInteger'模块级数组

3PrivateSubconv(dAsInteger,r,i)

4i=0

5DoWhiled<>0

6i=i+1

7a(i)=dModr:

d=d\r

8Loop

9EndSub

10

11PrivateSubForm_click()

12x=12'A语句

13r=2'B语句

14PrintCStr(x);"(";CStr(r);")=";

15Ifx=0Then

16Print0

17Else

18Callconv(x,r,n)

19Fork=nTo1Step-1

20Printa(k);

21Nextk

22Print

23EndIf

24EndSub

三、编程题

31、若一头小母牛从第四个年头开始每年生一头母牛,按此规律,求第n年时共有多少头母牛。

32、编程显示如图1所示的星号三角形,三角形的行数可由文本框指定。

图1星号三角形

33、编程计算

的值,其中n=20。

34、编写程序,实现矩阵转置,即将1个n×m的矩阵的行和列互换。

例如,a矩阵为

转置后的矩阵b为

35、编写程序,把下面的数据输入1个二维数组中:

25367813

12268893

75182232

56443658

然后执行以下操作:

(1)输出矩阵2个对角线上的数

(2)分别输出各行和各列的和

(3)交换第1行和第3行的位置

(4)交换第2列和第4列的位置

(5)输出处理后的数组

36、编写程序完成下列要求:

(1)随机产生1个NN二维数组,二维数组中的数字为0~100之间的整数,N由文本框输入(N不大于8)。

(2)找出数组中的最大数。

(3)输出随机产生的二维数组,最大数和最大数的行号及列号。

答案

一、选择题

1、C2、B3、B4、D5、C6、B7、D8、C9、A10、C11、A12、B

13、C14、D15、D16、C17、D18、D19、C20、A

二、填充题

21、

(1)1

(2)2(3)4(4)4(5)8

22、(6)#0:

00:

00#(7)Fasle(8)Nothing(9)Empty

23、(10)5(11)23

24、(12)-3

25、(13)(XMod5)=0And(XMod2)=0或XMod10=0

26、(14)acAndb>c(16)a>cOrb>c

(17)a>cXorb>c(18)a<=0(19)aModb<>0

27、(20)3(21)3(22)3(23)5

28、(24)x(25)b*(2*n-3)/(2*n-2)(26)Abs(t)>=0.000001

29、(27)按地址传递(28)ByVal

30、

(1)12

(2)=1100

(2)64(8)=100

三、编程题

31、(提示:

从第4年起,第n年牛数等于第n-1年和第n-3年牛数的和。

1PrivateSubCommand1_Click()

2Dima1AsInteger,a2AsInteger,a3AsInteger,aAsInteger

3Dimint1AsInteger,nAsInteger

4n=Cint(Text1.Text)

5Forint1=1Ton

6Ifint1<4Then

7a1=1:

a2=1:

a3=1:

a=1

8Else

9a=a1+a3

10a1=a2

11a2=a3

12a3=a

13EndIf

14Next

15Text2.Text=a

16EndSub

32、

1PrivateSubCommand1_Click()

2Dims1AsString,s2AsString

3DimnAsInteger

4DimiAsInteger,jAsInteger

5Cls'清除窗体上现有内容

6n=Text1.Text

7Fori=1Ton

8s1=""

9Forj=1Ton-i

10s1=s1&""'产生n-i个空格

11Next

12s2=s2&"*"'产生i个由空格分隔的“*”

13Prints1&s2'在窗体上显示一行“*”

14Next

15EndSub

33、计算结果为0.9523811。

1PrivateSubCommand1_Click()

2DimsngAmountAsSingle

3Dimint1AsInteger

4sngAmount=0

5Forint1=1To20

6sngAmount=sngAmount+1/int1/(int1+1)

7Next

8Text1.Text=sngAmount

9EndSub

34、

PrivateSubForm_Click()

ConstN=3

ConstM=4

DimA(N,M),B(M,N)AsInteger

Fori=1ToN

Forj=1ToM

A(i,j)=Int(Rnd*90)+10

Nextj

Nexti

Fori=1ToN

Forj=1ToM

B(j,i)=A(i,j)

Nextj

Nexti

Print

Print"矩阵A(转置前):

"

Print

Fori=1ToN

Forj=1ToM

PrintTab(5*j);A(i,j);

Nextj

Print

Nexti

Print

Print"矩阵B(转置后):

"

Fori=1ToM

Forj=1ToN

PrintTab(5*j);B(i,j);

Nextj

Print

Nexti

EndSub

35、

PrivateSubForm_Click()

Dimmat(4,4)AsInteger

DimN,MAsInteger

N=4

M=4

'输入矩阵

Fori=1ToN

Forj=1ToM

mat(i,j)=InputBox("请输入数组第"&i&"行第"&j&"列元素值")

Val(mat(i,j))

Nextj

Nexti

'输出初始矩阵

Print

Print"初始矩阵为:

"

Print

Fori=1ToN

Forj=1ToM

PrintTab(6*j);mat(i,j);

Nextj

Print

Nexti

'输出矩阵对角线上的数

Print

Print"矩阵对角线上的数位:

"

Print

Fori=1ToN

Forj=1ToM

Ifi=jThen

PrintTab(6*j);mat(i,j);

EndIf

Nextj

Nexti

Print

Fori=1ToN

Forj=1ToM

Ifi+j=5Then

PrintTab(6*i);mat(i,j);

EndIf

Nextj

Nexti

'输出各行的和

DimS(4)AsInteger

Print

Print"各行的和为:

"

Fori=1ToN

S(i)=0

Forj=1ToM

S(i)=S(i)+mat(i,j)

Nextj

Print"第"&i&"行的和为:

"&S(i)

Nexti

'输出各列的和

Print

Print"各列的和为:

"

Forj=1ToN

S(j)=0

Fori=1ToM

S(j)=S(j)+mat(i,j)

Nexti

Print"第"&j&"行的和为:

"&S(j)

Nextj

'交换第一行和第三行

Print

Forj=1ToM

t=mat(1,j)

mat(1,j)=mat(3,j)

mat(3,j)=t

Nextj

Print

Print"交换第一行和第三行后的矩阵为:

"

Print

Fori=1ToN

Forj=1ToM

PrintTab(6*j);mat(i,j);

Nextj

Print

Nexti

'交换第二列和第四列

Print

Fori=1ToN

t=mat(i,2)

mat(i,2)=mat(i,4)

mat(i,4)=t

Nexti

Print

Print"交换第二列和第四列后的矩阵为:

"

Print

Fori=1ToN

Forj=1ToM

PrintTab(6*j);mat(i,j);

Nextj

Print

Nexti

EndSub

36、

PrivateSubCommand1_Click()

DimiAsInteger,jAsInteger,pAsInteger,qAsInteger

DimnAsInteger,minAsInteger

Dima()AsInteger

n=Text1.Text

ReDima(n,n)

Fori=1Ton

Forj=1Ton

a(i,j)=Rnd()*100

PrintTab(5*j);a(i,j);

Nextj

Print

Nexti

Min=a(1,1)

p=1

q=1

Fori=1Ton

Forj=1Ton

Ifmin>a(i,j)Then

min=a(i,j)

p=i

q=j

EndIf

Nextj

Nexti

Print"数组中的最小数为:

"&min

Print"最小数的行号为"&p&",最小数的列号为"&q

EndSub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1