VB程序设计电子教案-第4章:VB程序设计语法基础_第1页
VB程序设计电子教案-第4章:VB程序设计语法基础_第2页
VB程序设计电子教案-第4章:VB程序设计语法基础_第3页
VB程序设计电子教案-第4章:VB程序设计语法基础_第4页
VB程序设计电子教案-第4章:VB程序设计语法基础_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章VB程序设计语法根底VB表达式VB根本语句数组编程子程序编程VB表达式根本数据类型常量与变量运算符和表达式常用函数VB表达式由常量、变量、函数、运算符以及圆括号按照一定的规那么组成根本数据类型数据类型类型说明符字节数类型后缀范围字节型Byte1(无)0~255整型Integer2%-32768~32767长整型Long4&-2147483648~2147483647单精度浮点数Single4!3.40E+38双精度浮点数Double8#1.79D+308货币型Currency8@-9.22E+14~9.22E+14逻辑型Boolean2(无)True或False字符串型String每字符1$0到65535个字符日期型Date8(无)100年1月1日到9999年12月31日对象型Object4(无)任何对象的引用变体型Variant上述之一(无)上述之一常量与变量标识符命名规那么常量〔直接常量、符号常量〕变量用户自定义数据类型标识符命名规那么必须以字母开头,由字母、数字和下划线组成,中间不能有空格;最多不能超过255个字符,控件、窗体、类和模块的名字不能超过40个字符;不能使用VisualBasic保存字,如Case,End,If,Then等;在有效作用范围内必须是惟一的;不区分大小写,如ABC,abc表示同一标识符。直接常量字节型、整型和长整型常量单精度和双精度浮点型常量字符串常量日期型常量逻辑型常量符号常量用户自定义符号常量

[Private|Public]Const<常量名>[As类型]=<表达式>

系统预定义符号常量

可以通过“视图→对象浏览器”查看VB中所有的内部预定义常量变量变量的声明强制变量声明变量的声明用Dim语句用Static语句用Private语句用Public语句变量声明主要有以下几种形式:强制变量声明在程序通用声明段设置OptionExplicit语句自动设置变量强制声明。设置方法为:对新建一个工程,选择“工具”→“选项”命令,再在“编辑器”标签项片中选中“要求变量声明”复选框,于是在程序的通用声明段会自动出现OptionExplicit语句。用户自定义数据类型[Private]Type<自定义类型名>各元素说明EndTypeTypeperson‘自定义person类型nameasString*10ageasIntegerEndTypePrivateSubForm_Click()DimmanAsperson‘定义类型为person的变量man="张小龙"man.age=20Print,man.ageEndSub运算符和表达式算术运算符字符串运算符关系运算符逻辑运算符表达式算术运算符运算符含义优先级举例结果^指数1(最高)X=2^416-取负2X=-10-10*乘法3X=2*36/除法3X=7/23.5\整除4X=7\23Mod取模5X=7Mod21+加法6X=2+35-减法6X=2-3-1字符串运算符字符串的连接是指把两个字符串首尾拼接在一起形成一个新的字符串,在VisualBasic中提供了“&”和“+”两种操作符来实现此功能。“+”和“&”的区别。当两个被连接的数据都是字符型时,它们的作用相同。当数字型和字符型连接时,“&”把数据都转化成字符型然后连接;“+”把数据都转化成数字型然后相加。关系运算符运算符含义举例举例结果=等于“a”=“A”False>大于“abc”>“aBc”True>=大于等于5>=6False<小于5<6True<=小于等于5<=6True<>不等于“a”<>“A”True逻辑运算符运算符含义优先级举例结果Not逻辑非1Not("a"="A")TrueAnd逻辑与22>1And7>3TrueOr逻辑或32<1Or7>3TrueXor逻辑异或42>1Xor7<3TrueEqv逻辑同或52>1Eqv7<3FalseImp逻辑蕴含62>1Imp7<3False常用函数数学函数字符串函数日期时间函数转换函数字符串函数函数名格式功能获取子串Left(str,n)取串Str左边n个字符Right(str,n)取串Str右边n个字符Mid(str,i,length)取串Str从第i个字符开始的length个字符删除空格Ltrim(str)删除串Str开头的所有空格Rtrim(str)删除串Str末尾的所有空格Trim(str)删除串Str开头以及末尾的所有空格大小写转换Ucase(str)将串Str所有字母转换为大写字母Lcase(str)将串Str所有字母转换为小写字母串长度检测Len(str)求串Str的长度,即字符个数查找子串Instr([n,]str1,str2)从串Str1的第n个字符开始查找是否存在串Str2,若存在则返回最先出现的位置号,否则返回0。空格函数Space(n)生成由n个空格组成的字符串日期时间函数函数名格式功能获取当前日期时间Time返回当前系统时间Date返回当前系统日期Now返回当前系统日期和时间获取年、月、日Year(d)返回日期表达式d的年份(yyyy)Month(d)返回日期表达式d的月份(1-12)Day(d)返回日期表达式d的日(1-31)获取时、分、秒Hour(d)返回日期表达式d的小时数(0-23)Minute(d)返回日期表达式d的分钟数(0-59)Second(d)返回日期表达式d的秒数(0-59)获取星期WeekDay(d)返回日期表达式d的星期代号,星期日为1……获取时间间隔Datediff(interval,d1,d2)返回两个指定日期或时间间隔,其中interval为时间间隔单位,"yyyy"为年,"m"为月,"d"为日,"h"为时,"n"为分,"s"为秒。转换函数函数名格式功能字符转换为ASCII码值Asc(str)返回串Str中首字符的ASCII码ASCII码转换为字符Chr(n)返回ASCII码值为n的字符字符串转换为数值Val(str)返回包含在串Str内的数字数值转换为字符串Str(n)返回数值n组成的数字串VB根本语句简单语句分支语句循环语句根本语句运用综合实例简单语句注释语句停止程序执行语句赋值语句Print输出方法分支语句条件语句多路分支语句分支语句是用于根据某一表达式的值来决定执行某一组特定语句的语句。有以下二种形式的分支语句。单行条件语句格式:If<条件表达式>Then<语句组1>[Else<语句组2>]功能:假设条件表达式为True,那么执行语句组1中的各语句,否那么执行语句组2中的各语句。语句组可以是单个语句,也可以是用冒号分开的多个语句,但必须写在同一行上。多行条件语句格式:

