VB语言程序设计习题答案.docx
《VB语言程序设计习题答案.docx》由会员分享,可在线阅读,更多相关《VB语言程序设计习题答案.docx(31页珍藏版)》请在冰豆网上搜索。
![VB语言程序设计习题答案.docx](https://file1.bdocx.com/fileroot1/2023-5/28/56546d12-6bcb-4712-be1b-cb7436ce9bb0/56546d12-6bcb-4712-be1b-cb7436ce9bb01.gif)
VB语言程序设计习题答案
说明:
《VB语言程序设计》一书由电子工业出版社2003年1月出版,其电子讲稿及辅助文件已存放在该出版社网站中,可按照该书《前言》介绍的方法进行下载。
《VB语言程序设计》习题参考答案
第1章习题
一、单选题
1.D2.B3.C4.A5.C6.A
7.A8.B9.C10.
(1)A
(2)B
二、多选题
1.ACDE2.BCDE3.CD4.CE
三、填空题
1.事件驱动2.解释,编译3.设计,运行,中断
4.属性,方法,事件5.Command2_Click6.中央,代码
7.MyForm.frm8.
(1)Cmd1_Click()
(2)Print"VB语言程序设计"
编程及上机调试
1.按要求设置窗体属性
2.在窗体上建立一个标签Label1。
程序代码如下:
PrivateSubForm_Click()
Label1.Caption="你单击了窗体"
EndSub
PrivateSubForm_DblClick()
Label1.Caption="你双击了窗体"
EndSub
3.在窗体上建立两个文本框Text1(输入数)、Text2(输出数)和一个命令按钮Command1。
两个文本框的Text属性均为空。
PrivateSubCommand1_Click()
DimxAsSingle
x=Val(Text1.Text)
Text2.Text=15*x
EndSub
第2章习题
一、单选题
1.①D,②D2.①A,②C3.A4.B5.B6.B
7.C8.D9.B10.B11.A12.A
13.B14.A15.B16.A17.B
二、多选题
1.BD2.CD3.AC4.AD
三、填空题
1.
(1)Sin(50*3.14159/180)
(2)(2+x*y)/(2–y*y)
(3)a*a–3*a*b/(3+a)(4)x^(3/8)+Sqr(y*y+4*a*a/(x+y^3))
2.Int(50+6*Rnd)
3.
(1)138
(2)3(3)214(4)"inchina"(5)70(6)"45"
(7)0
4."系统管理数据库"
编程及上机调试
1~3题:
按要求完成操作练习。
4.PrivateSubCommand1_Click()'"最大化"按钮
Form1.WindowState=2'最大化
EndSub
PrivateSubCommand2_Click()'"还原"按钮
Form1.WindowState=0'还原
EndSub
PrivateSubCommand3_Click()'"最小化"按钮
Form1.WindowState=1'最小化
EndSub
5.在窗体上建立三个文本框Text1(第一个数)、Text2(第二个数)、Text3(计算结果)和一个命令按钮Command1(“计算”)。
PrivateSubCommand1_Click()
DimxAsSingle
DimyAsSingle
x=Val(Text1.Text)
y=Val(Text2.Text)
Text3.Text=x*x+y*y
EndSub
6.在窗体上建立两个文本框Text1(输入一串字符)、Text2(输出结果)和一个命令按钮Command1。
PrivateSubCommand1_Click()
DimxAsString
x=Left(Text1.Text,1)+Right(Text1.Text,1)
Text2.Text=x
EndSub
第3章习题
一、单选题
1.C2.B3.D4.D5.B6.C
7.B8.D9.D10.A11.A12.C
13.C14.B15.
(1)A
(2)C16.A17.B
18.
(1)D
(2)B(3)C19.D
二、多选题
1.AC2.AC3.ABCF
三、填空题
1.$000,1242.Label1.Caption="a*b="3.Height,Width
4.25.Text1.SetFocus
6.Multiline,ScrollBars,27.编程技术,程序设计
8.PrivateSubText2_Change()´当文本框Text2中的文本内容发生变动时,执行该事件过程
Label1.Caption=Text1.Text´把文本框Text1中的文本内容作为标签Label1的标题
EndSub
PrivateSubText1_GotFocus()´当文本框Text1获得焦点时,执行该事件过程
Text1.SelStart=0´选定文本框Text1中的所有文本内容
Text1.SelLength=Len(Text1.Text)
EndSub
编程及上机调试
1.在窗体上建立一个文本框Text1(输入n值)、三个标签Label1(第一个随机数)、Label2(第二个随机数)和Label3(第三个随机数),以及一个命令按钮Command1。
PrivateSubCommand1_Click()
n=Val(Text1.Text)
Randomize
x=Int(1+n*Rnd)
Label1.Caption="第一个随机数"+Str(x)
x=Int(1+n*Rnd)
Label2.Caption="第二个随机数"+Str(x)
x=Int(1+n*Rnd)
Label3.Caption="第三个随机数"+Str(x)
EndSub
2.在窗体上建立了四个文本框Text1、Text2、Text3和Text4,以及一个命令按钮Command1(“交换”)和Command2(“合并”)。
PrivateSubCommand1_Click()'“交换”
t=Text1.Text
Text1.Text=Text2.Text
Text2.Text=Text3.Text
Text3.Text=t
EndSub
PrivateSubCommand2_Click()'“合并”
t=Text1.Text+Text2.Text+Text3.Text
Text4.Text=t
EndSub
3.
(1)Rnd*9000+1000
(2)Str(x)(3)Mid(s,3,1)+Mid(s,2,1)+Left(s,1)
4.PrivateSubCommand1_Click()'往左
Text1.Left=0
EndSub
PrivateSubCommand2_Click()'往右
Text1.Left=Form1.Width-Text1.Width
EndSub
PrivateSubCommand3_Click()'居中
Text1.Left=(Form1.Width-Text1.Width)/2
EndSub
5.PrivateSubCmd1_Click()
Lab1.Visible=True
Lab1.Caption="您已下达显示命令"
EndSub
PrivateSubForm_Click()
Cmd1.Visible=True
EndSub
6.PrivateSubForm_KeyPress(KeyAsciiAsInteger)
Show
Print"输入字符:
";Chr(KeyAscii),"ASCII码为;";KeyAscii
EndSub
PrivateSubForm_DblClick()
Cls
EndSub
7.产生这三个消息框的相应语句是:
产生第1个消息框:
x=MsgBox("在这里显示提示信息",4+0,"请确认")
产生第2个消息框:
x=MsgBox("在这里显示"+Chr(13)+"提示信息",3+0,"请确认")
产生第3个消息框:
x=MsgBox("在这里显示"+Chr(13)+"提示信息",2+16+0,"请确认")
第4章习题
一、单选题
1.C2.A3.C4.C5.B6.A
7.D8.B9.B10.
(1)D
(2)A(3)B
二、多选题
1.ABCFGHJ2.BE3.CD4.CDE5.AE
三、填空题
1.(SAnd(A>=18AndA<=20)AndH>=1.65)Or(NotSAnd(A>=16AndAge<=18)AndH>=1.60)
2.600003.
(1)"0"To"9"
(2)"a"To"z","A"To"Z"(3)Else
4.
(1)6
(2)-2(3)2
5.SelectCasexCaseIs<20
CaseIs<=0y=2
y=4CaseIs<=30
CaseIs<10y=3
y=0CaseElse
CaseIs<15y=4
y=1EndSelect
6.
(1)(x>100)And(xMod5=0)
(2)0
(3)Len(Text1.Text)(4)Text1.SelText
编程及上机调试
1.在窗体上建立两个文本框Text1(输入数)及Text2(显示结果),一个命令按钮Command1(“判断”)。
PrivateSubCommand1_Click()'“判断”
x=Val(Text1.Text)
IfxMod2=0Then
Text2.Text="偶数"
Else消息
Text2.Text="奇数"
EndIf
EndSub
2.窗体上建立了一个文本框Text1,用于显示结果。
PrivateSubForm_Load()
x=Val(InputBox("请输入星期几(0~6)"))
SelectCasex
CaseIs=0
Text1.Text="星期日(Sunday)"
CaseIs=1
Text1.Text="星期一(Monday)"
CaseIs=2
Text1.Text="星期二(Tuesday)"
CaseIs=3
Text1.Text="星期三(Wednesday)"
CaseIs=4
Text1.Text="星期四(Thursday)"
CaseIs=5
Text1.Text="星期五(Friday)"
CaseIs=6
Text1.Text="星期六(Saturday)"
CaseElse
Text1.Text="输入错误"
EndSelect
EndSub
3.窗体上建立了一个文本框Text1(“输入口令”)和一个命令按钮Command1(“检查”)。
PrivateSubCommand1_Click()'“检查”
x=Text1.Text
Ifx=""Then
MsgBox("欢迎你用机!
")
Else
MsgBox("对不起,口令错")
EndIf
Text1.Text=""
Text1.SetFocus
EndSub
PrivateSubForm_Load()
Text1.Text=""
Text1.MaxLength=8
Text1.PasswordChar="*"
EndSub
4.窗体上建立了两个文本框Text1(输入字符串)及Text2(转换结果),一个命令按钮Command1(“清除”)。
PrivateSubCommand1_Click()'“清除”
Text1.Text=""
Text2.Text=""
Text1.SetFocus
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
DimsAsString*1
s=Chr(KeyAscii)
SelectCases
Case"A"To"Z"
s=LCase(s)
Case"a"To"z"
s=UCase(s)
CaseElse
s="*"
EndSelect
Text2.Text=Text2.Text+s
EndSub
5.分别选择”红”、”绿”、”蓝”复选框后,单击命令按钮Command1时,通过RGB函数调配的颜色作为一个标签的背景色(BackColor)。
PrivateSubCommand1_Click()
r=0:
g=0:
b=0
IfCheck1.Value=1Then'”红”复选框
r=255
EndIf
IfCheck2.Value=1Then'”绿”复选框
g=255
EndIf
IfCheck3.Value=1Then'”蓝”复选框
b=255
EndIf
Label1.BackColor=RGB(r,g,b)
EndSub
6.程序代码如下:
PrivateSubForm_Load()
LabClk.Caption="0"
LabClk.Alignment=1
LabClk.BorderStyle=1
LabClk.FontSize=22
LabClk.FontName="黑体"
TimClk.Interval=1000
EndSub
PrivateSubTimClk_Timer()
LabClk.Caption=Val(LabClk.Caption)+1
EndSub
7.
(1)Chr(KeyAscii)
(2)ElseIfChr(KeyAscii)
(3)CheC=CheC-1(4)CheC(5)Is>0或Else
第5章习题
一、单选题
1.A2.B3.
(1)C,
(2)B4.B5.C6.A
7.
(1)B,
(2)C,(3)B8.B9.B10.B
二、填空题
1.
(1)4次,n=13
(2)3次,n=8(3)3次,n=27(4)3次,n=10(5)1次,n=12
2.
(1)Len(s)
(2)Mid(s,k,1)(3)c+t(4)Text2.Text
3.
(1)t=1
(2)n=n+1(3)t=t*2
4.05.Text6.下拉列表框7.AddItem,RemoveItem或Clear
8.
(1)ItemA
(2)ItemD(3)ItemD(4)ItemA
9.
(1)Mid(x,p+3)
(2)p+4(3)InStr(p,x,"123")
编程及上机调试
1.和数为:
1.21。
程序代码如下:
PrivateSubForm_Load()
Show
s=0
Fork=1To100
s=s+1/(1+k*4)
Nextk
Prints
EndSub
2.程序代码如下:
PrivateSubForm_Load()
DimiAsInteger,aAsInteger,bAsInteger,cAsInteger
Show
Fori=100To999
a=Int(i/100)
b=Int((i-100*a)/10)
c=i-100*a-10*b
Ifa*a*a+b*b*b+c*c*c=iThen
Printi
EndIf
Nexti
EndSub
3.在窗体上建立一个文本框Text1(初始值)、一个列表框List1(显示结果)和一个命令按钮Comd1(“查找”)。
PrivateSubComd1_Click()'“查找”
DimnAsInteger
n=Val(Text1.Text)
List1.Clear:
k=0
DoWhilek<=99
IfNot(nMod7=0)Then
List1.AddItemn
k=k+1
EndIf
n=n+1
Loop
EndSub
4.程序代码如下:
PrivateSubForm_Load()
Show
n=Val(InputBox("正整数n="))
Fori=1Ton
Forj=i+1Ton
Fork=j+1Ton
Ifi*i+j*j=k*kThen
Print"(";i;",";j;",";k;")"
EndIf
Nextk
Nextj
Nexti
EndSub
5.在窗体上建立一个列表框List1和一个“显示表项”命令按钮Command1。
程序代码如下:
PrivateSubCommand1_click()'"显示表项"按钮单击事件
FontSize=12
Cls
Fori=0ToList1.ListCount-1'逐项判断
IfList1.Selected(i)Then'真时为选中
PrintList1.List(i)
EndIf
Nexti
EndSub
6.
(1)Text1.Text
(2)UCase(x)(3)t>="A"Andt<="Z"(4)y+x
7.程序代码如下:
PrivateSubForm_Load()
Show
DimaAsSingle,xn0AsSingle,xn1AsSingle
a=Val(InputBox("请输入一个正数"))
xn1=a
Do
xn0=xn1
xn1=(xn0+a/xn0)/2
LoopWhileAbs(xn0-xn1)>=0.00001
Printa;"的平方根为";xn1
EndSub
第6章习题
一、单选题
1.D2.A3.
(1)B,
(2)B4.C5.C6.A
7.
(1)C
(2)B(3)A(4)B(5)D
二、多选题
1.AD2.CD
三、填空题
1.二,12;1,3;-1,22.0123
2222
2101
4444
3.Name,Index
4.
(1)0ToIndex
(2)Val(Text1(k).Text)
5.
(1)i+1Tok
(2)s(i)s(i-1)(4)h=h+1
6.
(1)ReDima(1Ton+1)
(2)a(K+1)=a(K)(3)a(p)
编程及上机调试
1.程序代码如下:
PrivateSubForm_Load()
Show
Dima(100)AsSingle
n=Val(InputBox("输入个数n"))
Print"处理前数据:
"
Fork=1Ton
a(k)=Val(InputBox("请输入第"&k&"个数"))
Printa(k);
Nextk
Print
M=Int(n/2)
Fork=1ToM
h=n-k+1
t=a(h):
a(h)=a(k):
a(k)=t
Nextk
Print"处理的结果:
"
Fork=1Ton
Printa(k);
Nextk
EndSub
2.程序代码如下:
PrivateSubForm_Load()
Dima(6,6)AsInteger
Show
Fori=1To6
Forj=1To6
SelectCasei
CaseIsa(i,j)=1
CaseIs>j
a(i,j)=2
CaseIs=j
a(i,j)=0
EndSelect
Printa(i,j);
Nextj
Print
Nexti
Fori=1To6
t=a(1,i):
a(1,i)=a(6,i):
a(6,i)=t
Nexti
Print:
Print
Fori=1To6
Forj=1To6
Printa(i,j);
Nextj
Print
Nexti
EndSub
3.在窗体上建立两个列表框List1(处理前数据)和List2(处理后数据),以及标签Label1。
程序代码如下:
PrivateSubForm_Load()
Dima(100)AsInteger,b(100)AsInteger
Randomize
n=100
Fori=1Ton'输入数组a的n个元素
x=Int(20*Rnd)
List1.AddItemx
a(i)=x
Nexti
k=