VB综合练习题.docx
- 文档编号:6909143
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:89
- 大小:257.98KB
VB综合练习题.docx
《VB综合练习题.docx》由会员分享,可在线阅读,更多相关《VB综合练习题.docx(89页珍藏版)》请在冰豆网上搜索。
VB综合练习题
第2章VB语言基础
2.1学习要点与必备知识
【学习要点】
·常量、变量与数据类型,运算符与表达式。
·数组:
概念,基本操作。
·常用标准函数,人机对话函数。
·编程基础与程序流程控制:
顺序结构,选择结构,循环结构。
基本程序的编制与算法。
【必备知识】
1.数据运算基础
数据类型(种类、表示范围、自定义数据类型),常量(文字常量、符号常量),变量(命名、类型、定义、类型符),运算符与表达式(算术运算、关系及逻辑运算、运算优先顺序)。
2.标准函数
转换函数,数学函数,时间与日期函数,字符串处理函数。
算术函数(Abs、Sin/Cos/Atn/Tan、Exp/Log、Rnd/Randomize、Sgn、Sqr);
字符串函数(Lcase/Ucase、Left/Right、Len、Ltrim/Rtrim/Trim、Mid、Space、String、InStr);
日期及时间函数(Time/Date、Now、DateValue、Day/Month/Year/WeekDay);
转换函数(Str/Val、Chr/Asc、Fix/Int、Cint/Cbool/Cbyte/Cdate/Cdbl/Cstr)。
由于VB的函数众多,为了学好函数的使用,可以通过立即窗口。
立即窗口是VB提供的交互执行窗口。
在立即窗口中可以输入命令,命令行解释程序对输入的命令进行解释,并立即响应。
3.数据的输入与输出
InputBox函数,MsgBox函数,Print方法。
(1)字体的控制
在VB的应用程序中,可以输入或显示各种英文字体和汉字字体。
字体具有类型、大小、字形等属性。
这些属性可以通过属性窗口进行静态设置,亦可通过代码进行动态设置。
使用代码动态设置的方法如下:
字体的类型:
object.FontName[=font]
object能够接收字符的对象名,可以是窗体、文本框、标签、打印机等。
其中,font是系统字体的合法名称,其名称可以通过Fonts属性得到。
如省略,则使用系统默认字体为“宋体”。
字体大小:
object.FontSize[=points]
object与上同,points是指所设置字体的点数。
在默认情况下,系统使用最小的字体,点数为9。
字体的字形:
在VB中能够像Word那样对字体的字形进行设置,主要的属性有:
粗体——FontBold,斜体——FontItalic,删除线——FontStrinkthru,下划线——FontUnderline。
这几个属性的值均为Boolean型,有两个值:
True与False。
如取True则表示加上这些属性,否则取消这些属性。
(2)格式输出函数
当使用Print方法输出指定信息时,尽管可以使用该方法提供的格式来规定输出信息的输出形式,但这种输出的形式还不够丰富。
为此,VB专门提供了一个格式输出函数Format用来指定数值或日期的格式输出。
其格式为:
Format(expression[,format])
该函数的功能是按格式字符串format指定的格式输出表达式expression的值,一般情况下它总用于数值表达式。
若省略格式字符串,其与Str函数相似,所不同的是当输出一个正数时,Str函数会在输出值前产生一个空格,而Format函数则不会。
使用该函数主要需确定格式字符串。
格式字符串及其用法如表2-1所示。
表2-1格式字符串及用法
字符
作用及用法
#
0
.
%
$
+,-
E+,E-
数字:
#的个数决定了显示的长度,如数值位数小于指定的长度,数值左对齐,多余位不补0;否则,数值原样显示
数字:
功能与#相同,只是在多余的位补0
小数点:
与#或0结合使用,根据其位置,小数部分多余的数字将按四舍五入处理
千分位分隔符:
从小数点开始,向左每3位一个逗号。
该符号可以放在格式串小数点左边的任何位置,但一般不要放在开始或紧靠小数点的位置
百分比符号:
放在格式串的尾部,用来输出%
美元符号:
放在格式串的起始,在所显示的数值前加上一个$
正、负号:
指定输出的数值带+号或-号
指数符号:
以指数的形式显示数值
例如,在立即窗口试验以下函数:
format("1223.456","#####,##.##")
1,223.46
format("1223.456","000,00.0000")
01,223.4560
format(".456","#0.0%")
45.6%
format("123.45","$000.0")
$123.5
format("123.45","-000.0")
-123.5
?
format("123.45","+000.0")
+123.5
format("12345.67","0.00E+00")
1.23E+04
?
format(".00012345","0.00E+00")
1.23E-04
4.数组
数组的定义,静态数组与动态数组,数组的输入、输出、复制与初始化,控件数组。
为了便于对数组进行操作,VB提供了以下3个主要的数组函数:
Array()函数
语法格式为:
Array(arglist)。
该函数的作用是对数组赋值,使用方法是:
数组名=Array(数组元素值列表)
例如,给一个数组赋初值1、2、3、4、5。
DimarrNasVariant
ArrN=Array(1,2,3,4,5)
使用该函数为数组赋值时要注意:
(1)数组在定义时不能指定维数及上下标值。
(2)数组在定义时只能使用Variant类型。
Ubound()/Lbound()函数
语法格式为:
Ubound/Lbound(arrayname[,dimension])。
功能为返回指定数组arrayname指定维dimension的上/下界值,如省略维则返回第1维的上下界值。
5.程序流程控制
单行选择结构、块选择结构、多分支选择结构、For循环结构、当型循环结构、直到型循环结构、多重循环结构。
无条件转移语句GoTo命令的使用
GoTo语句可以改变程序的执行次序,因此既可以构成选择结构也可以构成循环结构。
由于该语句的执行是无条件的,过多使用会影响程序的质量,违反了结构化程序设计的基本原则,因此一般并不推荐使用。
GoTo语句的语法是:
GoToline
line参数可以是一个标号或一个行号。
标号是一个以冒号结尾的标识符,如,Start:
;行号则是一个整形数,尾部不加冒号,如,100。
程序在执行到GoTo语句时,将无条件转移到line参数指定的标号或行号所在程序行执行。
Iif()函数
Iif()函数用来进行简单条件判断,其语法为:
Iif(expr,truepart,falsepart)
执行时,先判断逻辑表达式expr的值。
若值为“True”,则返回truepart的值;否则返回falsepart部分的值。
该函数的执行过程与If…then…else的执行过程相似,而且效率更高。
例如,输出x、y中的大值。
用If语句:
Ifx>yThen
Printx
Else
Printy
EndIf
用Iif函数:
PrintIif(x>y,x,y)
2.2习题精选
2.2.1题目
一、选择题
1.Variant是一种特殊的数据类型,除了()以外,它可以包含任一种数据。
A.固定长度字符串B.可变长度字符串
C.整形D.自定义型
2.下列符号中,只有()是合法的VB变量名。
A.xy23B.23xyC.SubD.xy8[1]
3.下列符号中,只有()不能用作VB的变量名。
A.IntXB.2logC.txtSmD.txt
4.函数Int(Rnd(0)*10)+1是下列()范围内的整数。
A.(0,100)B.(1,100)C.(0,10)D.(1,10)
5.下列常量中,()不是字符串常量。
A."北京"B.""C."True"D.#False#
6.数学表达式Sin30°写成VB表达式是()。
A.Sin30B.Sin(30)C.Sin(30°)D.Sin(30*3.14/180)
7.在VB的逻辑运算中,级别最高的是()。
A.XorB.AndC.OrD.Not
8.表达式a=1是()。
A.算术表达式B.关系表达式
C.字符串表达式D.非法表达式
9.判断任意3条线段a、b、c能否构成三角形的表达式为()。
A.a+b>=cOra+c>=bOrb+c>=a
B.Not(a+b C.a+b D.a+b>cAnda+c>bAndb+c>a 10.以下常量中,不合法的是()。 A.10^2B.100C.100.0D.10E+1 11.以下常量中,不合法的是()。 A.TrueB.#1999-12-1# C.1999-12-01D.False 12.下列叙述中不正确的是()。 A.变量名的长度不能超过255个字符 B.变量名的第一个字符必须是字母 C.变量名不能使用VB的关键字 D.变量名可以包含内嵌的类型声明符 13.不能正确表示“两个整形变量a与b之一为0,但不同时为0”的表达式是()。 A.a*b=0Anda<>b B.(a=0Orb=0)Anda<>b C.Not(a=0Andb=0)And(a=0Orb=0) D.a*b=0And(a=0Orb=0) 14.设b的值为7,一表达式为“x=b=7”,则运算后x为()。 A.TrueB.b=7C.7D.b 15.在表达式54+3*12^2-Sin(x+1)/2中最先进行运算的是()。 A.12^2B.3*12C.x+1D.Sin() 16.x+y小于10且x-y大于0的逻辑表达式是______。 A.x+y<10orx-y>0B.(x+y<10): (x-y)>0 C.x+y<10Andx-y>0D.x+y<10.AnD.x-y>0 17.代数表达式 ,对应VisualBasic表达式是______。 A.E^(x+y)+|x+y|^1/2/2π+1 B.Exp(x+y)+Sqr(Abs(x+y))/2*3.14159+1 C.(Exp(x+y)+Sqr(Abs(x+y)))/(2*3.14159+1) D.(Exp(x+y)+Sqr(Abs(x+y)))/2*π+1 18.代数表达式 对应的VisualBasic表达式为()。 A.Log(Abs((Exp(3.14159)+Sin(x)^3)/(x+y))) B.Ln(Abs((Exp(3.14159)+Sin(x)^3)/(x+y))) C.Log(Abs(Exp(3.14159)+Sin(x)^3)/(x+y)) D.Log|Abs(Exp(3.14159)+Sin(x)^3)/(x+y)| 19.下面表达式的值为真的是()。 A.Mid("VisualBasic",1,12)=Right("ProgrammingLanguageVisualBasic",12) B."ABCRG">"abcde" C.Int(134.69)>=Cint(134.69) D.78.9/32.77<=97.5/43.97And-45.4>-4.98 20.下面说法不正确的是()。 A.VB允许将一个数字字符串赋值给一个数值型的变量 B.VB允许使用未经说明的变量,其类型都是Variant类型 C.Cls只清除运行时在窗体或图形框中显示的文本或图形 D.事件过程既可建在窗体模块中,也可建在标准模块中 21.假定变量Logic的类型是Boolean,下面赋值语句()是正确的。 A.logic="True"B.logic=.True. C.logic=#True#D.logic=3<4 22.在过程中可以用()语句定义变量。 A.Dim、PrivateB.Dim、StaticC.Dim、PublicD.Dim、Static、Private 23.执行语句“PrintFormat(5459.478,"##,##0.00")”的正确输出结果是()。 A.5459.48B.5,459.48C.5,459.478D.5,459.47 24.下列语句中()语句可以用来正确地声明一个动态数组。 A.PrivateA(n)AsIntegerB.DimA()AsInteger C.DimA(,)AsIntegerD.DimA(1Ton) 25.假定变量Logic的类型是Boolean,下面赋值语句中()是不正确的。 A.Logic=TrueB.Logic=NotTrue C.Logic=#True#D.Logic=3<4 26.表达式Str(Len("3212"))+Str(88.8)的值为()。 A.488.8B.488.8C.3300.8D.321288.8 27.函数Len(Str(Val("111.1")))的值为()。 A.5B.6C.111.1D.111 28.设B="234455678",则表达式Val(Left(B,4))+Val(Mid(B,4,2))的值为()。 A.2389B.234455C.2344D.55 29.设A="abcdefgh",下面函数中只有()的值不为"fgh"。 A.Mid(A,6,8)B.Right(A,3)C.Left(A,6,3)D.Mid(A,6,3) 30.Rnd函数不可能产生()值。 A.0B.1C.0.9999D.0.00001 31.表达式的值不为2的是()。 A.10/5B.12\5C.5mod3D.12\5mod2 32.能产生30~100之间随机数的表达式为()。 A.Int(71*Rnd)+30B.Int(100*Rnd)+30 C.Int(70*Rnd)D.Int(100*Rnd) 33.在Rnd(n)函数中,要想生成不相同的随机数,n的取值必须为()。 A.>0B.<0C.>1D.=0 34.要使用Rnd函数来模拟方形骰子投掷,应使用()表达式。 A.Int(6*Rnd (1))B.Int(1+6*Rnd (1)) C.Int(6*Rnd (1)-1)D.Int(7*Rnd (1)-1) 35.以下函数中,不属于算术函数的是()。 A.Sin()B.Str()C.Abs()D.Exp() 36.能够返回字符代码的函数为()。 A.Chr()B.Mid()C.InStr()D.Asc() 37.删除字符串前导与尾随空格的函数是()。 A.Ltrim()B.Rtrim()C.Trim()D.Lcase() 38.能实现字符ANSI编码方式与Unicode方式转换的函数是()。 A.StrB.StrconvC.TrimD.Mid 39.Double类型的数据由()个字节组成。 A.2B.4C.16D.8 40.获得系统日期的函数为()。 A.Data$B.Time$C.Date$D.GetTime$ 41.执行以下程序后,变量c$的值为()。 a$="VisualBasicProgramming" b$="C++" c$=Ucase(left$(a$,7))&b$&Right$(a$,12) A.VisualBasicProgrammingB.VISUALC++Programming C.VisualC++ProgrammingD.VISUALBASICProgramming 42.下列各组变量声明正确的是()。 A.Dimabcasinteger,numassingleB.DimI%,N$asinteger C.DimA%,b%,c%,a$D.PublicDimn% 43.字符串的连接运算符为()。 A.@B.$C.&D.* 44.下列选项中为十六进制数的是()。 A.123B.&123C.&O123D.&H123 45.要声明一个长度为20个字符的定长字符串,下列只有()是正确的。 A.DimstrasstringB.Dimstrasstring(20) C.Dimstrasstring[20]D.Dimstrasstring*20 46.下列表达式不合法的是()。 A."123"+"abc"B.123&"abc" C.1+2\3D.[3*(4+5)-6]/7 47.下列逻辑运算结果为“True”的是()。 A.falseornottrueB.falseandnottrue C.trueornottrueD.trueandnottrue 48.Single类型的数据由()字节组成。 A.1B.2C.4D.8 49.日期型常量必须用()括起来。 A."B.'C.()D.# 50.设a=2,b=3,c=4,d=5,表达式“a>bAndc<=dOr2*a>c”的值为()。 A.-1B.1C.TrueD.False 51.用InputBox函数可以生成()。 A.消息框B.“保存”对话框 C.简单输入框D.“颜色”对话框 52.执行下列语句在用户输入并按“确定”后,st$变量的内容为()。 st$=InputBox("请输入字符串","字符串对话框","字符串") A.字符串B.请输入字符串 C.字符串对话框D.用户输入的内容 53.已知变量x、y为整形量,且x=4,y=12,s="a",lblok为标签,下列修改标签文字语句合法的是()。 A.x=lblok.captionB.lblok.caption=Str(x) C.x*y=3D.y=x*s 54.下列各赋值语句中不正确的是()。 A.x+y=5B.iNumber=15 C.lblsj="Time"D.sLength=x+y 55.如果想在程序中反复使用一个日期数据“2002/8/21”,为了避免在编写程序时反复输入这个数据,也为了能一次修改所有用到这个数据的语句,可以采用()。 A.将这个数据声明为字符常量,用一个常量标识符代表它 B.将这个数据声明为字符变量,用一个变量标识符代表它 C.将这个数据声明为日期型常量,用一个常量标识符代表它 D.将这个数据声明为日期型变量,用一个变量标识符代表它 56.执行语句PrintFormat(5456.678,"##,##0.00"),正确的输出是()。 A.5456.68B.5,456.68C.5,456.678D.5,456.67 57.执行语句PrintFormat$(54567,"00000000"),正确的输出是()。 A.54567B.54567000C.00054567D.05456700 58.对于InputBox函数,下列说法不正确的是()。 A.每执行一次InputBox函数,只能输入一个值 B.InputBox函数输入的是数值型 C.InputBox函数中的提示参数能省略 D.函数值必须赋于一个变量,否则用户的输入就会丢失 59.Boolean型数据只有两种取值,它们是()。 A.0和1B.Yes和NoC."是"和"不是"D.True和False 60.在InputBox函数的参数中,必选的参数为()。 A.输出信息B.提示信息 C.定义无输入时的缺省值D.定义输入框的位置 61.下列调用错误的是()。 A.x%=inputbox("请输入数据")B.Inputbox("请输入数据") C.x=Msgbox("是否继续查询")D.Msgbox("是否继续查询") 62.下列输出语句中,错误的是()。 A.? x,yB.Printx,y C.form.printx,yD.printformatx,y 63.若要强制变量先声明后使用,应该用()语句来说明。 A.PublicconstB.OptionExplicit C.ExplicitD.OptionBase 64.如果有图片框Picture1与文本框Text1,下列不正确的语句是()。 A.Print25B.Picture1.Print25 C.Text1.Print25D.Debug.Print25 65.在立即窗口中以下语句的输出结果为()。 (□为空格,下同。 ) a=27 b=65 Printa;b A.27□65B.□27□65C.□27□□65D.□27□□65□ 66.在立即窗口中以下语句的输出结果为()。 a="Beijing" b="ShangHai" Printa;b A.Beijing□ShangHaiB.□Beijing□ShangHai C.BeijingShangHaiD.□Beijing□ShangHai□ 67.语句Print5*5\5/5的输出结果为()。 A.25B.5C.1D.0 68.语句PrintSgn(-4^2)+Abs(-4^2)+Int(-4^2)的输出结果是()。 A.-16B.-32C.-1D.1 69.执行以下语句后的输出结果是()。 a=Sql(3) PrintFormat(a,"$$####.###") A.$1.732B.$$1.732C.$1732D.$$0001.732 70.InputBox函数的返回值是()。 A.数值B.字符串C.变体D.视输入而定 71.一命令按钮的Click事件过程为: Dima,basInteger a=InputBox("请输入第一个数: ") b=InputBox("请输入第二个数: ") Printb+a 程序运行时,单击该按钮并分别输入456和123,则输出的结果为()。 A.579B.123C.456D.123456 72.以下4个运算符中,()运算级别最高。 A.+B.ModC.\D.- 73.执行下面的语句后,所产生的信息框标题为()。 a=MsgBox("AAAA","BBBB","",5) A.AAAAB.BBBBC.出错,不能产生信息框D.空 74.MsgBox函数的参数中,只有()是不能省略的。 A.promptB.buttonsC.titleD.helpfile 75.MsgBox函数中的buttons参数具有控制对话框内除()之外的作用。 A.按钮的种类B.图标的种类 C.按钮的数量D.对话框的标题 76.执行以下命令所产生的对话框为()。 MsgBox"继续查询吗? ",vbYesNoCancel+vbQuestion,"提问" A. B. C. D. 77.MsgBox函数的返回值是()。 A.字符型B.整形C.布尔型D.不一定 78.假设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 综合 练习题