vb填空题.docx
- 文档编号:24350282
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:21
- 大小:20.13KB
vb填空题.docx
《vb填空题.docx》由会员分享,可在线阅读,更多相关《vb填空题.docx(21页珍藏版)》请在冰豆网上搜索。
vb填空题
1.下面程序的功能是随机生成20个三位正整数,输出其中的第二大数,按要求完善程序。
PrivateSubForm_Click()
DimiAsInteger,nAsInteger
DimmaxAsInteger,max1AsInteger
n=Int(Rnd*900)+100
___max=n______
Fori=1To19
n=Int(Rnd*900)+100
Ifn>maxThen
___max1=max________
max=n
ElseIf___n>max1____Then
max1=n
EndIf
Nexti
Print"最大数是";max;"第二大数是";max1
EndSub
2.运行如下程序后,输出结果为__2127____。
DimiAsInteger,yAsInteger
Fori=3To15Step3
y=y+i
i=i+3
Nexti
Printi;y
3.阅读下面程序,当单击窗体后,窗体上输出的是_17133________。
PrivateSubForm_Click()
DimiAsInteger,kAsInteger
DimaAsInteger,bAsInteger
a=5:
b=1
Fori=1Toa+bStepb
i=i+1
a=a+i
b=b+i
k=k+1
Nexti
Printa;b;k
EndSub
4.运行下列程序,依次点击第一个和第二个按钮,结果为__100_________。
DimaAsInteger'在窗体通用部分定义a为窗体模块级的变量
PrivateSubCommand1_Click()
DimbAsInteger
a=10
b=20
EndSub
PrivateSubCommand2_Click()
DimbAsInteger
Printa;
Printb
EndSub
5.若形参前缺省ByVal和ByRef关键字,系统默认为按___地址________传递。
6.随机生成10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:
第1个元素与第10个元素互换,第2个元素与第9个元素互换……分别输出数组原来各元素的值和对换后各元素的值。
PrivateSubCommand1_Click()
Dima(10)AsInteger
DimiAsInteger,jAsInteger
Print"原序列:
"
Fori=1To10
a(i)=Int(Rnd*90)+10
Printa(i);
Nexti
Fori=1To___5_____
t=a(i)
___a(i)=a(11-i)_____
____a(11-i)=t____
Nexti
Print"交换后的序列:
"
Fori=1To10
Printa(i);
Nexti
EndSub
7.执行以下程序段,则第一行输出结果是_53______,第二行输出结果是__-30_____。
Dima(-3To5)AsSingle
Dimb(3,4)AsInteger
PrintUBound(a),UBound(b,1)
PrintLBound(a),LBound(b,2)
8.设有数组声明语句:
DimA(-1To2,-1To1)AsLong,则数组A在内存中所占的字节数为__48____。
9.在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串:
MicrosoftVisualBasicProgramming
然后编写如下事件过程:
PrivateSubCommand1_Click()
Open"D:
\Temp\Outf.Txt"ForOutputAs#1
ForI=1ToLen(Text1.Text)
C=Mid(Text1.Text,I,1)
IfC>="A"AndC<="Z"Then
Print#1,Lcase(C);
EndIf
NextI
Close
EndSub
程序运行后,单击命令按钮后,文件Outf.Txt中的内容是_mvbp_________。
10.执行下面程序段,如果运行时输入2,则在窗体上输出结果是_4_____。
DimxAsInteger
x=InputBox("inputx")
Ifx>1Then
y=x+2
ElseIfx<5Then
y=x+3
ElseIfx=2Then
y=x
EndIf
Printy
11.如果依次输入75,55,45,70,30,25,40,15,20,5,下列程序段的执行结果为_330_____。
DimcAsInteger,kAsInteger,dAsInteger
c=70
Fork=11To20
x=InputBox("输入X的数值:
")
Ifx d=d+x: c=x Else d=d+c EndIf Nextk Printd 12.设计一个函数,求任意数的阶乘。 编写通用函数过程如下,请补充程序。 PublicFunctionf(nAsDouble)AsDouble DimsAsDouble DimiAsInteger Ifn<0ThenExitFunction s=1 Fori=1Ton _s=i*s__________ Nexti f=s EndFunction 13.运行下列程序,单击窗体后在窗体上显示的结果是__-3_____。 PrivateSubForm_Click() DimxAsInteger,yAsInteger x=-5 y=-20 IfNotx>0Then x=y-3 Else y=x+3 EndIf Printx-y Endsub 14.运行以下程序,单击窗体后,如果依次输入20和40,则输出内容是_2040_______。 PrivateSubForm_Click() x=InputBox("请输入变量x的值","输入窗口") y=InputBox("请输入变量y的值","输入窗口") Printx+y EndSub 15.运行下列程序,单击命令按钮后,在窗体上输出结果为__91215____。 OptionBase1 PrivateSubCommand1_Click() Dima(3,3),s(3) Dimx,i% Fori=1To3 s(i)=0 Forj=1To3 a(i,j)=i+j s(i)=s(i)+a(i,j) Nextj Nexti ForEachxIns Printx; Nextx EndSub 16.下列程序段的执行结果为__1224_________。 n=0 Fori=1To3 Forj=5ToiStep-1 n=n+1 Nextj Nexti Printn;j;i 17.运行下面的程序,第二行显示结果是_23456____。 PrivateSubCommand1_Click() Dima(5)AsInteger Fori=1To5 a(i)=i Printa(i); Nexti Print fa Fori=1To5 Printa(i); Nexti EndSub PrivateFunctionf(b()AsInteger) Fori=LBound(b)ToUBound(b) b(i)=b(i)+1 Nexti EndFunction 18.下列程序的执行结果为____10_______。 PrivateSubCommand1_Click() Dima(10)AsInteger DimiAsInteger Fori=1To10 a(i)=i Nexti Callf(a(5)) Printa(5) EndSub PrivateSubf(nAsInteger) n=n+5 EndSub 19.执行以下程序,单击命令按钮后,如果从键盘上输入5,则第一行输出结果是_12345_____, 第二行输出结果是00000000000______。 PrivateSubCommand1_Click() Dima()AsInteger DimnAsInteger,iAsInteger n=InputBox("inputn: ") ReDima(n) Fori=1Ton a(i)=i Printa(i); Nexti Print ReDima(10) Fori=0To10 Printa(i); Nexti EndSub 20.运行如下程序段,输出结果为__16______。 PrivateSubcommand1_click() a=1: b=2: c=3 a=a+b: b=b+a: c=b+a Ifa<>3Orb<>3Then a=b-a: b=c-a: c=b+a EndIf Printa+b+c EndSub 21.下面的程序是找出两个正整数a和b,使a PrivateSubCommand1_Click() DimaAsInteger,bAsInteger DimmAsInteger,nAsInteger DimrAsInteger,kAsInteger Fora=1To49 __b=99-a________ m=a: n=b Do __r=mmodn______ m=n n=r LoopUntilr=0 IfmMod3=0Then __k=k+1________ Printa;b EndIf Nexta Print"符合条件的数对个数为"&k&"个" EndSub 22.有如下程序 a=100 Do s=s+a a=a+1 LoopWhilea>120 Printa 运行后的输出结果为_101_____。 23.以下程序的功能是随机生成20个1到100之间的正整数,用选择法将其按从大到小的顺序排列后输出。 PrivateSubCommand1_Click() Dima(20)AsInteger,iAsInteger DimjAsInteger,tempAsInteger Print"排序前: " Fori=1To20 a(i)=Int(Rnd*100)+1 Printa(i); Nexti Print Fori=1To19 Forj=___i_____To20 If__a(j)>=a(i)______Then t=a(i) a(i)=a(j) ___a(j)=t_____ EndIf Nextj Nexti Print"排序后: " Fori=1To20 Printa(i); Nexti EndSub 24.设用Functiongcd(xAsInteger,yAsInteger)定义了一个求两个数的最大公约数的程序,点击窗体时,能在窗体上显示96和64的最大公约数,请补充程序。 FunctionGcd(xAsInteger,yAsInteger)'定义函数求任意两个数的最大公约数 DoWhiley<>0 r=xMody x=y y=r Loop Gcd=x EndFunction PrivateSubForm_Click() DimaAsInteger,bAsInteger a=96: b=64 __x=Gcd(a,b)_________'调用函数求两个数的最大公约数 Print"Gcd=";x EndSub 25.以下程序的功能是随机产生20个1到100之间的正整数,去掉一个最大数和最小数,然后取其平均数。 PrivateSubForm_Click() DimsAsInteger,iAsInteger DimkAsInteger,maxAsInteger,minAsInteger Randomize k=Int(Rnd*100)+1 max=k: min=k ___s=k________ Fori=1To19 k=Int(Rnd*100)+1 s=s+k If_k>max_______Thenmax=k Ifk Nexti s=_s-min-max_______ Print"average=";s/18 EndSub 26.运行如下程序后,输出结果为__19______。 Form=1To4 a=0 Forj=1To5 a=1 Fork=1To6 a=a+3 Nextk Nextj Nextm Printa 27.运行下面的程序,第二行显示结果是___832________。 PrivateSubForm_Click() DimAAsInteger DimiAsInteger A=2 Fori=1To9 Callsub1(i,A) Printi,A Nexti EndSub PrivateSubsub1(xAsInteger,yAsInteger) StaticNAsInteger DimIAsInteger ForI=3To1Step-1 N=N+x x=x+1 NextI y=y+N EndSub 28.运行下面的程序,当单击窗体时,窗体上显示的内容为_3163________。 PrivateSubTest(xAsInteger) x=x*2+1 Ifx<8Then CallTest(x) EndIf x=x*2+1 Printx; EndSub PrivateSubForm_Click() Test3 EndSub 29.执行以下程序段,第一行输出结果是_6543______,第二行输出结果是____123___。 PrivateSubForm_Click() Dima DimiAsInteger a=Array(1,2,3,4,5,6,7,8,9) Fori=0To3 Printa(5-i); Next Print a=Array("abc","123","def") Printa (1) EndSub 30.执行以下程序,单击命令按钮后,输出结果是_012345678910_____。 PrivateSubCommand1_Click() Dima(10)AsInteger Dimb Fori=1To10 a(i)=i Nexti ForEachbIna Printb; Nextb EndSub 31.运行如下程序后,输出结果为__30____。 a=0 Forj=1To30Step2 a=a+jmod5 Nextj Printa 32.以下程序的功能是随机生成20个100到200之间的正整数,输出其最大元素和其所在的位置,请按要求完善程序。 PrivateSubCommand1_Click() Dima(20)AsInteger,iAsInteger DimmaxAsInteger,maxiAsInteger Randomize Fori=1To20 a(i)=__Int(Rnd*101)+100______ Printa(i); Nexti Print ___max=a (1)_____ maxi=1 Fori=2To20 Ifa(i)>maxThen max=a(i) __maxi=i______ EndIf Next Print"最大元素为";max;"其所在的数组元素位置号为";maxi EndSub 33.下面程序是接受用户从键盘上输入的一个正整数,找出大于或等于该数的第一个素数。 OptionExplicit PrivateSubCommand1_Click() DimnAsInteger,kAsInteger DimiAsInteger n=InputBox("请输入一个正整数") __k=n__________ Do Fori=2ToSqr(k) IfkModi=0ThenExitFor Nexti If___i>Sqr(k)______Then ExitDo Else ___k=k+1_________ EndIf Loop Print"大于等于";n;"的第一个素数是";k EndSub 34.执行下面的程序段,文本框Text1中显示的是_9______。 DimiAsInteger,jAsInteger i=1 DoWhilei<20 j=i+j i=i*(i+1) Loop Text1.Text=j 35.文件"text.txt"中的内容为1,2,3 执行下列语句: Open"text.txt"ForAppendAs#1 Write#1,4,5,"aaa" Close#1 则text.txt中第一行内容为__1,2,3______。 35.假设递归函数fact(n)用来求n的阶乘,请补充程序。 PrivateFunctionfact(nAsInteger)AsLong Ifn=0Orn=1Then fact=1 Else fact=_n*fact(n-1)__________ EndIf EndFunction 36.执行下面程序,若依次输入10,20,30,40,50,60,则输出结果是__103050204060____。 OptionBase1 PrivateSubCommand1_Click() Dima(3,2)AsInteger Dimi%,j%,t Fori=1To3 Forj=1To2 a(i,j)=InputBox("请输入数组元素的值") Nextj Nexti ForEachtIna Printt; Nextt EndSub 37.阅读下列程序,输出结果是__300_____。 PrivateSubCommand1_Click() DimiAsInteger Fori=10To1Step-2 s=s+i Nexti Prints,i EndSub 38.执行以下程序,单击命令按钮后,如果在弹出的对话框中单击"是"按钮,则窗体上的输出内容是___6____。 PrivateSubCommand1_Click() DimaAsInteger a=MsgBox("非法数据! "&Chr(13)&Chr(10)&"请重新输入",vbYesNo+vbCritical,"提示信息") Printa EndSub 39.工程中包括两个窗体form1.form2和一个标准模块modul1,代码如下: modul1通用声明段代码: PublicbAsInteger 窗体form1的代码: PublicaAsInteger PrivateSubForm_Click()'form1的click事件 a=10 b=20 Form2.Show EndSub 窗体form2的代码: PrivateSubForm_Click() PrintForm1.a; Printb EndSub 执行程序,依次点击两个窗体,在第二窗体上显示__1020_________。 40.阅读下面程序,当单击窗体后,窗体上输出的是_1274__________。 PrivateSubForm_C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 填空