VB程序设计方案编程考试题及答案_第1页
VB程序设计方案编程考试题及答案_第2页
VB程序设计方案编程考试题及答案_第3页
VB程序设计方案编程考试题及答案_第4页
VB程序设计方案编程考试题及答案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB程序设计方案编程考试题及答案考试题部分一、选择题(每题2分,共40分)1.以下哪个是VB中的合法变量名?A.123abcB.abc-123C.abc_123D.Dim2.VB中,将字符串"123"转换为整数类型(Integer)的函数是?A.Str()B.Val()C.CInt()D.CDbl()3.以下哪个语句可以定义一个长度为10的整数类型数组?A.Dima(10)AsIntegerB.Dima(1To10)AsIntegerC.Dima[10]AsIntegerD.DimaAsInteger(10)4.在VB中,执行语句Print3+42的输出结果是?A.14B.11C.7D.205.要设置标签Label的显示文本,应修改哪个属性?A.TextB.CaptionC.NameD.Value6.VB中,以下哪个循环结构的循环体至少执行一次?A.For...Next循环B.While...Wend循环C.DoWhile...Loop循环D.Do...LoopWhile循环7.以下哪个是VB中的逻辑运算符“与”?A.&&B.||C.AndD.Or8.执行以下代码,循环体执行的次数是?Fori=5To1Step-1PrintiNextiA.4B.5C.0D.19.在VB的Sub过程中,要将参数按值传递,需要使用哪个关键字?A.ByRefB.ByValC.ValueD.Ref10.要使窗体Form1在运行时最大化显示,应设置其WindowState属性为?A.0-NormalB.1-MinimizedC.2-MaximizedD.3-FullScreen11.VB中,函数Len("VB程序设计")的返回值是?A.4B.6C.8D.1012.以下哪个语句用于退出当前的Sub过程?A.ExitForB.ExitDoC.ExitSubD.ExitFunction13.要在VB中生成一个1到100之间的随机整数,正确的表达式是?A.Rnd()100B.Int(Rnd()100)C.Int(Rnd()100+1)D.Rnd()100+114.以下哪个控件可以用于选择多个选项?A.OptionButtonB.CheckBoxC.CommandButtonD.TextBox15.VB中,将整数123转换为字符串的函数是?A.Val()B.Str()C.CStr()D.B和C都正确16.执行语句DimxAsVariant:x="123":x=x+1后,x的值是?A."1231"B.124C."124"D.编译错误17.要在列表框ListBox中添加一个选项"计算机",应使用哪个方法?A.AddItemB.RemoveItemC.ClearD.Add18.VB中,以下哪个事件是在窗体加载时触发的?A.Click事件B.Load事件C.Unload事件D.Activate事件19.执行以下代码,输出结果是?DimsAsString,iAsIntegers="abcde"Fori=1ToLen(s)PrintMid(s,i,1);NextiA.abcdeB.edcbaC.abcdeD.无输出20.以下哪个是VB中的合法常量?A.'123'B.2024-05-20C.&123D.$123二、填空题(每题2分,共20分)1.VB中,文本框TextBox的默认属性是__________。2.执行语句s=0:Fori=1To10:s=s+i:Nexti后,变量s的值为__________。3.要使命令按钮Command1在运行时不可见,应设置其__________属性为False。4.VB中,函数UCase("abcDEF")的返回值是__________。5.数组声明Dima(-1To3)AsString,该数组的元素个数为__________。6.打开顺序文件用于追加数据的模式是__________。7.VB中,判断两个字符串是否相等的运算符是__________。8.执行语句If3>2ThenMsgBox"Yes"ElseMsgBox"No"后,弹出的提示框内容是__________。9.在VB中,要获取当前系统时间,可使用函数__________。10.要从组合框ComboBox中获取选中的选项内容,应使用其__________属性。三、程序分析题(每题5分,共25分)1.阅读以下代码,写出运行结果并分析:PrivateSubForm_Click()DimxAsInteger,yAsIntegerx=15y=25IfxMod2=0Thenx=x+5Elsey=y-5EndIfPrint"x=";x,"y=";yEndSub2.阅读以下代码,写出运行结果并分析:PrivateSubForm_Click()DimsAsInteger,iAsIntegers=0i=1DoWhilei<=10IfiMod3=0Thens=s+iEndIfi=i+1LoopPrint"s=";sEndSub3.阅读以下代码,写出运行结果并分析:Functionfun(nAsInteger)AsIntegerIfn=1Thenfun=1Elsefun=n+fun(n-1)EndIfEndFunctionPrivateSubForm_Click()DimresultAsIntegerresult=fun(5)Print"result=";resultEndSub4.阅读以下代码,写出运行结果并分析:PrivateSubForm_Click()Dimarr(1To5)AsInteger,iAsIntegerFori=1To5arr(i)=i2NextiFori=5To1Step-1Printarr(i);NextiEndSub5.阅读以下代码,写出运行结果并分析:Subswap(ByRefaAsInteger,ByRefbAsInteger)DimtempAsIntegertemp=aa=bb=tempEndSubPrivateSubForm_Click()DimxAsInteger,yAsIntegerx=10y=20swapx,yPrint"x=";x,"y=";yEndSub四、程序设计题(第1题10分,第2题15分,共25分)1.设计一个VB程序,实现求1到n的累加和。要求:(1)窗体上有一个文本框TextBox1用于输入正整数n;(2)一个命令按钮Command1(标题为“计算累加和”);(3)一个标签Label2用于显示计算结果;(4)输入非正整数或非数字时,弹出错误提示框并清空输入框。2.设计一个VB程序,实现学生成绩的统计功能。要求:(1)窗体上有一个文本框TextBox1(MultiLine=True)用于输入多个学生的成绩,每行一个成绩;(2)两个命令按钮,Command1(标题为“统计成绩”)和Command2(标题为“清空内容”);(3)三个标签Label2、Label3、Label4分别显示平均分、最高分和最低分;(4)点击“统计成绩”按钮时,计算所有有效成绩的平均分、最高分、最低分并显示;(5)点击“清空内容”按钮时,清空文本框和所有标签的内容。---答案部分一、选择题答案及解析1.C解析:VB变量名规则:不能以数字开头,不能包含减号、空格等特殊字符,不能使用VB关键字。A以数字开头,B含减号,D是关键字Dim,故C合法。2.C解析:Str()用于将数值转换为字符串;Val()将字符串转换为Variant类型的数值;CInt()将表达式转换为Integer类型(整数);CDbl()转换为Double类型,故选C。3.B解析:VB数组声明中,Dima(10)AsInteger表示下标从0到10,共11个元素;Dima(1To10)AsInteger表示下标从1到10,共10个元素;数组不能用方括号[],D语法错误,故选B。4.B解析:VB中运算符优先级:乘除高于加减,故先算42=8,再算3+8=11,输出11。5.B解析:标签Label的显示文本由Caption属性控制;Text是文本框的属性;Name是控件的名称;Value常用于复选框等控件,故选B。6.D解析:Do...LoopWhile循环先执行循环体,再判断条件,因此至少执行一次;For、While、DoWhile都是先判断条件再执行循环体,条件不满足时循环体不执行,故选D。7.C解析:VB中的逻辑运算符“与”是And,“或”是Or;&&和||是C语言中的逻辑运算符,VB不支持,故选C。8.B解析:循环变量i从5到1,步长为-1,依次取5、4、3、2、1,共5个值,循环体执行5次。9.B解析:ByVal表示按值传递,参数在过程中的修改不影响原变量;ByRef是默认的按地址传递,过程中修改参数会影响原变量,故选B。10.C解析:WindowState属性0为正常显示,1为最小化,2为最大化,3不是合法值,故选C。11.B解析:Len函数返回字符串的字符数,“VB程序设计”共6个字符(每个汉字和字母都算一个字符),故返回6。12.C解析:ExitFor退出For循环,ExitDo退出Do循环,ExitSub退出当前Sub过程,ExitFunction退出当前Function过程,故选C。13.C解析:Rnd()生成0到1之间(不包括1)的随机数,Int(Rnd()100)生成0到99的整数,Int(Rnd()100+1)生成1到100的整数,故选C。14.B解析:OptionButton(单选按钮)只能选一个;CheckBox(复选框)可多选;CommandButton是命令按钮;TextBox是文本框,故选B。15.D解析:Str()将数值转换为字符串,CStr()将表达式转换为String类型,两者都可将整数123转换为字符串"123",故选D。16.B解析:x初始为字符串"123",执行x=x+1时,VB自动进行类型转换,将"123"转换为数值123,加1后为124,故x的值为124。17.A解析:ListBox的AddItem方法用于添加选项;RemoveItem删除选项;Clear清空所有选项,故选A。18.B解析:Load事件在窗体加载到内存时触发;Click是单击触发;Unload是卸载时触发;Activate是激活时触发,故选B。19.A解析:Mid(s,i,1)表示从字符串s的第i个位置取1个字符,循环i从1到Len(s)=5,依次取出a、b、c、d、e,用分号;连接输出,结果为abcde。20.B解析:VB中日期常量用括起来;字符串常量用双引号;&123不是合法常量;$123也不是,故选B。二、填空题答案1.Text2.553.Visible4.ABCDEF5.56.Append7.=8.Yes9.Now()(或Time())10.Text三、程序分析题答案及分析1.运行结果:x=15y=20分析:x=15,xMod2=1(15是奇数),执行Else分支,y=25-5=20,x保持15不变,最后打印x和y的值。2.运行结果:s=18分析:循环变量i从1到10,当i是3的倍数时(3、6、9),将i累加到s中,s=3+6+9=18。3.运行结果:result=15分析:该函数是递归函数,计算1到n的累加和。fun(5)=5+fun(4)=5+4+fun(3)=5+4+3+fun(2)=5+4+3+2+fun(1)=5+4+3+2+1=15。4.运行结果:108642分析:第一个循环给数组arr赋值,arr(1)=2,arr(2)=4,arr(3)=6,arr(4)=8,arr(5)=10;第二个循环从5到1逆序打印数组元素,故输出108642。5.运行结果:x=20y=10分析:swap过程中参数按地址传递(ByRef),x和y的地址被传递给a和b,过程中交换a和b的值,原变量x和y的值也随之交换,故打印x=20y=10。四、程序设计题答案1.参考代码及注释:```vb'窗体加载时初始化控件PrivateSubForm_Load()Label1.Caption="请输入正整数n:"Command1.Caption="计算累加和"Label2.Caption=""EndSub'计算累加和按钮点击事件PrivateSubCommand1_Click()DimnAsInteger,sumAsInteger,iAsInteger'判断输入是否为数字IfNotIsNumeric(Text1.Text)ThenMsgBox"请输入有效的数字!",vbExclamation,"输入错误"Text1.Text=""Text1.SetFocusExitSubEndIf'转换为整数n=CInt(Text1.Text)'判断是否为正整数Ifn<=0ThenMsgBox"请输入正整数!",vbExclamation,"输入错误"Text1.Text=""Text1.SetFocusExitSubEndIf'计算累加和sum=0Fori=1Tonsum=sum+iNexti'显示结果Label2.Caption="1到"&n&"的累加和为:"&sumEndSub```2.参考代码及注释:```vb'窗体加载时初始化控件PrivateSubForm_Load()Label1.Caption="请输入学生成绩(每行一个):"Command1.Caption="统计成绩"Command2.Caption="清空内容"Text1.MultiLine=TrueText1.ScrollBars=2'垂直滚动条Label2.Caption=""Label3.Caption=""Label4.Caption=""EndSub'统计成绩按钮点击事件PrivateSubCommand1_Click()Dimlines()AsString,iAsIntegerDimscoreAsDouble,avgAsDouble,maxScoreAsDouble,minScoreAsDoubleDimcountAsInteger'有效成绩数量'获取文本框内容,按行分割lines=Split(Text1.Text,vbCrLf)count=0'初始化最大、最小成绩maxScore=-1minScore=101'假设成绩范围0-100'遍历每行成绩Fori=0ToUBound(lines)'跳过空行IfTrim(lines(i))<>""Then'判断是否为有效成绩(0-100的数字)IfIsNumeric(lines(i))Thenscore=CDbl(lines(i))Ifscore>=0Andscore<=100Thencount=count+1avg=avg+score'更新最高分Ifscore>maxScoreThenmaxScore=scoreEndIf'更新最低分Ifscore<minScoreThen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论