VB练习题与答案_第1页
VB练习题与答案_第2页
VB练习题与答案_第3页
VB练习题与答案_第4页
VB练习题与答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、VB 练 习 题 与 答 案第2章 数据类型与表达式一、选择题1. 一个语句行内写多条语句时,每个语句之间用( )符号分隔。A. ,B. :C. 、D. ;2. 一句语句要在下一行继续写,用( )符号作为续行符。A. B. C. _D. 3. 下面( )是合法的变量名。A. X_yzB. 123abC. integerD. X-Y4. 下面( )是不合法的整数。A. 100B. Ol00C. H100 D. 1005. 下面( )是合法的字符常量。A. ABCB. "ABC"C. 'ABC'D. ABC6. 下面( )是合法的单精度型变量。A. num!B.

2、 sumC. xinteD. mm7. 下面( )是不合法的单精度常数。A. 100!B. 100.0C. 1E+2D. 100.0D+28. 表达式16/4-25*8/4 MOD 52的值为( )。A. 14B. 4C. 20D. 29. 数学关系3x10表示成正确的VB表达式为( )。A. 3=X10B. 3x AND x10C. x3 OR x10 D. 3x AND1010. “”、“”、“Mod”、“*”四个算术运算符中,优先级别最低的是( )。A. B. C. ModD. *11. 与数学表达式ab/3cd对应的不正确Visual Basic 6.0表达式是( )。A. a*b(3

3、*c*d) B. a3*bcdC. a*b3cdD. a*b3*c*d12. Rnd函数不可能为下列( )值。A. 0B. 1C. 0.1234D. 0.000513. Int(198. 555*1000.5)100的值( )。A. 198B. 199. 6C. 198. 56D. 20014. 已知,A"12345678",则表达式Val(Left (A$,4)+Mid(A$,4,2)的值为( )。A. 123456B. 123445C. 8D. 615. 表达式Len("123程序设计ABC")的值是( )。A. 10B. 14C. 20D. 171

4、6. 下面正确的赋值语句是( )。A. xy30B. v*r*rC. y=x30D. 3yx17. 为了给x,y,z三个变量赋初值1,下面正确的赋值语句是( )。A. x1:y1:z=lB. x=1,y=1,z=1C. x=yz=1D. xyz=118. 赋值语句:a123Mid("123456",3,2)执行后,a变量中的值是( )。A. "12334"B. 123C. 12334D. 15719. 赋值语句:a123 & Mid("123456",3,2)执行后,a变量中的值是( )。A. "12334"

5、;B. 123C. 12334D. 157二、填空题1. 在VB中,1234、123456、1.246E+5、1.2346D5四个常数分别表示_、_、_、_类型。2. 整型变量x中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现的表达式是_。3. 数学表达式的VB算术表达式为_。4. 表示x是5的倍数或是9的倍数的逻辑表达式为_。5. 已知a3.5,b=5.0,c=2.5,dTrue,则表达式:a>=0 AND a+c>b+3 OR NOT d的值是_。6. Int(-3.5)、Int(3.5)、Fix(-3.5)、Fix(3.5)、Round(-3.5)、Round

6、(3.5)的值分别是_、_、_、_、_、_。7. 表达式Ucase(Mid("hangzhouxihu",3,4)的值是_。8. 在直角坐标系中,x、y是坐标系中任意点的位置,用x与y表示在第一或第三象限的表达式是_。9. 表示s字符变量是字母字符(大小写字母不区分)的逻辑表达式为_。三、问答题1. Visual Basic提供了哪些标准数据类型?声明类型时,其类型关键字分别是什么?其类型符又是什么?2. 哪种数据类型需要的内存容量最少,且可存储诸如3.2345这样的值?3. 将数字字符串转换成数值,用什么函数?判断是否是数字字符串,用什么函数?取字符串中的某几个字符,用什

7、么函数?大小写字母间的转换,用什么函数?4. Mid("什么是ASCII编码",3,6)的结果?第3章 VB语言基础一、选择题1. VB提供了结构化程序设计的三种基本结构,三种基本结构是( )。A. 递归结构、选择结构、循环结构B. 选择结构、过程结构、顺序结构C. 过程结构、输入输出结构、转向结构D. 选择结构、循环结构、顺序结构2. 下面程序段运行后,显示的结果是( )。 Dim x If x Then Print x Else Print x+1A. 1B. 0C. 1 D. 显示出错信息3. 语句If x1 Then y=1,下列说法正确的是( )。A. x=1和y

8、=l均为赋值语句B. x=1和y=l均为关系表达式C. x=1为关系表达式,y=1为赋值语句D. x=1为赋值语句,y=1为关系表达式4. 下面程序段,显示的结果是( )。 Dim x x=Int(Rnd) +5 Select Case x Case 5 Print "优秀" Case 4 Print "良好" Case 3 Print "通过" Case Else Print "不通过" End SelectA. 优秀B. 良好C. 通过D. 不通过5. 以下( )是正确的ForNext结构。A. For x1

9、to Step 10B. For x=3 To-3 Step -3 . Next x Next xC. For x= l To 10D. For x3 To 10 Step 3 re: . . Next x Next y If i10 Then Go To re6. 下列循环语句中,能正常结束循环的是( )。A. i5B. i=1 Do Do ii+1 i=i+2 Loop Until i0 Loop Until i10C. i10D. i=6 Do Do ji+l i=i-2 Loop Until i0 Loop Until i17. 哪个程序段不能分别正确显示1!、2!、3!、4!的值?(

10、 )A. For i1 To 4B. For i1 To 4 n=1 For j1 To i For j 1 To i n=1 nn*j nn*j Next j Next j Print n Print n Next i Next i C. n1D. n1 For jl To 4 j=1 nn*j Do while j4 Print n nn*j Next j Print n j=jl Loop二、编程题1. 输入三角形的三条边a,b,c的值,根据其数值,判断能否构成三角形。若能则求出三角形的面积。2. 编一程序:根据上网时间计算上网费用。计算的方法如下:为了鼓励多上网,每月收费最多不超过10

11、0元。30元基数 10 h费用每小时2元 1060 h每小时1.5元 60 h3. 有一个长阶梯,如果每步跨2阶最后剩1阶,如果每步跨3阶最后剩2阶,如果每步跨4阶最后剩3阶,如果每步跨5阶最后剩4阶,如果每步跨6阶最后剩5阶,只有当如果每步跨7阶时恰好走完,问这个阶梯至少有多少阶?4. 一个球从100 m高度自由下落,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少m?最后一次反弹高度多少?5. 有一根长度为321m的钢材料,要将它截取成两种规格的短料,规格a、b的长度分别为17 m和27 m,问分隔成a、b各多少段后,剩余的残料r最少?6. 小猴在一天摘了若干个桃子,

12、当天吃掉一半多一个;第二天接着吃了剩下的桃子中的一半多一个,以后每天都吃剩下桃子中的一半零一个,到第7天早上要吃时只剩下一个了,问小猴那天共摘下了多少个桃子?7. 某次大奖赛,有7个评委打分,满分为100分。对一名参赛者,输入7个评委的打分分数,去掉一个最高分、一个最低分后,求出平均分为该参赛者的得分。编写程序输入评委的打分,输出参赛者的得分。8. 输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。9. 由键盘输入一个正整数,找出大于或等于该数的第一个质数。10. “完备数”是指一个数恰好等于它的因子之和,如6的因子为1、2、3,而6=1+2+

13、3,因而6就是完备数。编程找出11000之间的全部“完备数”。11. 勾股定理中三个数的关系是:a2 + b2 =c2。编写程序,输出100以内满足上述关系的整数组合,例如3,4,5就是一个整数组合。12. 编写程序,打印如下的乘积表:* 3 6 9 121516171813. 一个两位正整数,如果将它的个位数字与十位数字对调,则产生另一个正整数,我们把后者叫做前者的对调数。现给定一个两位正整数,请找到另一个两位正整数,使得这两个两位正整数之和等于它们各自的对调数之和,若找不到,则输出“查找失败”。例如:32+12=21+23。(要求:在程序运行时从键盘输入给定的两位正整数)14. 有一数列:

14、1、1、2、3、5、8、13、21,求出这个数列的前20项之和。15. 把一个16进制数转换成一个10进制数。16. 编写程序,单击窗体时在窗体上打印出如下所示的图形。 * * * * * * *17. 编写程序,输出下列三角形: (要求用循环做,非循环不给分) G FG EFG DEFG CDEFG BCDEFG ABCDEFG18. 编程输入一批数据,若输入数据为纯数字时,求累加和,非纯数字不累加。输入"Y"结束输入,输出累加和。(用InputBox()输入数据)19. 求公式:e=1+1/1!+1/2!+1/3!+1/n! 直到n=20时的e值。20. 已知sin(x

15、)=x/1-x3/3!+x5/5!-x7/7!+,设计一个程序,输入x,通过累加所有绝对值大于等于0.000001的项来计算sin(x)的值。第4章 数组与记录1. 某数组有20个元素,元素的值由键盘输入,要求将前10个元素与后10个元素对调。即第一个元素与第20个元素互换,第2个元素与第19个元素互换第10个元素与第11个元素互换。输出数组原来各元素的值和对换后各元素的值。第7章 窗体设计1. VB窗体设计器的主要功能是( )。A. 显示文字B. 建立用户界面C. 编写源程序代码D. 画图2. 以下叙述中正确的是( )。A. 对象的Name属性值可以为空B. 可以在程序运行期间改变对象的Na

16、me属性值C. 窗体的Name属性值是显示在窗体标题栏中的字符串D. 窗体的Name属性用来标识和引用窗体3. 改变显示在窗体标题栏中的标题使用的属性是( )。A. (名称)B. FontNameC. CaptionD. Text4. 设有如下窗体事件 Option Base 0 Private Sub Form_Click() Dim a Dim i As Integer a=Array(1,2,3,4,5,6,7,8,9) For i=0 To 3 Print a(5-i); Next End Sub 程序运行后,单击窗体,则在窗体内显示的结果是( )。A. 5 4 3 2B. 6 5 4

17、 3C. 4 3 2 1D. 7 6 5 45. 对窗体编写如下事件过程。程序运行后,在窗体上单击鼠标右键,则输出结果为( )。 Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Print "AA" End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Print &qu

18、ot;BB" End SubA. BBAAB. AABBC. AAD. BB6. 以下叙述中错误的是( )。A. 窗体的Show方法的作用是将指定的窗体装入内存并显示该窗体B. 窗体的Hide方法和Unload方法的作用完全相同C. 若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体D. 使Print方法在窗体上失效的窗体事件是Load7. 下列语句中,能够暂时隐藏窗体Form1,但不释放它所占用的内存空间的是( )。A. Unload Form1B. Form1.UnloadC. Hide Form1D. Form1.Hide8. 下列语句中,能够加载并显示窗体Form1的

19、是( )。A. load Form1B. Form1.loadC. show Form1D. Form1.show9. 下面的程序运行后,若从键盘输入-1,则输出结果为( )。 Private Sub Form_Click() xcase = 1 t = InputBox("请输入一个数:") Select Case t Case Is > 0 y = xcase + 1 Case Is = 0 y = xcase + 2 Case Else y = xcase + 3 End Select Print xcase; y End SubA. 1 4 B. 1 3C.

20、1 2D. 1 110. 以下叙述中错误的是( )。A. 在KeyUp和KeyDown事件过程中,从键盘上输入A或a被视为相同的KeyCode码B. 在KeyUp和KeyDown事件过程中,将键盘上的“1”和右侧小键盘上的“1”视为不同的KeyCode码C. KeyPress事件不能识别某个键的按下与释放D. KeyPress事件可以识别某个键的按下与释放第8章 标准控件的使用一、选择题1. 文本框的属性不包括( )。A. CaptionB. TextC. NameD. Top3. 设置命令按钮的( )属性值为False,可以使命令按钮处于不可用状态。A. ValueB. EnabledC.

21、DefaultD. Cancel4. 下列设置中,可以使计时器Timer1停止计时的是( )。A. Timer1.Locked=TrueB. Timer1.Locked=FalseC. Timer1.Enabled=TrueD. Timer1.Enabled=False5. 设置标签的的显示内容的属性是( )。A. NameB. TextC. CaptionD. Top12. 下列不能接收焦点的控件是( )。A. 命令按钮B. 标签框C. 文本框D. 单选按钮13. 下列控件中( )不能触发GetFocus和LostFocus事件。A. 命令按钮B. 组合框C. 复选按钮D. 计时器16. 在

22、窗体上有一个文本框控件,名称为Text1;一个计时器控件,名称为Timer1。要求每秒钟在文本框中显示一次当前时间。请将程序填完全。 Private Sub Timer1_【 】( ) Text1=Time End SubA. VisibleB. IntervalC. TimerD. Enabled17. 下列事件过程的功能是:在加载窗体时,启动计时器,并使计时器每隔1秒钟触发一次Timer事件。请填空。 Private Sub Form_Load( ) 【 】 End SubA. Timer1.Interval = 1000B. Timer1.Interval = 1C. Timer1.En

23、abled = 1000D. Timer1.Enabled = 1二、填空题1. 密码验证程序。在窗体上有一个标签,名称为Label1,Caption属性值为"密码";一个文本框,名称为Text1;一个命令按钮,名称为Command1;并有如下两个事件过程。请将程序填完全。 Private Sub Form_Load() '设置Text1的属性,使输入的字符全部显示为* Text1. _ = "*" End Sub Private Sub Command1_Click() ' 验证Text1中输入的密码是否正确,不区分大小写 If Uca

24、se(Text1. _) = "ABC" Then MsgBox "密码正确" Else MsgBox "密码错误" End If End Sub2. 在下列程序代码中,第一次单击命令按钮,在文本框Text1和Text2中显示的内容是_;第二次单击命令按钮,在文本框Text1和Text2中显示的内容是_。Dim y as Integer ' y为窗体级变量Private Sub Command1_Click() Dim x As Integer x = 2 Text1 = Func_2(Func_1(x), y) Text2

25、= Func_1(x)End SubPrivate Function Func_1(x As Integer) As Integer x = x + y: y = x + y Func_1 = x + yEnd FunctionPrivate Function Func_2(x As Integer, y As Integer) As Integer Func_2 = 2 * x + yEnd Function练习题答案第2章答案一、选择题12345678910BCADBADBBC111213141516171819DBCBACADA二、填空题1. 整型、长整型、单精度型、双精度型2. (x

26、mod 10)*10+x103. sin(45*3.14/180)+sqr(log(2*x)+3)4. x mod 5=0 or x mod 9=05. False6. -4、3、-3、3、-4、47. NGZH8. x0 And y0 Or x0 And y09. UCase(s)"A" And UCase(s)<="Z"三、问答题(答案略)第3章答案一、选择题1234567DACABCB二、编程题1.Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer

27、 Dim s As Single, area As Single a = InputBox("请输入边长a") b = InputBox("请输入边长b") c = InputBox("请输入边长c") If a + b > c And a + c > b And b + c > a Then Print "能构成三角形" s = (a + b + c) / 2 area = Sqr(s * (sa) * (sb) * (s-c ) Print "面积为:" area Else

28、 Print "不能构成三角形" End If End Sub2.Private Sub Command1_Click() Dim a As Integer, page As Single a = Val(InputBox("请输入上网的时长") If a > 0 Then Select Case a Case Is < 10 page = 30 Case Is < 60 page = a * 2 Case Else page = a * 1.5 End Select Else MsgBox "没有上网,无需交费"

29、End If If page > 100 Then page = 100 Print "您本月共上网" a; "小时,需交费:" page; "元"End Sub3.Private Sub Command1_Click()Dim a As Integer, i As IntegerDo While True i = i + 1 If i Mod 2 = 1 And i Mod 3 = 2 And i Mod 4 = 3 And i Mod 5 = 4 And i Mod 6 = 5 _And i Mod 7 = 0 Then P

30、rint "该阶梯至少有" i; "阶" Exit Do End IfLoopEnd Sub4.Private Sub Command1_Click()Dim i As Integer, s As Single, h As Singleh = 10For i = 2 To 10 s = s + h h = h / 2 s = s + hNext iPrint "共经过" s; "米。最后一次反弹高度为" hEnd Sub5.Private Sub Command1_Click()Dim i As Integer,

31、r As Integer, a As Integer, b As Integer,min As Integermin = 17For i = 0 To 11 r = (321 - 27 * i) Mod 17 If r < min Then min = r: a = i: b = (321 - 27 * i) / 17Next iPrint r, a, bEnd Sub6.Private Sub Command1_Click()Dim i As Integer, s As Integers = 1For i = 6 To 1 Step -1 s = (s + 1) * 2Next iPr

32、int sEnd Sub7.Private Sub Command1_Click()Dim Max As Integer, min As IntegerDim i As Integer, s As Integer, f As IntegerMax = 0min = 100For i = 1 To 7 f = InputBox("请输入评委的打分") If f > Max Then Max = f If f < min Then min = f s = s + fNext iaver = (s - Max - min) / 5Print "参赛者最后得分

33、为:" aver, Max, minEnd Sub8.Private Sub Command1_Click()Dim str1 As String, str2 As StringDim i As Integer, k As Integerstr1 = InputBox("")str2 = ""k = Len(str1)For i = k To 1 Step -1 str2 = str2 + Mid(str1, i, 1)Next iPrint str2End Sub9.Private Sub Command1_Click()Dim i As I

34、nteger, x As Integer, j As Booleanx = InputBox("请输入一个数")Do While True x = x + 1 For i = 2 To Sqr(x) j = True If x Mod i = 0 Then j = False: Exit For Next i If j Then Exit DoLoopPrint xEnd Sub10.Private Sub Command1_Click()Dim i As Integer, a As IntegerDim s As IntegerFor i = 1 To 1000 a =

35、2: s = 1 Do While a < i If i Mod a = 0 Then s = s + a End If a = a + 1 Loop If s = i Then Print i End IfNext iEnd Sub11.Private Sub Command1_Click()Dim a As Integer, b As Integer, c As IntegerFor a = 1 To 100 For b = a To 100 For c = b To 100 If a 2 + b 2 = c 2 Then Print "勾股定理整数组合" a,

36、b, c End If Next c Next bNext aEnd Sub12.Private Sub Command1_Click()Dim i As Integer, j As IntegerPrint " * 3 6 9 12"For i = 15 To 18 Print i; " " For j = 3 To 12 Step 3 Print i * j; " " Next j PrintNext iEnd Sub13.Private Sub Command1_Click()Dim a As Integer, b As Int

37、eger, c As Integer, d As IntegerDim i As Integer, j As Integer, k As Integer, l As Integera = InputBox("")i = a 10j = a Mod 10c = j * 10 + iFor b = 10 To 99 k = b 10 l = b Mod 10 d = l * 10 + k If a + b = c + d Then Print a; "的对调数为" bNext bEnd Sub14.Private Sub Command1_Click()Di

38、m f1 As Single, f2 As Single, f3 As SingleDim i As Integer, j As Integer, n As IntegerDim sum As Singlef1 = 1f2 = 1sum = 2Do While i <= 20-3 f3 = f1 + f2 f1 = f2 f2 = f3 sum = sum + f3 i = i + 1LoopPrint sumEnd Sub15.Private Sub Command1_Click()Dim a As Integer, k As String, h As Integer, s As In

39、tegera = InputBox("请输入一个16进制数")k = Trim(Str(a) )h = Len(k)s = a Mod 10For i = h-1 To 1 Step-1 s = s + Val(Mid(k, i, 1) * 16 (h-i)Next iPrint "16进制数:" a; "转换为10进制数是:" sEnd Sub16.Private Sub Command1_Click()Dim i As Integer, j As Integerj = j + 1For i = -4 To 4 Print Tab(

40、20 + Abs(i); For j = 1 To 9 -Abs(2 * i) Print "*" Next j PrintNext iEnd Sub17.Private Sub Command1_Click()Dim a As String, b As String, i As Integer, j As IntegerDim s As Integer, t As Integer, k As Integer, m As Integera = "ABCDEFG"k = Len(a) For i = 1 To k Print Right(a, i)Next iEnd Sub18.Private Sub Command1_Click()Dim x, s As Single, bz As StringDo While UCase(bz) < > "Y" x = InputBo

温馨提示

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

评论

0/150

提交评论