程序设计基础-Visual Basic(2019秋)

沈阳师范大学 刘立群

目录

  • 认识 Visual Basic
    • ● 认识 Visual Basic
    • ● 对象的属性、事件和方法
    • ● 控件的容器-窗体
    • ● 文本编辑工具-文本框
    • ● 命令按钮和标签
  • 程序设计基础
    • ● 语句和语法规则
    • ● 数据类型和常量变量
    • ● 运算符与表达式
    • ● 常用内部函数
    • ● 输入与输出
  • 基本控制结构和算法
    • ● 程序结构与算法
    • ● 选择结构的语句实现
    • ● 循环结构的语句实现
    • ● 穷举和递推问题求解
    • ● 嵌套循环解百钱百鸡问题
    • ● 星形矩阵的显示问题
  • 常用标准控件
    • ● 选择控件和滚动条--设置文字格式
    • ● 列表框及组合框—购票系统
    • ● 计时器与图片控件—自动变换的交通灯
    • ● 图形操作—小球运动
  • 数组和过程
    • ● 数组的定义与一维数组的应用
    • ● 二维数组
    • ● 控件数组
    • ● 自定义过程
    • ● 参数传递
    • ● 变量的作用域
  • 键盘鼠标事件与菜单设计
    • ● 鼠标键盘事件--小鸡吃虫游戏
    • ● 菜单程序设计--控制移动字幕
  • 通用对话框与文件操作
    • ● 通用对话框与文件操作
    • ● 文件操作--打开保存数据实例
常用内部函数


2.4 常用内部函数

VB中的函数实际就是系统定义的运算。准函数是系统已经定义好的函数,它们能够完成特定的功能,用户可以直接使用。这里的“函数”的概念跟数学中的函数有相近之处。不同函数名称不同,参数也各不相同。VB中的函数就是系统定义好的一种特定运算,用户只要给定参数,就可以通过函数名得到运算结果。函数的一般格式为:

函数的调用格式:<函数名>([参数1],[参数2]…)

说明:

(1)每个函数都有函数名,通过函数名调用函数。

(2)数学中函数的“自变量”在程序设计语言中称为“参数”,函数的运算结果称为“返回值”。

(3)函数是以表达式的形式调用的,而不能单独作为一个语句。例如,

a = Sin(b)

z = Sin(x) + Cos(x + y)

上面的例子中,Sin和Cos是函数名,括号里面的表达式是参数,每种函数使用的参数类型都是规定好的,所以,了解函数的参数类型才能正确地使用函数。下面将介绍一些常用的标准函数。

1. 数学函数

VB提供的常用数学函数及功能如下表所示。

(1)数学函数的参数x为数值型。其中Sin、Cos和Tan的参数x必须为弧度值。例如,求30度的正弦值,不能写成Sin(30),必须把30度转化为弧度值,应写成Sin(30 * 3.14159 / 180)。VB只提供了4个三角函数,其他三角函数都可以由这4个三角函数导出。                                                                 

 函数名 

功能说明 

举    例

Fix(x) 

取整,截去小数部分

Fix(3.125)结果为3,Fix(2.98)结果为2,Fix(-2.6)结果为-2

Int(x)

求不大于x最大整数

Int(1.9)结果为1,Int(1.3)结果为1,Int(-2.5)结果为-3

Round(x,n)

将x四舍五入,保留n位小数

Round(1.9)结果为2,Round(1.916,2)结果为1.92

Abs(x)

求绝对值

Abs(-3.5)结果为3.5

Sgn(x)

求数字符号Sgn(-3)结果为-1,Sgn(3)结果为1, Sgn(0)结果为0
Sqr(x)
求平方根
Sqr(25)结果为5

Exp(x)

指数函数,求ex
Exp(0)结果为1
Log(x)
求自然对数

Log(1)结果为0 

Sin(x)

正弦函数

Sin(0)结果为0

Cos(x)
余弦函数 Cos(0)结果为1
Tan(x)
正切函数
Tan(0)结果为0
Atn(x)
反正切函数
Atn(0)结果为0

(2)在使用数学函数时,必须保证参数的值在数学上有意义。例如,使用Sqr函数,必须保证参数为大于或等于0的数。

(3)对于Sgn(x)函数,当x<0时,函数值为-1;当x>0时,函数值为1;当x=0时,函数值为0。

(4)书写数学表达式时要注意使用正确的函数形式。例如,在VB中,数学表达式ln[ex+|arctg(x)|]+cos2x的正确写法应为:Log(Exp(x)+Abs(Atn(x)))+Cos(x)^2。

(5)四舍五入规则:小于5时舍,大于5时入,等于5时的舍入情况取决于前一位数,当前一位数为偶数时舍,为奇数时入。例如,

?Round(2.5)        '结果为:2

?Round(1.5)         '结果为:2

2. 字符串函数

