1、第三章第三章 VB语言基础语言基础(2学时)学时)3.4 常用函数3.5 常见错误3.6 编码规则 常用内部函数常用内部函数函数函数:能完成一定运算并将结果能完成一定运算并将结果(有且只有一个有且只有一个)返回返回的程序的程序,函数分为函数分为:标准函数和用户自定义函数。标准函数和用户自定义函数。函数的构成:函数名(参数列表)函数的构成:函数名(参数列表)如:如:Abs(-3)Time()Mid(“ABCD”,2,2)Mid(“ABCD”,2)参数可以看作是函数运算的对象参数可以看作是函数运算的对象注意:参数列表中可以有注意:参数列表中可以有0个或个或1个或多个参数,当个或多个参数,当参数列表
2、中有多个参数时每个参数之间用逗号隔参数列表中有多个参数时每个参数之间用逗号隔开。开。函数名举例结果Abs(N)Abs(-4)4Int(N)Int(3.56)Int(-3.56)3-4Fix(N)Fix(3.56)Fix(-3.56)3-3Round(N,n)Round(N)Round(3.56)Round(-3.56)Round(3.56,1)4-43.6Sqr(N)Sqr(9)3(注意不是-3)Exp(N)Exp(1)2.71Log(N)Log(2.71)1Sgn(N)Sgn(-5),Sgn(6),Sgn(0)-1,1,0Sin(N)Sin(90/180*3.1416)1Rnd(N)数学函数
3、数学函数注意:1)Int(N),Fix(N),Round(N)的区别2)Sin(N),Cos(N),Tan(N),Atn(N)三角函数中参数N为弧度表示3)Rnd()产生0,1)之间的随机数,但每次运行的时候都是产生同一个序列的随机数,要想每次运行产生不同序列的随机数用Randomize字符串函数字符串函数1)字符串编码 vb中字符采用Unicode编码,任何字符占2个字节,如Len(“中国Good”)为6,LenB(“中国Good”)为122)字符串函数字符串函数字符串函数函数名举例结果Left$(C,N)Left(“ABCD”,2)“AB”Right(C,N)Right(“ABCD”,2)
4、“CD”Mid(C,N1,N2)Mid(“ABCD”,2,2)Mid(“ABCD”,2)“BC”“BCD”Len(C)Len(“ABCD”)Len(“学习VB”)44Lenb(c)Lenb(“学习VB”)8Ltrim(C)Len(Ltrim(“V B”)4Rtrim(C)Len(Rtrim(“V B“)4Trim(C)Len(Trim(“V B”)3Space(N)Len(Space(3)3String(N,C)InStr(N1,C1,C2)String(4,”*VB”)Instr(2,”EFABCDEFG”,”EF”)*7日期函数日期函数函数名举例例子Date()Date2007-04-04
5、Time()Time20:42:38NowNow2007-04-03 20:44:43Year(C)Year(Date()2007Month(C)Month(Date()4Day(C)Day(Date()4转换函数转换函数函数名举例结果Val(C)Val(“23”)+2Val(“23A2”)+2Val(“A23”)+2Val(“2e1”)+22525222Str(N)Str(123)+”123”Str(-123)+”123”Str(123)+123Str(123)&123“123123”“-123123”246“123123”Asc(C)Asc(“A”)65Chr(N)Chr(65)“A”Uc
6、ase(C)Ucase(“Abcd”)“ABCD”Lcase(C)Lcase(“Abcd”)“abcd”注意注意:Len(Str(123)=4注意:Val(C)只能将数字字符转化为数值,遇到非数字字符就停止,如果第一个就为非数字字符那么结果为数值0 Str(N)转化为字符时最前面留有一个符号位正数为空格,负数为”-”测试函数测试函数函数名举例结果Vartype(x)Vartype(10)Vartype(10.0)25TypeName(x)TypeName(10)TypeName(10.0)IntegerDoubleIsNumeric(x)IsNumeric(“123”)IsNumeric(“1
7、2a”)TrueFalseIsDate(x)IsDate(“02/02/2004”)格式输出函数格式输出函数Format$(表达式,格式字符串)例如:Print Format(1234.567,”00000.0000”)01234.5670 Print Format(#6/30/2002#,”yyyy-mm-dd”)2002-06-30Shell函数函数Shell()函数调用Windows中的可执行程序格式:Shell(命令字符串,窗口类型)例如:Shell(“calc.exe”)调用计算器 Shell(“notepad.exe”)调用记事本 a=shell(“notepad.exe”,2)注
8、意:函数有返回值所以不能单独成为一条语句注意:函数有返回值所以不能单独成为一条语句,它只能出它只能出现在赋值语句中现在赋值语句中,表达式中表达式中,或者作为过程或函数的参数或者作为过程或函数的参数,这里这里的的shell即可以作为函数也可以作为过程即可以作为函数也可以作为过程例如例如:abs(-3)这是不行的这是不行的我们可以我们可以 Print abs(-3)或者或者a=abs(-3)*8+6 或或If Abs(-3)+78 then3.6 3.6 常见错误常见错误1.1.逻辑表达式书写错,在逻辑表达式书写错,在VBVB没有造成语法错而形成逻辑错没有造成语法错而形成逻辑错 例数学表达式 3x
9、10 VB表达式为 3=x103=x and x10 问题在于VB中的逻辑量与数值量可互转2.2.同时给多个变量赋值,在同时给多个变量赋值,在VBVB没有造成语法错而形成逻辑错没有造成语法错而形成逻辑错 例 Dim x%,y%,z%x=y=z=1 (第一个等号是赋值的意思,后面的是关系运算符等于的意思,从左到右比较)3.3.标准函数名写错标准函数名写错 4 4变量名写错变量名写错 检查方法:在通用声明段加Option Explicit5 5语句书写位置错语句书写位置错 在通用声明段只能有Dim语句,不能有赋值等其他语句3.1 编码基础1.VB代码不区分字母的大小写代码不区分字母的大小写 系统保留字自动转换每个单词的首字母大写 用户自定义行以第一次为准2.语句书写自由语句书写自由 一行可书写几句语句,之间用冒号分隔;一句语句可分若干行书写,用续行符连接 _ 一行=255个字符3.注释有利于程序的维护和调试注释有利于程序的维护和调试 Rem开始 或 单撇 4.保留行号与标号保留行号与标号.