国二VB语言辅导讲解18题定稿2.docx
- 文档编号:11021302
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:37
- 大小:712.40KB
国二VB语言辅导讲解18题定稿2.docx
《国二VB语言辅导讲解18题定稿2.docx》由会员分享,可在线阅读,更多相关《国二VB语言辅导讲解18题定稿2.docx(37页珍藏版)》请在冰豆网上搜索。
国二VB语言辅导讲解18题定稿2
母版十八题精讲
第1题(二叉树)
.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( D )。
A)3B)4C)6D)7
.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( A )。
A)16B)10C)6D)4
.设有下列二叉树:
对此二叉树中序遍历的结果为( D )。
A)ACBDEFB)DEBFCAC)ABDECFD)DBEAFC
第2题(变量的范围)
.标准模块中有如下程序代码:
PublicxAsInteger,yAsInteger
Subvar_pub()
x=10∶y=20
EndSub
在窗体上有1个命令按钮,并有如下事件过程:
PrivateSubCommand1_Click()
DimxAsInteger
Callvar_pub
x=x+100
y=y+100
Printx;y
EndSub
运行程序后单击命令按钮,窗体上显示的是( B 同名时优先使用局部变量x)。
A)100 100B)100 120C)110 100D)110 120
.在窗体上画一个名称为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码:
PrivateXAsInteger
PrivateSubCommand1_Click()
X=5:
Y=3
Callproc(X,Y)
Label1.Caption=X
Label2.Caption=Y
EndSub
PrivateSubproc(aAsInteger,ByValbAsInteger)
X=a*a
Y=b+b
EndSub
程序运行后,单击命令按钮,则两个标签中显示的内容分别是( A )。
A)25和3B)5和3C)25和6D)5和6
.工程文件中包含一个模块文件和一个窗体文件。
模块文件的程序代码是:
PublicxAsInteger
PrivateyAsInteger
窗体文件的程序代码是:
DimaAsInteger
PrivateSubForm_Load()
DimbAsInteger
a=2:
b=3:
x=10:
y=20
EndSub
PrivateSubCommand1_Click()
a=a+5:
b=b+5:
x=x+5:
y=y+5
Printa;b;x;y
EndSub
运行程序,单击窗体上的命令按钮,则在窗体上显示的是( D )。
A)55155B)751525
C)78155D)75155
第3题(静态变量)
.窗体上有名称为Command1的命令按钮,名称分别为Label1、Label2、Label3的标签。
编写如下程序:
PrivatexAsInteger
PrivateSubCommand1_Click()
StaticyAsInteger
DimzAsInteger
n=5
z=z+n
y=y+n
x=x+y
Label1=x
Label2=y
Label3=z
EndSub
运行程序,连续3次单击命令按钮后,3个标签中分别显示的是( D )。
A)5 5 5B)15 10 5C)15 15 15D)30 15 5
.窗体上有1个名称为Command1的命令按钮,事件过程及函数过程如下:
PrivateSubCommand1_Click()
DimpAsInteger
p=m
(1)+m
(2)+m(3)
Printp
EndSub
PrivateFunctionm(nAsInteger)AsInteger
StaticsAsInteger
Fori=1Ton
s=s+1
Next
m=s
EndFunction
运行程序,第2次单击命令按钮Command1时的输出结果为( D )。
A)6B)10C)16D)28
第4题(运算符)
.下面程序运行时,若输入395,则输出结果是( B )。
PrivateSubCommand1_Click()
Dimx%
x=InputBox("请输入一个3位整数")
PrintxMod10,x\100,(xMod100)\10
EndSub
A)3 9 5B)5 3 9C)5 9 3D)3 5 9
第5题(控制结构与数组)
.窗体上有一个名称为Command1的命令按钮,事件过程如下:
PrivateSubCommand1_Click()
Dimarr_x(5,5)AsInteger
Fori=1To3
Forj=2To4
arr_x(i,j)=i*j
Nextj
Nexti
Printarr_x(2,1);arr_x(3,2);arr_x(4,3)
EndSub
运行程序,并单击命令按钮,窗体上显示的内容为( A )。
A)0 6 0B)2 6 0C)0 6 12D)2 6 12
.在窗体上画一个名称为Command1的命令按钮,并编写如下程序:
FunctionFun(x)
y=0
Ifx<10Then
y=x
Else
y=y+10
EndIf
Fun=y
EndFunction
PrivateSubCommand1_Click()
n=InputBox("请输入一个数")
n=Val(n)
P=Fun(n)
PrintP
EndSub
运行程序,单击命令按钮,将显示输入对话框,如果在对话框中输入100,并单击"确定"按钮,则输出结果为( A )。
A)10B)100C)110D)出错信息
.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
Fori=0To50
i=i+3
n=n+1
Ifi>10ThenExitFor
Next
Text1.Text=Str(n)
EndSub
程序运行后,单击命令按钮,在文本框中显示的值是( B )。
A)2B)3C)4D)5
.设有如下事件过程:
PrivateSubCommand1_Click()
Dima
a=Array(12,3,8,5,10,3,5,9,2,4)
Fork=1To9
Printfun(a(k-1),a(k));"";
Nextk
EndSub
PrivateFunctionfun(x,y)AsInteger
DoWhilex>=y
x=x-y
Loop
fun=x
EndFunction
程序运行时的输出结果是( B )。
A)4 0 1 0 3 0 0 4 0B)0 3 3 5 1 3 5 1 2
C)9 -5 3 -5 7 -2 -4 7-2D)9 3 3 5 7 3 5 7 2
第6题(复杂程序的阅读)
.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
OptionBase1
PrivateSubCommand1_Click()
d=0
c=10
x=Array(10,12,21,32,24)
Fori=1To5
Ifx(i)>cThen
d=d+x(i)
c=x(i)
Else
d=d-c
EndIf
Nexti
Printd
EndSub
程序运行后,如果单击命令按钮,则在窗体上输出的内容为( C列表法)。
A)89B)99C)23D)77
.编写如下程序:
PrivateSubCommand1_Click()
Dimstr1AsString,str2AsString
str1=InputBox("输入一个字符串")
subfstr1,str2
Printstr2
EndSub
Subsubf(s1AsString,s2AsString)
DimtempAsString
StaticiAsInteger
i=i+1
temp=Mid(s1,i,1)
Iftemp<>""Thensubfs1,s2
s2=s2&temp
EndSub
程序运行后,单击命令按钮Command1,且输入"abcdef",则输出结果为( C 递归)。
A)afbecdB)cdbeafC)fedcbaD)adbecf
.设有如下Command1的单击事件过程及fun过程:
PrivateSubCommand1_Click()
DimxAsInteger
x=Val(InputBox("请输入一个整数"))
fun(x)
EndSub
PrivateSubfun(xAsInteger)
IfxMod2=0Thenfun(x/2)
Printx;
EndSub
执行上述程序,输入6,结果是( A 递归)。
A)3 6B)6 3C)6D)程序死循环
第7题(传值、传引用)
.某人编写了下面的程序:
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=InputBox("请输入整数")
b=InputBox("请输入整数")
proa
prob
Callpro(a+b)
EndSub
PrivateSubpro(nAsInteger)
While(n>0)
PrintnMod10;
n=n\10
Wend
EndSub
此程序功能是:
输入2个正整数,反序输出这2个数的每一位数字,再反序输出这2个数之和的每一位数字。
例如:
若输入123和234,则应该输出:
3 2 1
4 3 2
7 5 3
但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改。
下面的修改方案中正确的是( A )。
A)把过程pro的形式参数nAsInteger改为ByValnAsInteger
B)把Callpro(a+b)改为proa+b
C)把n=n\10改为n=n/10
D)在prob语句之后增加语句c%=a+b,再把Callpro(a+b)改为proc
第8题(组合框)
.在窗体上画一个组合框,一个命令按钮和一个文本框,其名称分别为Combo1,Command1和Text1,然后编写如下事件过程:
PrivateSubForm_Load()
Combo1.AddItem"AAAAA"
Combo1.AddItem"BBBBB"
Combo1.AddItem"CCCCC"
Combo1.AddItem"DDDDD"
Combo1.AddItem"EEEEE"
EndSub
程序运行后,如果单击命令按钮,则在文本框中显示组合框的项目"CCCCC"。
为了实现该操作,在命令按钮的Click事件过程中应使用的语句为( A )。
A)Text1.Text=Combo1.List
(2)B)Text1.Text=Combo1.Text
C)Text1.Text=Combo1.List(3)D)Text1.Text=Combo1.ListIndex
第9题(定时器)
.(第2套静态变量)
PrivateSubC1_Click()
'Timer1.Enabled=?
EndSub
PrivateSubTimer1_Timer()
Statica%
a=a+1
'IfP1.Top>P2.Top+P2.?
Then
P1.MoveP1.Left,P1.Top-5-a,P1.Width,P1.Height
Else
'Timer1.Enabled=?
EndIf
EndSub
.(第10套)
PrivateSubForm_Load()
Picture1(0).Left=0
Picture1(0).Top=100
Fork=1To7
' Picture1(k).Visible=?
Next
EndSub
PrivateSubCommand1_Click()
' Timer1.Enabled=?
EndSub
PrivateSubCommand2_Click()
Timer1.Enabled=False
EndSub
PrivateSubTimer1_Timer()
StaticiAsInteger
Picture1(i).Visible=False
i=i+1
' Ifi=?
Then
' i=?
EndIf
Picture1(i).Visible=True
EndSub
.(第12套)
Dimleft0AsInteger
Constbluecolor=&HFF0000,redcolor=&HFF&
PrivateSubCommand1_Click()
' Timer1.Enabled=?
EndSub
PrivateSubCommand2_Click()
Timer1.Enabled=False
EndSub
PrivateSubForm_Load()
left0=Shape1.Left
EndSub
PrivateSubTimer1_Timer()
IfShape1.FillColor=bluecolorThen
IfShape1.Left>0Then
Shape1.Height=Shape1.Height+100
Shape1.Width=Shape1.Width+100
Shape1.Left=Shape1.Left-50
Shape1.Top=Shape1.Top-50
Else
' Shape1.FillColor=?
EndIf
EndIf
IfShape1.FillColor=redcolorThen
IfShape1.Left Shape1.Height=Shape1.Height-100 Shape1.Width=Shape1.Width-100 ' ? =Shape1.Left+50 ' ? =Shape1.Top+50 Else ' Shape1.FillColor=? EndIf EndIf EndSub 第10题(字符串) .(第13套读字符串插入单词) PrivateSubCommand1_Click() Dimst$,ch$ OpenApp.Path&"\in3.txt"ForInputAs#1 DoWhileNotEOF (1) Input#1,ch ' st=? &ch Loop Close#1 Text1=st EndSub PrivateSubCommand2_Click() Dimst$,word$,c$ st=Text1 n=Len(st) Fork=1Ton ' ? =Mid(st,k,1) Ifc<>""Then word=word&c Else List1.AddItemword ' ? ="" EndIf Next List1.AddItemword EndSub .(单字符)单击"大小写转换"按钮,可以把Text1中的大写字母转换为小写,把小写字母转换为大写。 PrivateSubCmd1_Click() Dima$,b$,k%,n% a$="" n%=Asc("a")-Asc(“A”) Fork%=1ToLen(Text1.Text) b$=Mid(Text1.Text,k%,1) Ifb$>="a"Andb$<="z"Then b$=String(1,Asc(b$)-n%) Else Ifb$>="A"Andb$<="Z"Then b$=String(1,Asc(b$)+n%) EndIf EndIf a$=a$+b$ Nextk% Text1.Text=a$ EndSub 第11题(一维及控件数组) . 参考答案 PrivateSubCommand1_Click() Dima()AsLong DimiAsInteger DimnAsInteger Fori=0ToOp1.Count-1 IfOp1(i).Value=TrueThen n=Val(Op1(i).Caption) ExitFor EndIf Next ReDima(n) a (1)=1 a (2)=1 Fori=3Ton a(i)=a(i-1)+a(i-2) Next Text1.Text=a(n) EndSub 拓展条件: 奇数、偶数、被3整除、被7整除、素数、大于? 等个数(和)、下标为奇(偶)数的数组元素的和 偶数分解为两个素数之和。 第12题(两个及以上一维数组) .(第6套) 程序提供代码 OptionBase1 DimArr1(20)AsInteger DimArr2(20)AsInteger SubReadData1() OpenApp.Path&"\"&"datain1.txt"ForInputAs#1 Fori=1To20 Input#1,Arr1(i) Nexti Close#1 EndSub SubReadData2() OpenApp.Path&"\"&"datain2.txt"ForInputAs#1 Fori=1To20 Input#1,Arr2(i) Nexti Close#1 EndSub SubWriteData(FilenameAsString,NumAsInteger) OpenApp.Path&"\"&FilenameForOutputAs#1 Print#1,Num Close#1 EndSub 参考答案 PrivateSubC1_Click() CallReadData1 CallReadData2 EndSub PrivateSubC2_Click() DimArr3(1To20)AsInteger DimsumAsInteger sum=0 Fori=1To20 Arr3(i)=Arr1(i)-Arr2(i) sum=sum+Arr3(i) Nexti Print"sum=";sum WriteData"dataout.txt",sum EndSub 拓展条件: 两个有序的一维数组,合并后有序存入第三个数组;除10截尾后相乘放入第3个数组中,再求和。 第13题(二维数组) .(第10套) 程序提供代码 Dima(5,5)AsInteger Dimb(5)AsInteger Dimc(5)AsInteger PrivateSubCommand1_Click() N=5 Fori=1ToN '========考生编写程序开始===== '========考生编写程序结束===== Nexti Save EndSub PrivateSubForm_Load() read EndSub PublicSubread() OpenApp.Path&"\Data5.txt"ForInputAs#1 DoWhileNotEOF (1) Fori=1To5 Forj=1To5 Input#1,a(i,j) Nextj Nexti Loop Close#1 EndSub PublicSubSave() OpenApp.Path&"\out5.txt"ForOutputAs#1 Fori=1To5 Print#1,b(i),c(i) Nexti Close#1 EndSub 参考答案 Max=a(i,1) Forj=1To5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 语言 辅导 讲解 18 定稿