VB课本习题答案第三章
vb第三章课后习题答案

习题一、单项选择题1、设x=4,y=6,则以下不能在窗体上显示出“A=10”的语句是()A.PrintA=x+yB. Print"A=";x+yC. Print"A="+Str(x+y)D. Print"A="&x+y2、假定有如下的命令按钮(名称为Command1)事件过程:PrivateSubCommand1_Click()x=InputBox("输入:","输入整数")MsgBox"输入的数据是:”,,”输入数据:"+xEndSub程序运行后,单击命令按钮,如果从键盘上输入整数10,则以下叙述中错误的是()A. x的值是数值10B. 输入对话框的标题是“输入整数”C. 信息框的标题是“输入数据:10”D. 信息框中显示的是“输入的数据是:”3、有如下程序a=3;b=4PRINT b<aEND运行后,输出的结果是( )A.4>3B.-1C.0D.显示出错信息4、在窗体(名称为Form1)上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。
程序运行以后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。
以下能实现上述操作的事件过程是()A. Private Sub Text1_Change()B. Private Sub Command1_Click()Command1.Caption=”计算机等级考试”Caption=”计算机等级考试”End Sub End SubC. Private Sub Form1_Click()D. Private Sub Command1_Click()Text1.Caption=”计算机等级考试”Text1.Text=”计算机等级考试”End Sub End Sub5、假定有如下的窗体事件过程:Private Sub Form_Click()a$ = "Microsoft Visual Basic"b$ = Right(a$, 5)c = Mid(a$, 1, 9)MsgBox a$, 34, b$, c$, 5End Sub程序运行后单击窗体,则在弹出的信息框中的标题栏中显示的信息是()A. Microsoft VisualB. MicrosoftC. BasicD. 56、窗体上放置了三个文本框,若在Text1中输入456,在Text2中输入78,在程序中执行了语句Text3=Text1+Text2后,则在Text3中显示()A. 434B. 45678C. 溢出D. 语法错误7、执行下面的程序,单击窗体,则在窗体上显示的是()。
VB课后练习答案.doc

