VB语言基础
- 格式:pdf
- 大小:1.33 MB
- 文档页数:66
第2章 VB语言基础
19
第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。 Visual Basic学习辅导与上机实习
20
字体的字形:在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 第2章 VB语言基础
21
⑥ ?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。
Dim arrN as Variant ArrN=Array(1,2,3,4,5) 使用该函数为数组赋值时要注意: (1) 数组在定义时不能指定维数及上下标值。 (2) 数组在定义时只能使用Variant类型。
Ubound()/Lbound()函数 语法格式为:Ubound/Lbound(arrayname[, dimension])。功能为返回指定数组arrayname指
定维dimension的上/下界值,如省略维则返回第1维的上下界值。 5.程序流程控制 单行选择结构、块选择结构、多分支选择结构、For循环结构、当型循环结构、直到型循
环结构、多重循环结构。 无条件转移语句GoTo命令的使用 GoTo语句可以改变程序的执行次序,因此既可以构成选择结构也可以构成循环结构。由
于该语句的执行是无条件的,过多使用会影响程序的质量,违反了结构化程序设计的基本原则,因此一般并不推荐使用。GoTo语句的语法是:
GoTo line line参数可以是一个标号或一个行号。标号是一个以冒号结尾的标识符,如,Start:;行号
则是一个整形数,尾部不加冒号,如,100。
程序在执行到GoTo语句时,将无条件转移到line参数指定的标号或行号所在程序行执行。 Iif()函数
Iif()函数用来进行简单条件判断,其语法为:
Iif(expr, truepart, falsepart) 执行时,先判断逻辑表达式expr的值。若值为“True”,则返回truepart的值;否则返回falsepart
部分的值。该函数的执行过程与If…then…else的执行过程相似,而且效率更高。例如,输出x、y中的大值。
用If语句:
If x>y Then Visual Basic学习辅导与上机实习
22
Print x
Else Print y
End If 用Iif函数: Print Iif(x>y,x,y)
2.2 习 题 精 选
2.2.1 题目
一、选择题 1.Variant是一种特殊的数据类型,除了( )以外,它可以包含任一种数据。 A.固定长度字符串 B.可变长度字符串
C.整形 D.自定义型 2.下列符号中,只有( )是合法的VB变量名。
A.xy23 B.23xy C.Sub D.xy8[1]
3.下列符号中,只有( )不能用作VB的变量名。 A.IntX B.2log C.txtSm D.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.Sin30 B.Sin(30) C.Sin(30°) D.Sin(30*3.14/180) 7.在VB的逻辑运算中,级别最高的是( )。
A.Xor B.And C.Or D.Not
8.表达式a=1是( )。 A.算术表达式 B.关系表达式
C.字符串表达式 D.非法表达式 9.判断任意3条线段a、b、c能否构成三角形的表达式为( )。
A.a+b>=c Or a+c>=b Or b+c>=a
B.Not(a+b
D.a+b>c And a+c>b And b+c>a 10.以下常量中,不合法的是( )。
A.10^2 B.100 C.100.0 D.10E+1
11.以下常量中,不合法的是( )。 第2章 VB语言基础
23
A.True B.#1999-12-1#
C.1999-12-01 D.False 12.下列叙述中不正确的是( )。
A.变量名的长度不能超过255个字符
B.变量名的第一个字符必须是字母 C.变量名不能使用VB的关键字
D.变量名可以包含内嵌的类型声明符 13.不能正确表示“两个整形变量a与b之一为0,但不同时为0”的表达式是( )。
A.a*b=0 And a<>b
B.(a=0 Or b=0) And a<>b C.Not(a=0 And b=0) And (a=0 Or b=0)
D.a*b=0 And (a=0 Or b=0) 14.设b的值为7,一表达式为“x=b=7”,则运算后x为( )。
A.True B.b=7 C.7 D.b
15.在表达式54+3*12^2-Sin(x+1)/2中最先进行运算的是( )。 A.12^2 B.3*12 C.x+1 D.Sin()
16.x+y小于10且x-y大于0的逻辑表达式是______。 A.x+y<10 or x-y>0 B.(x+y<10):(x-y)>0
C.x+y<10 And x-y>0 D.x+y<10.AnD.x-y>0
17.代数表达式1π2||e
yxyx,对应Visual Basic 表达式是______。
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.代数表达式yxx3πsineln对应的Visual Basic表达式为( )。
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))