一VB程序设计基础练习题库.docx
- 文档编号:15801168
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:16
- 大小:49.49KB
一VB程序设计基础练习题库.docx
《一VB程序设计基础练习题库.docx》由会员分享,可在线阅读,更多相关《一VB程序设计基础练习题库.docx(16页珍藏版)》请在冰点文库上搜索。
一VB程序设计基础练习题库
一、单选题(共15小题,每小题2分,共30分)
1.以下叙述中,错误的是(B)。
A)在VisualBasic中,对象所能响应的事件是由系统定义的
B)对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定
C)VisualBasic中允许不同对象使用相同名称的方法
D)VisualBasic中的对象具有自己的属性和方法
2.下列叙述中,错误的是(C)。
A、VB是可视化程序设计语言B、VB采用事件驱动编程机制
C、VB是面向过程(对象)的程序设计语言D、VB应用程序可以以编译方式执行
3.下列(A)是合法的变量名。
A、x_y(合法变量名以字母或下划线头)B、x-yC、2xD、and
4.选拔身高T超过1.7米且体重W小于62.5公斤的人,表示该条件的布尔表达式为(C)。
A、T>=AndW<= B、T<=OrW>=62.5
C、T>AndW< D、T>=OrW<
5.设a=”VisualBasic”,下面使b=”Basic”的语句是(B)
=Left(a,8,12)=Mid(a,8,5)=Right(a,5,5)=Left(a,8,5)
取字符串a第8个字符开始的5个
6.如果x小于y的平方,则在窗体上输出“OK”。
完成该要求的单行条件语句是(C)。
A、Ifx C、Ifx 7.要使循环体至少执行一次,应使用(D)循环。 A、For…NextB、While…Wend C、Do…Loop[While/Until]D、Do[While/Until]…Loop(先做在判断,所以会执行一次的) 8.下面程序段求两个数中的大数,不正确的语句是(D)。 A、Max=Iif(x>y,x,y)B、ifx>yThenMax=xElseMax=y C、Max=xD、ify>=xThenMax=y(Else) Ify>=xThenMax=yMax=x 9.以下条件语句错误的是(A)。 A、IfXThenY=Y+1B、IfX=0ThenY=0 C、IfX>0ThenY=1: PrintYD、IfX>YThenPrintYEndIf 10.若要求从文本框中输入密码时在文本框中只显示*号,则应用在此文本框的属性窗口中设置(D)。 A、Text属性值为* B、Caption属性值为* C、Password属性值为空 D、PasswordChar属性值为* 11.设置标签Label1的属性使它不可见的语句是(D)。 A、=-1B、=1 C、=trueD、=False 12.修改控件属性,既可以使用属性窗口,也可以通过(D)为控件属性赋值。 A、属性B、事件C、方法D、代码 13.在程序代码中引用一个控件时,应使用控件的(B)属性。 A)CaptionB)NameC)TextD)Index 14.若要获得列表框中被选中的列表框的内容,可以通过访问(B)属性来实现。 A)NameB)ListIndexC)ListCountD)Text 15.以下叙述中正确的是(B)。 16.A.一个Sub过程至少要一个ExitSub语句(×) 17. B.一个Sub过程必须有一个EndSub语句 18. C.可以在Sub过程中定义一个Function过程,但不能定义Sub过程 19. D.调用一个Function过程可以获得多个返回值 二、填空题(共8空,每空2分,共16分) 1.InputBox函数返回值的类型为string。 2.与事件相关的一段程序代码称为事件过程代码。 3.循环语句FORk=2TO30STEP5使循环体执行的次数是6。 4.可表示[50,100]之间的随机数的语句是int(rnd*51+50)。 5.Print方法分区输出时,用逗号分隔多个表达式。 当输出多个表达式或字符串时,各表达式用分隔符(逗号、分号或空格)隔开。 如果输出的各表达式之间用逗号分隔,则按标准输出格式(分区输出格式)显示数据项。 6.强制性退出For…Next循环的语句是exitfor。 7.当程序运行时,要求窗体中的文本框呈现空白,则在设计时,应当在此文本框的属性窗口中,把此文本框的caption属性设置成空白。 8.为了把焦点移到某个指定的控件,所使用的方法是setfocus。 三、基本操作题(共2小题,每小题10分,共20分) 1.打开工程文件,完成以下操作,并以原文件名保存。 P65 [1]设置窗体运行后出现在屏幕中心;(2分) [2]设置口令的长度小于等于6;(3分) [3]设置输入的口令以“*”显示;(3分) [4]设置“确定”按钮为缺省按钮。 (2分) 2.打开工程文件,完成以下操作,并以原文件名保存。 P111 [1]在文本框中输入课程名称,单击“添加”按钮,将该课程添加到列表框中,并清文本框的内容;(3分) [2]选中列表框某课程,单击“删除”按钮,将选中的课程从列表框中删除;(4分) [3]单击“清除”按钮,清除列表框中的所有课程。 (3分) 四、程序填空(共4小题,每小题2空,每空3分,共24分) 说明: 打开已有的工程文件,根据要求实现的功能,在“”处用相应的代码代替(不得删除原有的代码,必须在处填写),使程序能正常运行。 1.打开考试目录下的“”,完善程序并保存。 要求: (1)圆的半径r利用InputBox函数从键盘输入(r>0)。 (2)圆周率定义为符号常量。 (3)求圆的周长lenth和面积area。 (4)用Print方法输出圆的周长和面积。 原程序: PrivateSubCommand1_Click() DimrAsSingle DimlenthAsSingle,areaAsSingle ConstPI= r=Val(InputBox(“圆的半径”,0) lenth=2*PI*r area=PI*r*r Print"半径=";r,"周长=";lenth,"面积=";area EndSub 2.打开考试目录下的“”,完善程序并保存。 要求实现功能: 利用DoWhile…Loop语句求s=12+22+…+1002。 (运行效果如下图所示)。 原程序: PrivateSubCommand1_Click() DimnAsInteger,sAsLong n=1: s=0 DoWhilen<101 s=s+n*n n=n+1 Loop Print"s=";s EndSub 3.打开考试目录下的“”,完善程序并保存。 已知计算机等级考试的百分制成绩mark,要求用SelectCase语句将百分制成绩mark转换成对应五级制的评定grade。 评定条件如下: mark≥85,优 60≤mark<85,合格 mark<60,不合格 要求实现功能: 用文本框输入成绩mark,在图片框中用print方法输出评定结果grade的值。 当单击清除按钮时,会清除文本框及图片框显示的内容(运行效果如下图所示)。 原程序: PrivateSubCommand1_Click() DimaAsInteger a=Val(Text1) SelectCasea CaseIs>=85 grade="优" Case60To84 grade="合格" CaseIs<=59 grade="不合格" EndSelect "成绩评定为: ";grade EndSub PrivateSubCommand2_Click() Text1="" Picture1.Cls EndSub 4.打开考试目录下的“”,完善程序并保存。 要求实现的功能是: 从键盘上输入若干个学生的考试分数,当输入负数时结束输入,然后输出其中的最高分数和最低分数。 (运行效果如下图所示)。 原程序: PrivateSubCommand1_Click() DimxAsSingle,amaxAsSingle,aminAsSingle x=InputBox("Enterascore") amax=x amin=x DoWhilex>0 Ifx>amaxThen amax=x EndIf Ifx<=aminThen amin=x EndIf x=InputBox("Enterascore") Loop Print"最高分=";amax,"最低分=";amin EndSub 五、程序设计题(10分) 编写程序实现以下功能: 随机生成10个两位整数,求数组元素之和sum及平均值aver,然后先按原顺序输出数组各元素,再按相反的顺序输出数组各元素,并输出元素之和sum及平均值aver。 工程文件命名为,窗体文件命名为,程序运行界面如图5-1所示。 (10分) 图5-1程序运行界面 1.求随机10个整数的最大值、最小值、平均值以及和; Dima(1To10) PrivateSubCommand1_Click() Randomize "产生的随机数为: " Fori=1To10 a(i)=Int(Rnd*99+1) a(i); Nexti EndSub PrivateSubCommand2_Click() Dimmax,min,ave max=a (1) min=a (1) ave=*a (1) Fori=2To10 Ifa(i)>maxThenmax=a(i) Ifa(i) ave=ave+*a(i) Nexti "最大数为: ";max "最小数为: ";min "平均数为: ";ave EndSub 2.求水仙花数 PrivateSubForm_Click() Dima,b,cAsInteger'a(个)b(十)c(百) Fora=0To9 Forb=0To9 Forc=1To9 Ifa^3+b^3+c^3=a+10*b+100*cThen MsgBox100*c+10*b+a EndIf Nextc Nextb Nexta EndSub 3.百元买百鸡问题; OptionExplicit Consta=5,b=3,c=1 PrivateSubForm_Activate() DimiAsInteger,jAsInteger,kAsInteger,nAsInteger Fori=1To100 Forj=1To100 Fork=1To100 Ifi*a+j*b+k*c=100Then n=n+1 "公鸡: "&i&"母鸡: "&j&"小鸡: "&k EndIf Next: Next: Next MsgBox"共有组合: "&n EndSub 求1000以内的所有完数 一个按钮里调用的过程 PrivateSubCommand1_Click() OutputWanNumber1000 EndSub 4.'求完数的过程 PrivateSubForm_Click() Dimi,jAsInteger Fori=4To100 temp=1 Forj=2Toi/2 IfiModj=0Then temp=temp+j EndIf Nextj Iftemp=iThen Printi EndIf Nexti EndSub 5.求各位数字之和 inputa: '输入任意数 do b=amod10: '取a的末位数 sum=sum+b: '求和 a=a\10: '去掉末位数 loopuntila=0 print"sum=";sum: '输出 end (dimnasstring inputn fori=1tolen(n) sum=sum+val(mid(n,i,1)) nexti printsum) 6.求最小公倍数 PrivateSubForm_Load() =True Dimn1%,m1%,m%,n%,r% n1=InputBox("输入n1") m1=InputBox("输入m1") Ifm1>n1Then'为了求最小公倍数,增加m,n变量 m=m1: n=n1 Else m=n1: n=m1 EndIf Do r=mModn Ifr=0ThenExitDo m=n n=r Loop Printn1;",";m1;"的最大公约数为";n Print"最小公倍数=",m1*n1/n EndSub 7.求逆序数(感觉题目类型太多) 8.级数有限项求和问题(题目类型太多) 9.求质因子问题 PrivateSubCommand1_Click() DimNAsInteger,IAsInteger N=Val(InputBox("请输入2的整数: ")) I=2 Do IfNModI=0Then PrintI; N=N\I Else I=I1 EndIf LoopWhileN1 EndSub 10.字符统计 OptionBase1 OptionExplicit PrivateSubCommand1_Click() Dimiasinteger,A(26)asinteger,nasinteger DimSasstring*1,Strlasstring Strl=Text1 n=Len(Strl) Fori=1Ton S=Mid(Strl,i,1) IfUCase(S)>=”A”AndUCase(S)<=”Z”Then A(Asc(UCase(S))-64)+1 EndIf Nexti Fori=1To26 Chr(64+i)&“: ”&A(i) Netxi EndSub PrivateSubCommand_Click() End EndSub 第二大题 1.判定素数过程 Functionisprime(NumAsLong)AsBoolean IfNum<2Thenisprime=False: ExitFunction DimiAsLong Fori=2ToSqr(Num) If(NumModi)=0Then isprime=False ExitFunction EndIf Nexti isprime=True EndFunction PrivateSubCommand1_Click() DimiAsLong Fori=1To1000 Ifisprime(i)Then Printi EndIf Nexti EndSub 2.求最大公约数过程; FunctionMax公约数(AAsLong,BAsLong)'求出两个数的最大公约数 DimXAsLong,YAsLong,KAsLong X=IIf(A>=B,A,B)'x存入最大值 Y=IIf(A<=B,A,B)'y存入最小值 Do'辗转相除法 K=XModY: IfK=0ThenExitDo X=Y: Y=K Loop Max公约数=Y EndFunction 3.冒泡排序过程 PrivateSubCommand1_Click() Dima(9)AsInteger DimiAsInteger Fori=0To9 a(i)=InputBox("输入整数") Next Sorta Fori=0To9 Printa(i) Next EndSub PrivateSubSort(ByRefa()AsInteger) DimiAsInteger DimjAsInteger DimtAsInteger Fori=LBound(a)+1ToUBound(a) Forj=UBound(a)ToiStep-1 Ifa(j-1)>a(j)Then t=a(j-1) a(j-1)=a(j) a(j)=t EndIf Next Next EndSub 4顺序查找过程 PrivateSubCommand1_Click() Dimi,j,t,a(1To10) Randomize Print"原数组: " Fori=1To10 a(i)=Rnd*10 Print"a("&i&")="&a(i)&Space (2), IfiMod2=0ThenPrint Nexti Print Fori=1To9 Forj=i+1To10 Ifa(j) t=a(i) a(i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 程序设计 基础 练习 题库