VB课后练习答案P12第一章课后练习答案:一、选择题二、填空题第二章(P39)选择题答案:填空题答案:1.Cmdl, Click2.Text 1.Text二"Hello"P64第三章课后练习答案一、选择题二、填空题1.(Y Mod 4=0 And Y Mod 10000) Or Y Mod 400=0 2.a<>0 And b*2-4*a*c>=0 3.X Mod 5=0 And X Mod 2=0 或 Tnt(x/5)=X/5 And Int(X/2)=X/2 4. 注意:返回的均是字符型。
第四章课后答案:P79一、选择题答案为:$$41.50010二、填空题三、程序设计题(提示)1、鸡的头数为x,兔的头数为y,则可列方程式:\x-\- y = h (兀 * 2 + y * 4 =于求得x, y 的值再在窗体上输出结果。
2、 利用Format 格式函数,再通过窗体的Print 将格式化后的信息输出到窗体上。
3、 厶员I 的周长=2加" $岡的面积=加25、通过Inputbox 函数或用文本框输入三边和圆的半径a,b,c, r,利用公式:. a + b + cn 二 ---------2 S 三角形面积=Jh (h - - b )(h - c )P97第五章课后练习答案:第9题| D一、选择题答案D 改为:30二、填空题第]题Y Mod 4二0 And Y Mod 100二0 Or Y Mod 400二0 第2题笫3题笫4题Private Sub Command l_Click()X=Val(Textl.Text)Select Case XCase Is>200. Isv-10()Print “xv 100 Or x>200"Case ls<=0Y=l()()-XCase Isv二100Y=100+XCase Is<=200Y=400End SelectText2.Text=yEnd Sub三、程序设计题(提示)1、判断条件:假设一个整数为xX Mod 3=0 Or x Mod 5=0 或x/3=x\3 Or x/5=x\52、选项按钮的知识点在P182,利用该控件的Wlue属性判断是否选中该项。
vb课后思考题答案

第三章思考题答案及相关内容 1.Visual Basic 提供了哪些标准数据类型?声明类型时,其类型关键字分别是什么?其类型符又是什么? 表 1.3.1 Visual Basic 的数据类型 数据类型 字节型 逻辑型 整型 长整型 单精度型 关键字 Byte Boolean Integer Long Single 类型符 无 无 % & ! 前缀 byt bin int lng sng 占字节数 1 2 2 4 4 0~255 True 与 False -32768 到 32767 -2,147,483,648~2,147,483,647 负数:-3.402823E38~-1.401298E-45 正数: 1.401298E-45~3.402823E38 双精度型 Double # dbl 8 负数:-1.79769313486232D308~ -4.94065645841247D-324 正数:4.94065645841247D-324~ 1.79769313486232D308 货币型 Currency @ cur 8 -922,337,203,685,477.5808~922,337, 203,685,477.5807 日期型 字符型 对象型 变体型 Date(time) String Object Variant 无 $ 无 无 dtm str obj vnt 8 字符串长有关 4 根据需要分配 01,01,100~12,31,9999 0~65535 个字符 任何对象引用 范 围2.哪种数据类型需要的内存容量最少,且可存储诸如 3.2345 这样的值? 答:单精度数据类型。
3.在 Form1 窗体通用声明部分声明的变量,可否在 Form2 窗体中的过程被访问? 4.为了使某变量在所有的窗体中都能使用,应在何处声明该变量? 5.在同一模块、不同过程中声明的相同变量名,两者是否表示同一个变量?有没有联系? 表 1.3.22 作用范围 不同作用范围的 2 种过程定义及调用规则 模 窗体 过程名前加 Private 例:Private Sub Mysubl(形参表) 能 能 块 级 标准模块 窗体 过程名前加 Public 或缺省 例:[Public] Sub My2(形参表) 能 能,但必须在过程 不能 不能 Call 窗 体 能 能,但过程名必须唯一, 例 :Call 标 准 模 块 全 局 级 标准模块定义方式 能否被本模块 其他过程调用 能否被本应用 程序其他模块 调用名前加窗体名, 例: 否 则 要 加 标 准 模 块 名 , 名.My2(实参表) 名.My2(实参表)局部变量:指在过程内用 dim 语句声明的变量(或不加声明直接使用的变量),只能在本过程中使用的变量,别的过程不可访问。
VB第3章习题答案

三、编程题--5
MsgBox "显示重试和取消按钮", 5 + 64 + 256, "消息框“ 或者 MsgBox "显示重试和取消按钮", 325, "消息框“ 或者 MsgBox "显示重试和取消按钮", vbRetryCancel + vbInformation + vbDefaultButton2, "消息框"
第三章习题答案
一. 选择题 • 1—5: C • 6—10: A • 11—13:A
A A D B C B A C C D
二. 填空题
• • • • • • • • • 1. 工程 2. 设计 运行 3. 系统 用户 4. True 5. Text 6. True 7. Command1.Enabled=True 8. Default 9. Prompt 10. 先后顺序 11. 紧凑格式
三、编程题--4
• • • • • • • Private Sub Command1_Click() Dim n1!, n2!, n3! n1 = Val(InputBox("输入n1:")) n2 = Val(InputBox("输入n2:")) n3 = Val(InputBox("输入n3:")) Label1.Caption = (n1 + n2 + n3) / 3 End Sub
三、编程题--1
Private Sub Command1_Click() • Print "Visual Basic容易学吗?" • End Sub
• Private Sub Command2_Click() • Print "用心学就容易!&• • • • • • • • • • Private Sub Command1_Click() Dim yw!, sx!, yy! pj!, fc! yw = Val(InputBox("输入语文成绩")) sx = Val(InputBox("输入数学成绩")) yy = Val(InputBox("输入英语成绩")) pj = (yw+ sx+yy) / 3 fc = (yw-pj)^2 + (sx-pj)^2 + (yy-pj)^2 Print "平均成绩:", pj Print "方差:", fc End Sub
vb习题答案(1-9章)最全的

第一章VB程序设计概述二、选择题CADAB ACDAB CBDBB第二章VB可视化编程基础二、选择题ABDCA CACBC DADAD BDBBB三、填空题1.可视2.LEFT TOP WIDTH HEIGHT3.按字母序4.查看代码5.工具、选项6.Form1 Font7.Multiline8.只读属性9.工程属性通用Form1.show10.tabindex 0第三章VB语言基础二、选择题BCADB ADBBC DBCBA DAABB三、填空题1.整型、长整型、单精度、双精度2.sin(30*3.14/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)3.160 今天是:3-224.False5.-4 3 -3 3 -4 46.“CDEF”7.(x mod 10)*10+x\108.(35\20)*20=20 ( 35 \ 20 ) * 20 = 209.x mod 3=0 or x mod 5=010.27.6 8.2 8 1 100 397 true false第四章VB程序控制结构二、选择题DBCAD ABCAB D25BAC CBACB DABBC三、填空题1.字符型整型2. 1 2 33.x>74.x<amin5.10246.117.128.6 I “*”;9.0 100 i+1 10.2*I 6 “*”;三、编程题1.Private Sub Form_Click()Dim n As Integer, i As Integer, s As Longs = 1n = Val(InputBox("请输入一个整数:"))For i = 1 To ns = s * iNext iMsgBox n & "!=" & sEnd Sub2.Private Sub Form_Click()Dim i%, k%For j = 3 To 100k = Int(Sqr(j))For i = 2 To kIf j Mod i = 0 Then Exit ForNext iIf i > k Theny$ = y$ & " " & jEnd IfNext jMsgBox y, , "显示质数"End Sub3.Private Sub Form_Click()Dim i%, s%For i = 1 To 100s = s + iNext iMsgBox "1+2+3+……+100=" & sEnd Sub4.Private Sub Form_Click()Dim x%, y%For x = 1 To 50For y = 1 To 33z = 100 - x - yIf 2 * x + 3 * y + 0.5 * z = 100 ThenPrint "小鸡、公鸡、母鸡分别为:"; x; y; z End IfNext yNext xEnd Sub5.Private Sub Command1_Click()Dim a%, b%, c%, p!, s!doa = Val(InputBox("请输入三角形的第一条边"))if a=-1 then exit dob = Val(InputBox("请输入三角形的第二条边"))c = Val(InputBox("请输入三角形的第三条边"))If a + b > c And a + c > b And b + c > a Thenp = (a + b + c) / 2s = Sqr(p * (p - a) * (p - b) * (p - c))Print sElseMsgBox "你输入的三边不能构成三角形,请重新输入"End IfloopEnd Sub6. Private Sub Form_Click()Dim i As Integer, j As Integer,k as integerFor i = 1 To 8For k=1 to 8-iPrint spc(3);Next kFor j = 1 To 2 * i - 1Print i;Next jPrintNext iEnd Sub7. Private Sub Form_Click()Dim i As Integer, j As Integer, k As IntegerFor i = 1 To 30For j = 1 To 30For k = 1 To 30If i ^ 2 + j ^ 2 = k ^ 2 ThenPrint i & " ^ 2 + " & j & "^ 2 =" & k & "^ 2"End IfNext kNext jNext iEnd Sub8.Private Sub Form_Click()Dim x As Integer, a As Integer, b As Integer, c As Integer, ss As String ss = ""For x = 100 To 999a = Int(x / 100)b = Int((x - 100 * a) / 10)c = x - 100 * a - 10 * bIf a ^ 3 + b ^ 3 + c ^ 3 = x Thenss = ss & " " & xEnd IfNext xPrint ssEnd Sub9.Dim sr As Long, r As Singlesr = Val(InputBox("请输入收入:"))Select Case srCase Is < 200r = 0Case 200 To 400r = (sr - 200) * 0.04Case 400 To 5000r = sr * 0.04Case Is >= 5000r = sr * 0.05End SelectPrint "收入为" & sr & "时所缴纳的税为:" & rEnd Sub10.Private Sub Form_Click()Dim t As Single, wf As Singlet = Val(InputBox("请输入上网时间:"))Select Case tCase Is < 10wf = 50Case 10 To 60wf = t * 6Case Is >= 60wf = t * 4End SelectIf wf >= 200 Thenwf = 200End IfPrint "上网时间为" & t & "小时上网的费用为:" & wf End Sub11. Private Sub Form_Click()Dim yf As Integeryf = Val(InputBox("请输入月份"))Select Case yfCase 12, 1, 2MsgBox yf & "月份是冬季"Case 3, 4, 5MsgBox yf & "月份是冬季"Case 6, 7, 8MsgBox yf & "月份是冬季"Case 9, 10, 11MsgBox yf & "月份是冬季"Case ElseMsgBox "输入错误,请重新输入"End SelectEnd Sub12.if的方法Private Sub Form_Click()Dim x As Single, f As Singlex = Val(InputBox("请输入一个数"))If x < 0 Thenf = 2 * x - 1ElseIf x = 0 Thenf = 4 * xElseIf x > 0 Thenf = 7 * x - 5End IfPrint "f(" & x & ")=" & fEnd SubSelect case语句:Private Sub Form_Click()Dim x As Single, f As Singlex = Val(InputBox("请输入一个数"))Select Case xCase Is < 0f = 2 * x - 1Case 0f = 4 * xCase Is > 0f = 7 * x - 5End SelectPrint "f(" & x & ")=" & fEnd Sub第五章数组一、选择题DCACD DBCDC BADAD二、填空题1.名称Index2.preserve3.变体4.235.1 2 3 1 4 16.1 2 3 2 4 67. max max=arr1(i)三、编程题1.Option Base 1Private Sub Form_Click()Dim a(10) As Integer, i%, temp%For i = 1 To 10a(i) = Val(InputBox("请输入第" & i & "个整数")) Next iPrint "原来各元素的值为:"For i = 1 To 10Print a(i);Next iFor i = 1 To 5temp = a(11 - i)a(11 - i) = a(i)a(i) = tempNext iPrintPrint "交换后各元素的值为:"For i = 1 To 10Print a(i);Next iEnd Sub2.Option Base 1Private Sub Form_Click()Dim a As Variant, b As Variant, c As Variant, i%a = Array(2, 8, 7, 6, 4, 28, 70, 25)b = Array(79, 27, 32, 41, 57, 66, 78, 80)ReDim c(8)For i = 1 To UBound(a)c(i) = a(i) + b(i)Next iFor i = 1 To UBound(c)Print c(i);Next iEnd Sub3.Option Base 1Private Sub Form_Click()Dim a() As Variant, i%, j%, n%, m%, max%, hh%, lh%n = Val(InputBox("请输入一个整数:"))m = Val(InputBox("请输入一个整数:"))ReDim a(n, m)For i = 1 To n - 1For j = 1 To m - 1a(i, j) = Int(Rnd * 101 + 50)If max < a(i, j) Then max = a(i, j): hh = i: lh = jNext jNext iPrint "最大值为:"; max; "所在的行号为:"; hh; "所在的列号为:"; lh End Sub4.Option Base 1Private Sub Form_click()Dim a(50) As Integer, b(9) As Integer, i%, j% For i = 1 To 50a(i) = Int(Rnd * 90 + 10)j = Int(a(i) / 10)b(j) = b(j) + 1Next iFor j = 1 To 9Print b(j);Next jEnd Sub5.Option Base 1Private Sub Command1_Click(Index As Integer) Select Case IndexCase 0Text3 = Val(Text1) + Val(Text2)Case 1Text3 = Val(Text1) - Val(Text2)Case 2Text3 = Val(Text1) * Val(Text2)Case 3Text3 = Val(Text1) / Val(Text2)End SelectEnd Sub6.Private Sub Form_click()Dim s!, i&, j&i = 3s = 1j = 0Doj = j + 1s = s + (-1) ^ j / ii = i + 2Loop While 1 / i > 10 ^ (-6)Print 4 * sEnd Sub7.Option Base 1Private Sub Form_click()Dim a(40) As Long, i As Integera(1) = 1a(2) = 1For i = 3 To 39a(i) = a(i - 1) + a(i - 2)Next iFor i = 1 To 40Print a(i);Next iEnd Sub8.冒泡法:Option Base 1Private Sub Form_click()Dim a(10) As Single, ok As Boolean, i%, j%, x!For i = 1 To 10a(i) = Val(InputBox("请输入第" & i & "个数"))Print a(i);Next iFor i = 10 To 2 Step -1ok = TrueFor j = 1 To i - 1If a(j) > a(j + 1) Thenx = a(j)a(j) = a(j + 1)a(j + 1) = xok = FalseEnd IfNext jIf ok Then Exit ForNext iPrintPrint "冒泡排序的结果为:"For i = 1 To 10Print a(i);Next iEnd Sub选择法:Option Base 1Private Sub Form_click()Dim a(10) As Single, p!, i%, j%, min!For i = 1 To 10a(i) = Val(InputBox("请输入第" & i & "个数"))Print a(i);Next iFor i = 1 To 9p = iFor j = i + 1 To 10If a(j) < a(p) Then p = jNext jIf p <> i Thenmin = a(i)a(i) = a(p)a(p) = minEnd IfNext iPrintPrint "排序后的结果为:"For i = 1 To 10Print a(i);Next iEnd Sub第六章过程一、选择题CDBAB DBCCC ABCBD CDB二、填空题1.sub function2.形式实际3.内存的同一地址4.myf(a%,b() as integer ) as Boolean5.值传递地址传递6.lbound ubound7.局部8.通用任何过程9.2 5 9 10.2411.2 12.30 7013.-1三、编程题1. Option Base 1Private Sub Form_Click()Dim m1%, m2%, b() As IntegerFor i = 3 To 7 Step 2ReDim b(i)For j = 1 To ib(j) = Int(Rnd * 90 + 10)Print b(j);Next jm1 = b(1)m2 = b(1)Call mm(m1, m2, b())PrintPrint "最大值为:"; m1Print "最小值为:"; m2Next iEnd SubPublic Sub mm(max%, min%, a() As Integer) Dim i%For i = LBound(a) To UBound(a)If a(i) > max Then max = a(i)If a(i) < min Then min = a(i)Next iEnd Sub2.sub过程:Public Sub jc(n%, s&)Dim i%s = 1For i = 1 To ns = s * iNext iEnd SubPrivate Sub Form_click()Dim s&, a%, b%, c%, s1&a = Val(InputBox("请输入一个整数:"))b = Val(InputBox("请输入一个整数:"))c = Val(InputBox("请输入一个整数:")) Call jc(a, s1)s = s1 + sCall jc(b, s1)s = s1 + sCall jc(c, s1)s = s1 + sPrint a & "!+" & b & "!+" & c & "!=" & s End SubFunction过程:Public Function jc(n%) As LongDim i%, s%s = 1For i = 1 To ns = s * iNext ijc = sEnd FunctionPrivate Sub Form_click()Dim s&, a%, b%, c%, s1&a = Val(InputBox("请输入一个整数:"))b = Val(InputBox("请输入一个整数:"))c = Val(InputBox("请输入一个整数:"))s1 = jc(a) + jc(b) + jc(c)Print a & "!+" & b & "!+" & c & "!=" & s1 End Sub3.Public Sub jo(n As Integer)If n Mod 2 = 0 ThenPrint "false"ElsePrint "true"End IfEnd Sub4.Private Sub Form_click()Dim b(1 To 100) As Integer, i%For i = 1 To 100b(i) = Int(Rnd * 100 + 1)Next iCall sort(b())For i = 1 To 100If i Mod 10 = 0 Then PrintPrint b(i);Next iEnd SubPublic Sub sort(a() As Integer)Dim n%, ok As Boolean, k As Integern = UBound(a)For i = 1 To n - 1ok = TrueFor j = 1 To n - iIf a(j) > a(j + 1) Thenk = a(j): a(j) = a(j + 1): a(j + 1) = k: ok = False End IfNext jIf ok Then Exit ForNext iEnd Sub5.Private Sub Form_click()Dim b(1 To 10) As Integer, i%For i = 1 To 10b(i) = Val(InputBox("请输入第" & i & "个整数")) Next iCall sort(b())Print "排序后的结果"For i = 1 To 10Print b(i);Next iEnd SubPublic Sub sort(a() As Integer)Dim n%, p%, k As Integern = UBound(a)For i = 1 To n - 1p = iFor j = i + 1 To nIf a(j) < a(p) Then p = jNext jIf p <> i ThenMin = a(i)a(i) = a(p)a(p) = MinEnd IfNext iEnd Sub6.Public Sub gys(m%, n%)Dim r%, t%If m <> 0 And n <> 0 ThenIf m < n Thent = m: m = n: n = tEnd Ifr = m Mod nDo While r <> 0m = nn = rr = m Mod nLoopEnd IfEnd Sub7.Public Sub ws(n%, s%)Dim k%, i%For i = 1 To n - 1If n Mod i = 0 Then s = s + iNext iEnd SubPrivate Sub Form_click()Dim m%, sum%, c$For m = 1 To 999sum = 0Call ws(m, sum)If sum = m Then c = c & sum & " " Next mMsgBox cEnd Sub8.Public Function ef(a(), k%, wz%) As Integer Dim i%, low%, mid%, top%low = LBound(a)top = UBound(a)Do While low <= topmid = (low + top) / 2If k > a(mid) Thenlow = mid + 1ElseIf k = a(mid) Thenwz = midExit FunctionElsetop = mid - 1End IfLoopwz = -1End Function9.Function MaxGY(x As Integer, y As Integer) Dim Temp As IntegerTemp = x Mod yIf Temp = 0 ThenMaxGY = yElseMaxGY = MaxGY(y, Temp)End IfEnd FunctionPrivate Sub Form_click()Dim m%, n%m = Val(InputBox("请输入第一个整数:"))n = Val(InputBox("请输入第二个整数:")) Print "最大公约数是:"; MaxGY(m, n)End Sub10. Function Ss(n%)If n = 1 ThenSs = 10ElseSs = Ss(n - 1) + 2End IfEnd FunctionPrivate Sub Form_click()Dim r%, x%r = 5x = Ss(5)Print "第5个小孩的岁数为:"; xEnd Sub第七章应用程序界面设计一、选择题BCDCA CDBBD CADAA CADBD DAAAB CAA二、填空题1.form1.show unload form12.form2.show form1.hide3.属性方法事件4、工程属性工程属性5.子窗体主窗体6、keypress list(i) additem7.0 list1.listindex list1.listcount-18、1000 true time() 9、AA10、下拉式组合框、简单组合框和下拉式列表框第八章VB图形操作一、选择题DCCDA CDAAA BABBC CAAA二、填空题1、不会也不会 2.、Scaleheight Scalewidth3、(300,-150)4、右上5、twip6、0~157、B 8、-2π~09、逆10、drawwidth11、右上12、move13、cls 14、坐标原点、坐标度量单位、坐标轴的长度与方向15、VB程序设计vbprogramming三、编程题1、Private Sub Command1_Click()Const pi = 3.14159P1.Circle (Val(Text1), Val(Text2)), Val(Text3)End SubPrivate Sub Command2_Click()P1.ClsText1 = ""Text2 = ""Text3 = ""End Sub2、Private Sub Form_Load()Pic1.Picture = LoadPicture("F:\VB程序设计\上课课件\tea.jpg")End SubPrivate Sub Pic1_Click()Pic2.Picture = Pic1.PicturePic1.Picture = LoadPicture("")End Sub3、Dim a1!, b1!Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) a1 = Xb1 = YEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Circle (a1, b1), Sqr((a1 - X) ^ 2 + (b1 - Y) ^ 2)End Sub4、Dim a1!, b1!Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Thena1 = Xb1 = YEnd IfEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 ThenLine (a1, b1)-(X, Y), vbGreen, BFEnd IfEnd Sub5、Private Sub Form_Click()Scale (-200, 200)-(200, -200)Dim i!For i = 0 To 140 Step 20Line (-i - 10, i + 10)-(i + 10, -i - 10), , BNext iEnd Sub第9章vb文件操作一、选择题BDDCC BBAAB二、填空题1、驱动器列表框、目录列表框和文件列表框2、change 3\file1.path=dir1.path4、name “D:\old.doc” as “c:\new.doc”5、dir1.path=drive1.drive file1.path=dir1.path6、filecopy “d:\text.doc”,”e:\text.doc”7、eof 8、input not eof(1)9、for inputFor outputnot eof(1)str1Close #110、pattern 11、空12、字节。
VB-课本标准答案

