VB课后习题答案
二、选择题
1. C 2. B
第2章 习题参考答案
一、判断题
题号 1 2 3 4 5 6 7 8 9 10 11 答案 × × √ √ × √ × √ √ √ √ 二、填空题 1. 窗体font
2. 不能在代码中设置 3. selstart
4. Locked
5. TabIndex 、 0
6. vbModal或 1
7. Activate 、 Deactivate 8. PictureBox 和 Frame -
三、选择题 题号 答案
1 D 2 C 3 D 4 A 5 D 6 B 7 B 8 B 9 A 10 B 第3章 习题参考答案
一、思考题
1、double
2、 xyC@abc, 15eyd, Is, #END X8[P] 3、变量有 (1) (4) (6) (8),
常量有 (2)字符串型 (3)逻辑型 (5)字符串型 (7)字符串型 (9)日期型 (10)实型 4、
b?d?acef
5、 (1) 26 (2) 3.75 (3) 3 6、写出下列Visual Basic表达式的值:
(1) False (2) True (3) True (4) False (5) True (6) True (7) False (8) False
7、将下列命题用Visual Basic布尔表达式表示:
(1) z>x and z>y
(2) abs(a)<=abs(b+2) or a > b+2
(3) p mod q=0 (4) x<-5 or x>-2 and x<2 or x>5
(5) x (1) -4 (2) 换行符 (3) –3 (4) -1 (5) hello (6) ello (7) 16 (8) “-459.65” (9) 5 二、填空题 1. 整型 、 长整型 、 双精度型 、 双精度型 2. (X mod 10)*10+X\\10 3. sin(1/4*3.14)+sqr(x+2*exp(y))/abs(x-y) 4. (a+b)/(c*d-sqr(1-a^2)) 5. x mod 5=0 or x mod 9=0 6. False 7. -3 、 2 、 -2 、 2 8. CDEF 9. x>0 and y>0 or x<0 and y<0 或 x*y>0 10. s>=”A” and s<=”Z” or s>=”a” and s<=”z” 三、选择题 题号 1 答案 C 四、编程题 1、 Private Sub Form_Click() Dim x%, Ten%, hundred% x = Val(Text1.Text) 2 Private Sub Form_Click() Dim char As String * 1 Form1.CurrentX = Rnd * Form1.ScaleWidth Form1.CurrentY = Rnd * Form1.ScaleHeight char = Chr(Int(Rnd * 16) + 65) Print char End Sub 2 B 3 B 4 B 5 D Ten = (x \\ 10) Mod 10 hundred = x \\ 100 Print \百位数是: \Print \十位数是: \ End Sub 第4章 习题参考答案 一、判断题 题号 1 答案 × 2 × 3 × 4 √ 5 √ 6 √ 7 √ 8 × 二、选择题 题号 答案 1 A 2 D 3 B 4 B 5 B 三、程序阅读 写出下列各段程序执行后的输出结果。 1.78 5786 357864 13578642 2. w=4、w=13、w=135、w=31 3.此题有点错误,修改如下: 是将语句“If k < Asc(\”改为: If k < Asc(\ 改后的答案: xyza12 uvw& 4.A BBB CCCCC DDDDDDD EEEEEEEEE 5.此题的“IF KeyAsci=13 Then”改为“IF KeyAscii=13 Then” 答案是:129 四、程序填空题 1. (1) Sing=-1 (2) For i=2 to 19 (3) Sing=-Sing 2. (1) Len(oldsen) (2) Mid(oldsen ,i,1) (3) Ucase(char) (4) char 3. (1) Len(str1) (2) Length-1 (3) Mid(str1,i,2) (4) Sum=0 4. (1) Trim(Str(i)) (2) Trim(Str(i*i)) (3) Right(x2,Len(x1))=x1 5. (1) last_one = last_two (2) last_two = this_one (3) i = i+1 (4) i-1 五、编程题 1. Private Sub Form_Click() Dim R1 As Double, R2 As Double 'R1,R2 表示两电阻值 Dim Rp As Double, Rs As Double R1 = Val(InputBox(\输入电阻R1=?\ R2 = Val(InputBox(\输入电阻R2=?\ Rp = R1 * R2 / (R1 + R2) Rs = R1 + R2 Rp = Fix(Rp * 1000 + 0.5) / 1000 '保留小数点后3位 Rs = Fix(Rs * 1000 + 0.5) / 1000 '保留小数点后3位 MsgBox \并联电阻是:\串联电阻是:\End Sub 2. Private Sub Form_Click() Dim N As Long N = Val(InputBox(\请输入年份\提示框\ If (N Mod 400 = 0) Or (N Mod 4 = 0 And N Mod 100 <> 0) Then '判断条件 Print N & \年是闰年\ Else Print N & \年不是闰年\ End If End Sub 3. Private Sub Form_Click() Dim a!, b!, c!, s!, x! a = Val(InputBox(\ b = Val(InputBox(\ c = Val(InputBox(\ If a + b > c And b + c > a And a + c > b Then '如果能构成三角形 x = (a + b + c) / 2 s = Sqr(x * (x - a) * (x - b) * (x - c)) Print \ Else Print \数据有错,不能构成三角形\ End If End Sub 4.(此题不适合使用Select语句) Private Sub Command1_Click() Dim x As Double, fx As Double x = Val(InputBox(\输入x=?\ If x < 0 And x <> -3 Then fx = x * x + x - 6 ElseIf x >= 0 And x < 10 And x <> 2 And x <> 3 Then fx = x * x - 5 * x + 6 Else fx = x * x - x - 1 End If Print \ f(\End Sub 5. Dim i As Integer Dim s As Long, t As Long t = 1 For i = 1 To 10 t = t * i s = s + t Next i Print \ S=\6. Dim i%, s!, n!, t!, f%