1、第五章第五章 常用内部函数常用内部函数5.1 常用函数本章要求5.2 其他函数返回目录第五章第五章 常用内部函数常用内部函数本章要求:本章要求:掌握常用的数学函数、字符串函数、掌握常用的数学函数、字符串函数、转换函数的功能和用法。转换函数的功能和用法。掌握随机函数、掌握随机函数、Shell的功能和用法。的功能和用法。返回章首下一页第五章第五章 常用内部函数常用内部函数5.1 常用函数常用函数5.1.1 数学函数数学函数(参看表(参看表5-1)Abs(N)Cos(N)Sin(N)Exp(N)Log(N)Sqr(N)Sgn(N)例例5-15-1 设计输入一个年号设计输入一个年号,查看该年的元旦查看
2、该年的元旦是星期几的程序。是星期几的程序。例例5-25-2 求方程求方程axax2 2+bx+c=0+bx+c=0 的解的解,其中系数其中系数a,b,c a,b,c 由用户输入。由用户输入。上一页返回章首下一页第五章第五章 常用内部函数常用内部函数5.1.2 字符串函数 1.常用字符串函数(表5-2)2.2.字符串的编码方案字符串的编码方案(1 1)ANSIANSI方式方式:一个西文字符占用:一个西文字符占用1 1个字节,个字节,一个汉字占用一个汉字占用2 2个字节。个字节。(2 2)UniCodeUniCode方式方式 (VB 4.0(VB 4.0以后以后):西文字符和:西文字符和汉字统一进
3、行编码,一个英文字符和一个汉字汉字统一进行编码,一个英文字符和一个汉字都看作一个字符都看作一个字符,均占用均占用2 2个字节。个字节。上一页返回章首下一页第五章第五章 常用内部函数常用内部函数 例例5-3 5-3 编程将输入的字符串反向输出。编程将输入的字符串反向输出。(1 1)界面设计:)界面设计:添加两个标签,两个文本框,添加两个标签,两个文本框,其中其中Text1Text1是输入框,是输入框,Text2Text2是输出框,一个命是输出框,一个命令按钮。令按钮。(2 2)分析)分析:利用循环和利用循环和Mid Mid 函数,依次取出输函数,依次取出输入到字符框中的字符入到字符框中的字符,然
4、后将每次取到的字符连然后将每次取到的字符连接即可接即可.(.(注意:先取到的字符被连接到后面)注意:先取到的字符被连接到后面)上一页返回章首下一页第五章第五章 常用内部函数常用内部函数5.1.3 转换函数转换函数转换函数用于数据类型或数据形式的转换转换函数用于数据类型或数据形式的转换 (表表5-3)5-3)(1 1)IntInt(N)(N)不大于不大于N N的最大整数。的最大整数。思考:如何实现四舍五入取整?思考:如何实现四舍五入取整?(2 2)Asc(“AbcdAsc(“Abcd”)”)值为:值为:6565(3 3)Val(abc123)Val(abc123)值为:值为:0 0 上一页返回章
5、首下一页第五章第五章 常用内部函数常用内部函数Private Sub Form_Click()Private Sub Form_Click()text3.text=Cdate(text1.text)-text3.text=Cdate(text1.text)-Cdate(text2.txt)Cdate(text2.txt)End SubEnd Sub上一页返回章首下一页第五章第五章 常用内部函数常用内部函数 例例5-4 5-4 编写程序编写程序,使输入的西文字符加密后使输入的西文字符加密后输出输出,解密后再输出。解密后再输出。分析分析:将某一个字符用将某一个字符用AscAsc函数返回其函数返回其
6、 ASCIIASCII码值码值,加上一个加上一个“某一规律的数值某一规律的数值”以后,再以后,再用用ChrChr函数将其转换为字符函数将其转换为字符,该字符与原字符该字符与原字符面目皆非面目皆非,起到加密的作用。起到加密的作用。解密的过程与之类似解密的过程与之类似.将被解密的字符的将被解密的字符的ASCIIASCII码值减去码值减去“某一规律的数值某一规律的数值”后后,再由再由ChrChr函数还原。函数还原。上一页返回章首下一页第五章第五章 常用内部函数常用内部函数 例例5-5 5-5 设计一个将十进制数转换为二进制设计一个将十进制数转换为二进制,八进制八进制,十六进制的程序。十六进制的程序。
7、分析:分析:将十进制数转换为二进制的人工算法是将十将十进制数转换为二进制的人工算法是将十进制数不断整除进制数不断整除2,保留其余数,将商再整除,直,保留其余数,将商再整除,直到商为到商为0。最后将余数倒序书写即为所求。最后将余数倒序书写即为所求。上一页返回章首下一页第五章第五章 常用内部函数常用内部函数5.1.4 日期和时间函数日期和时间函数1.1.用于对日期和时间型数据的进行处理。用于对日期和时间型数据的进行处理。(表(表 5-45-4)掌握:掌握:Time()Date()Now()Time()Date()Now()Year()Month()Day()Year()Month()Day()2.
8、DateDiff2.DateDiff()()格式格式:(“:(“日期单位日期单位”,日期日期1 1,日期日期2 2)功能功能:该函数返回以该函数返回以“日期单位日期单位”为准的为准的日期日期1 1与与日期日期2 2之间的时间间隔。之间的时间间隔。上一页返回章首下一页第五章第五章 常用内部函数常用内部函数5.2 其他函数其他函数5.2.1 5.2.1 随机函数随机函数 RndRnd 和随机语句和随机语句 RandomizeRandomize 格式格式:RndRnd(N)(N)格式格式:Randomize(N)Randomize(N)该语句要用在该语句要用在RndRnd 函数之前函数之前,不选参数
9、不选参数N N时时,则以则以系统计时器返回的值作为新的系统计时器返回的值作为新的“种子种子”.产生产生n,mn,m之间的整数之间的整数,公式为公式为:Int(RndInt(Rnd *(m-n+1)+n)(m-n+1)+n)例例5-6 5-6 设计一个英文打字测试程序设计一个英文打字测试程序上一页返回章首下一页第五章第五章 常用内部函数常用内部函数5.2.2 Shell 函数函数【格式【格式】Shell(“Shell(“命令文件名命令文件名 ”,窗体模式,窗体模式)【功能【功能】Shell Shell函数可以调用函数可以调用(执行执行)磁盘上已保存磁盘上已保存的命令文件的命令文件.所谓命令文件就
10、是可执行文件。其扩所谓命令文件就是可执行文件。其扩展名必须是展名必须是.COM.COM、.EXE.EXE、.BAT.BAT。【说明【说明】1 1)必须是全名,包括盘符、路径、必须是全名,包括盘符、路径、主文件名、扩展名;主文件名、扩展名;2 2)窗体模式窗体模式 是可选项,取不同的值,打开的是可选项,取不同的值,打开的窗体模式不同。窗体模式不同。例例5-75-7 上一页返回章首下一页第五章第五章 常用内部函数常用内部函数5.2.3 格式输出函数格式输出函数 Format()格式格式 Format(Format(表达式表达式,“,“格式字符串格式字符串”)1.1.数值格式符:数值格式符:(表表5
11、-6)5-6)数值格式符专门用来对数值型表达式进行格数值格式符专门用来对数值型表达式进行格式化输出。式化输出。2.2.日期和时间格式符:日期和时间格式符:(表表5-7)5-7)日期和时间格式符专门用来对日期和时间型数据日期和时间格式符专门用来对日期和时间型数据表达式进行格式化输出。表达式进行格式化输出。3.3.字符串格式符字符串格式符(表表5-8)5-8)上一页返回章首下一页第五章第五章 常用内部函数常用内部函数5.2.4 5.2.4 数据类型测试函数数据类型测试函数VarTypeVarType【格式【格式】VarTypeVarType(变量名变量名)VarType VarType 函数的返回
12、值函数的返回值用来测试变量或用来测试变量或可变类型变量中保存的数据的类型。其可变类型变量中保存的数据的类型。其返回值与返回值与常用数据类型对照表常用数据类型对照表参见表参见表5-9 5-9 例如:例如:Private Sub Form_Click()Private Sub Form_Click()Dim x,y,z Dim x,y,z y=1333:z=“aaaa y=1333:z=“aaaa”Print VarType(x),VarType(y),VarType Print VarType(x),VarType(y),VarType(z)(z)End Sub End Sub上一页返回章首下一
13、页第五章第五章 常用内部函数常用内部函数选择题:选择题:1 1。Int(RndInt(Rnd*10)10)返回返回范围内的整数。范围内的整数。A.A.(1,9)B.(1,10)C.(0,10)D.0,9(1,9)B.(1,10)C.(0,10)D.0,92.2.以下哪个表达式的值与其他三个不同。以下哪个表达式的值与其他三个不同。B.B.Mid(“12345”,3)+“23”Mid(“12345”,3)+“23”C.C.B.Mid(“12345”,3,3)+“23”B.Mid(“12345”,3,3)+“23”C.Right(“12345”,3)+“23”C.Right(“12345”,3)+“
14、23”D.Left(“12345”,3)+“23”D.Left(“12345”,3)+“23”上一页返回章首下一页第五章第五章 常用内部函数常用内部函数3.3.下列函数表达式不输出字符型下列函数表达式不输出字符型“4.5”4.5”的是:的是:A.StrA.Str(Val(“4.5E3”)(Val(“4.5E3”)B.StrB.Str(Val(“4.5B3”)(Val(“4.5B3”)C.StrC.Str(Val(“4.5E”)(Val(“4.5E”)D.StrD.Str(Val(“4.5”)(Val(“4.5”)4.4.以下函数值不返回以下函数值不返回4 4的是的是A.Int(3.4+0.5)
15、B.CintA.Int(3.4+0.5)B.Cint(3.5)(3.5)C.Fix(4.9)D.Round(3.8)C.Fix(4.9)D.Round(3.8)上一页返回章首下一页第五章第五章 常用内部函数常用内部函数5.5.以下表达式会出现数据类型不匹配的是:以下表达式会出现数据类型不匹配的是:A.“A.“今天是:今天是:”+MonthNameMonthName(Month(Date)+(Month(Date)+“份份”B.“B.“今天是:今天是:”+MonthNameMonthName(2)+“(2)+“份份”C.“C.“今天是:今天是:”+Month(Date)+“+Month(Date
16、)+“月份月份”D.“D.“今天是:今天是:”&Month(Date)&“&Month(Date)&“月份月份”6.6.表达式表达式Len(“Len(“程序设计例程序设计例12-1”)12-1”)的值是:的值是:A.9 B.11 C.14 D.7A.9 B.11 C.14 D.7上一页返回章首下一页第五章第五章 常用内部函数常用内部函数7.7.表达式表达式LenBLenB(“(“程序设计例程序设计例12-1”)12-1”)的值是:的值是:A.9 B.11 C.14 D.18A.9 B.11 C.14 D.188.8.表达式表达式LenB(StrConvLenB(StrConv(“(“程序设计例
17、程序设计例12-1”,12-1”,vbFromunicodevbFromunicode)的值是:的值是:A.9 B.11 C.14 D.18A.9 B.11 C.14 D.18上一页返回章首下一页第五章第五章 常用内部函数常用内部函数填空题:填空题:1.1.整形变量整形变量X X中存放了一个两位数,要将她的两位数中存放了一个两位数,要将她的两位数 字交换位置,实现的表达式是字交换位置,实现的表达式是。2.2.表达式表达式Ucase(Mid(“abCDefghUcase(Mid(“abCDefgh”,3,4)+”,3,4)+Lcase(Left(“abCDefgh Lcase(Left(“abCDefgh”,4)”,4)的值是的值是3.3.若定义了变量若定义了变量x x 为可变类型,但是没有赋任何为可变类型,但是没有赋任何 值,则值,则x x的默认值是的默认值是上一页返回章首下一页第五章第五章 常用内部函数常用内部函数4.4.计算离你毕业(假设计算离你毕业(假设20092009年年7 7月月1515日毕业)大约日毕业)大约 还有多少个星期的表达式是还有多少个星期的表达式是。5.5.表示字符型变量表示字符型变量s s是字母字符的逻辑表达式是字母字符的逻辑表达式 是是上一页返回章首下一章