VB-课本答案————————————————————————————————作者:————————————————————————————————日期:第三部分习题与解答第1章程序设计语言与程序设计1.1填空题1.VB是以(事件驱动)作为运行机制的新一代可视化程序设计语言。
2.程序设计语言是(人)与(计算机)交流的工具。
3.若从机器执行的角度来对程序设计语言进行分类,则可以分为(低级语言)和(高级语言)两种。
4.计算机系统中,对高级语言的翻译工具称为(编译)程序或(解释)程序。
5.源程序中的错误一般分为(编译)错误、(运行)错误和(逻辑)错误等三种。
6.VB把一个应用程序称为一个(工程),它包含各种文件。
1.2 选择题1.把a和b的乘积写成ab的错误属于(c )错误。
a) 编译b) 运行c) 逻辑d) 编译和运行2.用户在什么时候都可以按(b )键来查看与当前进行的工作相关的帮助。
a) Held b) F1 c) ESC d) F104 窗体文件的扩展名为(d )。
a) .vbp b) .bas c) .exe d) .frm4.指示一个窗体位置的值是窗体的(c )。
a) 对象b) 事件c) 属性d) 方法5.下面选项中不能运行VB程序的操作是(a )。
a) 双击窗体b) 单击“启动”按钮图标c) 从菜单栏运行菜单中选“全编译执行”菜单命令d) 按F5键1.3 问答题1.低级语言和高级语言的各自特点是什么?答:参见教材1.1。
2.什么是数据描述和数据处理?答:参见教材1.2。
3.源程序的翻译方式有哪两种,简述它们的工作过程。
答:参见教材1.1。
4.一个好程序的基本要求是什么?答:参见教材1.2。
5.Visual BASIC 集成开发环境的主窗口由哪些部分构成?各自的主要功能是什么?答:参见教材1.3。
6.简述在VB的环境下,对象、属性、方法、事件和事件驱动程序的概念,并用例子进行说明。
答:在VB的环境下,对象是系统中的基本运行实体,它封装了数据和操作。
vb教程参考答案

