2024年2月4日发(作者:)
参考答案
第1章概述
二.选择题:
1.C
2. B.
3.C.
4.C.
5.A
6.C
7.D
8.B
9.B 10.B
11.A12.C 13.D 14.C 15.D
16.A17.C 18.A19.A20.D 21.B
三.填空题:
1.面向对象,事件驱动
2.编译,解释
3.设计,运行,中断
4.F5
5.调试
6.切换文件夹
四.编程及上机调试:
1.略
Form_Click( )
n = “你单击了窗体”
End Sub
Sub Form_DblClick( )
n = “你双击了窗体”
End Sub
第2章面向对象编程基础
二.选择题:
1.C
2. C.
3.B.
4.B.
5.D
6.D
7.B
8.B
9.C 10.D
11.B 12.B 13.B 14.C 15.A
16.B 17.B 18.B 19.C 20.B
三.填空题:
1.窗体,控件
2.属性,事件,方法
d2_click
e
5.中部,代码
四.编程及上机调试:
e Sub Command1_Click()
State = 2
End Sub
Private Sub Command2_Click()
State = 0
1
End Sub
Private Sub Command3_Click()
State = 1
End Sub
e Sub Command1_Click()
e = LoadPicture("d:")
Command1.V isible = False
Command2.V isible = False
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_DblClick()
e = LoadPicture("")
Command1.V isible = True
Command2.V isible = True
End Sub
第3章常用标准控件
二.选择题:
1.C
2. B
3.C.
4.D
5.B
6.B
7.A
8.C
9.B 10.C
11.C 12.A13.C 14.B 15.D
16.D 17.C 18.A19.D 20.A21.B
三.编程及上机调试:
1.
Private Sub Check1_Click()
If Check1.V alue = 1 Then
ld = True
Else
ld = False
End If
End Sub
Private Sub Check2_Click()
If Check2.V alue = 1 Then
alic = True
Else
alic = False End If
End Sub
Private Sub Check3_Click()
If Check1.V alue = 1 Then
derline = True Else
derline = False End If
End Sub
Private Sub Command1_Click() = " "
End Sub
2.
Private Sub Command1_Click() = unt End Sub
Private Sub Command2_Click() m
= " "
End Sub
Private Sub Command3_Click() Dim i As Integer
i = dex
Item i
d = False
us
= unt End Sub
Private Sub Form_Load()
d = False End Sub
Private Sub List1_Click()
d = True End Sub
第4章VB语言基础
二.选择题:
1.A
2. D
3.D.
4.A
5.A
6.A
7.C
8.D
9.C 10.B
11.A 12.D 13.C 14.A15.A
16.C 17.D 18.A19.B 20.D
21.C 22.A23.B 24.C 25.C
三.编程及上机调试:
e Sub Form_Load()
Dim x As Integer, s As String, d As Integer
Randomize
x = 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))
Show
Print "产生的数;"; x; "倒序数"; d
End Sub
e Sub Form_KeyPress(KeyAscii As Integer)
Print "输入字符:"; Chr(KeyAscii), "ASCII码为:"; KeyAscii
End Sub
Private Sub Form_DblClick()
Cls
End Sub
e Sub Form_Click()
MsgBox "在这里显示提示" & vbCrLf & "提示信息", 2 + 16, "请确认"
End Sub
或
Private Sub Form_Click()
MsgBox "在这里显示提示" + Chr(13) + "提示信息", vbAbortRetryIgnore
_ + vbCritical, "请确认"
End Sub
第5章程序控制结构
二.单选题
1.D
2. C
3.C.
4.D.
5.B
6.C
7.A
8.A
9.D 10.C
11.C 12.C 13.B 14.B
四.编程及上机调试
1. Private Sub Form_Click()
Dim x As Integer, y As Integer
x = InputBox("请输入一个数值")
If x > 20 Then
y = x ^ 2 + 3 * x + 2
ElseIf x >= 10 Then
y = Sqr(3 * x) - 2
ElseIf x > 0 Then
y = 1 / x + Abs(x)
End If
Print "x="; x, "y="; y
End Sub
(2)Select Case实现:
Private Sub Form_Click()
Dim x As Integer, y As Integer
x = InputBox("请输入一个数值")
Select Case x
Case Is > 20
y = x ^ 2 + 3 * x + 2
Case Is >=10
y = Sqr(3 * x) - 2
Case Is > 0
y = 1 / x + Abs(x)
End Select
Print "x="; x, "y="; y
End Sub
2.
Private Sub Form_Click()
Dim a As Integer, b As Integer, c As Integer
For i = 100 To 999
a = i 100
b = (i - a * 100) 10
c = i Mo
d 10
If a ^ 3 + b ^ 3 + c ^ 3 = i Then
Print i;
k = k + 1
If k Mod 2 = 0 Then Print
End If
Next i
End Sub
3.
Private Sub Command1_Click()
p = 60: r = 0.014
Do
p = p * (1 + r)
n = n + 1
Loop Until p >= 70
Print n; "年后世界人口达到"; p; "亿"
End Sub
4.
Private Sub Command1_Click()
Dim s As Single, x As Integer, t As Single, n As Integer x = V
al(InputBox("请输入x的值", , 2))
s = 1
n = 1
m = 1
Do
n = n + 1
m = -m
t = m * n / x ^ (n - 1)
If Abs(t) < 0.00001 Then Exit Do
s = s + t
Loop
Print s
End Sub
第6章数组
二.单选题:
1.A
2.A.
3.A
4.C
5.D
6.D
7.A
8.D
9.B 10.B
四.编程及上机调试:
1.
Option Base 1
Private Sub Form_Click()
Dim a(10) As Integer
Dim i As Integer, t As Integer
Print "数组的原始数据为:";
For i = 1 To 10
a(i) = Int(11 * Rnd) + 10
Print a(i);
Next i
Print "变化后数组数据为:";
For i = 1 To 5
t = a(i)
a(i) = a(10 - i + 1)
a(10 - i + 1) = t
Next i
For i = 1 To 10
Print a(i);
Next i
End Sub
2.
Option Base 1
Private Sub Form_Click()
Dim a(3, 4) As Integer, i As Integer, j As Integer, k As Integer, p
As Integer Randomize
For i = 1 To 3
For j = 1 To 4
a(i, j) = Int(90 * Rnd + 10)
Print a(i, j);
Next j
Next i
Max = a(1, 1): k = 1: p = 1
For i = 1 To 3
For j = 1 To 4
If a(i, j) > Max Then
Max = a(i, j)
k = i
p = j
End If
Next j
Next i
Print "最大的数为第" & k & "行,第" & p & "列的数:" & Max
End Sub
3.
Option Base 1
Dim a(4, 5) As Integer '在窗体声明段声明数组Dim i As Integer, j As
Integer
Private Sub cmdmatrix_Click() '"生成数组"按钮Randomize
For i = 1 To 4
For j = 1 To 5
a(i, j) = Int(Rnd * 10) '一位的随机数
a(i, j); '输出元素Next j
Next i
End Sub
Private Sub cmdcol_Click() '"求列和"按钮Dim colsum As Integer
= ""
For j = 1 To 5 '列变量先循环colsum = 0
For i = 1 To 4
colsum = colsum + a(i, j)
Next i
= & Str(colsum)
Next j
End Sub
Private Sub cmdrow_Click() '"求行和"按钮Dim rowsum As Integer
= ""
For i = 1 To 4 '行变量先循环rowsum = 0
For j = 1 To 5
rowsum = rowsum + a(i, j)
Next j
= & CStr(rowsum) & vbCrLf Next i
End Sub
Private Sub cmdclear_Click() '"清除"按钮
= ""
= ""
End Sub
Private Sub cmdexit_Click() '"结束"按钮End
End Sub
4. Option Base 1
Private Sub Form_Click()
Dim a() As Integer, b() As Integer, i As Integer, j As Integer, x
As Integer, y As Integer x = InputBox("第一维上界")
Do While Not IsNumeric(x)
x = Int(InputBox("第一维上界"))
Loop
y = InputBox("第二维上界")
Do While Not IsNumeric(x)
y = Int(InputBox("第二维上界"))
Loop
ReDim a(x, y)
Print "原数组元素为:"
For i = 1 To x
For j = 1 To y
a(i, j) = Int(90 * Rnd) + 10
Print a(i, j);
Next j
Next i
Print "转置后数组元素为:"
For i = 1 To y
For j = 1 To x
Print a(j, i);
Next j
Next i
End Sub
5. Option Base 1
Private Sub Form_Click()
Dim a(10, 10) As Integer, i As Integer, j As Integer
For i = 1 To 10
For j = 1 To 10
If i = j Or i + j = 11 Then
a(i, j) = 0
Else
a(i, j) = 1
End If
Print a(i, j);
Next j
Next i
End Sub
6. Option Explicit
Option Base 1
Private Sub Command1_Click()
Dim i As Integer, j As Integer, n As Integer, k As Integer, a(11)
As Integer
j = 1
For i = 3 To 21 Step 2
a(j) = i
Print a(j);
j = j + 1
Next i
n = InputBox("请输入一个数")
For i = 1 To 10
If n = a(i) Then
For j = i To 10
a(j) = a(j + 1)
k = k + 1
Next j
End If
Next i
For i = 1 To 9
Print a(i);
Next i
End Sub
7. Option Base 1
Private Sub Form_Click()
Dim a As V ariant, k As Integer, i As Integer, j As Integer
Dim b As V ariant
b = Array(17, 35, 128, 235, 89, 121, 143, 189, 231, 94)
a = Array(11.3, 12.3, 12#, 11.8, 12.6, 11.6, 12.8, 11.8, 12.4, 12.1)
For i = 1 To 9 '对数组a的元素排序
k = i
For j = i + 1 To 10
If a(k) > a(j) Then k = j
Next j
If k <> i Then '数组b的元素随数组a的元素一起变动t = a(i)
a(i) = a(k)
a(k) = t
t = b(i)
b(i) = b(k)
b(k) = t
End If
Next i
Print "按名字的排列顺序为:"
For i = 1 To 10
If Len(b(i)) = 2 Then b(i) = "0" & b(i) '补上数组b中长度为2的编号前的"0"
Print "第" & i & "名的号码为:" & b(i) & ",成绩为:" & a(i)
Next i
End Sub
第7章过程
二、单选题
1.C
2. D
3.C
4.D
5. B
6.A
7. B
8.B
9.C 10.D
11.C 12.D 13.B 14.B 15.C
16.A17.B 18.B
三、填空题
1.52 51
2.4 11
8 35
3.1 3 5
四.编程及上机调试:
1. Private Sub Command1_Click()
Dim n As Integer
For n = 100 To 1600 Step 500
Print "n="; n; "时π的近似值是:"; pi(n)
Next n
End Sub
Private Function pi(x As Integer) As Single
Dim s As Single, k As Integer, m As Integer
s = 0
k = 1
m = 1
Do
s = s + m / k
m = -m
k = k + 2
Loop While k <= x
pi = 4 * s
End Function
Private Sub Command2_Click()
End
End Sub
2. Private Sub Command1_Click()
Dim x As Integer, i As Integer
x = V al(Text1)
For i = 1 To x
If prime(i) And prime(x - i) Then
Label2 = Str(x) & "是" & Str(i) & "和" & Str(x - i) & "两个素数之和"
Exit Sub
End If
Next i
End Sub
Private Function prime(x As Integer) As Boolean
For i = 2 To Int(Sqr(x))
If x Mod i = 0 Then
prime = False
Exit Function
End If
Next i
prime = True
End Function
Private Sub Command2_Click()
End
End Sub
3. Option Explicit
Option Base 1
Dim a(10) As Integer
Private Sub Command1_Click()
Randomize
Dim i As Integer
For i = 1 To 10
a(i) = Int(Rnd * 90) + 10
Text1 = Text1 + Str(a(i))
Next i
Call sort(a)
For i = 1 To 10
Text2 = Text2 + Str(a(i))
Next i
End Sub
Private Sub sort(a() As Integer)
Dim k As Integer, i As Integer, j As Integer, t As Integer k =
UBound(a)
For i = 1 To k - 1
For j = i + 1 To k
If a(i) < a(j) Then
t = a(i)
a(i) = a(j)
a(j) = t
End If
Next j
Next i
End Sub
Private Sub Command2_Click()
End
End Sub
4. Option Explicit
Private Sub Command1_Click()
Dim i As Integer, j As Integer, s As Integer
For i = 2 To 1000
S=0
For j=1 To i - 1
If I mod j=0 Then s=s+j
Next j
If s=i Then Print I,
Next i
End Sub
5. Public a(10) As Integer
Public Sub sort(a() As Integer)
Dim i As Integer, j As Integer, t As Integer
For i = 1 To UBound(a) - 1
For j = i + 1 To UBound(a)
If a(i) > a(j) Then
t = a(i)
a(i) = a(j)
a(j) = t
End If
Next j
Next i
End Sub
Public Function max(a() As Integer) As Integer
max = a(1)
For i = 2 To UBound(a)
If max < a(i) Then
max = a(i)
End If
Next i
End Function
窗体Form1代码
Private Sub Command1_Click()
Dim i As Integer
Randomize
For i = 1 To UBound(a)
a(i) = Int(Rnd * 90) + 11
Text1 = Text1 & Str(a(i))
Next i
End Sub
Private Sub Command2_Click()
End Sub
Private Sub Command3_Click()
Text2 = max(a)
End Sub
Private Sub Command4_Click()
End
End Sub
窗体Form2代码
Private Sub Command1_Click()
Call sort(a)
For i = 1 To UBound(a)
Text1 = Text1 & Str(a(i))
Next i
End Sub
Private Sub Command2_Click()
End Sub
第8章程序调试
二.上机调试题
1. Option Explicit
Private Sub Form_Click()
Dim a() As Single, i As Integer
Dim y As Single
i = 1
Do
ReDim a(i) …改为ReDim Preserve A(I) a(i) = 1 / fib(i)
If a(i) <= 0.0001 Then Exit Do …改为a(i) < 0.0001 y = y + a(i)
i = i + 1
Loop
Print "y="; y
For i = 1 To UBound(a)
Print a(i);
Next i
End Sub
Private Function fib(i As Integer) As Integer
If i = 1 Then
fib = 1
ElseIf i = 2 Then
fib = 2
Else
Fib(i)= fib(i - 1) + fib(i - 2) …改为Fib=Fib(I-1)+Fib(I-2) End If
End Function
2. Option Explicit
Private Sub Command1_Click()
Dim i As Integer, k As Integer, st As String
For i = 10 To 500
If wanshu(i) Then
st = CStr(i)
= & st
Call test(st)
= & Chr(13) & Chr(10)
End If
Next i
End Sub
Private Function wanshu(n As Integer) As Boolean
Dim i As Integer, sum As Integer
For i = 2 To n – 1 …改为i=1
If n Mod i = 0 Then
sum = sum + i
End If
Next i
If sum = n Then wanshu = True
End Function
Private Sub test(s As String)
Dim i As Integer, sum As Integer
sum = 0 …位置错,和for 语句位置调换
Do While Len(s) > 1
For i = 1 To Len(s)
sum = sum + V al(Mid(s, i, 1))
Next i
= & "->" & Str(sum)
s = Str(sum) … 改为s = CStr(sum) Loop
End Sub
第9章数据文件
一、单选题
1.B
2.C
3.A
4.B
5.C
6.B
7.C
8.B
9.10.A
11. 12.A13. 14. 15.A16.B
二、编程及上机调试
e Sub Form_Load()
Open "d:" For Output As #1
End Sub
Private Sub Text1_keyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Trim(Text1) = "0000" Then
Close #1
End
End If
Write #1, Text1
= ""
End If
End Sub
Explicit
Private Type Student
name As String * 10
age As Integer
End Type
Private Sub Command1_Click()
Dim Stu As Student
Open "d:" For Random As #1 Len = Len(Stu)
= "WangY ing"
= 20
Put #1, , Stu
Close #1
Open "d:" For Random As #1 Len = Len(Stu)
Get #1, , Stu
Print "姓名:",
Print "年龄:",
Close #1
End Sub
第10章其它控件
二、选择题
1.B
2.B
3.B
4.C
5.
6.A,C
7.A
8.
9.10.
11. 12.B 13.
三、填空题
1.菜单编辑器
2.下拉式菜单弹出式
3.顶
enu
5.多文档窗体
ld
e Sub HScroll1_Change()
text1 = HScroll1.V alue
End Sub
Private Sub HScroll1_Scroll()
text1 = HScroll1.V alue
End Sub
e Sub Toolbar1_ButtonClick(ByV al Button As
)
Select Case
Case 1
lor = vbRed
Case 2
lor = vbGreen
Case 3
lor = vbBlue
End Select
End Sub
四、编程及上机调试
e Sub Picture1_MouseMove(Button As Integer, Shift As
Integer, _
X As Single, Y As Single)
If Button = 1 Then
(X, Y)
(1) = "X=" & X
(2) = "Y=" & Y
End If
End Sub
e Sub Command1_Click()
me = ""
r = "D:"
= "Word Files|*.doc|文本文件|*.Txt" '设置过滤器
Title = "打开文件" '设置打开对话框的标题 = 1 '创建"打开"对话框If me =
"" Then '判断文件名是否为空MsgBox "没有选择文件", 37, "检查" '若为空,则显示信息Else
Open me For Input As #1 '打开选定的文件
Do While Not EOF(1)
Line Input #1, a$ '读文件的一行
Text1 = Text1 & a$ & vbCrLf '输出所读的内容Loop
End If
End Sub
Private Sub Command2_Click()
= 3 '列出打印机和屏幕字体
= 4 '打开"字体"对话框
me = me '改变文本框的字体
ze = ze
ld = ld
alic = alic
derline = derline End Sub
Private Sub Command3_Click()
End
End Sub
11章略
本文发布于:2024-02-04 10:11:50,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170701271053251.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |