模拟试题五 |
|
|
|
|
一、选择题 |
|
|
1. 以下控件中不属于容器的是_______。
|
|
|
A. Form |
|
|
B. PictureBox |
|
|
C. Image |
|
|
D. Frame |
|
|
|
|
|
2. 如果要给字体加删除线,可以选择下列那种属性_______。
|
|
|
A. FontName |
|
|
B. FontSize |
|
|
C. FontStrikethru |
|
|
D. FontUnderLine |
|
|
|
|
|
3. 下列哪个变量名的取法是不正确的_______。
|
|
|
A. TName |
|
|
B. T_Temp |
|
|
C. T32 |
|
|
D. T32# |
|
|
|
|
|
4. 下列哪一种文件打开方式是以顺序文件方式打开文件并作写操作_______。
|
|
|
A.Open“c:\file1.dat” For Output as #1 |
|
|
B.Open“c:\file1.dat” For Input as #1 |
|
|
C.Open“c:\file1.dat” For Append as #1 |
|
|
D.Open“c:\file1.dat” For Write as #1 |
|
|
|
|
|
5. 清除列表框的所有选项应选择下列哪种方法_______。 |
|
|
A.Clear |
|
|
B.Cls |
|
|
C.ClearItem |
|
|
D.RemoveItem |
|
|
|
|
|
6. 下面哪些控件不会影响到界面设计效果_______。
|
|
|
A. Label |
|
|
B. Text |
|
|
C. CommonDialog |
|
|
D. Frame |
|
|
|
|
|
7. 要使得窗体在出现之前就完成相关的程序设置可在_______事件中进行编程。
|
|
|
A. linkopen |
|
|
B. KeyPress |
|
|
C. load |
|
|
D. click |
|
|
|
|
|
8. 下列可缩放图片的属性是_______。 |
|
|
A. autosize |
|
|
B. picture |
|
|
C. stretch |
|
|
D. OleDrawMode |
|
|
|
|
|
9. 要使文本框中显示密码符有效,必须首先设置_______属性。
|
|
|
A. Text |
|
|
B. MultiLine |
|
|
C. Locked |
|
|
D. Enabled |
|
|
|
|
|
10. 要在垂直位置上移动控件,应利用控件的_______属性。
|
|
|
A. Left |
|
|
B. Width |
|
|
C. Top |
|
|
D. Height |
|
|
|
|
|
11. 要使文本框中的文本显示掩码(密码)符,在属性设置时,首先必须设置_______属性为False。 |
|
|
A. Text |
|
|
B. Enabled |
|
|
C. Visible |
|
|
D. Multiline |
|
|
|
|
|
12. 用键盘的光标键选中某一菜单项,并按回车将触发菜单的_______的事件。
|
|
|
A. KeyPress |
|
|
B. KeyDown |
|
|
C. Click |
|
|
D. KeyUp |
|
|
|
|
|
13. 以下_______对象不具有Clear方法。
|
|
|
A. 列表框 |
|
|
B. 组合框 |
|
|
C. 剪贴板 |
|
|
D. 图片框 |
|
|
|
|
|
14. 在文件列表框中设定“文件列表”中显示文件的路径(盘符及文件夹),应该设置控件的_______属性。
|
|
|
A. Path |
|
|
B. FileName |
|
|
C. Name |
|
|
D. Pattern |
|
|
|
|
|
15. 组合框的三种不同风格:下拉组合框、简单组合框和下拉列表框由_______属性决定。
|
|
|
A. Style |
|
|
B. BoderStyle |
|
|
C. FillStyle |
|
|
D. DrawStyle |
|
|
|
|
|
16. 下列各项变量中,_______所占的内存空间最多。 |
|
|
A. dim x as currency x=99 |
|
|
B. dim st1 as string st1=’good’ |
|
|
C. dim st2 as string st2=’higoodbye’ |
|
|
D. dim d as date d=’1898/09/12’ |
|
|
|
|
|
17. 以下这段在FORM的CLICK事件中的程序运行后的结果是_______。
CurrentX=1500
CurrentY=500
Line-(3000,2000)
Line-(1500,2000)
Line-(1500,500) |
|
|
A. 三条直线 |
|
|
B. 矩形 |
|
|
C. 三角形 |
|
|
D. 等腰直角三角形 |
|
|
|
|
|
18. 要想清除文本框中的内容则可利用_______进行。
|
|
|
A. Caption |
|
|
B. Text |
|
|
C. Clear |
|
|
D. Cls |
|
|
|
|
|
19. 下列表达式中, 其值为0的是 _______。
|
|
|
A. 7/9 |
|
|
B. 7 mod 15 |
|
|
C.7\9 |
|
|
D.15 mod 9 |
|
|
|
|
|
20. 求以10 为底X 的常用对数的表达式为_______ 。
|
|
|
A. LOG(X)/LOG(10) |
|
|
B. LN(X) |
|
|
C. LOG(X)/LOG(E) |
|
|
D. LOG(X) |
|
|
|
|
|
答案: C,C,D,A,A,C,C,C,B,C,D,C,D,A,A,C,D,B,C,A |
|
|
|
|
|
二、填空题 |
|
|
1. VB的工作模式可分为三种:设计模式、________、中断模式。
|
|
|
2. 已知文本框的内容为“ABCDE”,若文本框Selstart=4,Sellength=2,则SelText为_______。 |
|
|
3. 变量min&表示_______类型的变量。 |
|
|
4. X=2:Y=8:PRINT X+Y=10的结果是____________。 |
|
|
5. 如果:I=12:J=3:I=int(-8.6)+I\J+13/3 MOD 5,则I值是___________。 |
|
|
6. 若a,b,c是三角形的三边,判断是否为直角三角形的VB表达式__________。 |
|
|
7. X为[100-200]之间的数,能被2整除,但不能被5整除的VB表达式_________。 |
|
|
8. Visual Basic中的文本框中要使该框不允许多行输入,应设置_______属性为false。 |
|
|
9. 声明单精度常量PI代表3.14159的语句为_______。 |
|
|
10. Val("123.55ab456")的值是多少_______。 |
|
|
11. 欲使在自己设计VB程序运行过程中,不中止本程序的运行,同时又可调用系统中已有的应用程序c:\windows\Calc.exe,可在程序代码窗口必要的地方添加语句:_______。 |
|
|
12. 表达式9>4+3 Or 5+3>10 And Not (4+2>5 EQV 3+5>2)返回的值为True还是False________。 |
|
|
13. 随机产生100至200(包括100和200)之间的整除___________。 |
|
|
14. 表达式Circle(3500,1500),1000, , Pi / 4, Pi(其中Pi为圆周率)所得到的图形是 _______。 |
|
|
15. 按照数据文件的存储方法的不同,文件可以分为三种不同的类型:顺序文件、____________和二进制文件。
|
|
|
答案:1. 运行模式、2.
E、
3. 长整型、4.
True、
5. -1、6.
a*a+b*b=c*c or a*a+c*c=b*b or a*a=b*b+c*c、7.
x>=100 and x<=200 and x mod 2=0 and x mod 5<>0、8.
MultiLine、
9. const pi=3.14159、10.
123.55、11.shell(“c:\windows \Calc.exe”)
、12.True、13.100+int(101*rnd)、14.起点为Pi / 4,终点为Pi 的一段圆弧、15.随机文件 |
|
|
|
|
|
三、是非题 |
|
|
1. 全局变量用global或public关键字声明,且仅在通用声明处可以定义。( ) |
|
|
2. 如果某子程序add用public static sub add()定义,则该子程序的变量都是局部变量。( ) |
|
|
3. *.bmp格式的图片,如果在autosize设为False的图片框,它会以图片框大小完整显示出来。( ) |
|
|
4. 已知窗体的fillcolor=rgb(255,0,0)红,forecolor=rgb(0,255,0)绿,fillstyle=0(solid)语句circle(200,100),500,,,,2的输出结果是红边绿心的长椭圆。( ) |
|
|
5. move方法的一般形式是:对象名.move A,B[,C,D],其中A指Left,C 指width。( ) |
|
|
6. 清除list1列表框对象的内容的语句是list1.cls。( ) |
|
|
7. 清除combo1对象的内容是combo1.clear。( ) |
|
|
8. 对象的可见性用enabled属性设置,可用性用visible属性设置。( ) |
|
|
9. 若要新建一个磁盘上的顺序文件,可用output,append方式打开文件。( ) |
|
|
10. 在框架控件内的几个单选按钮中,只能有一个单选按钮的Value属性为True。( ) |
|
|
11. 在图片框中放置的控件既可以在该图片框内移动,也可以移出该图片框外。( ) |
|
|
12. 滚动条控件可作为用户输入数据的一种方法。( ) |
|
|
13. 单选钮控件和复选框控件都具有Value属性,它们的作用完全相同。( ) |
|
|
14. Frame控件是一种容器控件,因此它可有它自己的坐标系。( ) |
|
|
15. 菜单每一菜单项都是控件,可以通过点击菜单项或通过光标选择并按回车键,以触发Click事件。( ) |
|
|
|
|
|
答案:1. F、2.
F、3.
F、4.
F、5.
F、6.
F、7.
T、8.
F、9.
T、10. T、11.F、12.
T、13.
F、14.
F、15.
T |
|
|
|
|
|
四、程序阅读题 |
|
|
1. 阅读下列程序,写出运行结果。程序如下:
|
Private Sub Command24_Click()
Dim k As Integer, s As Integer, j As Integer
For k = 1 To 5
s = 0
For j = k To 5
s = s + 1
Next j
Next k
Debug.Print "s="; s
End Sub |
|
程序运行后,单击Command24,窗体上显示的最终结果? |
|
|
|
|
|
2. .阅读下列程序,写出运行结果。程序如下:
|
Private Sub Command25_Click()
Dim a As Integer, b As Integer, c As Integer, k As Integer
Open "c:\file1.txt" For Output As #1
a = 3: b = 5
Print #1, "NO."; 1, a
Print #1, "NO."; 2, b
For k = 3 To 5
c = b - a
Print #1, "NO."; k, c
b = a
a = c
Next k
Close #1
End Sub |
|
程序运行后,单击Command25,文件file1.txt中的最终结果? |
|
|
|
|
|
3. 阅读下列程序,写出运行结果。程序如下:
|
Private Sub Command21_Click()
Dim A(3, 3) As Integer
n = 3
For i = 1 To n
For j = 1 To n
A(i, j) = (j - l) * n + i
Next j
Next i
For i = 2 To n
For j = 1 To i - 1
Tmp = A(i, j)
A(i, j) = A(j, i)
A(j, i) = Tmp
Next j
Next i
For x = 1 To n
Print x; A(x, n - x + 1); A(x, x)
Next x
End Sub |
|
程序运行后,单击Command21,窗体上显示的最终结果? |
|
|
|
|
|
4.阅读下列程序,写出运行结果。程序如下:
|
Dim a As Integer, y As Integer ‘在窗体的通用声明部分声明两个窗体级变量a和y
Private Sub Form_Load()
Open "c:\a1.dat" For Output As #1
Close #1
End Sub
Private Sub Command14_Click()
Open "c:\a1.dat" For Append As #1
Call fa(5)
y = y + a
Print #1, "y="; y, "a="; a
Close #1
End Sub
Sub fa(i As Integer)
x = 1
Do Until x > i
a = a + x
x = x + 3
Loop
End Sub |
|
程序运行后,连续三次单击Command14,a1.dat文件的最终结果? |
|
|
|
|
|
答案: |
|
|
1.
s= 1 |
|
|
2.
NO. 1 3
NO. 2 5
NO. 3 2
NO. 4 1
NO. 5 1 |
|
|
3.
1 6 4
2 8 8
3 10 12 |
|
|
4.
y= 5 a= 5
y= 15 a= 10
y= 30 a= 15 |
|
|
|
|
|
五、程序改错 |
|
|
|
|
|
1. 下列Command1的单击事件过程用于求出1--999之间所有的水仙花数,并打印出来。所谓水仙花数是指一个数等于它每位数字的立方和。例如:371=3^3+7^3+1^3,那么371就是一个水仙花数。程序中有三处错误,请改正过来。
Private Sub Command1_Click()
Dim armstrong As Integer
Dim i As Integer
Dim hundred As Integer '百位上的数字
Dim ten As Integer '十位上的数字
Dim one As Integer '个位上的数字
For i = 100 To 999
hundred = i / 100----错误1
ten = i / 10 ----错误2
one = i % 10----错误3
If hundred ^ 3 + ten ^ 3 + one ^ 3 = i Then
Print i; "is armstrong number"
End If
Next i
End Sub |
|
|
|
|
|
2. 下列Command1的单击事件过程用于在一个字符串变量中查找字符串"at",并用消息框给出查找结果的报告:没有找到或找到的个数。程序中有三处错误,请改正过来。
Private Sub Command1_Click()
Dim str1 As String
Dim length As Integer '字符串长度
Dim sum As Integer '查到的个数
Dim i As Integer
str1 = InputBox("请输入一个字符串")
length = Val(str1) ----错误1
i = 1
sum = 0
Do While i <=length ----错误2
If Mid(str1, i) = "at" Then '----错误3
sum = sum + 1
End If
i = i + 1
Loop
If sum = 0 Then
MsgBox "没有找到!"
Else
MsgBox "找到了" & str(sum) & "个"
End If
End Sub |
|
|
|
|
|
答案: |
|
|
1.
错误1改正为:hundred = i \ 100
错误2改正为:ten = i \ 10 - hundred * 10
错误3改正为:one = i Mod 10 |
|
|
2.
错误1改正为:length = Len(str1)
错误2改正为:Do While i <= length - 1
错误3改正为:If Mid(str1, i, 2) = "at" Then |
|
|
|
|
|
六、综合编程 |
|
|
|
|
|
1. 产生30个小于100的成绩随机数(大于0,小于或等于100的正整数),显示在图片框中。并统计出优(大于或等于90)、良(大于或等于80)、中等(大于或等于70)、及格(大于或等于60)、不及格数(小于60)的个数,也显示在图片框中。界面设计可参见下图。
2. 已知某椭圆轨道的长轴为2500、短轴为1500,且轨道中心坐标为(3000,2000),现要求在窗体上绘制一背景为黑色的图片框picDispRot(6000x4000),显示一个半径为200的球体(红色)在已知的椭圆轨道上运行的动画。提示:可利用定时器进行编程,必须Form_Load中对图片框、定时器等进行初始化,设定动画频率为0.01秒,通过点击“开始”命令按钮(cmdStart)进行动画显示,点击“停止”命令按钮(cmdStop)使用小球运动停止。
|
|
|
|
|
|
1.答案(代码部分):
Dim a(50) As Integer '在窗体的通用声明部分定义
Private Sub Command1_Click()
Randomize
For i = 1 To 50
a(i) = Int(Rnd * 100 + 1)
Picture1.Print a(i);
If i Mod 10 = 0 Then Picture1.Print
Next
End Sub
Private Sub Command2_Click()
Dim k As Integer, bjg As Integer, jg As Integer, zd As Integer, lh As Integer, yx As Integer
For k = 1 To 50
Select Case a(k)
Case 90 To 100
yx = yx + 1
Case 80 To 89
lh = lh + 1
Case 70 To 79
zd = zd + 1
Case 61 To 69
jg = jg + 1
Case 0 To 60
bjg = bjg + 1
End Select
Next k
Picture1.Print "优:" & yx
Picture1.Print "良:" & lh
Picture1.Print "中等:" & zd
Picture1.Print "及格:" & jg
Picture1.Print "不及格:" & bjg
End Sub |
|
|
2.答案(代码部分):
Dim X As Double, Y As Double, X0 As Double, Y0 As Double '在窗体的通用声明部分定义
Dim a As Double, b As Double, up As Boolean '在窗体的通用声明部分定义
Private Sub cmdStart_Click()
Timer1.Enabled = True
End Sub
Private Sub cmdStop_Click()
Timer1.Enabled = False
End Sub
Private Sub Form_Activate()
picDispRot.Circle (X0, Y0), a, RGB(255, 255, 0), , , 0.6
Y = b * b - X * X * b * b / a / a
Y = Sqr(Y)
picDispRot.Circle (X0 + X, Y0 + Y), 200, RGB(255, 0, 0)
End Sub
Private Sub Form_Load()
Timer1.Interval = 10
Timer1.Enabled = False
up = False
X0 = 3000
Y0 = 2000
a = 2500
b = a * 0.6
X = -a
picDispRot.BackColor = RGB(0, 0, 0)
End Sub
Private Sub Timer1_Timer()
picDispRot.Cls
picDispRot.Circle (X0, Y0), a, RGB(255, 255, 0), , , 0.6
Y = b * b - X * X * b * b / a / a
Y = Sqr(Y)
If X = -a Then up = False
If X = a Then up = True
If up Then
X = X - 50: picDispRot.Circle (X0 + X, Y0 + Y), 200, RGB(255, 0, 0)
Else
X = X + 50: picDispRot.Circle (X0 + X, Y0 - Y), 200, RGB(255, 0, 0)
End If
End Sub |
|