Visual Basic 程序设计练习(二)答案.doc_第1页
Visual Basic 程序设计练习(二)答案.doc_第2页
Visual Basic 程序设计练习(二)答案.doc_第3页
Visual Basic 程序设计练习(二)答案.doc_第4页
Visual Basic 程序设计练习(二)答案.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

Visual Basic 程序设计练习(二)一、 选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。1. 设=4,b=5,c=6,执行语句print ab and bc后,窗体上显示的是( A )A.True B.False C.出错信息 D.02. 以下选项中,不合法的Visual Basic的变量名是( D )A.a5b B._xyz C.a_b D.Endif3. 为了使文本框同时具有垂直和水平滚动条,应先把multiLine 属性设置为True,然后再把Scrollbars属性设置为( D)A.0 B.1 C.2 D.34. 窗体上有一个名为HScroll1的滚动条,程序运行后,当单击滚动条两端的箭头时,立即在窗体上显示滚动框的位置(即刻度值)。下面能够实现上述操作的事件过程是( A )A. Private Sub HScroll1_Change() B. Private Sub HScroll1_Change() Print HScroll1.Value Print HScroll1.SmallChange End Sub End SubC. Private Sub HScroll1_Scroll() D. Private Sub HScroll_Scroll() Print HScroll1.Value Print Hscroll1.Smallchange End Sub End Sub5. 窗体上有两个名称分别为Text1、Text2的文本框。Text1的KeyPress的事件过程如下:Private Sub Text1_KeyPress(KeyAscii As Integer) Dim c As String c = UCase(Chr(KeyAscii) Text2.Text = Chr(Asc(c)+2)End Sub当向文本框Text1中输入小写字母a时,文本框 Text2中显示的是( C )A.A B.a C.C D.c6. 以下不能输出“Program”的语句是( D )A.Print Mid(”VBProgram”,3,7) B.Print Right(“VBProgram”,7)C. Print Mid(”VBProgram”,3) D. Print Left(“VBProgram”,7)7. 假定有以下循环结构Do Until 条件表达式循环体Loop则以下正确的描述是( A )。A) 如果“条件表达式”的值是0,则一次循环体也不执行B) 如果“条件表达式”的值不为0,则至少执行一次循环体C) 不论“条件表达式”的值是否为“真”,至少要执行一次循环体D) 如果“条件表达式”的值恒为0,则无限次执行循环体8.假定有以下函数过程:Function Fun(S As String) As StringDim s1 As String , i%For i=1 To Len(S) s1=LCase(Mid(S,i,1)+s1 倒序Next iFun=s1End Function在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1-Click() Dim Str1 As String , Str2 As String Str1=InputBox(“请输入一个字符串”) Str2=Fun(Str1) Print Str2End Sub程序执行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输入结果为( D )。A)ABCDEFG B)abcdefg C)GFEDCBA D)gfedcba9.以下叙述中错误的是( D )。A)在过程中,多个形式参数之间可以用逗号作为分隔符B)在Prinr方法中,多个输出项之间可以用逗号作为分隔符C)在Dim语句中,所定义的多个变量可以用逗号作为分隔符D)当一行中有多个语句时,可以用逗号作为分隔符10.要使一个文本框可以显示多行文本,应设置为Ture的属性是( B )。A)Enable B)MultiLine C)MaxLenth D)Width11.执行下列程序后输出的是( C )。Private Sub Command1_Click()ch$=”ABCDEFGH”:Print Mid(Right(ch$,6),Len(Left(ch$,4),2)End Sub A)CDEFGH B)abcdefg C)FG D)AB12.某人设计了下列程序用于计算并输出7!(7的阶乘):Private Sub Command1_Click() t=0 For k=7 To2 Step -1 t=t*k Next Print t End Sub执行程序时,发现结果是错误的。下列修改方案中能够得到正确结果的是( A )。A) 把t=0改为t=1B) 把For k=7 To 2 Step-1 改为For k=7 To 1 Step-1C) 把For k=7 To 2 Step-1 改为For k=1 To 7 D) 把Next 改为Next k13. 在窗体上画一个命令按钮和一个标签,其名称分别Command1和Label1,然后编写如下事件过程:Private Sub Command1_Click()Counter=0For i =1 To 44次 For j=6To 1 Step-2 3次 Counter=Counter+1累加器3412 Next jNext iLabel1.Caption=Str(Counter)End Sub程序运行后,单击命令按钮,标签中显示的内容是( B )。A) 11 B)12 C)16 D)2014.设窗体上有一个图片Picture1,要在程序运行期间装入当前文件夹下的图形文件 File1.jpg,能实现此功能的语句是( B )。P159 A) Picture1.Picture=”File1.jpg”B) Picture1.Picture=LoadPicture(“File1.jpg”)C) LoadPicture(“File1.jpg”)D) Call LoadPicture(“File1.jpg”)15.为达到把a、b中的值交换后输出的目的,某人编程下列: Pravite Sbu Command1_ Click() Dim a%, b% a=10 : b=20 Call swap(a,b) : Print a,b End Sub Private Sub swap(ByVal a As Integer,ByVal b As Integer) 值的传递不能影响到实参 c=a : a=b: b=c要靠地址传递来影响实参End Sub在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是( C )。A) 调用swap过程得的语句错误,应该为Call swap a, bB) 输出语句错误,应改为Print “a”, “b”C) 过程的形式参数有错,应改为swap(ByRef a As Integer, ByRef b As Integer)D) Swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a16. 1个二维数组可以存放1个矩阵。在程序开始有语句Option Base 0, 则下面定义的数组中正好可以存放1个4 X 3矩阵。(即只有12个元素)的是( B )。A) Dim a (-2To 0,2) As Integer B) Dim a (3,2) As IntegerC) Dim a(4,3) As Integer D) Dim a(-1 To -4,-1 To -3) As Integer17. 若设置了文本框的属性PasswordChar=“$”,则运行程序时向文本框输入8个任意字符后,文本框中显示的是( A )A) 8个“$” B) 1 个 “$” C) 8个“*” D)无任何内容18. 设在窗体上有1个名称为Combol 的组合框,含有5个项目,要删除最后一项,正确的语句是( B )A) Combol.RemoveItem Combol.TextB) Combol.RemoveItem 4因为索引值从0开始C) Combol.RemoveItem Combol.ListCountD) Combol.RemoveItem 519.下列循环语句中在任何情况下都至少执行一次的是( C )A) Do While B) While 循环体 循环体 Loop WendC) Do D)Do Until 循环体 循环体 Loop Until Loop20.已知有下列过程 Private Sub procl (a As Integer, b As String, x As Boolean).实参与形参保持个数相同,同位类型一致P132 End Sub 正确调用此过程的语句是( C )A) Call procl (5) B) Call procl 5,”abc”,FC) procl(12, “abc”, True) D) procl 5, “abc”21. 在窗体上面1个名称为Command1 的命令按钮,然后编写下列事件过程Option Base 1Private Sub Command1_Click()Dim a(5,5)As IntegerFor i= 1 To 5 For j = 1 To 5 a(i,j)=(i+j)*510为数组元素赋值,如a(2,3)=(2+3)*510=2 Next j Next i s=0 For i= 1 To 5 s=s+a (i,i)累加的过程关键是把数组元素值计算正确! Next i Print sEnd Sub程序运行后,单击命令按钮,输出结果是( A )。A)15 B)13 C)11 D)922下列叙述中正确的是( A )。A)窗体的Name属性指定窗体的名称,用来标识一个窗体B)窗体的Name属性值是显示在窗体标题栏中的文本C) 可以在运行期间改变窗体的Name属性的值D)窗体的Name属性值可以为空23下列叙述中正确的是( B )。A)一个Sub过程至少要有一个Exit Sub语句B)一个Sub过程必须有一个End Sub语句C)可以在Sub过程中定义一个Function过程,但不能定义Sub过程D)一个Function过程中,通过函数名可以获得多个返回值24.在窗体上画一个名称为TxtA的文本框,然后编写下列事件过程:Private Sub TxtA_KeyPress(KeyAscii As Integer) End Sub假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是( D )。A)单机鼠标 B)双击文本框C)鼠标划过文本框 D)按下键盘上的某个键25.设有语句:Open“d:Test.txt”For Output As#1,下列叙述中错误的是( C )。A)若d盘根目录下无Test.txt文件,则该语句创建此文件B)用该语句建立的文件的文件号为1C)该语句打开d盘根目录下一个已存在的文件Test.txt,之后就可以从文件中读取信息D)执行该语句后,就可以通过Print # 语句向文Test.txt中写入信息26.假定在图片框Picture1装入一个图形,为了清除该图形(不删除图片框),应采用的正确方法是( B )。P159最后(不佳”也行)A)选择图片框,然后按Del键B)执行语句Picture1.Picture=LoadPicture( )C) 执行语句Picture1.Picture=”D)选择图片框,在属性窗口中选择Picture属性,然后按回车键27. 设a=5,b=13,则执行c=Int(Rnd*(b-a)+a)+1后,c值的范围是( C )。A)612 B)614 C) 613 D)712注解:Int(Rnd * (b - a) + a)的范围是a,b),Int(Rnd * (b a1) + a) 的范围是a,b28. 下列中不是属性的是( C ):A.caption B.text C.Click D.picture29.下列叙述中错误的是( C )。P17A) 打开一个工程文件时,系统自动装入与该工程有关的窗体文件B) 保存Visual Basic 程序时,应分别保存窗体文件及工程文件C) Visual Basic 应用程序只能以解释方式执行D) 窗体文件包含该窗体及其控件的属性30.语句If X=1 Then Y=1,下列说法( B )是正确的。A)X=1和Y=1都是赋值语句B)X=1是关系表达式,Y=1是赋值语句C) X=1是赋值语句,Y=1是关系表达式D) X=1和Y=1都是关系表达式二、填空题1. 表示x既是3的倍数又是8的倍数的VB表达式为 x mod 3 =0 and x mod 8 =0。2. 对象的三要素是属性、 方法 和事件。3. 由Array函数建立的数组,其变量必须是 变体型 类型。P1034. 窗体中的窗体级变量应在 通用 段声明,局部变量应在 过程内 声明。P1405. 从列表框1中一次性删除所有列表项的方法是 列表框1.Clear 。 P111三、程序填空题1. 在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,然后编写下列事件过程: 参考P167Private Sub Command1-Click()Dim inData As StringText1.Text=” ”Open “d:myfile.txt” For Input As #1Do While Not EOF(1) Input#1,inDataText1.Text=Text1.Text+inDataLoopClose #1End Sub以上程序的功能是:打开D盘根目录下的文本文件myfile.txt,读取它的全部内容并显示在文本框中。请填空。2窗体上有一个组合框,其中已经输入了若干个项目。程序运行时,单击其中的一项,即可把该项与最上面的一项交换。如单击图1中的“重庆”,则与“北京”交换,得到图2 的结果。以下是可实现此功能的程序,请填空。P rivate Sub combo1_click()Dim temptemp=Combo1.text Combo1.List(2)=Combo1.List(0)Combo1.List(0)= tempEnd Sub图1图23设有整型变量s,取值范围为0100,表示学生的成绩。有如下程序段:If s=90 Then Level=”A”ElseIf s=75 Then Level=”B”If s=60 Then Level=”C”Else Level=”D”End If下面用Select Case结构改写上述程序,使两段程序所实现的功能完全相同。请填空。Select Case sCase Is =90 Level=”A”Case 75 To 90 Level=”B ”Case 60 To 74 Level=”C ”Case Is 60 Level=”D ”End Select注:第四章课件中有该题4. 在窗体上放置一个label控件,一个command1和一个timer1控件,欲将计算机系统时间(每半秒刷新一次)显示在窗体上,试完善下列程序。Private Sub Form_Load() Timer1.Enabled=True Timer1.Interval= 500 End SubSub Timer1_Timer() Label1.caption=NowEnd sub四、阅读程序写运行结果1) 有如下过程代码:Sub var_dim()Static numa As Integer静态变量有累加的过程Dim numb As Integer动态变量重新再来numa = numa + 2第一次2,第一次4,第一次6,numb = numb + 1每次一样1Print numa;numbEnd Sub连续3次调用var dim过程,第3次调用时的输出是 6 1 。注释:类似这样连续几次调用或执行的题每次都会有,请关注2) 在窗体上画1个命令按钮和1个文本框,其名称分别是Command1和Text1,再编写如下程序:Dim ss As StringPrivate Sub Text1_KeyPress(KeyAscii As Integer) 先执行该过程 If KeyAscii = 13 Then ss = ss + Text1.Text ss=“Number100”End SubPrivate Sub Command1_Click()后执行该过程Dim m As String,i As Integerm定义成字符型For i = Len(ss) To 1 Step -1Len(ss)=9m = m + Mid(ss,i,1)倒序,最终 m=”001rebmuN”NextText1.Text = UCase(m)再转换成大写End Sub程序运行后,在文本框中输入“Number100”并按“回车”键,当单击命令按钮后,文本框中显示的是 001REBMUN 。注释:m定义成字符型的功效在于: m + Mid(ss,i,1) 是字符串连接运算,每循环一次连接一个字符串,而且是倒序连接,最终赋给m(m =m + Mid(ss,i,1),记住这个特征! 本题如果是m = Mid(ss,i,1) + m则为顺序连接。3) 窗体上有名称为Command1的命令按钮。事件过程及2个函数过程如下: Private Sub Command1_Click()Dim x As Integer,y As Integer,zx = 3y=5z=fy(y)地址的传递会影响到y的值,这里z=10,y=10Print fx(fx(x),y注意中间是逗号,应该有相当间隔End SubFunction fx(ByVal a As Integer) a=a+a fx=aEnd FunctionFunction fy(ByRef a As Integer) a=a+a fy=aEnd Function运行程序,并单击命令按钮,则窗体上显示的2个值依次是 12 10 。注解:fx(fx(x):第一次调用fx(x)完,fx(6),再调用,6传给a, 返回后fx(fx(x)124)在窗体上画一个

温馨提示

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

最新文档

评论

0/150

提交评论