VB自我练习1.docx

上传人:b****6 文档编号:8118500 上传时间:2023-01-28 格式:DOCX 页数:33 大小:66.70KB
下载 相关 举报
VB自我练习1.docx_第1页
第1页 / 共33页
VB自我练习1.docx_第2页
第2页 / 共33页
VB自我练习1.docx_第3页
第3页 / 共33页
VB自我练习1.docx_第4页
第4页 / 共33页
VB自我练习1.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

VB自我练习1.docx

《VB自我练习1.docx》由会员分享,可在线阅读,更多相关《VB自我练习1.docx(33页珍藏版)》请在冰豆网上搜索。

VB自我练习1.docx

VB自我练习1

09级期末考试(A)

一、单项选择题(1分/小题,共10分)

1、语句PRINT"SGN(-26)=";SGN(-26)的输出结果为().

(A)SGN(-26)=26(B)SGN(-26)=-26(C)SGN(-26)=+1(D)SGN(-26)=-1

2、VB应用程序保存在磁盘上,至少会有以()为扩展名两个文件.

(A).DOC和.TXT(B).COM和.EXE(C).VBW和.BAS(D).VBP和.FRM

3、组合框有三种风格,它们由Style属性所决定,其中为下拉列表框时,Style属性值应为().

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

4、Int(198.555*100+0.5)/100的值().

(A)198(B)199.6(C)198.56(D)200

5、若要访问组合框Comb1中被用户选中的表项,应使用()

(A)Comb1.Text(B)Comb1.List(C)Comb1.ListIndex(D)Comb1.ListCount

6、下列各项变量中,哪一项所占的内存空间最多().

(A)dimxascurrencyx=99(B)dimst1asstringst1='good'

(C)dimst2asstringst2='goodbye'(D)dimdasdatad='1898/09/12'

7、清除列表框的所有选项应选择下列哪种方法().

(A)Clear(B)Cls(C)ClearItem(D)RemoveItem

8、如果在窗体上已经创建了一个文本框对象Text1,可以通过()事件获得输入键值的ASCII码.

(A)Change(B)LostFocus(C)KeyPress(D)GotFocus

9、以下不属于VisualBasic系统的文件类型是().

(A).frm(B).bat(C).vbg(D).vbp

10、控件是().

(A)建立对象的工具(B)设置对象属性的工具

(C)编写程序的编辑器(D)建立图形界面的编辑窗口

二、程序阅读(3分/题,共45分)

1、在窗体上画一个名称为Label1、标题为"VisualBasic考试"的标签,两个名称分别为Command1和Command2、标题分别为"开始"和"停止"的命令按钮,然后画一个名称为Timer1的计时器控件,并把其Interval属性设置为500.编写如下程序:

PrivateSubForm_Load()

Timer1.Enabled=False

EndSub

PrivateSubCommand1_Click()

Timer1.Enabled=True

EndSub

PrivateSubCommand2_Click()

Timer1.Enabled=False

EndSub

PrivateSubTimer1_Timer()

IfLabel1.Left

Label1.Left=Label1.Left+120

Else

Label1.Left=0

EndIf

EndSub

(1)程序运行后,单击"开始"按钮,标签在窗体中移动.对于这个程序,以下叙述中错误的是()

(A)标签的移动方向为自左向右

(B)单击"停止"按钮后再单击"开始"按钮,标签从停止的位置继续移动

(C)当标签全部移出窗体后,将从窗体的另一端出现并重新移动

(D)标签每隔1秒移动一次

(2)程序使用了几个控件()

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

(3)Timer控件的Interval属性的单位是()

28(A)秒(B)毫秒(C)微秒(D)纳秒

2、程序如下

Functionf(mAsInteger)AsInteger

b=1

StaticcAsInteger

b=b+1

c=c+1

f=m*b*c

EndFunction

PrivateSubCommand1_Click()

DimaAsInteger

a=2

Sum=0

Fori=1To3

Sum=Sum+f(a)

Nexti

PrintSum

EndSub

(4)程序运行后,窗体上显示的值为()。

(A)24(B)12(C)28(D)32

(5)如果将StaticcAsInteger改为dimcAsInteger,则sum的值为()。

(A)24(B)12(C)28(D)32

(6)如果将语句b=1去掉,则sum的值又为()。