If<条件表达式1>Then<语句组1>[Else<语句组2>]EndIf嵌套条件语句格式:

If<条件表达式1>Then<语句组1>[ElseIf<条件表达式2>Then<语句组2>]……[Else<语句组n+1>]EndIf

多路分支语句格式:SelectCase<测试表达式>Case<值域1><语句组1>Case<值域2><语句组2>……Case<值域n><语句组n>[CaseElse<语句组n+1>]EndSelect功能:计算测试表达式的值,然后与Case子句中的值域进行比较。当测试表达式的值与Case子句中的值域相匹配时,那么执行对应的语句组,并跳出SelectCase结构。如果测试表达式的值与所有的值域均不匹配,那么执行CaseElse之后的语句组。Case子句中值域形式示例数值或字符串常量如0,1,2或“A”,“b”某一范围<值1>TO<值2>,如:“a”To“z”某一关系IS<关系运算符><表达式>,如IS<=20程序简例【简例4-1】求解一元二次方程Ax2+Bx+C=0的根

【简例4-2】输入百分制的成绩,把它们转换成等级制。循环语句For...Next循环While...Wend循环Do...Loop循环多重循环程序简例For...Next循环格式:

For<循环控制变量>=<初值>To<终值>[Step<步长>][循环体]Next<循环控制变量>

功能:

当循环控制变量的值在初值和终值所限定的范围内时,执行循环体。省略Step子句时,默认步长为1。循环执行流程图FalseTrue控制变量=初值控制变量≤终值勤循环体控制变量=控制变量+步长TrueFalse控制变量=初值控制变量≥终值勤循环体控制变量=控制变量+步长While...Wend循环格式:While<条件>[循环体]Wend功能假设条件表达式的值为True时,执行循环体,否那么退出。实现让扬声器发出5声响铃FalseTrue条件循环体Do…Loop循环的不同形式Dowhile<条件

>

[循环体]LoopDoUntil<条件

>

[循环体]LoopDo

[循环体]Loopwhile<条件>Do