课本第3章习题参考答案(第100页)1. 输入梯形的上边长、下边长及高度,计算梯形的面积并输出。
要求使用InputBox 函数输入,使用Print方法输出。
2. 输入小时、分、秒,将它们换算为秒,然后输出。
要求使用文本框分别输入,使用标签输出。
3. 输入直角三角形的两个直角边,输出其斜边、周长和面积。
要求使用InputBox函数输入,使用Print方法输出。
4. 输入4课成绩,输出总成绩和平均成绩。
通过InputBox 函数输入数据,使用消息框MsgBox 进行输出。
6.编写程序,输入x,输出如下分段函数y 的值。
10. 编写程序,输入n ,计算1 + 2 + 3 + … + n 的和。
3x+2, x<00,x=02x-1, x>011. 编写程序计算11+ 22 +33 + 44 + …+ 1010的和。
12. 编写程序,输入10个同学的成绩(0~100),输出最高成绩和最低成绩。
13. 编写程序,输出100以内的素数。
14. 输入若干个学生的成绩,统计其中90分以上、70~89分、60~69分、小于60分的人数并输出。
当输入的成绩小于0时结束输入。
16. 用矩形法求指定区间内函数f (x)的积分 1)(dxx f ,其中发f (x) =1 + sin (x)。
17. 输入任意一个字符串,将其逆序后输出,例如,输入的字符串为“abcde”,则输出为“edcba”。
18. 输入任意一一个字符串,分别统计其中字母A、E和Z的个数,不区分大小写。
课本第4章习题参考答案(第136页)1. 编写程序,将2,4,6,…,18,20共10个数据赋予一个数组,然后将各数组元素按相反顺序输出。
2. 输入10个学生的成绩,计算总分与平均分。
3. 输入10个学生的成绩,输出最高分和最低分。
5. 编写程序,将长度为5的一维数组中的数组元素循环右移动一个位置,最后一个元素移到第一个元素位置上。
例如,若数组元素各个值为1,2,3,4,5,则移动后的值为5,1,2,3,4。
vb书本习题参考答案

参考答案第1章概述二.选择题:1.C2. B.3.C.4.C.5.A6.C7.D8.B9.B 10.B11.A12.C 13.D 14.C 15.D16.A17.C 18.A19.A20.D 21.B三.填空题:1.面向对象,事件驱动2.编译,解释3.设计,运行,中断4.F55.调试6.切换文件夹四.编程及上机调试:1.略2.Sub Form_Click( )Label1.Caption = “你单击了窗体”End SubSub Form_DblClick( )Label1.Caption = “你双击了窗体”End Sub第2章面向对象编程基础二.选择题:1.C2. C.3.B.4.B.5.D6.D7.B8.B9.C 10.D11.B 12.B 13.B 14.C 15.A16.B 17.B 18.B 19.C 20.B三.填空题:1.窗体,控件2.属性,事件,方法mand2_click4.picture5.中部,代码四.编程及上机调试:1.Private Sub Command1_Click()Form1.WindowState = 2End SubPrivate Sub Command2_Click()Form1.WindowState = 0End SubPrivate Sub Command3_Click()Form1.WindowState = 1End Sub2.Private Sub Command1_Click()Form1.Picture = LoadPicture("d:\picture\flower.wmf")Command1.V isible = FalseCommand2.V isible = FalseEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_DblClick()Form1.Picture = LoadPicture("")Command1.V isible = TrueCommand2.V isible = TrueEnd Sub第3章常用标准控件二.选择题:1.C2. B3.C.4.D5.B6.B7.A8.C9.B 10.C11.C 12.A13.C 14.B 15.D16.D 17.C 18.A19.D 20.A21.B三.编程及上机调试:1.Private Sub Check1_Click()If Check1.V alue = 1 ThenText1.FontBold = TrueElseText1.FontBold = FalseEnd IfEnd SubPrivate Sub Check2_Click()If Check2.V alue = 1 ThenText1.FontItalic = TrueElseText1.FontItalic = FalseEnd IfEnd SubPrivate Sub Check3_Click()If Check1.V alue = 1 ThenText1.FontUnderline = TrueElseText1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Command1_Click()Text1.Text = " "End Sub2.Private Sub Command1_Click()Text2.Text = List1.ListCountEnd SubPrivate Sub Command2_Click()List1.AddItem Text1.TextText1.Text = " "End SubPrivate Sub Command3_Click()Dim i As Integeri = List1.ListIndexList1.RemoveItem iCommand3.Enabled = FalseText1.SetFocusText2.Text = List1.ListCountEnd SubPrivate Sub Form_Load()Command3.Enabled = FalseEnd SubPrivate Sub List1_Click()Command3.Enabled = TrueEnd Sub第4章VB语言基础二.选择题:1.A2. D3.D.4.A5.A6.A7.C8.D9.C 10.B11.A 12.D 13.C 14.A15.A16.C 17.D 18.A19.B 20.D21.C 22.A23.B 24.C 25.C三.编程及上机调试:1.Private Sub Form_Load()Dim x As Integer, s As String, d As IntegerRandomizex = Int(Rnd * 9000 + 1000)s = Trim(CStr(x))d = V al(Right(s, 1) + Mid(s, 3, 1) + Mid(s, 2, 1) + Left(s, 1))ShowPrint "产生的数;"; x; "倒序数"; dEnd Sub2.Private Sub Form_KeyPress(KeyAscii As Integer)Print "输入字符:"; Chr(KeyAscii), "ASCII码为:"; KeyAsciiEnd SubPrivate Sub Form_DblClick()ClsEnd Sub3.Private Sub Form_Click()MsgBox "在这里显示提示" & vbCrLf & "提示信息", 2 + 16, "请确认"End Sub或Private Sub Form_Click()MsgBox "在这里显示提示" + Chr(13) + "提示信息", vbAbortRetryIgnore _ + vbCritical, "请确认"End Sub第5章程序控制结构二.单选题1.D2. C3.C.4.D.5.B6.C7.A8.A9.D 10.C11.C 12.C 13.B 14.B四.编程及上机调试1. Private Sub Form_Click()Dim x As Integer, y As Integerx = InputBox("请输入一个数值")If x > 20 Theny = x ^ 2 + 3 * x + 2ElseIf x >= 10 Theny = Sqr(3 * x) - 2ElseIf x > 0 Theny = 1 / x + Abs(x)End IfPrint "x="; x, "y="; yEnd Sub(2)Select Case实现:Private Sub Form_Click()Dim x As Integer, y As Integerx = InputBox("请输入一个数值")Select Case xCase Is > 20y = x ^ 2 + 3 * x + 2Case Is >=10y = Sqr(3 * x) - 2Case Is > 0y = 1 / x + Abs(x)End SelectPrint "x="; x, "y="; yEnd Sub2.Private Sub Form_Click()Dim a As Integer, b As Integer, c As IntegerFor i = 100 To 999a = i \ 100b = (i - a * 100) \ 10c = i Mod 10If a ^ 3 + b ^ 3 + c ^ 3 = i ThenPrint i;k = k + 1If k Mod 2 = 0 Then PrintEnd IfNext iEnd Sub3.Private Sub Command1_Click()p = 60: r = 0.014Dop = p * (1 + r)n = n + 1Loop Until p >= 70Print n; "年后世界人口达到"; p; "亿"End Sub4.Private Sub Command1_Click()Dim s As Single, x As Integer, t As Single, n As Integer x = V al(InputBox("请输入x的值", , 2))s = 1n = 1m = 1Don = n + 1m = -mt = m * n / x ^ (n - 1)If Abs(t) < 0.00001 Then Exit Dos = s + tLoop Print s End Sub。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章程序流程控制3.1 填空题1.设变量r 表示圆的半径,则计算圆的面积并赋给变量s使用的赋值语句为(s=3.14159*r*r )。
2.给命令按钮Command2的Caption属性赋予字符串“退出”使用的赋值语句为(Command2.Caption="退出")。
3.为了求n的阶乘,要求用户输入n的值。
程序使用InputBox函数输入,要求对话框提示信息为“请输入一个求阶乘的数:”,标题为“求数的阶乘”,并且正确地把输入的信息转换为数值存放到变量n中,则使用的赋值语句为(n=val(InputBox("请输入一个求阶乘的数:","求数的阶乘"))。
4.如果使用MsgBox对话框显示提示信息“退出本系统?”,并显示“是(Yes)”和“否(No)”两个按钮,显示图标“?”号,指定第一个按钮为默认值以及标题为“提示信息”,则调用MsgBox函数的形式为(MsgBox("退出本系统? ",4+32+0,"提示信息"))。
5.如果使用MsgBox对话框显示提示信息“文件未找到!”,并显示“确定”按钮、图标“!”号和标题“文件查找”,则使用的MsgBox语句为(MsgBox"文件未找到",0+48+0,"文件查找")。
6.要在当前窗体Form和立即窗口输出字符串“Visual BASIC 6.0”使用的Print方法分别是( Print “Visual BASIC 6.0”)和( Debug.Print “Visual BASIC 6.0”)。
7.使用Print方法时,若用逗号分隔,则按( 标准)格式输出各表达式的值,若用分号分隔,则按( 紧凑)格式输出各表达式的值。
8.注释语句是一个(非执行)语句,VB不对它们进行编译,对程序的执行结果没有任何影响。
9.判别变量i是否为偶数,若为偶数就把它显示出来。
使用单行结构条件语句为(If i Mod 2=0 Then print x )。
页脚内容110.判别变量x是否大于0,若大于0,则累加到变量s1中,否则,累加到变量s2中,使用的单行结构条件语句为(If x>0 Then s1=s1+x Else s2=s2+x )。
11.给定分段函数⎪⎩⎪⎨⎧<=>-+=1212xxxxxy,求y的值,使用的单行结构条件语句为(If x>0 Theny=2*x+1 Else If x=0 Then y=0 Else y=2*x-1 )。
12.判别a是否等于b,若a=b,则输出字符串“a is equal to b”的块结构条件语句为()。
答案:If a=b ThenPrint “a is equal to b”End13.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为()。
答案:If Asc(ch)>=97 And Asc(ch)<=122 ThenPrint “Yes”ElsePrint “No”End If14.若一个case子句中的表达式表由逗号分隔的若干个常数组成,则它的含义是:当测试表达式的页脚内容2值等于(这些常数中的某一个)时,执行该case子句相应的程序块。
15.若case子句中的表达式表列具有形式:<表达式1> To <表达式2>,则它的含义是:当测试表达式的值等于(这个范围内的值)时,执行该case子句相应的程序块。
16.若case子句中的表达式表列具有形式:Is <关系运算符> <表达式>,则它的含义是:当测试表达式的值满足(Is后的关系)时,执行该case子句相应的程序块。
17.在循环语句中,反复执行的程序段称为(循环体);进入循环体的条件称为(循环条件);中止循环体执行的条件称为(结束循环条件)。
3.2 选择题1.下列赋值语句中,( d )是正确的。
a)x!="abc"b)a%="10e"c)x+1=5d)s$=1002.下列选项中,( d )不能交换变量a和b的值。
a) t=b : b=a : a=t b) a=a+b : b=a-b : a=a-bc) t=a : a=b : b=t d) a=b : b=a3.若在消息框MsgBox中显示“确定(Ok)”和“取消(Cancel)”两个按钮,则buttons参数的设置值是( b )。
a) 0 b) 1 c) 2 d)34.若在消息框MsgBox中选择第二个按钮为默认值,则buttons参数的设置值是( b )。
a)0 b)256 c)512 d)7685.若单击了“终止(Abort)”按钮,则MsgBox函数的返回值是(c )。
页脚内容3a)1 b)2 c)3 d)46.以下不正确的单行结构条件语句是(d )。
a) If x>y Then Print “x>y”b) If x Then t = t * xc) If x Mod 3=2 Then ? x d) If x<0 Then y = 2*x-1 : Print x End If 7.给定程序段Dim a As Integer, b As Integer, c As Integera=1:b=2:c=3If a=c-b Then Print "#####" Else Print "*****"以上程序( c )。
a) 没有输出b) 有语法错c) 输出##### d) 输出*****8.把a, b之中的最大值存放于max,下面语句书写正确的是(d )。
a) If a>b Then max=a Else max=b End Ifb) If a>b Then max=aElse max=bEnd Ifc) If a>b Then页脚内容4max=aElsemax=bd) If a>b Thenmax=aElsemax=bEnd If9. 下列Case语句中正确的是(c )。
a) Select Case xCase 1 Or 3 Or 5y=x*x-1Case Is >10y=x+1End Selectb) Select Case x页脚内容5Case 1, 3, 5y=2*x-1Case Is x <=1Y=2*x+1End Selectc) Select Case xCase Is <=0y=x-1Case Is >0y=Sqr(x)+1End Selectd) Select Case xCase x>=1 And x<= 5y=x-1Case Is >10y=x*x+1End Select10.执行下列程序段后屏幕上( c )。
页脚内容6i% = 10 : Sum = 0While i > 1Sum = Sum + ii = i - 1WendPrint Suma) 无显示b) 显示10 c) 显示54 d) 显示55 11.执行下列程序段输出结果是(c )。
x%=2Do while x<8Print “*”;x=x+2Loopa) * b) ** c) *** d) **** 12.设有程序段Dim k%k=5页脚内容7Do until k=0k=k-1Loop则下面对循环语句描述正确的是(c )。
a) 循环体1次也不执行b) 循环体执行1次c) 循环体执行5次d) 循环体执行无限次13.下面描述中错误的是(a, c )。
a) 执行Do until <条件>…loop语句中,当循环<条件>为false时,结束循环体的执行。
b) 执行While <条件>…Wend语句时,循环体可能一次也不执行。
c) Do …loop While <条件>语句的循环体可能一次也不执行。
d) 执行Do …loop Until <条件>语句中,当循环条件为true时,结束循环体的执行。
14.下面程序段中循环语句的循环次数是( b )。
For x=10 To 1 Step -3Print xNext xa) 0 b) 4 c) 5 d) 1015.执行语句For i=1 to 3: i=i+1 :Next i后变量i的值是(c)。
页脚内容8a) 3 b) 4 c) 5 d) 616.下面程序段执行后输出结果是(b )。
For i=1 To 2s=1For j=0 To i-1s=s+s*jNext jPrint s,Next ia) 1 1 b) 1 2 c) 2 1 d) 2 2 3.3 阅读下列程序,写出执行结果1. Private Sub Form_ClickPrint –2*3/2 , “Visual ” & “BASIC”,Not 5>3,0.75Print –2*3/2 ; “Visual ” & “BASIC”; Not 5>3; 0.75x=12.34Print “x=”;Print x页脚内容9End Sub答案:-3 Visual BASIC False .75-3 Visual BASICFalse .75x=12.342.Private Sub Form_ClickPrint Tab(10); -100;Tab(20); 200;Tab(30); -300Print Spc(10); -100;Spc(10); 200;Spc(10); -300End Sub答案:-100 200 -300-100 200 -3003.Private Sub Form_Clickx=12.35Print Format ( x,”###.##” )Print Format ( x,”##.##” )Print Format ( x,”000.00” )Print Format ( x,”00.0”)Print Format ( x,”0.00%” )页脚内容10Print Format ( x,”$##.##” )Print Format ( x,”+##.##” )Print Format ( x,”00.00E+00” )End Sub答案:12.3512.35012.3512.41235.00%$12.35+12.3512.35e+004.Private Sub Command1_Click()Dim a%, b%, c%, s%, w%, t%a = -1:b = 3:c = 3s = 0: w = 0: t = 0If c > 0 Then s = a + b页脚内容11If a <= 0 ThenIf c <= 0 Thenw = a - bEnd IfElseIf c > 0 Then w = a - b Else t = cEnd Ifc = a + bPrint a, b, cPrint s, w, tEnd Sub答案:-1 3 22 0 05.Private Sub Command1_Click()Dim x%, y%x = InputBox("请输入x的值:")Select Case x页脚内容12Case 1, 3, 5y = x - 1Case 6 To 10y = x + 1Case 2, 4y = 2 * xCase Is > 10y = x * x + 1End SelectPrint "x="; x, "y="; yEnd Sub(x 的输入值为2.5、8、4和15)答案:x=2 y=4x=8 y=9x=4 y=8x=15 y=2266.Private Sub Command1_Click()页脚内容13Dim i%, t!t = 1: i = 1While i < 10t = t * ii = i + 2WendPrint "t="; tEnd Sub答案:t=9457.Private Sub Command1_Click()Dim i%, x%, y%x = 1: y = 1:i = 1Do Until i > 8If i Mod 2 = 1 Thenx = x * iElsey = y * i页脚内容14End Ifi = i + 1LoopPrint "x="; x, "y="; yEnd Sub答案:x=105 y=3848.Private Sub Command1_Click()Dim p%, s%p = 1: s = 1Dop=p+2:s=s+pLoop While p<10Print "s="; sEnd Sub答案:s=369.Private Sub Command1_Click()Dim m%, n%页脚内容15For m=1 to 3n=0While n<=m-1Print m,nn=n+1WendNext mEnd Sub答案: 1 02 02 13 03 13 23.4 编程题1. 输入一个学生成绩,若成绩在85分以上,则输出“very good”;若成绩在60分到80分之间,则输出“good”;若成绩低于60分,则输出“no good”。