(A)24(B)12(C)28(D)32

3、程序如下

DimxAsInteger,yAsInteger,zAsInteger

Subs1(aAsInteger,bAsInteger)

DimcAsInteger

a=2*a

b=b+2

c=a+b

EndSub

Subs2(aAsInteger,ByValbAsInteger)

DimcAsInteger

a=2*a

b=b+2

c=a+b

EndSub

PrivateSubCommand1_Click()

x=4

y=4

z=6

Calls1(x,y)

Printx+y+z;

Calls2(x,y)

Printx+y+z

EndSub

(7)程序运行后,窗体上显示的结果为()。

(A)2428(B)2028(C)2018(D)2020

(8)将ByValbAsInteger改为bAsInteger后窗体上显示的结果为()。

(A)2428(B)2028(C)2018(D)2030

(9)修改后变量x和y的最后取值为().

(A)2428(B)2020(C)168(D)2030

4、程序如下

PrivateSubForm_Click()

DimnumAsInteger,dat1AsInteger,dat2AsInteger

DimswitAsBoolean

num=0

Open"d:

\prime.dat"ForOutputAs#1

Fordat1=2To10

swit=True

Fordat2=2ToSqr(dat1)

If(dat1Moddat2)=0Then

swit=False

ExitFor

EndIf

Nextdat2

IfswitThen

num=num+1

Write#1,"第";num;"个数";dat1

EndIf

Nextdat1

Close#1

EndSub

(10)程序中write语句的作用是().

(A) 读数据       (B)写数据

(C)修改数据      (D)追加数据

(11)执行程序后,prime.dat文件的内容是()。

(A)第1个数7    (B)第1个数2   

第2个数5       第2个数3      

第3个数9  第3个数5           

                       

(C)第1个数2(D)以上都不对

第2个数3

第3个数5

第4个数7

(12)该程序的功能是()。

(A)统计2到10之间的数据个数。

(B)统计2到10之间的素数个数。

(C)找出2到10之间所有的素数。

(D)找出2到10之间的第一个素数。

5、程序如下

Subs1(b()AsInteger)

Fori=1To4

b(i)=2*i

Nexti

EndSub

L1:

PrivateSubCommand1_Click()

Dima()AsInteger

Redima(1to4)

Fori=1To4

a(i)=i+5

Nexti

s1a()

Fori=1To4

Printa(i);

Nexti

EndSub

(13)程序运行的结果是()。

(A)6789(B)12141618(C)2468(D)1234

(14)程序中所定义的a()是()。

(A) 用户自定义类型        (B) 静态数组

(C)动态数组         (D)用户自定义类型数组

(15)在L1处添加语句optionbase1后,程序运行的结果()。

(A)有变化        (B)无变化

(C)出现语法错误    (D)以上都不是

三、程序填空(2分/空,30分)

1、下面的程序段用于求矩阵相乘C=A×B,设A、B、C分别为m×p、p×n、m×n的矩阵。

PrivateSubForm_Click()

Constm=4,p=3,n=2

Dima(1Tom,1Top)AsInteger

Dimb(1Top,1Ton)AsInteger

Dimc(1Tom,1Ton)AsInteger

DimiAsInteger,jAsInteger,kAsInteger,sumAsInteger

Fori=1Tom

Fork=1Top

a(i,k)=i

Nextk

Nexti

Fori=1Top

Fork=1Ton

b(i,k)=i

Nextk

Nexti

Fori=1Tom

Forj=1Ton

【①】

Fork=1Top

sum=sum+【②】

Nextk

c(i,j)=【③】

Nextj,i

Print"输出矩阵"

Fori=1Tom

Fork=1Ton

Printc(i,k),

Nextk

Print

Nexti

EndSub

2、以下程序段分别以子过程和函数来计算某级数部分和,级数公式如图1所示。