[循环体]LoopUntil<条件>Do…Loop循环有四种不同格式,各自有不同的功能和执行流程FalseTrue条件循环体TrueFalse条件循环体FalseTrue条件循环体TrueFalse条件循环体多重循环一个循环体内又包含另一个循环,称为循环的嵌套。内嵌的循环中还可以再嵌套循环,形成多重循环。采用不同的循环形式实现1!+2!+……+10!程序简例-菱形打印程序Fori=1Ton‘打印菱形的上半局部Fork=1Ton-i+1‘打印空格Print"";NextkForj=1To2*i–1‘打印星号Print"*";NextjPrint‘另起一行NextiFori=n-1To1Step–1‘打印菱形的下半局部Fork=1Ton-i+1‘打印空格Print"";NextkForj=1To2*i–1‘打印星号Print"*";NextjPrint‘另起一行Nexti程序简例-打印九九乘法表Dimi,jAsIntegerFori=1To9‘外层循环控制行数Forj=1ToI‘内层循环控制每行的列数PrintTab(5*j);i*j;NextjPrint‘另起一行Nexti根本语句运用综合实例【实例4-1】编写一个英文打字训练程序根本语句综合实例.vbp实例4-1的改进【思考题4-1】假设连续运行两遍该程序会发生什么情况?如何解决?【思考题4-2】假设在用户输入过程中,不允许用户中途放弃并重新开始输入,应如何修改程序?数组编程大小固定数组编程例如控件数组编程例如VB中有两种类型的数组:大小固定的数组和动态数组,前者指运行时数组中元素的个数保持不变;而后者那么指运行时其元素个数可以发生变化。大小固定数组编程例如固定大小数组例如.vbp设计一个简单数组的应用程序,产生10个1~100之间的随机整数,并用“选择法”按从小到大的顺序输出大小固定数组相关知识点大小固定数组的声明语句数组初始化数组的引用大小固定数组的声明语句一维数组:说明符<数组名>〔[下界to]上界〕[As类型]二维数组:说明符<数组名>〔[下界1to]上界1,[下界2to]上界2〕[As类型]多维数组:说明符<数组名>〔[下界1to]上界1,[下界2to]上界2,…〕[As类型]数组初始化对于数组的初始化一般可采用对数组的各下标元素进行赋初值进行,通常用循环语句实现。对于变体类型的数组变量,还可以用Array函数直接赋初值。格式:数组变量名=Array〔初值列表〕功能:将初值列表中的数值分别赋给一个一维数组的各个元素。【注意】变量必须声明为变体类型,但作为数组使用;初值列表中的数值多于一个时,使用逗号分隔;假设未提供任何初值,那么创立一个长度为0的数组;数组下界由OptionBase语句指定。数组的引用格式:数组名〔下标1[,下标2...]〕下标可以是数值型常量、变量或表达式,对于非整数,系统自动四舍五入取整;下标必须在规定的范围内,否那么出现“下标越界”错误。一维数组一般用单重循环处理,二维数组和多维数组一般用双重循环和多重循环处理。动态数组编程例如编程在窗体上输出Fibonacci数列的前n项:1,1,2,3,5……。要求每行输出5个数。相关知识点动态数组相关知识点建立动态数组的一般步骤①声明一个没有下标参数的数组。格式:说明符<数组名>〔〕[As类型]②引用数组前用ReDim语句重新定义。格式:ReDim[Preserve]<数组名>〔[下界1To]上界1[,[下界2To]上界2……]〕[As类型]功能:重新声明动态数组的维数和元素个数。控件数组编程例如设计一个简易计算器程序,能够进行加、减、乘、除四那么运算简易计算器实现方法界面设计代码设计(1)程序运行初始状态的设置(2)输入操作数的处理(3)点击运算符的处理(4)点击“=”按钮的处理控件数组相关知识点控件数组概述控件数组的特点控件数组的建立控件数组概述控件数组由一组相同类型的控件组成,这些控件共用一个控件名字,具有相似的属性设置,共享同样的事件过程。控件数组中各个控件相当于普通数组中的各个元素,同一控件数组中各个控件的Index属性相当于普通数组中的下标。控件数组的特点各控件具有相同的名称;以索引值〔Index〕来识别各个控件。由于具有相同的名称,单击控件数组中的任一个控件,都会执行相同的代码,同时又可运用返回的索引值让程序识别是由哪个控件所引发的。控件数组的建立建立场合建立方法在界面设计阶段修改控件名称建立控件数组复制和粘贴已有控件建立控件数组在代码设计阶段用Load控件数组名(Index)的形式添加控件(前提是已在设计时创建一个至少含有一个控件的控件数组)。用Unload控件数组名(Index)的形式删除控件(无法删除设计时已经建立好的控件)子程序编程子程序的定义与调用函数的定义和调用变量的作用域和生存期子程序的作用域子程序综合实例子程序的定义与调用通用过程的定义(1)利用“工具”→“添加过程”菜单定义通用过程(2)利用代码窗口直接定义通用过程通用过程的调用格式1:<过程名>[<实际参数表>]格式2:Call过程名[〔<实际参数表>〕]参数的传递子过程的嵌套调用参数的传递定义子过程时,其中的形参并没有确切的值,也不占用内存空间,只有在调用子过程时,通过传递实参的值或地址给形参,形参才能真正获得内存空间和确切的值。参数传递的两种形式传递方法参数形式说明传值参数前加:ByVal

将实参的值复制给形参,实参与形参断开联系。传址仅有参数(默认),参数只能为变量。将实参的地址传给形参,实参的值会随形参的改变而改变。子过程的嵌套调用嵌套调用是指在调用一个子过程的过程中,又调用另一个子过程,图4-17表示的是三层嵌套调用,其执行过程如右图子程序〔包括子过程和函数〕嵌套调用的一般原那么:“逐层调用,逐层返回”⑨⑧⑦⑥⑤④③②①子过程1子过程2子过程3调用子过程2调用子过程3EndSubEndSubEndSub函数的定义和调用函数的定义函数的调用程序简例定义一个求n!的函数Fact。PrivateFunctionFact(nAsInteger)Dimi%,p&p=1Fori=1Tonp=p*iNextiFact=pEndFunction例如:以下几条语句都可以正确调用上面定义的Fact函数。PrintFact(5)x=Fact(5)CallFact(5)‘在该调用形式下,VB自动放弃函数返回值Fact5‘在该调用形式下,VB自动放弃函数返回值程序简例输入一个正整数n,在下拉列表框中选择公式进行计算变量的作用域和生存期代码模块的三种类型变量的作用域变量的生存期代码模块的类型VB的代码存储在模块中,模块有三种类型:窗体模块〔Form〕、标准模块〔Module〕和类模块〔Class〕,具体参见教材变量的作用域全局变量模块级变量局部变量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论