1、第3章 VB语言基础,主要内容,3.1 基本数据类型 3.2 常量 3.3 变量 3.4 运算符与表达式 3.5 常用内部函数 3.6 VB基本语句,3.1、基本数据类型,好熟悉呀,Excel里面讲过数据类型的概念吧?,是数据内容存储在媒体上的具体形式,是数据的基本属性,3.1 基本数据类型,3.1 基本数据类型,3.2 常量_1,常量是指在程序运行过程中始终保持不变的数值、字符串等常数,是变量的一种特例。 直接常量:在程序代码中,以直接明显的形式给出的数。 字符串常量:如c1=“a”:c1=“计算”:c3=“123” 数值常量:整数、长整数、定点数、浮点数、字节数。 例如:10、&HF9、&
2、O17732.25、 3.26D+18、255 布尔常量:True 、False 日期常量:#12/18/2001#,3.2 常量_2,符号常量: 自定义符号常量 Const As = 如:const err as string=“未知错误发生!”const pi=3.1415926,Private Sub Form_Load()ShowPrint “半径为3的圆的面积为:“ + Str(3.1415926 * 3 * 3)Print “半径为4的圆的面积为:“ + Str(3.1415926 * 4 * 4)Print “半径为5的圆的面积为:“ + Str(3.1415926 * 5 *
3、5) End Sub,Private Sub Form_Load()Const pi = 3.1415926ShowPrint “半径为3的圆的面积为:“ + Str(pi * 3 * 3)Print “半径为4的圆的面积为:“ + Str(pi * 4 * 4)Print “半径为5的圆的面积为:“ + Str(pi * 5 * 5) End Sub,3.3 变量,3.3.1命名规则 以字母或汉字开头,由字母、汉字、数字或下划线组成,长度小于等于255 不能使用VB中的关键字。如integer、if、print等 不区分变量名大小写,习惯上,变量首字母大写,常量全部大写。,3.3 变量,3.
4、3.2变量的数据类型 变量的数据类型有11种类型。Integer、Long、Single、Double、String、Boolean、Date、Currency、Object、Variant、Byte。 变量的数据类型决定变量能够存储哪种类型的数据。,3.3 变量,3.3.3 变量的声明显示声明 Dim 变量名As 类型 Public 变量名As 类型 Private 变量名As 类型 Static 变量名 As 类型,举例,private sum1 as single ,sum2 as single,sum3 static average as single public yn as boo
5、lean private name as string*8 定长,长度8 dim strname as string 变长字符串 dim aa 变体型变量,注:定长 如果长度少于8个,不足部分以空格填满。 Name=“快周末了,哈哈”,dim count as integer Dim count%,3.3 变量,3.3.3 变量的声明 隐式声明 未声明变量而直接使用,都是Variant型 容易导致错误,不提倡 解决办法:强制显示声明变量语句Option Explicit,Option Explicit,练习,1. 说明下列哪些是合法的VB直接常量,并指出是什么类型:,(1)100.0 (2)%
6、100 (3)1E1 (4)123D3 (5)123,456 (6)100,(7)“ASDF“ (8)“1234“ (9)#2000/10/7# (10)100# (11) (12)&O100,单精度型 非法 单精度型 双精度型 非法 整型,字符型 字符型 日期型 双精度型 非法 八进制,练习,(13)&O78 (14)&H123 (15)True (16)T (17)&H12ag (18)-1123!,非法 十六进制 逻辑型 非法 非法 单精度型,练习,2. 下列符号中,哪些是VB合法的变量名:,(1)a123 (2)a12_3 (3)123_a (4)a 123 (5)Integer (6
7、)XYZ,(7)False (8)sin(x) (9)sinx (10)变量名 (11)abcdefg (12),合法 合法 非法 非法 非法 合法,非法 非法 合法 合法 合法 非法,3.4 运算符和表达式,3.4.1 算术运算符与算术表达式 算术运算符,注:上表中变量a为整型,值为5,4 -5 25 3.6 3 3 25 25,3.4 运算符和表达式,3.4.1 算术运算符与算术表达式 算术运算符,【注意】:算术运算符两边都应是数值型,若是数字字符型或逻辑型,则自动转换为数值型后再运算。若是日期型,则结果为日期型加上或减去相应的天数。,1、10+true 2、20-false 3、10+“
8、23“ 4、10+“ab“ 5、10+#2007-3-20#,9 20 33 类型不匹配 2007-3-30,3.4 运算符和表达式,3.4.1 算术运算符与算术表达式 算术表达式 组成:变量、常量、运算符、函数、括号 运算结果:由数据和运算符共同决定 书写规则 乘号不能省略 括号必须成对出现 从左到右书写,无高低大小之分,举例,2X 3x+2(y+z) x1+x2,2*x 3*(x+2*(y+z) x1+x2,3.4 运算符和表达式,3.4.2 关系运算符与关系表达式 关系运算符=、=、 关系运算的结果只能是两种情况:TrueFalse 比较规则 数值型按大小比较; 字符型,按ASCII从左
9、到右比较;察看 汉字字符大于西文字符;,3.4 运算符和表达式,1、 “ABCD“ = “ABC“ 2、 “ABCD“ “ACD“ 3、 “AD“ “ACD“ 4、 “ABC“ “ABC“ 6、 “abc“ “abc “,False False True False True True,3.4.2 关系运算符与关系表达式 关系运算符,3.4 运算符和表达式,3.4.3 逻辑运算符与逻辑表达式 逻辑运算符 Not:取反 And:与 Or: 或 Xor:异或 Eqv:等价 Imp:蕴含,3.4 运算符和表达式,3.4.4 字符串运算符与字符串表达式 字符串连接运算符:&、+,&:操作数不管是字符型
10、还是数值型,首先转换为字符型再连接。(注意变量与运算符间加空格(为什么) +:操作数都为数值型则进行算术加;一个为数值一个为数字字符则先转换为数值后再算术加;若一个为数值型,另一个为非数字字符,则出错。,1、“100“+“300“ 2、100+“300“ 3、100+“300a“ 4、“100“ & 300 5、1000+ “ 200 “ & 200 6、1000 & 300,“100300“ 400 类型不匹配 “100300“ “1200200“ “1000300“,3.4 运算符和表达式,3.4.4字符串运算符与字符串表达式 字符串运算符:&、+,3.4 运算符和表达式,3.4.5 表达
11、式的执行顺序 不同数据类型的转换 低精度向高精度数据类型转换 优先级 算术 字符 关系 逻辑 字符:&和+优先级相同,按从左到右的顺序 关系运算符优先级相同,按从左到右的顺序 逻辑:Notandorxoreqvimp,3.5 常用内部函数,1、数学函数 2、字符串函数 3、日期、时间函数 4、类型转换函数 5、其他函数,函数名是系统规定的函数名称。 参数表是函数的参数。参数的个数、排列次序和数据类型应当与系统规定的函数参数完全相同。 函数具有返回值,应当注意函数返回值的类型,3.5.1 数学函数,Abs(N) Exp(N) Log(N) Rnd(N) Sgn(N) Sqr(N) Cos(N)
12、Sin(N) Tan(N),产生随机数,若N省略,则产生0,1)之间的双精度随机数。 产生一定范围的随机整数表示为: Int(Rnd*范围+基数),符号函数, N0,Sgn(N)=1。,N以弧度表示。 弧度=角度*3.14/180,返回以e为底,以n为指数的值,返回x的自然对数,示例,加分题,体彩、福彩中随机产生符合条件的7个数? 如何产生一个10-20的随机整数? Int(10+10*rnd()),返回,3.5.1 数学函数,产生一个100200(包括端点)范围内的正整数。,(-b+sqr(b2-4*a*c)/(2*a),sin(45*3.14/180)+(Exp(10)+log(10)/s
13、qr(x+y+1),int(Rnd*101+100),3.5.2 字符串函数,Ltrim(C) 、Rtrim(C)、trim(C) Left(C,N)、Right(C,N) Mid(C,N1,N2) Len(C) Instr(c1,c2) 在C1中查找C2是否存在,找不到,结果为0,返回值为integer Space(n) String(N,C) 返回n个指定字符组成的串 Lcase(c)、Ucase(c),小写字母转换为大写字母 大写字母转换为小写字母,从字符串的左边取出N个字符 从字符串的右边取出N个字符,返回N个空格字符组成的字符串,加分题,“统计水仙花数个数”407=43+73s=st
14、r(i) a=val(left(s,1) b=val(mid(s,2,1)c=val(right(s,1) if i=a3+b3+c3 thenprint in=n+1endif,3.5.2 字符串函数,InStr(“efabcdEFef“,“ef“)=_ Left(“abcde“,3) & Right(“efcba“,3)=_ Len(Rtrim(“ 123 abc “)=_ String(5,“6“)+10000=_ 已知A=“87654321“,表达式Left(A,4)+Mid(A,4,2)=_,1,abccba,8,76666,876554,3.5.3 日期、时间函数,3.5.3 日期
15、、时间函数,Year(#2007/11/1#)= Hour(#5:12:17 PM#)=,2007,17,3.5.4 类型转换函数,Asc(C) Chr(N) Str(N) Val(c),返回C的第一个字符的ASCII值 返回ASCII对应的字符 将数值型转换成字符型 将字符型转换成数值型,Val(“456“)+200=_ Str(-345.12)+“cde“=_,656,-345.12cde,在vb中,要调用DOS下或Windows下运行的可执行程序,可以通过shell函数来实现。 格式:shell(命令字符串,窗口类型),3.5.5 shell函数,要执行的应用程序名,包括路径,它必须是可
16、执行文件(.exe,.com),表示执行应用程序的窗口大小,取值范围0,1,2,3,4,6,举例,3.6 Visual Basic基本语句,3.6.1 vb的语句和编码规则 语句:VB中的一行代码 编码规则: 1、代码不区分大小写 2、语句书写自由 同行可写多条语句,“:”分隔 一条语句可在多行写,续行符为空格+_ 一行最多可以写255个字符 3、注释功能的使用,3.6 Visual Basic基本语句,3.6.2 赋值语句 Let变量名=表达式 Let对象名.属性名=表达式,A%=3.14 a的值为3,3.6 Visual Basic基本语句,3.6.3、注释语句 格式一:Rem 注释内容 格式二:注释内容 编辑工具栏的“设置注释块”、“解除注释块”,注:注释语句不能放在续行符的后面,3.6 Visual Basic基本语句,3.6.4 结束语句 End语句用来结束一个程序的执行 End语句可以放在过程中的任何位置 3.6.5 过程终止语句 Stop语句用来暂停程序的执行 使用Stop语句,就相当于在程序代码中设置断点 ,调试程序用,作业,习题三的16,