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.代数表达式yxx3π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))