![[院校资料]第三章设计基础PPT课件_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-6/2/4bd590fe-510f-4b9a-a4a6-154eea70243d/4bd590fe-510f-4b9a-a4a6-154eea70243d1.gif)
![[院校资料]第三章设计基础PPT课件_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-6/2/4bd590fe-510f-4b9a-a4a6-154eea70243d/4bd590fe-510f-4b9a-a4a6-154eea70243d2.gif)
![[院校资料]第三章设计基础PPT课件_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-6/2/4bd590fe-510f-4b9a-a4a6-154eea70243d/4bd590fe-510f-4b9a-a4a6-154eea70243d3.gif)
![[院校资料]第三章设计基础PPT课件_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-6/2/4bd590fe-510f-4b9a-a4a6-154eea70243d/4bd590fe-510f-4b9a-a4a6-154eea70243d4.gif)
![[院校资料]第三章设计基础PPT课件_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-6/2/4bd590fe-510f-4b9a-a4a6-154eea70243d/4bd590fe-510f-4b9a-a4a6-154eea70243d5.gif)
已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,第3章VisualBasic程序设计,.,2,3.1代码基础,数据(data):是反映客观事物属性的记录。数据是计算机程序加工处理的符号(数、字符)的集合。不同的数据类型的存储方式不同,取值范围不同,能参加的运算也不同。,字符集(characterset):它包括三大类;1)数字(digit):0-9十个数字。2)字母(Uppercaseandlowercaseletter)3)特殊字符(specialcharacter)Space!“#$,=?_+-*/等,关键字(Keyword):VB系统中有固定含义的字符。如:Private,Public,Dim,Print,Click,.,3,在编写代码时,要声明和命名许多元素。标识符用于标记这些元素的名字,以便在代码中对它们进行引用。标识符命名规则如下:必须以字母开头。长度不超过255个字符(如变量)。控件、窗体、模块的名称不超过40个字符不能使用关键字。,标识符(identifier),语句的书写规则,1)严格按照VB的语法格式要求进行书写。本书在提供各种语法成分的通用格式时,格式中的符号采用如下约定表示其中的参数是可选的。如中括号中的内容省略,则VB会使用该参数的缺省值(即默认值)。|为多选一表示符。竖线分隔多个选择项,必须选择其中之一。,.,4,大括号中包含多个用竖线“|”隔开的多个选择项,必须从中选择一项。,表示同类项目重复出现,各项之间用逗号隔开。表示省略了在当时叙述中不涉及的部分,2)每条语句通常单独占一行,一行允许多达255个字符。3)如在一行中写多条语句,语句之间要用冒号分隔。例如:Form1.FontSize=14:Form1.BackColor=vbRed4)如果想将一条语句写在多行上,则可以在行末尾加续行字符(一个空格加一个下划线)表示此行尚未结束。例如:Text3.Text=Val(Text1.Text)+_Val(Text2.Text),.,5,为了便于代码的阅读和维护,通常要给代码添加注释,注释的对象可以是一条语句,一段代码或整个程序。注释语句格式如下:,|Rem注释内容,表示可以使用单引号或Rem(remark)来引入注释。Rem与注释内容之间应至少空一个空格。如果需要连续多行书写注释,需在每行开始以Rem或开头注释语句是非执行语句,它不被解释和编译,但在程序清单中,将完整地列出注释。注释语句不能放在续行符的后面。在调试程序时,对于某些暂时不用的语句(以后还要使用),可以在这些语句之前添加Rem或暂时停止其执行,在需要的时候再去掉Rem或,使其起作用,这样可减少代码的修改量。,给代码添加注释,.,6,第二章程序设计基础,3.2数据类型,3.2.1系统定义的数据类型3.2.2用户自定义数据类型,.,7,3.2.1标准数据类型,1数值型(NumericType)2字符型(StringType)3货币型(CurrencyType)4日期型(DateType)5布尔型(BooleanType)6对象型(ObjectType)7变体型(VariantType)8字节型(ByteType),.,8,1)单精度Single!:2、浮点数4个字节,7位有效数,123.45!1.2345E+5float2)双精度Double#8个字节,15位有效数,-345.88#,-3.08D-5,3、货币型8个字节,123.56Currency可保留小数点右边4位,左边15位,1)基本整型basicInteger%(suffix)占2Byte,34%、&O34%、&34%、&H12FF%1、整型2)长整型Longinteger:&,integer占4Byte,12&,&12&,&H12&.3)字节型Byte占1Byte,(0-255)(定义标志变量),1、数值型Numeric,.,9,2、字符串数据类型(String)$必须用一对西文双引号括起来。“hello”,“你好”,“342”String类型的数据所占的空间与字符串的长度有关1、定长字符串(fixed-sizeString)DimaAsstring*9(最长65535个字符)2、变长字符串(Dynamic-sizeString)DimbAsstring双引号在代码中起字符串的定界作用,不是字符串的一部分。在字符串中,字母的大小写是有区别的。如果字符串本身包括双引号,可用连续两个双引号表示printYoumuststudyhard,hesaid.youmuststudyhard,hesaid.,.,10,3、日期/时间型(Date):#1Jan2002#,#25/10/02/#1:00:00#自动转换日期为“月/日/年”,输出“年-月-日”自动转换时间为12小时制(AM/PM),输出:上/下午12小时制例如:A=#5Jan2002#,:b=#1:00:00PM#PrintA;b,输出2002-1-5下午01:00:00,日期型数据在内存中占8个字节,表示范围:100年1月1日至9999年12月31日,.,11,4、逻辑型(Boolean):(2个字节)、只有两个值:True和FalseBoolean转成number:True-1,False-0number转成Boolean:非零-True,0-False,6、对象型(Object):(4个字节)用于存储OLE对象,如电子表格,文档、图片等。,5、可变类型(Variant):是一种可以转换的数据类型,它可以根据程序的需要接受VB的各种数据类型,.,12,3.4变量(variable):变量是在程序运行期间其值发生变化的量,用来临时存储数据,代表内存中的指定的单元。程序是通过变量名来引用变量的值。1.变量名命名规则:必须以字母或汉字开头,由字母、汉字、数字或下划线组成,中间不能有空格,长度小于等于256个字符不能使用VB中的保留字,但可将保留字嵌入变量名中。VB不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母表示,3xy数字开头y-z不允许出现减号WangPing不允许出现空格Dim不允许VB关键字Cos标准函数名,非法变量名,.,13,1.变量的声明(Variabledeclaration),1).显式声明变量(explicitdeclaration):,【格式】声明符变量名AS类型,例如:PublicxAsIntegerPrivatex%,y!,z$,a&,dDimaasstring*50Dimx,y,zAsInteger,在VB中,变量根据不同的类型有不同的默认初值。,变量类型默认初值Number0String“”BooleanFalseObjectNothingDate0/0/0VariantEmpty,Public,Private,Dim,Static,.,14,2).隐式声明(implicitdeclaration)PrivateSubForm_Click()myString=“hello”myString=1234PrintmyStrngEndSub演示1,3).设置强制声明变量语句(optionexplicit)“工具”-“选项”-“编辑器”-“要求变量声明”,.,15,注意:如何引用非当前模块的全局变量?例如:要在窗体Form2中输出窗体Form1中全局变量x的值,应使用语句:PrintForm1.X,2.变量的作用域(scope):,1).工程级变量(全局变量GlobalVariable)用Public在标准模块或窗体模块的通用声明处声明如:PublicXAsinteger,.,16,2).模块级变量(modulevariable):用Private或Dim在通用声明处声明PrivatexAsintegerDimxAsinteger演示2,3).局部变量(过程级变量LocalVariable)用Dim或Static在过程中声明DimxAsintegerStaticxAsintegerStatic称为静态变量演示3练习一,.,17,1)直接常量如:数值型:34%,23&,字符型:“你好”,“ABC”逻辑常量:true,false,日期常量:#2011-2-25#,2)用户声明的符号常量:格式(syntax):Public|PrivateConst常量名AS类型=表达式例PublicConstpi#=3.1415926,3.3常量(constant),演示4,.,18,3)系统提供的符号常量:如:Form1.WindowState=vbNormalText1.Forecolor=vbRed,查看内部常量:使用“视图|对象浏览器”命令,.,19,3.6运算符与表达式,用运算符将运算对象(即操作数)连接起来即构成表达式。VB有以下6类运算符和表达式:1.算术运算符与算术表达式2.字符串运算符与字符串表达式3.关系运算符与关系表达式4.布尔运算符与布尔表达式5.日期运算符与日期表达式6.对象运算符与对象表达式,.,20,3.6.1算术运算符与表达式,(求指数exponentiation)-(求负数negative)*(乘Multiplication)Mod(求余modulus)/(浮点数除normaldivision)+(加addition)(整除integerdivision)-(减subtraction),1)算术运算符(arithmeticoperator),算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。如:False+10+4=142.参加整除或求余的运算对象应为整型,若是小数,Vb会自动四舍五入变为整型再进行运算。如:11.6Mod5.2=2,.,21,2)算术运算符的优先级(arithmeticoperatorprecedence):,例:5+10mod109/3+22,=10,.,22,3.所有的括号都用小括号.如:q+a*b+c*(a+b)+c应改为:q+(a*(b+c*(a+b)+c)(由内向外计算),ST,3)书写算术表达式时应注意以下几点:,1.所有符号、数值都应写在一条横线上、必要时加圆括号。如:a+x+y,2.乘号*不能省。例;x乘以y应写成:x*y,写成VB表达式为:a+(x+y)/s*t,.,23,4)“abcd”+123出错信息,类型不匹配.,3.6.2字符运算符与表达式,字符串运算符(stringoperator)有“+”和“&”,表达式1+表达式2,1)“123”+“123”输出1231232)“abc”+“xyz”输出abcxyz,3)“123”+123输出246,.,24,1).“123”&“456”输出1234562).“abcdef”&12345输出abcdef123453).“123”&456输出123456,表达式1&表达式2,注意:使用运算符“&”时,变量与&之间应加一个空格,这是因为符合“&也是长整型的类型符,如果与变量连在一起,VB系统先把它作为类型符处理,因而就会出现语法错误。,.,25,1.VB提供的运算符(relationaloperator)有:=(isequalto)或(greaterthan)=(greaterthanandequalto,3.关系表达式的值是一个逻辑值,即True(真)和False(假),2.关系运算符优先级别相同,即从左到右运算。,3.6.3关系运算符与表达式,.,26,4.各种数据类型的比较规则如下:,两个数值型:按大小比较.,逻辑型:False大于True(-1表示T,0表示F)3+(32)的值是2,而3+(3“ABD”的值是False“aBCD”“ABCD”的值是True,字符型:按字符ASCII码值的大小从左到右一一比较.,.,28,2.逻辑运算的结果是逻辑值,TrueorFalse,1.VB提供的逻辑运算符(logicoperator)有:Not(非)、And(与)、Or(或)Xor(异或)、Eqv(等价)、Imp(蕴含),3.优先级:Not、And、Or、Xor、Eqv、Imp,3.6.4布尔运算符与表达式,.,29,Not:即“取反”。如:NotTrue的值为False,And:逻辑“与”运算:如:3222And5550的值为TruexyAndFalse的值恒为False,Or:逻辑“或”运算:如:9834Or4576的值为True,4.各个逻辑运算符的意义如下:,.,30,3.6.5混合表达式的运算顺序,True,False,True,6,True,False,False,a+bc+dAnda=5OrNotc0Ord算术/字符串-关系-逻辑运算,.,31,1.-y2+x=-22+2=-2,-2=2其结果为False,例如:设i=1,x=2,y=2,求下面表达式的值-y2+x=2OrNoty0And(x-y)-5)/i0,2.y0的结果是True,4.计算FalseOrNotTrueAndTrue的值,False,False,False,3.(x-y)-5)/i=(2-2)-5)/1=-5,-50其结果为True,.,32,3.5常用内部函数,3.5.1数学函数3.5.2字符串函数3.5.3转换函数3.5.4日期时间函数3.5.5格式输出函数3.5.6Shell函数,.,33,3.3常用内部函数VB包括:内部函数(InternalFunction)用户自定义函数(Selfdefinedfunction)VB常用的内部函数有:数学函数(math)、日期与时间函数Dateandtime、转换函数conversion、字符串函数(string)等函数的一般调用格式为:函数名FunctionName(参数表Arguments))注意方法(method)与函数(function)的区别,函数就是将某些常用的功能事先编好程序代码,给定一个名字(称为函数名)存入系统中,用户在调用时,只需要给定自变量(这里叫参数)的值,就可以返回一个函数值,,.,34,学习和使用这些函数需注意6点:准确地掌握函数的功能;使用库函数要注意参数的个数及其数据类型;函数的返回值有确定的类型,因而在组成表达式时特别要注意类型匹配;注意函数的定义域(自变量或参数的取值范围)。例如:函数sqr(x),要求参数x=0;注意函数的值域。例如:exp(23773)的值就超出实数在计算机中的表示范围;函数的调用为:函数名(实际参数列表)有参数函数函数名()无参数名,调用时可以省略括号,.,35,3.5.1数学函数,.,36,RndN函数返回0和1(包括0但不包括1)之间的单精度随机数.每次运行时,要产生不同序列的随机数,先执行RandomizeN语句。产生a,b区间范围内的随机整数,可使用下面的公式:Int(Rnd*(upperboundlowerbound+1)+lowerbound)例:随机产生1个两位数正整数privatesubform_click()RandomizeText1.Text=(Int(Rnd*90+10)Endsub,演示5,.,37,【例3-2】使用随机函数模拟掷骰子。,准备好六个图形文件,表示骰子的六个面,pic1.jpg,pic2.jpg,pic3.jpg,pic4.jpg,pic5.jpg,pic6.jpg,.,38,首先生成一个16之间的随机整数x,用字符串连接符号&将当前路径(App.Path)、字符串“pic”与该随机整数x进行连接,产生当前要显示的骰子文件的路径及文件名(picFilename):,x=Int(6*Rnd+1)picFilename=App.Path&pic&Format(x)&.jpg,最后用LoadPicture函数给Image1加载该图形。,代码设计:,.,39,1、删除空格函数Ltrim(字符串表达式):该函数用于去掉字符串中左边的空格。例如:Ltrim(ABCD)的值为“ABCD”Rtrim(字符串表达式):该函数用于去掉字符串中右边的空格。例如:Rtrim(ABCD)的值为“ABCD”Trim(字符串表达式):该函数用于去掉字符串中左右两边的空格。例如:Trim(ABCD)的值为“ABCD”,3.5.2字符串函数,.,40,2取子字符串函数Left(字符串表达式,字符个数):该函数返回从字符串左边开始的指定数目的字符。例如:Left(“VisualBasic”,6)的值是Visual,Right(字符串,字符个数):该函数返回从字符串右端开始的指定数目的字符。例如:Right(“VisualBasic”,5)的值是Basic,Mid(字符串,起始位置,字符个数):该函数返回从字符串指定位置开始的指定数目的字符例如:Mid(ABCD,2,2)值为“BC”Mid(ABCD,2,)值为“BCD”,.,41,3求字符串长度函数Len(字符串表达式):该函数返回字符串的长度(字符数)。例如:Len(“青岛科技大学”)值为6。,LenB(字符串表达式):该函数返回字符串中所占字节数。例如:LenB(“青岛科技大学)值为12。,4产生空格字符串函数Space(n):该函数返回产生由n个空格字符组成的字符串。例如:Space(5)值为,.,42,5字符串匹配函数InStr(起始位置,“字符串1”,“字符串2”比较模式)此函数用来在字符串1中查找字符串2。说明:1)从“字符串1”的“起始位置”处开始查找“字符串2”,如果找到“字符串2”,则返回“字符串2”在“字符串1”中的起始位置;2)比较模式可以为0或1。为1时,比较时不区分大小写;为0时,区分大小写。默认设置为0;3)若指定了比较模式,则必须指定起始位置,否则就会出现语法错误。例如:PrintInStr(7,ASDFDFDSSDFSF,DF)值为10。,.,43,6生成字符串函数String(n,字符串):返回由字符串中首字符组成的n个字符串。例如:当x=String(5,abc)时,则x=aaaaa。,7字母大小写转换函数Lcase(字符串表达式):把字符串表达式中大写字母转换为小写字母。例如:Lcase(Abc)结果为“abc”。,Ucase(字符串表达式):把字符串表达式中小写字母转换为大写字母。例如:Ucase(abc)结果为“ABC”。,.,44,1求字符的ASCII值函数:Asc(字符串表达式):返回字符串表达式中第一个字符的ASCII值。例如:当x=Asc(“a”)时,x=97;当x=Asc(“ab”)时,x=97,2求ASCII值对应的字符函数:Chr(n)将n的值转换为对应的ASCII字符。例如:Chr(65)的值为“A”。,3将数值转换为字符串函数:Str(数值)用于将数字转化为字符串。例如:Str(34.56)=34.56,3.5.3转换函数,.,45,4将字符串转换为数值函数:Val(字符串表达式)用于将字符串转化为数值。说明:字符串可以是一个字符串,也可以是几个字符串连接形成的字符串表达式。如果被转换的字符串是一个非数字字符串,则该函数的函数值为0;如果在字符串转换过程中遇到非数字字符,则转换停止,非数字字符不转换。例如:Val(“23.56”)结果为23.56;Val(“88abc34.45”)结果为88;Val(abcde)结果为0。,.,46,数据类型转换函数,.,47,2.5.4日期函数,Second(#1:12:56PM#),返回秒(059),Second(Time),Time,返回系统时间,Time(),Year(#3/3/2003#),返回年代号(17532078),Year(Date),Now,返回系统日期和时间,Now,Month(2003,05,01),返回月份代号(112),Month(Date),Minute(#1:12:56PM#),返回分钟(059),Minute(Time),Hour(#1:12:56PM#),返回小时(024),Hour(Time),Day(2003,05,01),返回日期代号(131),Day(Date),Date,返回系统日期,Date(),实例,说明,函数名,本章目录,Weekday(date),返回星期,1表示星期日,Weekday(“2010-3-15”),.,48,格式化函数Format()使数值、日期或字符型数据按指定的格式输出。一般用于Print方法中。Format函数的语法格式为:Format(表达式,格式字符串),3.5.5格式输出函数,PrintFormat(#2/12/1998#,“mmm-yy”)的结果是:Feb-98,PrintFormat(0.123,“0.00%”)的结果是:12.30%,PrintFormat(“world”,“”)的结果是“WORLD”,例如:,.,49,在VB中,除了可以调用内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 草原割草过程中的生态环境保护考核试卷
- 陶瓷洁具产品生命周期管理考核试卷
- 阑尾炎术后感染临床管理要点
- 幼儿进餐环节卫生保健规范
- 月如意深呼吸
- 疫情期间普外科诊疗管理策略
- Influenza-virus-IN-9-生命科学试剂-MCE
- 超神数学-高考数学总复习基础篇(一轮)(练习册)专题03不等式(含答案或解析)
- 内部资料性出版物管理办法
- 海丰县鹭影禾香乡村振兴示范带建设项目可行性研究报告
- 2025年高考全国二卷数学高考真题解析 含参考答案
- 2025年普通高等学校招生全国统一考试数学试题(全国一卷)(有解析)
- 2025年山西焦煤集团公司招聘笔试参考题库含答案解析
- 【MOOC】生理学-中南大学 中国大学慕课MOOC答案
- 2024年浙江省中考数学试题及答案
- MOOC 医事法学-西南医科大学 中国大学慕课答案
- 2011年7月20日深圳中心商业物业应急守则和突发事件的管理
- WNS锅炉产品制造工艺检验流程卡
- 天津市成人高等教育毕业生登记表
- 通信管道施工三级-安全技术交底记录表
- 桥梁荷载试验
评论
0/150
提交评论