VBNET习题集汇编.docx
《VBNET习题集汇编.docx》由会员分享,可在线阅读,更多相关《VBNET习题集汇编.docx(17页珍藏版)》请在冰豆网上搜索。
VBNET习题集汇编
习题集汇编
整理者:
华中科技大学管理学院龚晓光
一、单项选择题
1.是否完全符合CLS(A)。
A.是B.否
2.窗体中提供的是Hide方法的作用是(D)。
A.销毁窗体对象B.关闭窗体C.将窗体极小化D.隐藏窗体
3.窗体对象的Close方法的作用(C)。
A.极小化窗体B.隐藏窗体C.关闭窗体D.销毁窗体对象
(注意,这个题目有问题,参考后面的多选题)
4.中编写对象的成员方法代码时,表示"本对象"的关键字为(D)。
A.loca10bjectB.selfC.thisD.Me
5.程序中的逻辑错误能否被编译器发现(B)。
注:
编译器只能捕获语法错误,而不能捕获运行时错误和逻辑错误。
A.能B.不能
6.对于语句Speed=Miles/Hours(其中Speet,Miles,Hours都是Double值),当Hours=0时,该语句将引发(C)。
.
A.逻辑错误B.编译错误C.运行错误D.语法错误
7.在.NET构架中,程序被编译成(B)。
A.脚本码C.汇编码D.机器码
8.InputBox()函数括号中的第一个参数代表(A)。
A、提示信息B、标题C、默认值D、对话框位置
9.以下哪种项目是不能创建的(B)。
A、Windows应用程序B、Dos应用程序C、Web应用程序D、Windows服务
10.要在文本框中显示文本,应给其(A)属性赋值。
A、TextB、CaptionC、NameD、File
11.将按钮的Visible属性设为False,按钮会(B)。
A、可用且可见B、可用不可见
C、可见不可用D、不可用不可见
(注意,Visible属性设为False,在程序中测试,发现控件的enable属性是没有被修改的,所以控件是可用的。
而事实上,控件不可见,没有办法接受焦点,不能触发相关事件,对用户事实不可用,程序中还是可以用的(涉及到DDE等内容)。
综合看,选B合适)
12.语句x=x+1可以简写为(B)。
A、x++B、x+=1C、x=+1D、x+1
13.下面哪个控件在程序运行时是不可见的(C)。
A、单选钮B、组合框C、计时器D、框架
14.SelectCase对应的结束语句是(A)。
A、EndSelectB、EndCaseC、SelectEndD、CaseEnd
15.过程SubTest(ByValxAsInteger,ByRefyAsInteger)中(A)。
A、x、y都是传值参数B、x、y都是引用参数
C、x是传值参数,y是引用参数D、x是引用参数,y是传值参数
16.要调整某控件的宽度,应修改(C)属性。
A、TopB、LeftC、WidthD、Height
17.下面哪个控件的特点同ListBox最接近(A)。
A、ComboBoxB、TextBoxC、PictureBoxD、Form
18.在窗体装入时,将发生(B)事件。
A、ClickB、LoadC、DeactivateD、Closed
19.要将TextBox1中的文本用MessageBox函数显示出来,应使用(A)。
A、()
B、(TextBox1)
C、(””)
D、(”TextBox1”)
20.中用于字符串连接的运算符是(C)。
A、*B、#C、&D、@
21.下面哪一项是正确的日期型数据(D)。
A、’12/12/2004’B、”12/12/2004”C、12/12/2004D、#12/12/2004#
22.以Structure……EndStructure定义的是一个(D)。
A、类B、过程C、模块D、结构
*23.有两个数组s1和s2,要将s1的内容“拷贝”一份给s2,使用(C)。
A、s2=s1B、s2=C、s2=D、s2=
24.变量a为整型,b为长整型,c为双精度型,且规定了强制类型转换,以下哪项是正确的(C)。
A、a=bB、b=cC、a=cD、c=a
*25.下面哪个不是逻辑运算符(C)。
A、OrB、XorC、IfD、Not
注:
Xor对两个Boolean表达式执行逻辑异或运算,或对两个数值表达式执行按位异或运算
FalseXorFalse=False;TrueXorFalse=True
FalseXorTrue=True;TrueXorTrue=False
26.下面哪种不是循环结构(A)。
A、Try……Catch……EndTryB、For……Next
C、ForEach……NextD、Do……Loop
27.要在窗体上创建一个状态栏,可使用(B)控件。
A、TrackBarB、StatusBarC、ToolBarD、Panel
二、多项选题(包括单项)
1.在窗体的成员方法中,关于Close()和Hide()说法正确的是(ACD)。
()方法关闭窗体,并销毁窗体对象
()方法关闭窗体,但并不销毁窗体对象
()方法是窗体不可见,但不销毁窗体对象
()方法隐藏了窗体,使用Show()方法可重新显示该窗体
2.所有控件都有的属性是(D)。
3.下列说法错误的是(ACD)。
A.使用(…)显示的窗体一定是模态窗体
B.使用(…)显示的窗体一定是非模态窗体
C.使用(…)显示的窗体既可以是模态窗体,也可以是非模态窗体
D.(String1,String2)中String1是消息框的标题,String2是显示的文本
4.在OptionStrictOff的情况下执行下列代码后,变量i的值是什么(A)。
DimiAsInteger
DimbAsBoolean
i=b
A.0C.False
B.-1D.True
注:
布尔值只有TrueorFalse,整型值:
True=-1,False=0
5.下列关于值类型和引用类型说法正确的是(ACD)。
A.对一个值类型变量的操作不会影响到其他变量
B.对一个引用型变量的操作不会影响到其他变量
C.引用型变量存放的是指向实际对象数据的地址
D..NET中所有的数字类型都是值类型
(注意,这个题目的内容没有讲过,不会考的)
6.符合变量命名规则的变量名有(BCD)。
B._name
C.Money$
D.Str_name
(注意,Money$是隐式声明,$代表字符串)
7.在OptionExplicitOff的情况下执行下列代码后,变量currentBonus的值是什么(C)。
DimcurrentSalaryAsInteger=3
DimcurrentBonusAsDouble
currentBonus=currentSalary×.10
A.0
(注意,原来题目有问题,currentSalry现在修改为currentSalary)
8.在单击了10次按钮后,静态变量items的值是(D)。
PrivateSubButton1_Click(…)
StaticitemsAsInteger=1
items+=1
EndSub
D.11
9.对于一个字符串型的变量num=“128”,要将其转换为整型,有哪几种方法(AD)。
(num,Integer)
(num)
(num,Integer)
(num)
10.在三维数组array(4,5,6)中共有多少个数组元素(B4*5*6)。
11.下列语句执行后,array(3)的值是什么(C)。
Dimarray()AsInteger={1,2,3,4,5,6}
ReDimarray(8)
C.0
注:
如果是数,重新定义后为0;如果是字符串,则不显示。
12.在中,有返回值的过程称为过程(B)。
13.下列代码执行完毕后,程序将输出(A)。
SubMain()
DimbyvalArray(10)AsInteger
DimbyrefArray(10)AsInteger
ArrayProcByRef(byvalArray,byrefArray)
(UBound(byvalArray))
(UBound(byrefArray))
EndSub
SubArrayProcByRef(ByValarr()AsInteger,ByRefarr2()AsInteger)
Redimarr(100)
Redimarr2(100)
EndSub
A.10,100
,100
,10
,10
(注意,数组参数传递比较复杂,这个题目的内容没有讲过,不会考的)
14.可以使用参数数组为过程传递不确定个数的参数,下面的函数声明都用到了参数数组,其中正确的是(A)。
StudentScores(ByValnameAsString,ByValParamArrayscores()AsString)
StudentScores(ByValnameAsString,ByRefParamArrayscores()AsString)
StudentScores(ByValnameAsString,ByValParamArrayscores(,)AsString)
StudentScores(OptionalByValnameAsString,ByValParamArrayscores()AsString)
(注意,ParamArray是一个特殊的修饰符,这个题目的内容没有讲过)
15.下列哪些语句将得到filename文件的扩展名(假设扩展名为3个字符)(AD)。
(filename,3)
(filename,3)
(filename,Len(filename)-3)
(filename,Instr(filename,”.”)+1)
16.下列布尔表达式的值为(B)。
NotFalseAndTrueXorTrueOrFalse
17.执行下列程序后,变量i的值和sum的值分别为(D)。
DimiAsInteger
DimsumAsInteger
Fori=0To100Step2
sum=sum+i
Next
2500
2500
2550
D.102,2550
18.执行下列代码后,变量count的值为(C)。
DimcountAsInteger
Forcount=10To0,Step-1
count=count-3
Next
C.-2
19.下列关于Do循环说法正确的是(C)。
…LoopUntil和DoUntil…Loop都是在条件为假时退出循环
…LoopWhile和DoWhile…Loop都是在条件为假时退出循环
C.Do…LoopUntil和Do…LoopWhile中的代码至少会执行一次
Until…Loop和DoWhile…Loop中的代码至少会执行一次
20.要表示广州市的车牌号码,对输入有以下格式要求:
(B)。
前面必须有汉字“粤”;
车牌为6位数;
车牌第一位为字母“A”,车牌最后一位必须为数字,其他位置字符数字不限;
下列对MaskedEdit的Mask属性设置正确的是
A.粤AAAAA#
B.粤\AAAAA0
C.粤\A#
D.粤AAAAA9
三、编程题
1.编写一个Function过程,求圆的面积(圆的半径作为过程的参数)。
(参考指定教程)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimrAsDouble
r=CType,Double)
=r*r*
MsgBox
EndSub
或者PrivateFunctionCalculate(ByValRadius)AsDouble
DimRadiusDoubledAsDouble
DimdblResultAsDouble
RadiusDoubled=Radius*Radius
dblResult=RadiusDoubled*
ReturndblResult
EndFunction
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimAreaAsDouble
Area=Calculate(100)
MsgBox("圆的面积是"&Area)
EndSub
2.编写程序,计算并输出所有6位正整数中能被6整除且其十位数不是4的数之和,并求它们中的最大数。
(结果:
和:
+10最大值:
999996)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimI,maxAsLong
DimsAsSingle
s=0:
max=100000
ForI=100000To999999
If((IMod6=0)And(IMod100)\10<>4)Then
s=s+I
If(max
max=I
EndIf
EndIf
NextI
MsgBox("和是"&s&”,”&"最大值是"&max))
EndSub
3.编写程序,计算并输出所有6位正整数中同时能被13和20整除的数的个数n及它们的立方根的和。
(结果:
个数:
3462立方根和:
)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
Dimn,iAsInteger,sAsDouble
n=0:
s=0
Fori=100000To999999
IfiMod13=0AndiMod20=0Then
n=n+1
s=s+i^(1/3)
EndIf
Nexti
MsgBox("个数是"&n&“,”&"立方根的和是"&s)
EndSub
4.编写程序,计算并输出下面级数前n项(n=40)中偶数项的和。
s=1*2+2*3+3*4+4*5+……+n*(n+1)+…
(结果:
11900)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimnAsInteger,sAsDouble
s=0
Forn=2To40Step2
s=s+n*(n+1)
Nextn
MsgBox("前40项中偶数项和S="&s)
EndSub
5.编写程序,计算并输出所有5位正整数中能被7整除且其十位数不是7的数之和,并求它们中的最大数。
(和:
+08最大值:
99995)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimI,maxAsLong
DimsAsSingle
s=0:
max=10000
ForI=10000To99999
If((IMod7=0)And(IMod100)\10<>7)Then
s=s+I
If(max
max=I
EndIf
EndIf
NextI
MsgBox("和是"&s&”,”&"最大值是"&max))
EndSub
6.编写程序,统计10000到40000之间回文数的个数。
(例:
23732即为回文数,即正反读数据相同)
(结果:
300)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
Dimi,j,pAsInteger
Dima,b,c,d,fAsInteger
p=0
Fori=10000To40000
a=iMod10
b=(iMod100)\10
c=(iMod1000)\100
d=(iMod10000)\1000
f=i\10000
j=a*10000+b*1000+c*100+d*10+f
Ifi=jThen
p=p+1
EndIf
Next
MsgBox(p)
EndSub
7.编写程序,求5664,144的最大公约数。
(48)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
Dimnum1AsInteger
Dimnum2AsInteger
DiminlargeAsInteger
DiminsmallAsInteger
DiminremAsInteger
num1=5664
num2=144
Ifnum1inlarge=num2
insmall=num1
Else
inlarge=num1
insmall=num2
EndIf
inrem=inlargeModinsmall
Whileinrem<>0
inlarge=insmall
insmall=inrem
inrem=inlargeModinsmall
EndWhile
MsgBox(insmall)
EndSub
8.从三位奇数中找出其值恰好等于该数每位数字立方和的各个数之和。
(结果:
931)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
Dimi,m,n,kAsInteger
DimsAsinteger
s=0
Fori=101To999Step2
m=i\100
n=(iMod100)\10
k=iMod10
If(i=m*m*m+n*n*n+k*k*k)Then
s=s+i
EndIf
Next
MsgBox(s)
EndSub
9.如果一个数的因子之和等于这个数本身,则称这样的数为“完全数”。
例如28=1+2+4+7+14,因此28是一个完全数。
编写程序,找出四位数中的所有完全数之和。
结果:
(8128)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
Dimi,t,s,jAsInteger
s=0
Fori=1000To9999
t=0
Forj=1Toi-1
If((iModj)=0)Then
t=t+j
EndIf
Next
Ifi=tThen
s=s+i
EndIf
Next
MsgBox(s)
EndSub
10.编写程序,求下面级数前n项的和S(n),要求精确到,即S(n)应满足|S(n)-S(n-1)|<。
结果取5位小数。
1+1/2^4+1/3^4+1/4^4+…+1/n^4+…(其中,^表示幂运算)
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimIAsInteger
DimsAsDouble
I=1
While(1/I^4)>
s=s+1/I^4
I=I+1
EndWhile
s=Format(s,"")
MsgBox(s)
EndSub
四、思考题(不一定需要写出程序)
1.已知获得字符串长度的速度非常快,整数大小的比较速度相对于直接比较字符串非常快,特别是字符串非常长时。
现在有非常多(比如5万条)长度不同的字符串,需要找到重复的字符串,并且将后面出现的重复字符串删除。
请画一个计算流程来解决这个问题。
1.判断长度2.相同则判断元素3.判断是否是独立完整的部分4.找到相同的5.删除出第一个外的其他
2.从网页拷贝的信息中,有许多多余的空格,比如汉字间的空格,需要删除,而有些空格,比如英文单词间的空格需要保留一个。
请画一个计算流程来解决这个问题。
1.找出空格2.左右时汉字,则删除;是英文,则保留一个;左边是标点,右边是汉字或字母,则保留一个;3.判断是否是段首,是则保留两个汉字的间隔;否则删除。
整理时间2009-10-9
注意:
仅供同学学习使用,不要外传