VB模拟试卷一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ⅰ、Visual Basic程序设计(100分)
一、填空题(每空1分,共10分)
1.表示x是5的倍数或9的倍数的逻辑表达式是__________________。
2.已知a=
3.5,b=5.0,c=2.5,d=true,则表达式a>=0 AND a+c> b+3 OR NOT d的值是______________________。
3.表达式Ucase(Mid(“abcdefgh”,3,4))的值是______________。
4.启动Visual Basic后,在窗体的左侧有一个用于应用程序界面设计的窗口,称作_______________。
5.当进入VB集成环境,发现没有显示“工具箱”时,应选择_______菜单中的工具箱选项,使工具箱显示在窗口。
6.对象的属性是指_____________________。
7.产生一在[3,X]区间的随机整数应使用表达式_________________。
8.在窗体上已建立多个控件如Text1、Label1、Command1等,若要使程序一运行焦点定位在Command1控件上,应把Command1控件的________属性设置为0。
9.要对文本框中已有的内容进行编辑,按下键盘上的按键就是不起作用,原因是设置的________属性为True。
10.属性窗口主要是针对窗体和控件设置的。
在Visual Basic中,窗体和控件被称为_____________。
二、单项选择题(每小题2分,共计40分)
1.在一行内写多条语句时,每个语句之间用________来分隔。
A),B):C)、D);
2.下面________是合法的变量名。
A)X_yx B) 123abc C)integer D)X-Y
3.下面________是不合法的整常数。
A) 100 B)&O100 C)&H100 D)%100
4.数学表达式3≤x<10在VB中的逻辑表达式为________。
A)3<=x<10 B)3<=x AND x<10 C)x>=3 OR x<10 D 3<=x AND <10 5.将调试通过的工程经“文件”菜单的“生成.exe文件“编译成.exe文件后,该可执行文件到其它机器上不能运行的主要原因是________。
A)运行机器上无VB系统B)缺少.frm窗体文件
C)该可执行文件有病毒D)以上原因都不对
6.RND函数不可能是下列________值。
A)1 B) 0.1 C)0.123 D)0.00005
7.决定控件上文字的字体、字形、大小、效果的属性是______。
A)Text B)Caption C)Name D)Font
8.VB是一种面向对象的程序设计语言,构成对象的三要素是________。
A)属性、控件和方法 B)属性、事件和方法
C)窗体、控件和过程 D) 控件、过程和模块
9.下列说法错误的是________。
A) 窗体文件的扩展名为.frm
B) 一个窗体对应一个窗体文件
C) Visual Basic中一个工程只包含一个窗体文件
D) Visual Basic中的一个工程最多可包含255个窗体
10.为了给x,y,z三个变量赋初值1,下面正确的赋值语句是________。
A)x = 1 : y = 1 : z = 1
B)x = 1, y = 1, z = 1
C)x = y = z = 1
D xyz = 1
11.以下关系表达式中,其值为False的是______。
A)"ABC">"AbC" B)"the"<>"they"
C)"VISUAL"=UCase("Visual") D)"Integer">"Int"
12.若n=365,下述的语句中______显示的值是33。
A)Print n - Int(n / 100) * 100
B)Print Int(n / 10) - Int(n / 100) * 10
C)Print Int(n / 10) - Int(n / 100)
D)Print Int(n - Int(n / 10) * 10) / 10
13.设有如下声明:
Dim X As Integer
如果Sgn(X)的值为-1,则X的值是______。
A)整数B)大于0的整数C)等于0的整数D)小于0的数
14.表达式InStr(3, "EFABCDEFG","EF")的值为 ________。
A) 1 B) 7 C) 2 D)“EF”
15.下面程序段的输出结果为________。
X = 10 :Y = 20
Print X ;”+”;Y ;”= ”;
Print X + Y
A)10 + 20 = 30 B)X + Y = 20 C)X+ Y = 30 D)X + Y = 10 16.如果x是一个正实数,对x的第3位小数四舍五入的表达式是______。
A)0.01*Int(x+0.005) B)0.01*Int(100*(x+0.005))
C)0.01*Int(100*(x+0.05) D)0.01*Int(x+0.05)
17.下面正确的赋值语句是________。
A)x + y = 30 B)y = p**r C)y = x + 30 D)3y = x
18.表达式 12000 + "123" & 100 的结果为 ________。
A)12000123100 B)出错C)12123100 D)12223
19.赋值语句:a = 123 + MID("123456",3,2)执行后,a变量的值是是________。
A)“1234”B)123 C)12334 D)157
20. Visual Basic有多种类型的窗口,若要在设计时看到窗体窗口,以下操作不正确的是________。
A)打开“视图”菜单,选择“对象窗口”
B)双击VB窗口工作区的空白处
C)单击“工程资源管理器”中的“查看对象”按钮
D)双击“工程资源管理器”中对应的窗体名
三、程序填空题(每空2分,共50分)
1.以下程序执行后将输出100到200之间所有的素数,并统计素数的个数(提示:素数为只能被1和它本身整除的数)。
Private sub form_click()
Dim i%,j%,k%,t% ’t为统计素数的个数
Dim b as Boolean
For i=100 to 200 b=true
k=________
j=int(sqr(i))
do while k<=j and b
ifi mod k=0 then
___________
End if
___________
Loop
If b=true then
t=t+1
form1.printi
end if
nexti
print “t=”;t
end sub
2.下列程序的功能是找出被5、7除,余数为1的最小5个正整数。
Private sub form_click()
Dim ncount%,n%
Ncount=_________
n=1
Do
n=n+1
if ____________ then
print n
ncount=ncount+1
end if
loop until________=5
end sub
3.下面的程序段是检查输入的算术表达式中圆括号是否配对,并显示相应的
结果。
本程序在文本框中输入表达式,边输入,边统计,以回车符作为表达式输入结果,然后显示结果。
请在下画线处填入相应的内容。
Dim count1%
Private Sub text1_keypress(keyascii as integer)
If _______ ="("Then
count1=count1+1
Elseif__________= ")"Then
__________________
End If
If Keyascii=13 Then
If__________Then
Print"左右括号配对"
Elseif___________Then
Print"左括号多于右括号";count1;"个"
Else
Print"右括号多于左括号";count1;"个"
End If
End If
End Sub
4.阅读程序,程序运行后,单击窗体,在输入对话框中分别输入3个整数,程序将输出3个数中的中间数。
Option Basic 1
Private sub form_click()
Dim a(3)as integer
Print “输入的数据是:”
For i=1 to 3
a(i)=________
print a(i);
next
print if a(1)<a(2) then
t=a(1)
a(1)=a(2)
a(2)=_______
end if
if a(2)>a(3) then
m=a(2)
elseifa(1)>a(3) then
m=_________
else
m=__________
end if
print “中间数是:”;m
end sub
5.以下程序代码实现单击命令按钮command1时生成20个[0,100]之间的随机整数,存于数组arr中,打印数组中大于50的数,并求这些数的和,请在空白处填写恰当的语句。
Private sub Command1_Click()
dimarr(1 to 20)
fori=1 to 20
arr(i)=__________
nexti
sum=0
for each x in________
if x>50 then
print tab(20);x
sum=_______
end if
next ______
print tab(20);"sum=";sum
End Sub
6.下述程序的功能是随机产生10个两位整数并输出,然后进行排序并输出,请在空白处填入相应的语句,使之完成上述功能。
option base1
Private sub Command1_Click()
dim d()as integer,i as integer,j as integer,k as integer
randomize
__________
fori=1 to 10
d(i)=int(90*rnd)+10
print d(i);
nexti
print
fori=1 to 9
for j=______ to 10
if d(i)>d(j) then
k=d(i)
d(i)=d(j)
d(j)=k
end if
next j
print d(i);
nexti
print______________
End Sub
7.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序(其功能是完成数组中前5个数与后5个数,值的互换):
Option Basic 1
Private Sub Command1_Click()
Dim a(10) as integer For i=1 to 10
a(i)=i
nexti
call swap __________ fori=1 to 10
print a(i);
nexti
End sub
Sub swap(b()as integer) n=_______
fori=1 to n/2
t=b(i)
b(i)=b(n)
b(n)=t
__________
Next
End sub
答案
一、填空题:
1.x mod 5=0 or x mod 9=0
或int(x/5)=x/5 or int(x/9)=x/9
2.false
3.”CDEF”
4.工具箱
5.视图
6.对象所具有的特征或对象的性质
7.int(rnd*(x-2))+3 或 int(rnd*(x-2)+3)
8.Tabindex 9.Locked 10.对象
二、选择题:
1.B
2.A
3.D
4.B
5.C
6.A
7.D
8.B
9.C 10.A
11.A 12.C 13.D 14.B 15.A
16.B 17.C 18.C 19.D 20.B
三、程序填空题:
1.2 b=falsek=k+1
2.0n mod 5=1 and n mod 7=1ncount
3.chr(keyascii)chr(keyascii)count1=count1-1 Count1=0count1>0
4.val(inputbox(“请输入:”)) t a(3) a(1)
5.int(rnd*101)arrsum+x x
6.redim d(10) j=i+1 d(10) 或 d(i) 或d(j-1)
7.(a()) 10 n=n-1。