VB程序设计试题及答案(一)
一、单选题
是一种面向 B 的编程环境。
(A) 机器(B) 对象
(C) 过程(D) 应用
2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下D 语句是正确的。
(A) Forml.Caption=“欢迎使用VB”
(B) Forml.Caption='欢迎使用VB'
(C) Forml.Caption=欢迎使用VB
(D) Forml.Caption="欢迎使用VB"
3. 若要使命令按钮不可操作,要对A 属性进行设置。
(A) EnabIed (B)Visible
(C) Backcolor (D)Caption
4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过C 事件获得输入键值的ASCII码。
(A) Change (B) LostFocus
(C) KeyPress (D) GotFocus
5. 下面A 是合法的变量名。
(A) X_yz (B) 123ab。(C) integer (D) X-Y
6. 以下关系表达式中,其值为False的是A 。
(A) "ABC">"AbC" (B) "女">"男"
(C) "BASIC"=UCase("basic) (D) "123"<"23"
7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A 。
(A) x=1:y=1:z=1 (B) x=1,y=1,z=1
(C) x=y=z=1 (D) xyz=1
8. VB提供了结构化程序设计的三种基本结构,三种基本结构是D 。
(A)递归结构、选择结构、循环结构
(B)选择结构、过程结构、顺序结构
(C)过程结构、输入输出结构、转向结构
(D)选择结构、循环结构、顺序结构
9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。
(A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l
(B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l
(C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l
(D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l
10.下列关于Do…Loop循环结构执行循环次数的描述正确的是D 。
(A) Do While…Loop循环和Do…Loop Until循环至少都执行一次
(B) Do While…Loop循环和Do…Loop Until循环可能都不执行
(C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行
(D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次
11.以下B 是正确的For…Next结构。
(A) For x=1 To Step 10 (B) For x=3 To -3 Step -3
……
Next x Next x
(C) For x=1 To 10 (D) For x=3 to 10 step 3
re: ……
Next x Next y
If i=10 Then GoTO re
12.如下数组声明语句,B 是正确的。
(A) Dim a[3,4] As Integer
(B) Dim a(3,4) As Integer
(C) Dim a(n,n) As Integer
(D) Dim a(3 4) As Integer
13.下列语句中(假定变量n有值),能正确声明可变长数组的是A 。
(A) Dim a( ) As Integer (B) Dim a( ) As Integer
ReDim a(n) ReDim a(n) As String
(C) Dim a( ) As Integer (D) Dim a(10) As Integer
ReDim a(3, 4) ReDim a(n+10)
ReDim Preserve a(4, 4)
14.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是C 。
(A) Sub f2(ByVal n%, ByVal m%) (B) Sub f1(n%, ByVal m%)
(C) Sub f1(n%, m%) (D) Sub f1(ByVal n%, m%)
15.设有如下程序段:
Public Sub F1(n%)
…
n=3*n+4
…
End Sub
Private Sub Command1_Click( )
Dim n%, m%
n=3
m=4
…
‘调用F1语句
…
End Sub
则在Command1_Click事件中有效的调用语句是B 。
(A) Call F1(n+m) (B) Call F1(m) (C) Call F1(5) (D) Call F1(m+5)
16.用来设置粗体字的属性是C 。
(A) FontItalic (B) FontName (C) FontBold (D) FontSize
17.假定定时器的Interval属性为1000,Enabled属性为True,调用下面的事件过程,程序运行结束后变量x的值为 D 。
Dim x As Integer
Sub Timer1_Timer( )
For i=1 to 10
x=x+1
Next i
End Sub
(A) 1000 (B) 10000 (C) 10 (D) 以上都不对
18.在下列关于通用对话框的叙述中,错误的是B 。
显示“字体”对话框
(B) 在“打开”或“另存为”对话框中,用户选择的文件名可以经FileTitle属性返回
(C) 在“打开”或“另存为”对话框中,用户选择的文件名机器路径可以经FileName属性返回
(D)
19.当用户按下并且释放一个键后会触发KeyPress、KeyUp和KeyDown事件,这三个事件发生的顺序是 C 。
(A) KeyPress、KeyDown、KeyUp
(B) KeyDown、KeyUp、KeyPress
(C) KeyDown、KeyPress、KeyUp
(D) 没有规律
20.在下面关于顺序文件的描述中,正确的是C 。
(A) 顺序文件中每行的长度都是相同的。
(B) 可以通过编程对文件中的某行方便地进行修改
(C) 数据以ASCII码的形式存放在文件中,所以可通过记事本打开
(D) 文件的组织结构复杂
21.随机文件是因为C 。
(A) 文件中的内容是通过随机数产生的
(B) 文件中的记录号通过随机数产生的
(C) 可对文件中的记录根据记录号随机地读/写
(D) 文件的每条记录的长度是随机的
22.从磁盘上读入一个文件名为“”顺序文件,如下A 正确。
(A) F=“”
Open F For Input As #1
(B) F=“”
Open “F” For Input As #2
(C) Open “” For Input As #1
(D) Open c:\t1.txt For Input As #2
23.坐标度量单位可由通过来D 改变。
(A)Drawstyle属性(B) DrawWidth属性
(C) Scale方法(D) ScaleMode属性
24.指令“Circle (1000, 1000), 500, 8, -6, -3”将绘制A 。
(A) 画圆(B) 椭圆(C) 圆弧(D) 扇形
25.用ADO数据控件建立与数据源的链接,设置操作过程按A 顺序进行。
①选择数据源连接方式;②选择数据库类型;③指定数据库文件名;④指定记录源
(A) ①②③④ (B) ②③④①
(C) ③①②④ (D) ①③②④
二、填空题
1.VB是建立在BASIC语言基础上的可见化编程语言或编程环境。
2.在窗体上已建立多个控件如Text1、Label1、Command1,若要程序一运行时焦点就定位在Command1控件上,应对Command1控件设置TabIndex 属性的值为0 。
3.在VB中,1234、123456&、1.2346E+5、1.2346D+5这4个常数分别表示整形、长整形、单精度、双精度类型。
4.表示x是5的倍数或是9的倍数的逻辑表达式为x mod 5 = 0 or x mod 9=0 。
5.数组声明时下标下界默认为0,利用Opation Base 1 语句可以使下标为1。
6.传地址方式是当过程被调用时,形参和实参共享存储单元。
7.窗体中的模块级变量应在窗口模块段声明,它作用于该窗体的全局范围。
8.当用户单击滚动条的空白处时,滑块移动的增量值由LargeChange 属性决定。
9.如果菜单标题的某个字母前输入一个“&”符号,那么该字母就成了热键字母;如果建立菜单时在标题文本框中输入一个“ - (减号) ”符号,那么显示时形成一个分隔符。
10.使用Scale 方法可以自定义坐标系。
11.使用Line方法画矩形,不许在指令中使用关键字B 。
12.使用SQL语句设置ADO控件的RecordSource属性,这CommandType属性需要设置成1(adCmdText)或者(adCmdUnknown) 。
13.为了显示一个窗体,所使用的方法为show;而为了隐藏一个窗体,所使用的方法为__Hide_____。
14.如果要将某个命令按钮不显示,则可将___Visible________属性设置为False
15.在VB中窗体文件的扩展名为。
三、编程应用题
1.程序阅读,写出下列程序的运行结果。
(1)
Private Sub Command1_Click( )
Dim a, i%, min%, imin%, sum%, t%
a=Array(26, 43, 61, 87, 33, 19, 37, 59, 76, 69)
min=a(0): imin=0: sum=a(0)
For i=1 to UBound(a)
sum=sum+a(i)
If a(i)< min Then min=a(i): imin=i
Next i
t=a(0): a(0)=a(imin): a(imin)=t
Print sum; a(0)
End Sub
输出结果:
510 19
(2)
Private Sub Command1_Click( )
Dim ch as String*1
ch="8"
If UCase(ch)>= "A"And UCase<="Z"Then
form1.Print ch; "是字母字符"
ElseIf ch>="0"And ch<="9"Then
form1.Print ch; "是数字字符"
Else
form1.Print ch; "是其他字符"
End If
End Sub
输出结果:
是数字字符
(3)
Public Sub Proc(a%( ) )
Static i%
Do
a(i)=a(i)+a(i+1)
i=i+1
Loop While i<2
End Sub
Private Sub Command1_Click( )
Dim m%, n%, x%(10)
For i=0 to 4: x(i)=i+1: Next i
For i=1 to 2: Call Proc(x): Next i
For i=0 to 4: Print x(i); : Next i
End Sub
输出结果:
3 5 7
4 5
2.补充程序
(1)如下是账号和密码输入的检验程序,运行界面如下图1所示。输入帐号和密码后,单击“检验密码”按钮,如果密码正确则程序结束,假定密码为“s001”;如果密码不正确,则弹出如下图2所示对话框,单击“取消”则程序结束,单击“重试”则返回图1窗体,且密码文本框Text2内容被清空,等待再次输入。补充完整如下程序。
图1 图2
Private Sub Command1_Click()
Dim i As Integer
<>s001 Then
i = MsgBox("密码错误", 5 + vbExclamation, "警告")
If i < > 4 Then
End
vb程序设计教程答案第四版刘炳文Else
End
End If
End If
End Sub
(2)以下是求最大公约数和最小公倍数的程序,使用的是辗转相除法,将程序补充完整。Private Sub Form_Click()
Dim m%, n%, t%
n = InputBox("输入n")
m = InputBox("输入m")
If m < n Then
t=m: m=n: n=t
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论