VB提供了大量的字符串函数,应用这些字符串函数可以方便灵活地处理字符串。VB提供的常用字符串函数及功能如下表所示。

        函  数  名

功  能 说 明

Trim(字符串表达式)
删除字符串两端空格字符 
LTrim(字符串表达式) 删除字符串左端空格字符 
RTrim(字符串表达式) 删除字符串右端空格字符 
Left(字符串表达式,n) 从字符串的左端截取n个字符 
Right(字符串表达式,n) 从字符串的右端截取n个字符
Mid(字符串表达式,n,m)
从字符串的第n个字符开始截取m个字符 
Len(字符串表达式) 或

Len(变量名)

求字符串的长度,或求某个变量所占的字节数 
LenB(字符串表达式) 求字符串所占的字节数
String(n,字符)或 

String(n,ASCII码) 

产生由n个指定字符(或指定ASCII码值对应的字符)组成的字符串 
Space(n) 产生由n个空格组成的字符串
 

InStr([起始位置,]字符串1,字符串2 [,n])

 
返回“字符串2”在“字符串1”中第一次出现的位置;若加上“起始位置”,表示从该位置开始查找,如果省略默认从第一个字符开始查找;n表示字符串的比较方式,0为区分字母的大小写,1为不区分字母的大小写,如果省略默认为0;如果给出参数n,则参数“起始位置”也必须给出
UCase(字符串表达式) 将字符串中的所有字母字符均转换成大写,非字母字符不变
LCase(字符串表达式) 将字符串中的所有字母字符均转换成小写,非字母字符不变
Asc(字符串表达式) 求字符串表达式中第一个字符的ASCII码值
Chr(表达式)
求以表达式的值为ASCII码的字符 
Val(字符串) 将字符串转换为数值,转换时遇到第一个非数字字符则停止转换,但指数符号、小数点和负号除外 
Str(数值表达式) 将数值转换为对应的字符串 

3. 日期时间函数                       

函  数  名

功 能 说 明

 Now或Now() 返回系统当前的日期和时间
格式为:yyyy-mm-dd hh:mm:ss 
Date或Date() 返回系统当前的日期,格式为:yyyy-mm-dd 
DateSerial(年,月,日) 把年、月、日3个参数连接形成一个日期
DateValue(日期字符串)
返回一个日期 
Day(日期字符串)
返回日期字符串中的日,结果为整型数
WeekDay(日期字符串)
求指定日期是星期几,结果为整型数,1代表星期日,2代表星期一…… 
WeekDayName(整数)返回星期代号,例如WeekDayName(1)结果为:星期日 
Month(日期字符串)
返回日期字符串中的月份,结果为整型数 
Year(日期字符串)
返回日期字符串中的年份,结果为整型数 
Hour(时间字符串)
返回时间字符串中的小时数,结果为整型数 
Minute(时间字符串) 返回时间字符串中的分钟数,结果为整型数 
Second(时间字符串) 返回时间字符串中的秒数,结果为整型数 
Time或Time()
返回系统当前的时间,格式为:hh:mm:ss
Timer或Timer() 返回从午夜开始到当前经过的秒数
TimeSerial(时,分,秒)把时、分、秒3个参数连接形成一个时间
TimeValue(时间字符串)
返回一个时间

说明:其中Date、Time和Now 3个函数都有无参数的形式,例如,

        ?Date,Time,Now

4.  随机数函数

4.1 Rnd函数

格式:Rnd[(x)],其中参数x是一个双精度浮点数,可以省略。

功能:可产生一个0~1之间(大于或等于0,但小于1)的单精度随机数。下一个要产生的随机数受参数x的影响。

(1)当x<0时,每次产生相同的随机数。

(2)当x>0或省略时,每次产生不同的随机数。

(3)当x=0时,该次产生与上次相同的随机数。

说明:该函数产生的是一个单精度随机数,要产生随机整数,可利用取整函数来完成。例如,要产生0~100(包括0,不包括100)的随机整数,可以写成Int(Rnd*100)。

产生随机整数的公式:

(1)产生区间[n,m) 范围内的随机整数:Int(Rnd*(m-n)+n)。

(2)产生区间[n,m] 范围内的随机整数:Int(Rnd *(m-n+1)+n)。

例如,产生[100, 1000)之间的随机整数为:Int(Rnd *900+100)。

4.2 Randomize语句

格式:Randomize[(x)],其中参数x可以省略。

功能:将Rnd函数的随机数生成器初始化。

当应用程序多次调用同一个过程中的Rnd函数时,相同的随机数序列会反复出现,使用Randomize语句可以消除这种情况,从而产生不同的随机数序列。所以一般情况下,在调用Rnd函数之前,要先使用无参数的Randomize语句。例如,

Randomize

Print Rnd

=============================================================

扩展学习:扩展学习2.4.doc(下载附件 43.5 KB)-转换函数

案例:案例2.4.doc(下载附件 25.5 KB)-函数应用

=============================================================