vb习题参考答案.docx
《vb习题参考答案.docx》由会员分享,可在线阅读,更多相关《vb习题参考答案.docx(17页珍藏版)》请在冰豆网上搜索。
vb习题参考答案
一、选择题
1.
2.VB.NET中,取字符串”thisisatest”的第一个字符,并将其赋值给字符变量ch。
下列代码哪组正确?
(假设已经定义变量ch)B
A.ch=Char(Mid(“thisisatest”,0,1))
B.ch=CChar(Mid(“thisisatest”,0,1))
C.ch=Char(Mid(“thisisatest”,1,1))
D.ch=CChar(Mid(“thisisatest”,1,1))
3.Textbox控件限制用户输入字符长度的属性为:
C
A.CharacterCasing B.Length C.MaxLength D.AutoSize
4.过程changeName中执行下列代码后,字符串firstName的值是什么?
A
DimfirstNameasString=“Tom”
DimsecondNameasString=firstName
secondName&=“Jerry”
A.Tom B.Jerry C.TomJerry D.Tom&Jerry
5.执行下列语句后,控制台输出什么结果A
DimresasInteger=CType(“123.45”,Integer)
Console.Writeln(res)
A.123 B.12345 C.0 D.res
6.在VB.NET中,无返回值的过程称为____A____过程
A.Sub B.Function C.Property D.Main
7.在模块MyModule中定义的过程ShowHelpInfo(如下),其访问权限为_____C____。
PublicModuleMyModule
……
SubShowHelpInfo(Stringinfo)
MessageBox.Show(info)
EndSub
……
EndModule
A.仅在MyModule中可以使用 B.在本项目中可以使用
C.在本解决方案中可以使用 D.在派生模块中可以使用
8.下列程序在控制台上的输出结果为_____B____。
PublicFunctionMyFunc(iasInteger)
Ifi>0Then
Return100
Else
Return"hello"
EndIf
EndFunction
PublicSharedSubMain()
DimxAsEmployee
Console.WriteLine(TypeName(x.MyFunc(-1))&","&TypeName(x.MyFunc
(1)))
EndSub
A.Integer,String B.String,Integer C.Object,Object D.String,String
9.下列主过程Main中执行完语句x.MyFunc(i)后,局部变量i的值为____C____。
Classtest
PublicSubMyFunc(ByValiAsInteger)
i=i*2
EndSub
EndClass
SubMain()
DimxAsnewtest
DimiAsInteger=100
x.MyFunc(i)
EndSub
A.0
B.2
C.100
D.200
10.在调试VB.NET中,可以使用VisualStudio.NET的下列哪种窗口查看和修改位于当前文本中的所有变量?
比如过程的所有局部变量。
B
A.局部变量窗口 B.监视窗口 C.快速监视窗口 D.自动窗口
11.已知数组arr进行以下定义:
Dimarr()asInteger={1,1,1,1,1}
过程MySub定义如下:
SubMySub(ByValar()AsInteger,ByRefxAsInteger)
DimiAsInteger
Fori=0ToUBound(ar)'注:
UBound(ar)求数组ar的下标上限
ar(i)=x
Next
x=0
EndSub
则执行下列语句后,数组arr和变量data中的内容是什么?
C
DimdataAsInteger=2
MySub(arr,data)
A.arr={2,2,2,2,2}data=2 B.arr={1,1,1,1,1}data=2
C.arr={2,2,2,2,2}data=0 D.arr={1,1,1,1,1}data=0
12.表达式CInt(True)的值为
A.False B.True C.1 D.-1
13.执行下列语句后,变量x的值为______B______
DimxasInteger=0
x=3/2
A.0 B.1 C.2 D.3
14.下列布尔表达式的值为_____A_______。
TrueandTrueXorTrueandFalse
A.True B.False C.OrElse D.AndAlso
15.下列表达式的值为_____A_______。
Trueand100+10*3<12^2
A.True B.False C.130 D.144
16.分析下列程序,当运行结束后,在控制台上的输出是什么?
A
PublicFunctionIncrement(ByRefvalueasInteger)ASInteger
value+=1
returnvalue
EndFunction
PublicSubMain()
Dimn1asInteger=1
Dimn2asInteger=1
DimresultasBoolean
Ifn1=0AndAlsoIncrement(n2)=1Then
result=True
Else
result=False
EndIf
Console.Writeln(“n1=”&n1&“,n2=”&n2)
EndSub
A.n1=1,n2=1 B.n1=0,n2=2 C.n1=1,n2=2 D.n1=0,n2=1
17.在设计循环语句时,若有以下要求:
1、在执行循环之前先测试条件表达式expression;2、让代码循环执行到该条件表达式的值取“真”。
则应使用下列哪种DoLoop循环语句?
A
A.DoUntilexpression⋯⋯Loop B.Do⋯⋯LoopUntilexpression
C.DoWhileexpression⋯⋯Loop D.Do⋯⋯LoopWhileexpression
18.在使用OpenFileDialog对话框控件时,希望通过对话框只查找C++文件的程序文件(*.CPP)文件和头文件(*.H),则OpenFileDialog对象的Filter属性应如何设置?
B
A.“C++程序文件:
*.CPP;C++头文件:
*.H”
B.“C++程序文件|*.CPP|C++头文件|*.H”
C.“C++程序文件\*.CPP\C++头文件\*.H”
D.“C++程序文件->*.CPP;C++头文件->*.H”
19.TextBox控件的PasswordChar属性的作用是C
A.该属性是Boolean类型,表示是否使用*号隐藏输入的信息
B.该属性是String类型,表示输入的隐藏信息的实际内容
C.该属性是Char类型,表示是用哪个字符隐藏输入的信息
D.该属性在VB.NET中未使用
20.为了使TextBox的ScrollBar真正起作用,应该将TextBox的“自动换行”功能取消。
取消该功能,需要将TextBox控件的_______属性设置为False?
C
A.ScrollBars B.AcceptReturns C.WordWrap D.AutoSize
21.使用MaskedEdit控件输入金额数字时,对输入有以下格式要求:
B
1、前面必须带$符号;2、金额最多为999999元,且每3位用逗号分割,高位不保留0;3、整数部分对10元取整,即个位必须为0;4、小数部分保留2位,必须为0。
金额数字的例子如:
123,450.00。
根据该要求,则控件的Mask属性应为
A.$999,99#.00 B.$999,990.00 C.$###,##0.00 D.$###,##9.00
22.可以使用下列哪个函数来检测一个字符串的内容是不是数字格式?
A
A.IsNumeric B.IsNothing C.IsInteger D.IsNumber
23.类MyClass的定义如下:
B
PublicClassMyClass1
PrivatedataasString
则关键字Private在类的定义中的作用是:
A.限定成员变量data只在本模块内部可以使用;
B.限定成员变量data仅在类MyClass的成员方法中可以访问;
C.限定成员变量data仅仅可在类以及子类的成员方法中访问
D.限定类MyClass仅在本模块中可以使用
24.在VB.NET中,一般使用关键字_____A___来标示重载方法。
A.Overloads B.Overrides C.Shadows D.Public
25.对于VB.NET语句Speed=Miles/Hours(其中Speed、Miles、Hours都是Double值),当Hours=0时,该语句将引发D
A.语法错误 B.编译错误 C.逻辑错误 D.运行时错误
26.当VB.NET程序出现逻辑错误后,可以使用___C_____工具来隔离并改正代码中的逻辑错误?
A.命令行下的Debug.exe B.汇编工具
C.VisualStudio.NET的调试工具 D.任何一种语言的调试工具
27.程序在语法上是合法的,在运行时也没有出现非法操作,但结果不合理,这种错误在VB.NET中称为C
A.语法错误 B.运行时错误 C.逻辑错误 D.不明错误
28.在调试VB.NET程序时,VisualStudio.NET的“自动窗口”可以查看当前行语句以及其前、后各__C___语句中的变量,并可以修改其值。
A.1行 B.2行 C.3行 D.4行
29.Win窗体设计时,应该为工具栏的___B______事件编写事件处理程序,以响应用户点击工具栏的按钮?
A.Click B.ButtonClick C.KeyDown D.MouseDown
30.Win窗体的工具栏对象为ToolBar1。
为了在工具栏中添加新的按钮,应该在对象ToolBar1的“属性”视图下编辑ToolBar1的____C_____属性
A.Appearance B.ImageList C.Buttons D.ShowToolTips
31.Win窗体的工具栏对象为ToolBar1。
为了将工具栏中的所有按钮用图形显示,则应该在对象ToolBar1的“属性”视图下编辑ToolBar1的____B_____属性
A.Appearance B.ImageList C.Buttons D.ShowToolTips
32.若不准备使用状态栏的窗格显示信息,则应该将_____A____属性设置为False。
A.ShowPanels B.Panels C.Enabled D.Visible
33.如要实现菜单功能,应向菜单项的__B_______事件添加代码?
A.Command B.Click C.Popup D.Select
34.数学函数式Sin25°写成VB.NET表达式是D。
A.sin25B.sin(25)C.sin(25)D.sin(25*3.14/180)
35.下列哪组语句可以将变量A、B的值互换B。
A.A=B:
B=AB.A=A+B:
B=A–B:
A=A+B
C.C=A:
A=B:
B=CD.A=(A+B)/2:
B=(A–B)/2
36.“x是小于100的非负数”,用VB.NET表达式表示正确的是C。
A.0≤x<100B.0<=x<100
C.0<=xAndx<00D.0<=xOrx<100
37.VB.NET中,修改了主窗体的某个属性后,发现无法启动程序,原因可能是C。
A.修改了主窗体的caption属性
B.修改了主窗体的ismainform属性
C.修改了主窗体的name属性
D.修改了main函数
38.在模块MyModule中定义的过程ShowHelpInfo,其访问权限为C。
PublicModuleMyModule
……
SubShowHelpInfo(Stringinfo)
MessageBox.Show(info)
EndSub
……
EndModule
A.仅在MyModule中可以使用B.在本项目中可以使用
C.在本解决方案中可以使用D.在派生模块中可以使用
39.在VB.NET中,无返回值的过程称为A过程。
A.SubB.FunctionC.PropertyD.main
二、分析题
1.已知数组arr进行以下定义:
Dimarr()asInteger={1,1,1,1,1}
过程MySub定义如下:
SubMySub(ByValar()AsInteger,ByRefxAsInteger)
DimiAsInteger
Fori=0ToUBound(ar)'注:
UBound(ar)求数组ar的下标上限
ar(i)=x
Next
x=0
EndSub
则执行下列语句后,数组arr和变量data中的内容是(arr(2,2,2,2,2)data=0)。
DimdataAsInteger=2
MySub(arr,data)
2.以下代码:
x=Microsoft.visualbasic.left(“gbc13”,1)&Mid(“pool”,2,2)&Microsoft.visualbasic.right(“god”,1)
变量x等于gold。
3.在窗体上放入一个名称为Button1命令按钮和两个名称分别为TextBox1、TextBox2两个文本框,然后编写如下事件过程:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Dimn,xAsInteger
n=CInt(TextBox1.Text)
SelectCasen
Case1To20
x=10
Case2,4,6
x=20
CaseIs<10
x=30
Case10
x=40
EndSelect
TextBox2.Text=x
EndSub
程序运行后,在文本框TextBox1中输入10,然后单击命令按钮,则在TextBox2中显示的内容是10。
4.窗体中有一个名称为Button1的命令按钮、一个Label1控件对象,编写如下事件过程:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAs
System.EventArgs)HandlesButton1.Click
DimnAsString,x,i,jAsInteger
x=0
n=InputBox("请输入一个大于1的整数","输入框")
Fori=1ToCInt(n)
Forj=1Toi
x=x+1
Nextj
Nexti
Label1.Text=CStr(x)
EndSub
程序运行后,单击命令按钮,如果输入3,则在Label1显示的内容是(6)。
5.在窗体上放入一个名称为Button1命令按钮和1个名称为TextBox1文本框,然后编写如下事件过程:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAs
System.EventArgs)HandlesButton1.Click
Dimx,y,zAsInteger
x=5:
y=7:
z=0
extBox1.Text=x&y&z
EndSub
程序运行后,如果单击命令按钮,则在文本框中显示的内容是570。
6、窗体上有两个标签Label1和Label2,还有一个按钮Button1。
应用程序运行时,单击Button1,预测以下代码的输出:
答案:
Label1显示:
FortheItemCode:
I60
Label2显示:
Theunitssoldis:
180
PublicClassForm1
InheritsSystem.Windows.Forms.Form
DimJAsInteger
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
J=Item_Status("I60",90)
Label2.Text="Theunitssoldis:
"&J
EndSub
PublicFunctionItem_Status(ByValItemCodeAsString,ByValAmountAsSingle)AsInteger
Amount=Amount+90
Label1.Text="FortheItemCode:
"&ItemCode
ReturnAmount
EndFunction
EndClass
7、窗体Form1上有一个标签Label1和一个按钮Button1。
以下代码被添加至Form1的CodeEditor窗口中。
运行时单击Button1将会有什么结果?
PublicClassForm1
InheritsSystem.Windows.Forms.Form
DimMonthly_SalaryAsInteger
DimAnnual_SalaryAsInteger=40000
DimmonthsAsInteger=12
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Monthly_Salary=Calculate_Average(Annual_Salary,months)
Label1.Text="Thesalaryearnedpermonthis:
"&Monthly_Salary
EndSub
PublicFunctionCalculate_Average(ByValasalaryAsInteger,ByValmnthsAsInteger)AsInteger
asalary=asalary\mnths
Returnasalary
EndFunction
EndClass
程序运行后,单击命令按钮,则在标签框上显示的内容是答案:
Label1显示:
Thesalaryearnedpermonthis:
3333
8.窗体上有一个名为Button1的命令按钮和一个标签框,然后编写如下事件过程:
PrivateOverloadsSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimnumAsInteger
num=1
DoUntilnum>6
Label1.Text=num
num=num+2.4
Loop
EndSub
。
三、综合题
1.由测量可知,已知一点坐标、距离和方位角可以计算另一点的坐标。
试绘出实现该功能的用户界面图,并写出主要代码。
2.在测量中可知,已知两点坐标可以计算两点的直线距离和方位角。
试绘出实现该功能的用户界面图,并写出主要代码。
(略)
2界面
对象属性设置
FormNameForm1
Text已知两点计算两点距离和方位角
TextBox1NameTextBox1
Text
TextBox2NameTextBox
Text
TextBox3NameTextBox3
Text
TextBox4NameTextBox4
Text
TextBox5NameTextBox5
TextBox6NameTextBox6
Text
Label1NameLabel1
Textx1
Label2NameLabel2
Texty1
Label3NameLabel3
Textx2
Label4NameLabel4
Texty2
Label5NameLabel5
Text距离S=
Label6NameLabel6
Text方位角a=
ButtonNameButton1
Text计算
代码:
PublicClassForm1
PrivateSubButton1_Click(ByValsenderAsSystem.Object,