Functionjishu1(x!

eps#)AsDouble

Dimn%,s#,t#

n=1:

s=0:

t=1

DoWhile(Abs(t)>=eps)

s=s+t

t=t*x/n

n=n+1

Loop

【①】

EndFunction

Subjishu2(s#,x!

eps#)

Dimn%,t#

n=1:

s=0:

t=1

DoWhile(Abs(t)>=eps)

s=s+t

t=t*x/n

n=n+1

Loop

EndSub

PrivateSubCommand1_Click()

Dimf1#,f2#

f1=jishu1(2#,0.000001)

【②】jishu2(f2,2#,0.000001)

Print"f1=";f1,"f2=";f2

EndSub

3、用输入对话框输入x,根据如图公式计算对应的y,在窗体上输出y的值。

OptionExplict

PrivateSubCommand1_Click()

DimxAsSingle

【①】

x=Val(【②】("Pleaseinputx:

","输入X的值"))

Ifx=10Then

【③】

ElseIfx>10Then

y=【④】

Else

y=2*x^3+6

EndIf

Printy

EndSub

4、以下程序段实现的功能是:

查找一数列中是否存在某数字x,若数列中存在该数字,则输出其出现的次数,否则输出不存在信息。

PrivateFunctionSearch(a()AsInteger,ByValkey,n%)AsBoolean

Dimi%

Search=False

Fori=LBound(a)To【①】

Ifkey=a(i)Then

Search=True

【②】

EndIf

Nexti

EndFunction

PrivateSubForm_Click()

DimxAsInteger,kAsInteger,numAsInteger

Dimb()AsInteger

num=Int(Rnd*10)+1

ReDimb(num)

Fori=0Tonum

b(i)=Int(Rnd*70)+20

Printb(i);

Nexti

Print

x=Val(InputBox("输入待查找数据"))

IfSearch(【③】,x,k)Then

Printx;"在数列中出现";k;"次"

Else

Printx;"未在数列中出现"

EndIf

EndSub

5、在文本框内输入一串字符后,统计并显示各字母出现的次数(不区分大小写字母)。

PrivateSubCommand1_Click()

Dima(1To26)AsInteger,cAsString*1

【①】=Len(Text1)

ForI=1Tok

c=【②】(Mid(Text1,I,1))

Ifc>="a"Andc<="z"Then

j=Asc(c)-【③】+1

a(j)=a(j)+1

EndIf

NextI

Picture1.Cls

Forj=1To26

Ifa(j)>0Then

Picture1.Print"";Chr(j+96);"=";a(j);

EndIf

Nextj

EndSub

四、程序改错题(每个错误点3分,共15分)

有一程序其功能为:

单击“生成”按钮后,利用随机函数产生10个(1~100)之间的随机整数并输出在LIST1中,单击“计算”按钮,在窗体上打印其中能被5整除的数并求它们的和。

程序中有5个错误,在不删除整条语句的前提下,可修改或补充语句,添加的语句不能超过两条。

错误源代码:

OptionBase1

Dimx(10)AsInteger

PrivateSubCommand1_Click()

List1.Remove

Fori=1To10

x(i)=

List1.AddItemx(i);

Nexti

EndSub

PrivateSubCommand2_Click()

DimsumAsInteger

sum=0

Fori=1To10

IfThen

Printx(i)

sum=sum+x(i)

Nexti

Print"sum=";sum

EndSub

 

一、单项选择题(1分/小题,共10分)

1、D

2、D

3、C

4、C

5、D

6、C

7、A

8、C

9、B

10、A

二、程序阅读(3分/题,共45分)

26、D

27、D

28、B

29、A

30、B

31、B

32、B

33、D

34、C

35、B

36、C

37、C

38、C

39、C

40、C

三、程序填空(2分/空,30分)

1、

(1)sum=0、

(2)a(i,k)*b(k,j)、(3)sum

2、

(1)jishu1=s、

(2)call

3、

(1)y、

(2)InputBox、(3)y=0、(4)+Sin(x)

4、

(1)UBound(a)、

(2)n=n+1、(3)b()

5、

(1)k、

(2)Lcase、(3)97

四、程序改错题(每个错误点3分,共15分)

OptionBase1

Dimx(10)AsInteger

PrivateSubCommand1_Click()

List1.Remove         (1)修改为:

list1.clear

Fori=1To10

x(i)=(2) 修改为:

x(i)=Int(Rnd*100+1)

List1.AddItemx(i);       (3)修改为:

List1.AddItemx(i)

Nexti

EndSub

PrivateSubCommand2_Click()

DimsumAsInteger

sum=0

Fori=1To10

IfThen       (4)修改为:

Ifx(i)Mod5=0Then

Printx(i)

sum=sum+x(i)

                (5)修改为:

EndIf

Nexti

Print"sum=";sum

EndSub

09级期末考试(B)

一、单项选择题(1分/小题,共10分)

1、标签的()属性设置为True时,标签控件的大小随标题文字自动调整.

(A)AutoSize(B)Caption(C)Alignment(D)BackStyle

2、CLS可清除窗体或图形框中的内容是()

(A)Picture属性设置的背景图案(B)在设计时放置的控件

(C)程序运行时产生的图形和文字(D)以上A~C全部

3、RGB函数通过红.绿.蓝三基色混合产生某种颜色,某语法为RGB(红.绿.蓝),括号中红、绿、蓝三基色的成分使用0~255之间的整数.若使用三个滚动条分别输入三种基色,为保证输入数值有效,则应设置()属性.

(A)Max和Min(B)Smallchange和LargeChange

(C)Scroll和Change(D)Value

4、要定义一个变量为全局变量,应使用()关键字.

(A)Static(B)Public(C)Private(D)Sub

5、下列程序段的运行结果()

PrivateSubForm_Click()

DimMsg

Hide

Msg="选择'确定'按钮"

MsgBoxMsg

Show

EndSub

(A)隐藏窗体,按'确定'按钮使窗体重现

(B)隐藏窗体

(C)显示窗体,按'确定'按钮使窗体隐藏

(D)显示窗体

6、在窗体上添加一个命令按钮,编写如下代码:

PrivateSubCommand1_Click

DimArr1(10)asInteger,Arr2(10)AsInteger

N=3

Fori=1to5

Arr1(i)=i

Arr2(n)=2*n+i

Nexti

PrintArr2(n),Arr1(n)

EndSub

程序运行后,单击命令按钮,输出结果是()

(A)113(B)311(C)133(D)313

7、假设变量BOOLVAR是一个布尔型变量,则下面正确的赋值语句是().

(A)BOOLVAR='TRUE'(B)BOOLVAR=.TRUE.

(C)BOOLVAR=#TRUE#(D)BOOLVAR=3<4

8、执行下面程序段后,变量a的值为().

ForI=1To3

Forj=1ToI

Fork=jTo3

a=a+1

Nextk

Nextj

NextI

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

9、下面选项中()是算术运算符.

(A)%(B)And(C)&&(D)Mod

10、以下正确的描述是:

在VisualBasic应用程序中()

(A)过程的定义可以嵌套,但过程的调用不能嵌套

(B)过程的定义不可以嵌套,但过程的调用能嵌套

(C)过程的定义过程的调用均可以嵌套

(D)过程的定义过程的调用均不可以嵌套

三、程序填空(2分/空,30分)

1、下面的程序用"冒泡"法将数组a中的10个整数按从小到大排列,请将程序补充完整。

OptionBase1

PrivateSubCommand1_Click()

Dima

a=Array(-2,5,24,58,43,-10,87,75,27,83)

Fori=10To2Step-1

For【①】

If【②】Then

a1=a(j+1)

a(j+1)=a(j)

a(j)=a1

EndIf

Nextj

【③】

Fori=1To10

Printa(i)

Nexti

EndSub

2、程序运行结果如图所示,请将程序补充完整。

PrivateSubForm_Click()

DimIAsInteger,jAsInteger

DimstarAsString

star="★"

ForI=1To6

Form1.PrintTab(14-I*2);

Forj=1To【①】

Form1.Printstar;

Nextj

Form1.Print

NextI

ForI=1To5

Form1.PrintTab(【②】);

Forj=1To(6-I)*2【③】

Form1.Printstar;

Nextj

Form1.Print

NextI

EndSub

3、本程序功能为,单击窗体,Form1的输出结果为

A1=10B1=20

A2=20B2=10

PublicSubSwap1【①】xAsInteger,ByValyAsInteger)

DimtAsInteger

t=x

x=y

y=t

EndSub

PublicSubSwap2(xAsInteger,yAsInteger)

DimtAsInteger

t=x

x=y

y=t

EndSub

PrivateSubForm_Click()

DimaAsInteger,bAsInteger

a=10

b=20

【②】a,b

Form1.Print"A1=";

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

当前位置:首页 > 高等教育 > 工学

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

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