练习八.docx
《练习八.docx》由会员分享,可在线阅读,更多相关《练习八.docx(11页珍藏版)》请在冰豆网上搜索。
![练习八.docx](https://file1.bdocx.com/fileroot1/2022-12/7/866e2d0d-e3d7-434a-a8d5-991216606783/866e2d0d-e3d7-434a-a8d5-9912166067831.gif)
练习八
一、单选题
1.计算机中采用二进制,是因为__
(1)____。
(A)可降低硬件成本 (B)两个状态的系统具有稳定性
(C)二进制的运算法则简单 (D)上述三个原因
2.我们通常说的U盘属于计算机部件中的___
(2)___。
(A)输出设备(B)输入设备(C)存储设备(D)打印设备
3.下列表示存储容量的数据中,____(3)____是最小的。
(A)20480KB(B)1.44MB(C)1GB(D)4865723Byte
4.一个完整计算机系统应包括___(4)____。
(A)主机和显示器(B)硬件系统和软件系统
(C)系统软件和应用软件(D)内存和外存
5.下列执行速度最快的程序语言是___(5)____。
(A)数据库语言 (B)高级语言(C)机器语言 (D)汇编语言
6.一只白色的足球被踢进球门,则白色、足球、踢、进球门是___(6)___。
(A)属性、对象、方法、事件(B)属性、对象、事件、方法
(C)对象、属性、方法、事件(D)对象、属性、事件、方法
7.以下叙述中正确的是____(7)____。
(A)窗体的Name属性指定窗体的名称,用来标识一个窗体
(B)窗体的Name属性的值是显示在窗体标题栏中的文本
(C)可以在运行期间改变对象的Name属性的值
(D)对象的Name属性值可以为空
8.在VB中,保存一个工程至少应保存两个文件,这两个文件分别是___(8)____。
(A)文本文件和工程文件(B)窗体文件和工程文件
(C)窗体文件和标准模块文件(D)类模块文件和工程文件
9.在下列说法中,正确的是___(9)___
(A)通过适当的设置,可以在程序运行期间,让时钟控件显示在窗体上
(B)在列表框中不能进行多项选择
(C)VB系统不能在列表框中自动实现将项目按字母顺序从大到小排列
(D)复选框的Value属性值为布尔型
10.当一个复选框被选中时,它的Value属性的值是___(10)___
(A)3(B)2(C)1(D)0
11.计算结果为0的表达式是___(11)____
(A)Int(2.4)+Int(-2.8)(B)Cint(2.4)+Cint(-2.8)
(C)Fix(2.4)+Int(-2.8)(D)Fix(2.4)+Fix(-2.8)
12.可以惟一标识控件数组中的每一个控件属性的是___(12)____
(A)Name(B)Caption(C)Index(D)Enabled
13.下列变量名中,合法的变量名是___(13)____。
(A)m24(B)mn-k(C)24m(D)m+n
14.若有语句”DimFlagAsBoolean”,则下面赋值语句正确的是___(14)_____。
(A)Flag="True"(B)Flag='True'(C)Flag=Ture(D)Flag=True
15.下列叙述不正确的是___(15)_____。
(A)InputBox函数返回值为字符型(B)MsgBox函数返回值为所单击按钮的键值
(C)MsgBox语句没有返回值(D)MsgBox语句返回值为所单击按钮的键值
16.若要在Text1的光标(焦点)移动到其它控件时进行合法性判断,则可使用__(16)__事件来实现。
(A)Refresh(B)SetFocus(C)LostFocus(D)GotFocus
17.一般情况下,控件的大小是由___(17)___属性确定的
(A)Width和Height(B)Top和Left(C)Width和Left(D)Top和Width
18.以下能判断是否到达文件尾的函数是__(18)____
(A)BOF(B)LOC(C)LOF(D)EOF
19.下列过程语句说明合法的是____(19)____。
(A)Subf1(ByValn()AsInteger)(B)Subf1(n()AsInteger)AsInteger
(C)Functionf1(f1AsInteger)AsInteger(D)Finctionf1(ByValnAsInteger)
20.要在文本框Text1中显示列表框List1中最后一个项目的正确语句是__(20)____。
(A)Text1.Text=List1.List(ListCount-1)(B)Text1.Text=List1.List(0)
(C)Text1.Text=List1.List(List1.ListCount-1)(D)Text1.Text=List1.ListIndex
21.设组合框Combo1中有5个项目,则以下能删除最后一项的语句是__(21)______。
(A)Combo1.RemoveItemText(B)Combo1.RemoveItem5
(C)Combo1.RemoveItem4(D)Combo1.RemoveItemCombo1.Listcount
22.在通用声明代码中有以下语句:
OptionBase1
Dima(4,-3to3)AsString
则该数组有_(22)___个元素。
(A)28(B)24(C)35(D)30
23.要使菜单项能通过按键盘上的Alt键及K键打开,应在菜单编辑器中设置__(23)__。
(A)在“名称”栏中“K”字符前加上“&”(B)在“标题”栏中“K”字符前加上“&”
(C)在“名称”栏中“K”字符后加上“&”(D)在“标题”栏中“K”字符后加上“&”
24.以下Case语句中错误的是__(24)__。
(A)Case0To10(B)CaseIs>10
(C)CaseIs>10AndIs<50(D)Case3,5,Is>10
25.假定有以下两个过程,则以下说法中不正确的是__(25)______。
PrivateSubPPP(aAsSingle,bAsSingle)
a=a+b
b=a+b
Printa,b
EndSub
PrivateSubForm_Activate()
x=18
CallPPP(x,(x))
Printx
EndSub
(A)形参是a和b,两个实参x和(x)允许重名
(B)形参是a和b,实参(x)表示是传值调用
(C)形参是a和b,实参x表示是传址调用
(D)Printa,b输出的值分别为36,36
26.若需要在同一窗口内安排两组相互独立的单选按钮(OptionButton),可使用__(26)_____控件将它们分隔开。
①TextBox ②PictureBox ③Image ④Frame
(A)①或② (B)②或③ (C)②或④ (D)③或④
27.在窗体上画一个名称为CommandDialog1的通用对话框,一个名称为Command1的命令按钮。
然后编写如下事件过程:
PrivateSubCommand1_Click()
CommonDialog1.FileName=""
CommonDialog1.Filter="Allfile|*.*|(*.Doc)|*.Doc|(*.Txt)|*.Txt"
CommonDialog1.FilterIndex=2
CommonDialog1.DialogTitle="VBTest"
CommonDialog1.Action=1
EndSub
对于这个程序,以下叙述中错误的是___(27)___
(A)该对话框被设置为“打开”对话框(B)在该对话框中指定的默认文件名为空
(C)该对话框的标题为VBTest(D)在该对话框中指定的默认文件类型为文本文件(*.Txt)
28.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
OptionBase1
PrivateSubCommand1_Click()
Dima
a=Array(1,2,3,4,5)
Fori=1ToUBound(a)
a(i)=a(i)+i-1
Next
Printa(3)
EndSub
程序运行后,单击命令按钮,则在窗体上显示的内容是___(28)___。
(A)4(B)5(C)6(D)7
29.在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程,该事件过程的功能是__(29)__
PrivateSubCommand1_Click()
n=Val(Text1.Text)
Fori=2Ton
Forj=2Tosqr(i)
IfiModj=0ThenExitFor
Nextj
Ifj>Sqr(i)ThenPrinti
Nexti
EndSub
(A)输出n以内的奇数(B)输出n以内的偶数
(C)输出n以内的素数(D)输出n以内能被j整除的数
30.设有如下程序:
PrivateSubCommand1_Click()
DimsumAsDouble,xAsDouble
sum=0:
n=0
Fori=1To5
x=n/i:
n=n+1:
sum=sum+x
Next
EndSub
该程序通过For循环计算一个表达式的值,这个表达式是___(30)____
(A)1+1/2+2/3+3/4+4/5(B)1+1/2+2/3+3/4
(C)1/2+2/3+3/4+4/5(D)1+1/2+1/3+1/4+1/5
二、填空题
1、设a=6,则执行x=Iif(a>5,-1,0)后,x的值为_____[1]__________。
2、VisualBasic提供了三种对数据文件的访问方式,它们是顺序访问方式、____[2]__访问方式和二进制访问方式。
3、赋值语句:
a=123&MID("123456",3,2)执行后,a变量中的值__[3]____。
4、如果有以下程序代码,则输出结果是___[4]_____。
x=10
y=5
Printx^2>=y^3
5、运行下面的程序,单击窗体后在窗体上显示的内容是___[5]___;若将程序中的A语句与B语句的位置互换,再次执行程序,单击窗体后在窗体上显示的内容是___[6]___。
PrivateSubForm_Click()
DimaAsInteger,bAsInteger
a=0:
b=0
DoWhilea<=8
a=a+2'A语句
b=b+a*a'B语句
Loop
Printa,b
EndSub
6、运行下面这段程序,在文本框Text1和Text2中分别输入一串字符,单击命令按钮时,在Text1中删除掉Text2中的内容。
例如Text1中输入“ABCDEFG”,Text2中输入“CD”,则单击Command1时,Text1中显示“ABEFG”。
填空完成程序。
SubDeleStr(S1$,S2$)
Dimn%
Do
n=InStr(S1,S2)
Ifn=0Then__[7]____
S1=Left(S1,n-1)+__[8]__
Loop
EndSub
PrivateSubCommand1_Click()
Dimx$,y$
x=Text1.Text
y=Text2.Text
Call__[9]___
Text1.Text=x
EndSub
7、找出四位数中的幸运数,并统计幸运数的个数。
所谓幸运数是指前两位数的和与后两位数的和相等的四位数。
要求:
满足条件的幸运数显示在列表框中,幸运数的个数显示在文本框中。
OptionExplicit'该句的作用是:
___[10]____
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger,n1AsInteger,n2AsInteger
Fori=1000To9999
___[11]____
n2=iMod100
Ifsum(n1)=sum(n2)Then
___[12]____
List1.___[13]____CStr(i)
EndIf
Nexti
Text1.Text=n
EndSub
PrivateFunctionsum(sAsInteger)AsInteger
DimpAsInteger,qAsInteger
p=s\10
___[14]___
sum=p+q
EndFunction
8、完善程序。
将100至150之间的偶数,拆分成两个素数之和(只要一对即可)。
子函数过程Prime用于判断一个数是否为素数。
PrivateFunctionprime(ByValxAsInteger)AsBoolean
prime=True
Fori=2ToSqr(x)
If_______[15]_______Then
prime=__________[16]______________
ExitFunction
EndIf
Next
EndFunction
PrivateSubForm_Click()
Dimi%,k%,n%
Forn=100To150__________[17]_____________
Fork=3Ton/2
Ifprime(k)And__________[18]__________Then
Printn;"=";k;"+";n-k
ExitFor
EndIf
Nextk
Nextn
EndSub
9、下面的程序段用“冒泡”法将数组a中的10个整数按升序排列,请将程序补充完整。
OptionBase1
PrivateSubCommand1_Click()
Dima()
a=___[19]___(-2,5,24,58,43,-10,87,75,27,83)
Fori=1To___[20]___-1
Forj=1To___[20]____-i'注意,两个[20]空表示填的是同一内容
Ifa(j)>a(j+1)Then
a1=a(j)
a(j)=a(j+1)
a(j+1)=a1
___[21]____
Nextj
Nexti
EndSub
10、在C盘根目录下有一数据文件(cj.dat),内容如下:
9901,56,78
9902,97,89
9903,67,75
9904,78,76
9905,100,90
其中第一列数据表示学号,第二列数据表示数学成绩,第三列数据表示语文成绩,要求根据学号计算学生的总分,并按总分从高到低次序在窗体上输出。
现有程序如下:
Dima(5,4)AsInteger
PrivateSubForm_Click()
DimiAsInteger,jAsInteger
Open"c:
\cj.dat"For__[22]___As#1
Fori=1To5
Forj=1To3
Input#1,__[23]___
Nextj
__[24]___=a(i,2)+a(i,3)
Nexti
Sort
Fori=1To5
Forj=1To4
Printa(i,j),
Nextj
Print
Nexti
Close#1
EndSub
PrivateSubSort()
DimiAsInteger,jAsInteger,kAsInteger,tempAsInteger
Fori=1To4
Forj=i+1To5
Ifa(i,4)Fork=1To___[25]___
temp=a(i,k):
a(i,k)=a(j,k):
a(j,k)=temp
Nextk
EndIf
Nextj
Nexti
EndSub
三、编程题
1.编写子过程Swap,调换数组中数值的存放位置,即a
(1)与a(10)的值互换,a
(2)与a(9)的值互换,……,a(5)与a(6)的值互换。
2.求Sn=a+aa+aaa+…+aa…a的值,其中a是一个数字。
例如:
2+22+222+2222+22222(此时n=5),a和n的值由用户通过InputBox输入。
参考答案:
一、选择题
1
2
3
4
5
6
7
8
9
10
D
C
B
B
C
B
A
B
C
C
11
12
13
14
15
16
17
18
19
20
D
C
A
D
D
C
A
D
D
C
21
22
23
24
25
26
27
28
29
30
C
A
B
C
D
C
D
B
C
C
二、填空题
1、-1
2、随机
3、12334
4、False或0
5、10220
6、10120
7、ExitDo
8、Mid(S1,n+Len(S2))
9、DeleStr(x,y)
10、强制显示声明变量
11、n1=i\100
12、n=n+1
13、AddItem
14、q=smod10
15、xmodi=0
16、False
17、step2
18、prime(n-k)
19、Array
20、Ubound(a)
21、EndIf
22、Input
23、a(i,j)
24、a(i,4)
25、4
三、编程题
1、
Subswap(b()AsInteger)
n=Ubound(b)
Fori=1Ton/2
t=b(i)
b(i)=b(n)
b(n)=t
n=n-1
Next
EndSub
2、
Dima%,n%
a=InputBox("a=")
n=InputBox("n=")
temp=0
Fori=1Ton
temp=temp*10+a
s=s+temp
NextI
Print"Sn=";s