P0vb课后习题答案第一章习题参考答案一、填空题1、对象事件驱动2、编译运行模式解释运行模式二、简答题1、简述VB的特点。答:①可视化的程序设计方法②面向对象的程序设计思想③事件驱动的编程机制④结构化的程序设计语言⑤高度的可扩充性⑥强大的数据库访问能力⑦支持动态数据交换⑧支持对象链接与嵌入2、简述VB的安装过程。答:①向光驱中放入VB安装光盘;②计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe;③根据提示逐一回答问题,并点击“下一步”;④点击“完成”;2、如何启动VB。答:三种方法:①单击“开始”按钮,选择“程序”菜单下的“MicrosoftVisualBasic6.0中文版”菜单项并单击;②双击桌面上的VB6.0快捷图标;③在“开始”菜单的运行对话框中输入命令来启动VB;第二章习题参考答案一、选择题:1-10、DCACDBCBBC11-20、BADCABBAAB21-29、AACBBCDDC二、填空题1.窗体、控件2.属性值3.属性窗口设置、代码窗口设置4.事件过程5.对象名、下划线、事件名6.Form_Click第三章习题参考答案一、选择题1、B2、C3、A4、B5、A6、C7、C二、填空题1、11字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。String、Byte、Integer、Long、Single、Double、Currency、Boolean、Date、Object、Variant2、双引号(英文)、#3、ASCII、1、24、public、通用、Dim、Static、Private、Static5、&、+、+6、Now()、Time、日期型三、解答题1、(3)2、(1)3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)4、315、(1)(1+y/x)/(1-y/x)(2)x^3+3*x*y/(2-y)(3)sqr(abs(a*b-c^3))(4)sqr(s*(s-a)*(s-b)*(s-c))6、7、(1)13(2)17(3)#1999-11-12#(4)zxy123ABC8、(1)19(2)8.16666666666667(3)5.25(4)29、(1)-4(2)2.82842712474619(3)-3(4)49(5)”hello”(6)He7)16(8)“-459.65”(9)510、(4)11、(2)12、(4)第四章习题参考答案一、选择题:1—7:DAABBCD二、填空题1.500.00%2.将字号扩大为原来的二倍3.B三、编程题(略)1.文本框、标签和命令按钮的名称分别为text1、label1、command1PrivateSubCommand1_Click()Label1.caption=text1.textCommand1.caption=text1.textEndSub2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。PrivateSubCommand1_Click()Text4=val(text1)*val(text2)*val(text3)EndSubPrivateSubCommand2_Click()Text1=””:Text2=””:Text3=””:Text4=””EndSub3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2PrivateSubCommand1_Click()Text1=Ucase(text1)EndSubPrivateSubCommand2_Click()Text1=Lcase(text1)EndSub第五章习题参考答案一、选择题:1—11:CAABBABBBCC二、填空题1.(3)2.1233.2234.1605.96.787.x=5(或x6或x7)8.B9.iSumiSum+j1250三、编程题1.PrivateSubForm_Click()Dimi%,s%S=0Fori=101To200step2Ifimod30thenPrintiS=s+iEndIfNextiPrintsEndSub2.PrivateSubForm_Click()Dimn%,s&S=1:n=0Whiles=400000N=n+1S=s*nWendIfs400000Thenn=n-1PrintnEndSub3.PrivateSubForm_Click()Dimimin%,imax%,i%,R%Imin=100:imax=20Fori=1to20R=Int(Rnd*51+50)IfRimaxThenimax=RIfRiminThenimin=RNextiPrintimax,iminEndSub第六章习题参考答案一、选择题:1—13:ABAACCBADADBB二、填空题1.IntervalLabel1.caption=time2.List1.ListCountInterValHscroll1.Max三、编程题1.PrivateSubCommand1_Click()IfOption1.Value=TrueAndOption3.Value=TrueThenText1.FontName=宋体Text1.FontSize=8EndIfIfOption1.Value=TrueAndOption4.Value=TrueThenText1.FontName=宋体Text1.FontSize=12EndIfIfOption2.Value=TrueAndOption3.Value=TrueThenText1.FontName=黑体Text1.FontSize=8EndIfIfOption2.Value=TrueAndOption4.Value=TrueThenText1.FontName=黑体Text1.FontSize=12EndIfEndSub2.9.timer的Enable为FalseInterval为100PrivateSubCommand1_Click()Timer1.Enabled=TrueEndSubPrivateSubCommand2_Click()Timer1.Enabled=FalseEndSubPrivateSubTimer1_Timer()汽车.Left=汽车.Left+100EndSub第七章习题参考答案一、选择题:1—12:DCADDBBDACCB二、填空题1.422.Index3.414.A(i)=a(11-i)a(11-i)=Tmp5.16.XMod7=07.2108.0To8i+1To99.3K110.1001MaxMaxarrN(i)(或者arrN(i)Max)三、编程题1.PrivateSubC1_click()IfOP1(0).Value=TrueThenP1.Print“选择了椭圆形”IfOP1(1).Value=TrueThenP1.Print“选择了圆形”IfOP1(2).Value=TrueThenP1.Print“选择了正方形”EndSub2.统计按钮名为Command1,输入框名为text1,输出框为text2(MultLine设为True)PrivateSubCommand1_click()DimX(1to26)ASInteger,IAsIntegerDimSAsString,LAsIntegerL=Len(Text1.text)Fori=1ToLS=Mid(Text1,I,1)S=Ucase(S)IfS=AAndS=ZThenx(Asc(S)-65+1)=x(Asc(S)-65+1)+1EndIfNextiFori=1ToLText2=text2&Chr(64+i)&“=”&x(i)&““IfIMod7=0thenText2=text2&chr(13)+chr(10)NextiEndSub3.设学生成绩的平均分已在Mark(1)至Mark(10)中,学生姓名在name(1)至name(10)中。PrivateSubCommand1_click()DimI%,J%,T%,S$Fori=1To9Forj=i+1To10IfMark(i)Mark(j)ThenT=Mark(i):Mark(i)=Mark(j):Mark(j)=TS=name(i):name(i)=name(j):name(j)=SNextJNextiFori=1To10PrintName(i),Mark(i)NextiEndSub第八章习题参考答案一、选择题:1—10:DCBBDDDBCB二、填空题1.aUbound(b)n=n-12.Key=a(i)Index=-1三、编程题1.子过程SubP1(xAsSingle,espAsSingle)Dimp!,S!,F!,i%P=1:S=1:i=1:F=xDoP=P*iS=S+F/pLoopUntilAbs(F/p)espPrintsEndSub子函数FunctionP2(xAsSingle,espAsSingle)AssingleDimp!,S!,F!,i%P=1:S=1:i=1:F=xDoP=P*iS=S+F/pLoopUntilAbs(F/p)espP2=sEndFunction2.Swap2能实现数据交换。因为地址传递方式形参和实参有共同的地址,那么形参的变化,会引起实参的变化(即形参将值回传给实参),故可实现两数交换。3.FunctionLF(ByValxAsSingle)AsSingleLF=X*X*XEndFunctionSubCommand1_Click()DimI%Fori=1To20PrintI,LF(i)NextiEndSub4.FunctionWeekDay(ByValxAsInteger)AsStringSelectCasexCase0WeekDay=”星期日”Case1WeekDay=”星期一”Case2WeekDay=”星期二”Case3WeekDay=”星期三”Case4WeekDay=”星期四”Case5WeekDay=”星期五”Case6WeekDay=”星期六”EndSelectEndFunction5.FunctionRand30(ByValXAs`Integer)AsIntegerRandomizeRand30=Int(Rnd*X+1)EndFunctionSubCommand1_Click()Fori=1To30PrintRand30(100)NextiEndSub6.FunctionF1(ByValXAs`Single,ByValYAs`Single)AsIntegerIfXYThenF1=XElseF1=YEndIfEndFunction7.FunctionGDBH(ByValx%)AsStringDimi%Fori=3Tox-3Step2Ifisp(i)Andisp(x-i)ThenGDBH=i&+&(x-i)&=&xExitFunctionEndIfNextEndFunctionFunctionisp(y%)AsBooleani=2:k=Int(y/2)DoWhilei=kIfyModi=0ThenExitDoi=i+1LoopIfikThenisp=TrueElseisp=FalseEndIfEndFunctionPrivateSubForm_Click()Fori=6To40Step2PrintGDBH(i)NextiEndSub8.FunctionisQO(ByValxAsInteger)AsStringIfxMod2=0ThenisQO=”偶数”ElseisQO=”奇数”EndIfEndFunction9.FunctionF1(ByValxAsIntege