VB期中试题--分析.doc_第1页
VB期中试题--分析.doc_第2页
VB期中试题--分析.doc_第3页
VB期中试题--分析.doc_第4页
VB期中试题--分析.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

程序设计基础VB期中考试卷分析一、选择题每小题2分,共计40分;1. 如果窗体上有命令按钮“确定”,在代码编辑窗口有与之相对应的OK_Click()事件过程,则命令按钮控件的名称属性和Caption属性分别为 【1】 。A.“OK”和“确定” B.“确定”和“OK”C.“Command1”和“确定” D.“Command1”和“OK”分析:控件的事件过程名是由“控件名_事件名”组成,因此“OK”是名称属性答案:A2. 以下所列的7个控件中,具有Caption属性的有 【2】 个。 CheckBox(复选框)、ComboBox(组合框)、HscrollBar(水平滚动条)、Image(图像框)、Frame(框架)、Label(标签)、Line(线条) A5 B4 C3 D2分析:常用控件中,TextBox、PictureBox、Image、ListBox、ComboBox、Timer、Line、Shape、HScrollBar、VScrollBar没有Caption属性;Label、CommandButton、OptionButton、CheckBox、Frame具有Caption属性;另外,窗体也有Caption属性。答案:C3. 若需要在同一窗口内安排两组相互独立的单选按钮( OptionButton ),可使用 【3】 控件将它们分隔开。 TextBox Picture Image Frame 分析:将单选按钮分组的方法是放置在不同的容器中,VB中可以做容器的控件有:PictureBox、Frame答案:C4. DrawStyle属性用于设置图形方法输出的线型,它受 【4】 属性的限制。 AFillStyle BFillColor CBorderStyle DDrawWidth答案:D5. 窗体上放置了三个文本框,若在Text1中输入456,在Text2中输入78,在程序中执行了语句Text3=Text1+Text2后,则在Text3中显示 【5】 。A.434 B.45678 C.溢出 D.语法错误分析:当“+”的左右两边操作数都是字符串型数据时,“+”是字符串连接符;当“+”的左右两边操作数都是数值型数据时,“+”是算术运算符;当“+”的左右两边操作数不能转换成统一的数值型数据或字符串型数据时,出错。答案:B6. 假设变量BOOL是一个布尔型变量,则下列赋值语句中,正确的是 【6】 。A. BOOL =TRUE B. BOOL =.TRUE.C. BOOL =#TRUE# D. BOOL = True答案:D7. 以下所列项目不属于窗体事件的是 【7】 。 A. Initialize B. SetFocus C. GotFocus D. LostFocus分析:SetFocus是方法,不是事件答案:B8. 设控件使用默认名称,以下使用方法的语句中,正确的是 【8】 。A、List1.ClearB、Form1.ClearC、Combo1.ClsD、Picture1.Clear分析:窗体和PictureBox中清除用Print、Line、Circle方法画出的内容时,使用Cls方法;ListBox、ComboBox中清除所有列表项,使用Clear方法。答案:A9. 执行下面语句后,Len函数值最大的是 【9】 。 Dim IA As Integer, B As Single, S As String *5, Ch As String IA=32767 : B=23.5 : S=”A” :Ch=”abcd” ALen(IA) BLen(B) CLen(S) DLen(Ch)分析:Len函数的参数决定了它的作用。1)括号中的参数是字符串类型时,Len函数的作用求字符串中字符的个数。本题中C和D就是这种情形,其中C中变量S是定长字符串,不管给它多少字符,实际存放始终是5个字符,所以C项的值是5,D项的值是4。2)括号中的参数不是字符串类型的变量时,Len函数的作用求该变量在内存中占的字节数。本题中A和B就是这种情形,所以A项的值是2,B项的值是4。答案:C10. 在下列控件中, 【10】 控件不能改变大小。ATextBoxBLabelCFrameDTimer答案:D11. 在窗体上画一个名称为Text1的文本框,然后画一个名称为H1的滚动条,其Min和Max属性分别为0和100。程序运行后,如果移动滚动框,则在文本框中显示滚动条的当前值,如图所示:以下能实现上述操作的程序段是 【11】 。A Private Sub H1_Change()BPrivate Sub H1_Click()Text1.Text=H1.ValueText1.Text=H1.ValueEnd Sub End SubC Private Sub H1_Change()DPrivate Sub H1_Click()Text1.Text= H1.CaptionText1.Text=H1.CaptionEnd Sub End Sub分析:从文字“如果移动滚动框”可以确定应该选择H1的Change事件,“滚动条的当前值”表示为:H1.Value答案:A12. 可以把变化长字符串S中的第一个ABC子串,替换成“1234的语句是 【12】 。A. S=Left(s, InStr(S,ABC)&1234 & Right(S,Len(S)-InStr(S,ABC)-2)B. Mid(S,InStr(S,ABC),3)=1234C. Mid(S,InStr(S,ABC),4)=1234D. S=Left(s, InStr(S,ABC)-1)&1234& Right(S,Len(S)-InStr(S,ABC)-2)分析:若S=“ERABCTYABCUIABC”,那么:A项的结果S为“ERA1234TYABCUIABC”B项的结果S为“ER123TYABCUIABC”C项的结果S为“ER1234YABCUIABC”D项的结果S为“ER1234TYABCUIABC”答案:D13. 在 Select Case X 结构中,描述判断条件 3 X 7 的测试项应该写成 【13】 。 ACase 3 = X = 7 BCase 3 = X , X= 7CCase Is = 3DCase 3 To 7分析:Case条件表达式中,使用Is关键字和关系运算符配合使用,不能使用逻辑运算符。Case 3=X,X=7的等价于Case True,False之类的语句,X就和True或False比较,不能达到数值判断的目的答案:D14. 下面 【14】 是合法的整型常量。A&100B%100C100%D“100”分析:B、D非法,此题出得不好答案:AC15. 下面 【15】 语句,可以将列表框List1中的当前选定的列表项的值替换成ABC。 A.List1.AddItem ABC,List1.ListIndex B.List1.Text=ABCC.List1.List(List1.ListIndex)= ABCD.前三项均可分析:当前选定的列表项的文本有两种方法表示:List1.List(List1.ListIndex)和List1.Text,但List1.Text不能更改,是只读属性。答案:C16. 下列Caption属性值中, 【16】 设置了热键。AFileBV&iewCH*elpD#Tool答案:B17. 如果x是一个正实数,对x的第3位小数四舍五入的表达式是 【17】 。A0.01*Int(x+0.005)B 0.01*Int(100*(x+0.005)C0.01*Int(100*(x+0.05)D 0.01*Int(x+0.05)分析:若x=12.45678,则A项的结果是:.12 ;则B项的结果是: 12.46 ;则C项的结果是: 12.5 ;则C项的结果是: .12答案:B18. 设程序运行时文本框中没有内容,当在文本框输入“ABC”时,窗体上显示 【18】 。 Private Sub Txtinput_KeyPress() Print txtinput.text End SubAAABABCBAABCAD AB A ABC AB分析:文本框的KeyPress事件是在按键字符显示之前执行的答案:D19. 下列程序段的执行结果是 【19】 。 X = 2 Y = 1 If X * Y 0ATrueBFalseC-1D1分析:关系表达式的值是逻辑型True/False,本题将X和Y的值代入,按语句执行的顺序,得出结果。答案:B20. 执行以下语句后,a的值为 【20】 。 Dim a As Integer a = 1 Do Until a = 100 a = a + 2 LoopA99B100C溢出D101分析:Until a=100,此循环的结束条件是a=100,但a的初值是1,步长是2,不可能得到值100,因此,循环一直进行下去,到达32767后继续循环,超过Integer型数据表示范围而溢出。答案:C二、填空题 每空2分,共计50分;1. 产生10,37之间的随机整数Visual Basic表达是 Int(Rnd*28+10)或Int(Rnd*28)+10 。2. 对应的Visual Basic 表达式是 Exp(x2+Cos(x) 。3. 在Visual Basic 中,日期/时间型常量要用 # 括起来。4. a6,则执行xIIf(a5,1,0)后,x的值为 -1 。5. 要显示如右图所示的信息提示框,应使用语句: 【25】 。MsgBox “恭喜你,登录成功!”,vbOkOnly+vbExclamation, “登录信息”或MsgBox “恭喜你,登录成功!”, vbExclamation, “登录信息”或MsgBox “恭喜你,登录成功!”, 48, “登录信息”6. 若窗体有列表框,则List1.List(List1.ListIndex)的值等于List1的 Text 属性值。7. 有如下程序段,写出运行后的输出结果为 16 Private Sub command1_click() a = 1: b = 2: c = 3 a= a + b: b = b + a: c = b + a If a 3 Or b 3 Then a = b - a: b = c - a: c = b + a End If Print a + b + c End Sub8. 执行下面的程序,当单击Command1时,列表框List1的第2列表项内容是3 ,第4列表项内容是 15 ,第5列表项内容是 28 。 Private Sub Command1Click() Dim i As Integer,j As Integer For i =1 To 10 j=I+j List1.AddItem j Next i For i =1 To 4 List1.RemoveItem List1.ListCount - i Next i End Sub9. 下面程序段共循环 0 次。a=100 : b=100While ab a=a+1 : b=b+1Wend10. 下列程序段的执行结果为: BBABBA 。 a = ABBACDDCBA For i = 6 To 2 Step -2 x = Mid(a, i, i) y = Left(a, i) z = Right(a, i) z = x & y & z Next i Print z11. 下面程序运行后,单击Command1后屏幕显示是 4 7 。 Private sub Command1_click() For I=1 to 4 If I3 then exit for Next I For j= 1 to 6 Next j Print I,j End sub12. 如下程序执行的结果是 11 10 1 16 。Private Sub Command1_Click() Dim a As Integer, b As Integer, i As Integer a = 2: b = 10: c = 1 For i = c To 2 * b Step a a = a + 2 i = i + 1 c = 2 * c If a = 10 Then Exit For b = b - 3 Next i Print i, a, b, cEnd Sub13. 下面程序运行后输出的结果是 *$*$ 。 Private Sub Cmd_Click()Dim a As String,b As String,x As String,i As Integer a=”*” : b=”$”For i=1 To 4 If i mod 2=0 Then x=String(len(a)+i,b) Else x=String(len(a)+i,a) End IfPrint x; Next i End Sub14. 以下程序实现将字符将字符串倒置,例如:输入”ABCD”变换成”DCBA”。Private Sub Cmd_Click() Dim s1 As string,s2 As string Dim I As integer s1=inputbox(“输入字符串”) For I= Len(s1) To 1 Step 1 s2=s2 & Mid(s1,I,1) Next I Print s2End Sub15. 本程序的功能是利用随机数函数模拟投币,方法是:每次随机产生一个0或1的整数,相当于一次投币,1代表正面,0代表反面。在窗体上有三个文本框,名称分别是Text1、Text2、Text3,分别用于显示用户输入投币总次数、出现正面的次数和出现反面的次数,如图所示。程序运行后,在文本框Text1中输入总次数,然后单击“开始”按钮,按照输入的次数模拟投币,分别统计出现正面、反面的次数,并显示结果。以下是实现上述功能的程序,请填空。Private Sub Command1_Click() Randomize n = CInt(Text1.Text) n1 = 0 n2 = 0 For i=1 To n r=Int ( Rnd * 2 ) If r = 1 Then n1 = n1 + 1 Else n2 = n2 + 1 End If Next i Text2.Text = n1 Text3.Text = n2End Sub16. 下面是一个求函数f(x)值的程序。 其中,(2n-1)!=135.(2n-1)。计算到第n项的绝对值为止。Option ExplicitPrivate Sub Command1_Click() Dim x As Single, i As Integer, a As Single, sum As Single x = Text1 i = 1 a = -1 Do a = -a*(2*i-1)*x/(2*i+2) If Abs(a) = 0.000001 Then Exit Do sum = sum + a i=i+1 Loop Text2 = sumEnd Sub17. 下面是一个二进制数字分割器,对文本框中输入的二进制串按所需位数进行分割,并将分离后的二进制数存放到列表框中。如下图所示,图中控件均使用系统默认名称。Private Sub Command1_Click() Dim s As String, st As String, i As Integer, n As Integer,

温馨提示

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

评论

0/150

提交评论