为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 春VB程序设计第4部分程序设计基础

春VB程序设计第4部分程序设计基础

2022-04-26 40页 ppt 1MB 0阅读

用户头像 机构认证

希望图文

公司秉着用户至上的原则服务好每一位客户,专注课件、范文、教案设计制作

举报
春VB程序设计第4部分程序设计基础教材:VisualBasic程序设计教程(第三版)高等教育出版社主讲:陆延哲VisualBasic程序设计(四)第4部分程序设计基础一、标识符命名二、数据类型三、常量四、变量五、运算符与表达式六、常用标准函数七、编写简单应用程序一、标识符命名1、VB的标识符字符集大写字母:大写英文字母A—Z小写字母:小写英文字母a—z下划线:_数字:0一92、VB的标识符应用范围大写字母:大写英文字母A—Z小写字母:小写英文字母a—z下划线:_数字:0一9常量、变量、数组、过程、函数、窗体、控件等…3、VB的标识符命名规则由字母、数字、下划线...
春VB程序设计第4部分程序设计基础
教材:VisualBasic程序教程(第三版)高等教育出版社主讲:陆延哲VisualBasic程序设计(四)第4部分程序设计基础一、标识符命名二、数据类型三、常量四、变量五、运算符与表达式六、常用标准函数七、编写简单应用程序一、标识符命名1、VB的标识符字符集大写字母:大写英文字母A—Z小写字母:小写英文字母a—z下划线:_数字:0一92、VB的标识符应用范围大写字母:大写英文字母A—Z小写字母:小写英文字母a—z下划线:_数字:0一9常量、变量、数组、过程、函数、窗体、控件等…3、VB的标识符命名规则由字母、数字、下划线组成,以字母开头不区分字母的大小写控件、窗体、类、模块名字不超过40字符普通标识符不超过255字符不能使用VB保留字同一应用范围内唯一二、数据类型数值型整型(Integer,Long)浮点型(Single,Double)货币型(Currency)字符串型(String)日期型(Date)变体型(Variant)对象型(Object)逻辑型(Boolean)1、VB的基本数据类型数据类型关键字类型符前缀存储空间范围数值数据类型字节型Byte Byt1个字节0到255整型Integer%Int2个字节-32,768到32,767长整型Long&Lng4个字节-2,147,483,648到2,147,483,647单精度型Single!Sng4个字节负数:-3.402823E38到-1.401298E-45;正数:1.401298E-45到3.402823E38双精度型Double#Dbl8个字节负数:-1.79769313486232E308      -4.94065645841247E-324;正数:4.94065645841247E-324     1.79769313486232E308货币型Currency@Cur8个字节从-922,337,203,685,477.5808到922,337,203,685,477.5807逻辑型Boolean Bln2个字节True或False日期型Date Dtm8个字节100年1月1日到9999年12月31日对象型Object Obj4个字节 任何Object引用变长字符型String$Str10字节加字符串长度0到大约20亿定长字符型String$Str字符串长度1到大约65,400变体数字型Variant Vnt16个字节任何数字值,最大可达Double的范围变体字符型Variant Vnt22个字节加字符串长度与变长String有相同的范围注意:  1)VB中对没有声明的变量其缺省的数据类型是变体型,可以用来存储各种数据,但所占用的内存比其它类型都多。为提高运行效率(整型效率较高),或达到一定的运算精确度(浮点型精度较高,但运行较慢),应合理的定义数据类型。 2)逻辑型数据只有True和False两个值,转换成整型时,True=-1,False=0,将其它类型转换成逻辑型时,非0数转换为True,0转换为False。 3)字符型可以包括所有的西文字符和汉字,字符必须用双引号括""起来,如:"abc123"  4)日期型数据按8字节的浮点数来存储,日期型数表示方式有两种:用号码符#括起来用数字序列表示(小数点左边的数字代表日期,右边代表时间,0为午夜,0.5为中午12点,负数表示是1899年12月31日前的日期和时间)。 如:#3/22/2002#   #2002-3-2214:30:20#  DimTAsDate  T=-2.5  PrintT   '打印出来的结果是1899-12-2812:00:00 5)任何数据类型的数组:需要20个字节的内存空间,加上每一数组维数占4个字节,再加上数据本身所占用的空间。数据所占用的内存空间可以用数据元数目乘上每个元素的大小加以计算。例如,以4个2字节之Integer数据元所组成的一维数组中的数据,占8个字节。这8个字节加上额外的24个字节,使得这个数组所需总内存空间为32个字节。2、用户自定义数据类型在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。使用形式:Type自定义类型名元素名[([下标])]As类型名元素名[([下标])]As类型名...EndTypeTypeStudentXhAsStingXmAsStringXbAsStringNlAsIntegerScoreAsSingleEndType例如:对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。3、枚举数据类型一种特殊的整数类型,将所有的取值一一列举。使用形式:Enum自定义类型名元素名1元素名2...EndEnum三、常量直接常量  指在程序中直接给出值的数据,如:123、123&、123.45、1.234E2、123D3整型长整型单精度浮点型(小数形式)单精度浮点型(指数形式)双精度浮点型八进制常数:在数值前加&O,如 &O123六进制常数:在数值前加&H,如&H1231、常量类型系统内部定义的符号常量    如:Label1.ForeColor=vbRed‘声明vbRed为内部常量系统定义的常量位于对象库中,在对象浏览器中的VisualBasic(VB)和VisualBasicforAplication(VBA)等对象库中列出了VB的常量。这些常量可以与应用程序的对象、方法、属性一起使用。 如:Form1.WindowsState=vbMaximized表示将窗口极大化。系统内部定义的常量用户自定义的符号常量    用Const来声明: [Public|Private]Const 符号常量名[As类型]=表达式 如:Const PI=3.14159             '声明了常量PI,代表3.14159,单精度型   Const MAXAsInteger=&O144 '声明了常量MAX,代表八进制数144,整型   Const COUNT#=45.67         '声明了常量COUNT,代表45.67,双精度型用户自定义的常量变量或常量的命名规则   1)必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度≤255个字符;  2)不能使用VB中的关键字,并尽量不与VB中标准函数名同名;如:Dim、Sin  3)VB中不区分变量的大小写,一般变量首字母用大写,其余用小写;常量全部用大写字母表示  4)为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。命名规则四、变量在程序的执行过程中可以改变的量,注意:声明、赋值、使用1、变量声明显示声明:使用前必须先声明;隐式声明:不声明,直接使用;2、变量显示声明声明:[Public|Private|Dim|Static]变量名[As类型][,变量名[As类型]]……省略时为变体类型例DimAgeASIntegerDimX1ASSingle,X2ASSingleDimNameASString例DimiCountAsinteger,sumAssingle等价于DimiCount%,sum!说明:如果没有As类型,则默认为变体类型。   可在变量名后加类型符来代替As类型 如:Dim intX%   一条语句可以同时定义多个变量,但每个变量必须有自己的类型声明,类型声明不能共用;   字符串变量根据其存放的长度是否固定,定义方法不同:3、变量隐式声明隐式声明的变量都是Variant数据类型下面是一个很简单的程序,其使用的变量a,b,Sum都没有事先定义。PrivateSubForm_Click()Sum=0a=10:b=20Sum=a+bPrint"Sum=";SumEndSub直接在变量名后加相应的类型后缀(P66)例Age%=25‘变量Age为Integer变量X!=1.456‘变量X为Single变量强制显式声明——OptionExplicit语句良好的编程习惯都应该是“先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。VisualBasic中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:OptionExplicit4、变量赋值语句变量名=表达式例:DimIAsIntegerDimXAsSingleI=120X=-1.23*2《1》.语句格式《2》.语句功能将赋值号右侧表达式的值赋给左侧的变量五、运算符与表达式《1》算术运算符运算符含义优先级示例结果^乘方1Ia^29-负号2-iA-3*乘3IA*iA*iA27/除310/iA3.33333333333333\整除410\iA3Mod取模510ModiA1+加610+iA13-减7IA-10-7算术运算符两边的操作数应该是数值型,若是数字字符或逻辑型,则自动转换为数值类型后再运算。《2》字符串运算符&通用连接运算符+字符串连接运算符忽略操作数的类型,强行将两操作数的值进行连接。例:DimaasIntegerDimbasIntegera=12b=23printa&bprinta+b结果为:122335运算符作用区别示例结果&将两个字符串拼接起来 连接符两旁的操作数不管是字符型还是数值型,系统先将操作数转换成字符,然后再连接。"123"&55"abc"+12"12355""abc12"+连接符两旁的操作数均为字符型;若均为数值型则进行算术加法运算;若一个为数字字符型,一个数值型,则自动将数字字符转换为数值,然后进行算术加;若一个为非数字字符型,一个数值型,则出错。"123"+55"abc"+12178出错运算符含义示例结果=等于"ABCDE"="ABR"False>大于"ABCDE">"ABR"False>=大于等于"bc">="大小"False<小于23<3False<=小于等于"23"<="3"True<>不等于"abc"<>"ABC"TrueLike字符串匹配"ABCDEFG"Like"*DE*"TrueIs对象引用比较  《3》关系运算符注意:  1)如果两个操作数都是数值型,则按其大小比较  2)如果两个操作数都是字符型,则按字符的ASCII码值从左到右一一比较  3)汉字字符大于西文字符  4)关系运算符的优先级相同  5)VB6.0中Like运算符与通配符的使用:  ?——表示任何单一字符  *——表示0个或多个字符  #——表示任何一个数字(0-9)  [字符列表]——表示字符列表中的任何单一字符  [!字符列表]——表示不在字符列表中的任何单一字符《4》逻辑运算符运算符含义优先级说明示例结果Not取反1当操作数为假时,结果为真Not FNot T T FAnd与2两个操作数均为真时,结果才为真T And TF And FT And FF And T TFFFOr或3两个操作数中有一个为真时,结果为真T Or TF Or FT Or FF Or TTFTTXor异或3两个操作数不相同,结果才为真,否则为假T Xor FT Xor TTFEqv等价4两个操作数相同时,结果才为真T Eqv FT Eqv TFTImp蕴含5第一个操作数为真,第二个操作数为假时,结果才为假,其余都为真T Imp FT Imp TFT《5》表达式(1)表达式的组成    表达式由常量、变量、运算符、函数和圆括号按一定的规则组成,通过运算后有一个结果,运算结果的类型由数据和运算符共同决定。(2)表达式的书写规则   1)乘号不能省略   2)括号必须成对出现,均使用圆括号,可以嵌套,但必须配对。   3)表达式从左到右在同一基准上书写,无高低、大小之分。 例:sqr((3*x+y)-z)/(x*y)^4 (3)不同数据类型的转换    操作数的数据类型应该符合要求,不同的数据应该转换成同一类型。在算术运算中,如果操作数的数据精度不同,VB规定运算结果采用精度较高的数据类型。(4)优先级    同一表达式中,不同运算符的优先级是:算术运算符>字符运算符>关系运算符>逻辑运算符  注意:对于存在多种运算符的表达式,可增加圆括号改变优先级或使表达式更清晰。日期型表达式日期型数据是一种特殊的数值型数据,只能有下面3种情况:1.一个日期型数据可以相减:DateB-DateA结果是一个数值型整数(两个日期相差的天数)。例如:#05/08/2002#-#05/01/2002#其结果为数值:72.一个日期型数据(DateA)与一数值数据(N)可作加法运算:DateA+N其结果仍是一个日期型数据。例如:#05/01/2002#+7其结果为日期型数据:#05/08/2002#3.一个日期型数据(DateA)与一数值数据(N)可作减法运算:DateA-N其结果仍是一个日期型数据。例如:#05/08/2002#-7其结果为日期型数据:#05/01/2002#六、常用标准函数函数名功能示例结果Sqr(x)求平方根Sqr(9)3Log(x)求自然对数,x>0Log(10)2.3Exp(x)求以e为底的幂值,即求exExp(3)20.086Abs(x)求x的绝对值Abs(-2.5)2.5Hex[$](x)求x的十六进制数,返回的是字符型值Hex[$](28)"1C"Oct[$](x)求x的八进制数,返回的是字符型值Oct[$](10)"12"Sgn(x)求x的符号,当x>0,返回1;x=0,返回0;x<0,返回-1Sgn(15)1Rnd(x)产生一个在(0,1)区间均匀分布的随机数,每次的值都不同;若x=0,则给出的是上一次本函数产生的随机数Rnd(x)0-1之间的数Sin(x)求x的正弦值,x的单位是弧度Sin(0)0Cos(x)求x的余弦值,x的单位是弧度Cos(1)0.54Tan(x)求x的正切值,x的单位是弧度Tan(1)1.56Atn(x)求x的反正切值,x的单位是弧度,函数返回的是弧度值Atn(1)0.791、数学函数2、日期与时间函数函数名含义示例结果Date()返回系统日期Date()02-3-19Time()返回系统时间Time()3:30:00PMNow返回系统时间和日期Now02-3-193:30:00Month(C)返回月份代号(1-12)Month("02,03,19")3Year(C)返回年代号(1752-2078)Year("02-03-19")2002Day(C)返回日期代号(1-31)Day("02,03,19")19MonthName(N)返回月份名MonthName(1)一月WeekDay()返回星期代号(1-7),星期日为1WeekDay("02,03,17")1WeekDayName(N)根据N返回星期名称,1为星期日WeekDayName(4)星期三增减日期函数:DateAdd(要增减日期形式,增减量,要增减的日期变量)例:计算期末考试日期:DateAdd("ww",15,#2002/3/19#)求日期之差函数:DateDiff(要间隔日期形式,日期一,日期二)  例:计算距毕业天数:DateDiff("d",Now,#2005/6/30#)日期形式:日期形式yyyyqmydwwwhns意义年季月一年的天数日一周的天数星期时分秒3、转换函数函数名功能示例结果Str(x)将数值数据x转换成字符串Str(45.2) "45.2"Val(x)将字符串x中的数字转换成数值Val("23ab")  23Chr(x)返回以x为ASCII码的字符Chr(65)   "A"Asc(x)给出字符x的ASCII码值,十进制数Asc("a")   97Cint(x)将数值型数据x的小数部分四舍五入取整Cint(3.6)   4Int(x)取小于等于x的最大整数Int(-3.5)Int(3.5)-43Fix(x)将数值型数据x的小数部分舍去Fix(-3.5)  -3CBool(x)将任何有效的数字字符串或数值转换成逻辑型CBool(2)CBool("0")TrueFalseCByte(x)将0-255之间的数值转换成字节型CByte(6)6CDate(x)将有效的日期字符串转换成日期CDate(#1990,2,23#)1990-2-23CCur(x)将数值数据x转换成货币型CCur(25.6)25.6Round(x,N)在保留N位小数的情况下四舍五入取整Round(2.86,1)2.9CStr(x)将x转换成字符串型CStr(12)  "12"CVar(x)将数值型数据x转换成变体型CVar("23")+"A"  "23A"CSng(x)将数值数据x转换成单精度型CSng(23.5125468)23.51255CDbl(x)将数值数据x转换成双精度型CDbl(23.5125468)23.51254684、字符串函数字符串编码     在Windows采用的DBCS(DoubleByteCharacterSet)编码中,一个汉字在计算机内存中占2个字节,一个西文字符(ASCII码)占1个字节,在VB中采用的是Unicode(ISO字符标准)来存储字符的,所有字符都占2个字节。可以用StrConv()函数来对Unicode与DBCS进行转换;可以用函数Len()函数求字符串的字符数;可以用LenB()函数求字符串的字节数;函数名功能示例结果Len(x)求x字符串的字符长度(个数)Len("ab技术")4LenB(x)求x字符串的字节个数LenB("ab技术")8Left(x,n)从x字符串左边取n个字符Left("ABsYt",2)"AB"Right(x,n)从x字符串右边取n个字符Right("ABsYt",2)"Yt"Mid(x,n1,n2)从x字符串左边第n1个位置开始向右取n2个字符Mid("ABsYt",2,3)"BsY"Ucase(x)将x字符串中所有小写字母改为大写Ucase("ABsYug")ABSYUGLcase(x)将x字符串中所有大写字母改为小写Ucase("ABsYug")absyugLtrim(x)去掉x左边的空格Lrim(" ABC ")"ABC "Rtrim(x)去掉x右边的空格Trim(" ABC ")" ABC"Trim(x)去掉x两边的空格Trim(" ABC ") "ABC"Instr(x,"字符",M)在x中查找给定的字符,返回该字符在x中的位置,M=1不区分大小写,省略则区分Instr("WBAC","B")2String(n,"字符")得到由n个首字符组成的一个字符串String(3,"abcd")"aaa"Space(n)得到n个空格Space(3)"□□□"Replace(C,C1,C2,N1,N2)在C字符串中从N1开始将C2替代N2次C1,如果没有N1表示从1开始Replace("ABCASAA","A","12",2,2)"ABC12S12A"StrReverse(C)将字符串反序StrReverse("abcd")"dcba"5、格式输出Format()函数Format函数用于制定字符串或数字的输出格式。语法:x=Format(expression,fmt)   expression是所输出的内容fmt是指输出的格式,这是一个字符串型的变量,这一项若省略的话,那么Format函数将和Str函数的功能差不多。语句输出Format(2,“0.00”)2.00Format(.7,“0%”) 70% Format(1140,“$#,##0”)$1,140输出的格式:fmt字符的意义字符意义字符意义 0 显示一数字,若此位置没有数字则补0 . 小数点 # 显示一数字,若此位置没有数字则不显示 , 千位的分隔符 % 数字乘以100并在右边加上”%”号-+$() 这些字出现在fmt里将原样打出Format函数对时间进行输出时的意义fmt输出fmt输出m/d/yy 8/16/96 h:mm:ssa/p 10:41:29p d-mmmm-yy 16-August-96 h:mm 22:41 d-mmmm 16-August h:mm:ss 22:41:29 mmmm-yy august-96 m/d/yyh:mm 8/16/9622:41 hh:mmAM/PM 10:41PM  
/
本文档为【春VB程序设计第4部分程序设计基础】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索