VB可视化程序设计基础.ppt

上传人:牧羊曲112 文档编号:5451897 上传时间:2023-07-08 格式:PPT 页数:122 大小:897.50KB
返回 下载 相关 举报
VB可视化程序设计基础.ppt_第1页
第1页 / 共122页
VB可视化程序设计基础.ppt_第2页
第2页 / 共122页
VB可视化程序设计基础.ppt_第3页
第3页 / 共122页
VB可视化程序设计基础.ppt_第4页
第4页 / 共122页
VB可视化程序设计基础.ppt_第5页
第5页 / 共122页
点击查看更多>>
资源描述

《VB可视化程序设计基础.ppt》由会员分享,可在线阅读,更多相关《VB可视化程序设计基础.ppt(122页珍藏版)》请在三一办公上搜索。

1、2023/7/8,第1页,第2章 VB可视化程序设计基础,模拟计算器程序设计窗体基本的输入/输出控件命令按钮Visual Basic程序设计语言基础基本语句数组过程知识延伸焦点,2023/7/8,第2页,知识回顾,通过一个文字移动的例子,讲解 VB功能特色 集成开发环境 可视化编程的基本概念(类和对象)可视化编程的基本步骤 工程管理和程序调试,2023/7/8,第3页,本章目标,熟悉窗体、标签、文本框和命令按钮的使用掌握VB的基本语法掌握三种控制语句掌握数组的定义和使用掌握过程的定义和使用能根据所学基础知识开发简单应用程序,2023/7/8,第4页,引例二,要求:1.存在两种运算模式:标准模式

2、和科学模式。2.在标准模式中进行简单的加、减、乘、除操作。3.在科学模式中还能进行sqr、exp、sin、cos操作。4.同时在文本框上面显示当前所处的模式。,(查看代码),2023/7/8,第5页,2.2 窗体,什么是窗体,在程序设计时,窗体是设计的平台 在程序运行时,窗体是应用程序与用户交互的平台,窗体由系统菜单、标题栏、最小化和最大化按钮、关闭按钮组成,2023/7/8,第6页,窗体常用属性(3-1),(单击查看代码),刚运行时,单击后,双击后,2023/7/8,第7页,NameBackColor和ForeColorBorderStyleHeight和WidthCaption,用来指定窗

3、体的名称,在代码中用来引用窗体,用来指定窗体的背景颜色和前景颜色,用来指定窗体的边框样式,用来指定窗体的高度和宽度,单位:twip,用来指定窗体的标题信息,(单击查看补充材料),2023/7/8,第8页,窗体常用属性(3-2),Left和Top StartUpPositionFontMaxButton和MinButtonWindowState,指定窗体的左边缘距离容器左边缘的距离以及窗体顶端距离容器定顶端的距离,单位:twip,用来指定窗体首次出现时的位置,用来指定窗体上显示文本的字体(是一个对象),指定窗体标题栏的最大化和最小化按钮是否显示,指定窗体运行时的可见状态,0-手动1-所有者中心2

4、-屏幕中心3-窗口缺省,0-Normal1-Minimized2-Maximized,当MaxButton和MinButton两个属性中的一个设置为False时会怎样?两个都设置为False时又会怎样?,方法一Form1.FontSize=20方法二 Form1.Font.Size=20,2023/7/8,第9页,窗体常用属性(3-3),VisibleEnabledAutoRedrawPicture,用来指定窗体是否可见,指定窗体运行时是否可响应用户或系统的操作,用来实现窗体上输出内容的持久显示,如:当单击窗体时,窗体是否能否调用窗体单击事件过程,即:当窗体由非激活状态转回到激活状态时,仍然能

5、够显示原来输出的内容,用来设置窗体上显示的图形 LoadPicture函数的使用,Form1.Picture=LoadPicture(图形文件路径),(单击查看补充材料),2023/7/8,第10页,窗体事件,Load(加载)事件 窗体被装入内存工作区时触发该事件 通常用来在启动程序时对属性和变量进行初始化Click(单击)事件 鼠标单击窗体时触发DblClick(双击)事件 鼠标双击窗体时触发Resize事件 当窗体第一次显示或改变大小时触发,(单击查看代码),2023/7/8,第11页,窗体常用方法(2-1),Print 用于在窗体上输出数据 格式对象.Print tab(n)|spc(n

6、)表达式列表;|,Cls 清除运行时在窗体上显示的文本和图形 不能清除设计阶段窗体上的文本和图形,2023/7/8,第12页,窗体常用方法(2-2),Show 用于显示一个窗体Hide 用于暂时隐藏一个窗体,但窗体仍在内存Move 用于移动并改变窗体或控件的位置和大小格式对象.Move Left,Top,Width,Height,2023/7/8,第13页,几个练习例题,(单击查看代码),(单击查看代码),(提示:需用Image控件),2023/7/8,第14页,2.3 基本的输入/输出控件,标签 用于显示文本信息 起提示作用 在运行的时候用户不能直接录入信息文本框 是一个文本编辑区域 用于输

7、入、编辑、修改和显示文本信息 在运行的时候用户可以直接录入信息,2023/7/8,第15页,标签属性(2-1),CaptionBorderStyleBackStyleAlignmentBackColor和ForeColor,(单击查看代码),用来设置标签要显示的内容,用来设置标签有无边框,0-None 标签无边框(默认)1-Fixed Single 标签有立体边框,用来设置标签背景是否透明,0-Transparent 透明1-Opaque 不透明(默认),用来设置标签内文本的水平对齐方式,2023/7/8,第16页,标签属性(2-2),AutoSize 设置标签是否可以自动调整水平大小以显示所

8、有内容 取值:True或FalseWordWrap 设置标签是否可以自动调整垂直大小以显示内容 在AutoSize属性取值为True时,WordWrap的取值才有效,AutoSize True:标签控件宽度随文本改变而改变,高度上只保存一行字的尺寸,不能换行 False:标签保持设计时的大小,如果内容太长,则只能显示一部分(默认值),WordWrap True:标签保持水平大小不变,随文本大小其垂直展开或缩短 False:标签保持一行文字的垂直大小,水平方向随文本大小展开或缩短(默认值),2023/7/8,第17页,标签事件,ClickDblClick在实际应用中,标签一般只起到显示文字和提示

9、作用,因此一般不用编写事件过程,2023/7/8,第18页,文本框控件,(单击查看代码),2023/7/8,第19页,文本框属性(4-1),Text 文本框没有Caption属性 Text属性设置显示的文本信息 对文本框中字符格式的设置将会影响文本框全部内容,不能只对部分内容设置格式MaxLength 设置文本框允许输入的最大字符数 默认为0,表示无限制PassWordChar 设置是否在文本框中显示用户键入的字符,如PassWordChar不为空,文本框中显示指定字符,但此时Text属性值仍然为实际文本内容;否则,文本框显示实际输入文本内容。,2023/7/8,第20页,文本框属性(4-2)

10、,SelStart、SelLength和SelText 只能在运行时(即在代码中)设置 SelStart:选定文本的开始位置,第一个字符的位置是0 SelLength:选定文本的长度 SelText:选定文本的内容 当同时设置了SelStart和SelLength属性后,被选中的内容自动存入SelText属性,2023/7/8,第21页,文本框属性(4-3),创建多行文本框:默认情况下,文本框只显示单行文本,无滚动条,不支持回车换行。MultiLine 只能在设计时(即属性窗口中)设置 只有在ScrollBars为非零值时有效 取值为True或FalseScrollBars只能在设计时(即属性

11、窗口中)设置 设置文本框是否具有水平或垂直滚动条,ScrollBars 0-None 无滚动条 1-Horizontal 只有水平滚动条 2-Vertical 只有垂直滚动条 3-Both 具有水平和垂直两种滚动条,2023/7/8,第22页,文本框属性(4-4),Enabled 设置是否相应用户或系统的操作 取值为True或FalseLocked 设置文本框是否可以编辑 取值为True或False两者的区别?相同点:两者都不允许用户直接录入内容 不同点:Locked为True时,可以接受焦点;Enabled为False时,不能接受焦点。,2023/7/8,第23页,属性类型总结,只能在设计阶

12、段设置的属性MultiLine、ScrollBars只能在运行阶段设置的属性SelStart、SelLength、SelText可同时在运行和设计阶段设置的属性,2023/7/8,第24页,练习例题,(单击查看代码),2023/7/8,第25页,文本框事件,Click和DblClickChange 在改变文本框的Text属性时触发该事件 问题:如果有Text1_Change事件过程,运行时用户在文本框中输入“Change”,会触发几次Text1_Change事件过程?LostFocus 当文本框失去焦点时触发GotFocus 当文本框获得焦点时触发,6次,2023/7/8,第26页,练习例题,

13、(单击查看代码),2023/7/8,第27页,2.4 命令按钮,Caption 设置命令按钮上显示的文本信息 可以设置对应按钮的热键:输入Caption属性时,在要设置为热键的字母前加“&”,则该字母显示时有下划线,(单击查看代码),2023/7/8,第28页,命令按钮属性(2-1),Picture 设置命令按钮中要显示的图形 必须在Style属性设置为1-Graphical时有效Style 设置命令按钮的显示类型 0-Standard:标准类型,只能显示文本信息,不能显示图形和背景颜色 1-Graphical:图形类型,不仅可以显示文本信息,还可以显示图形和背景颜色ToolTipText 在

14、运行时,在鼠标停留时显示的提示文本信息,2023/7/8,第29页,命令按钮属性(2-2),Value 设计阶段无效,只能在运行时获取或设置 用于检查或设置按钮当前是否被按下 True:按下False:未按下Default 设置窗体中的某个命令按钮为缺省按钮 当按Enter键时,相当于单击该按钮Cancel 设置窗体中的某个命令按钮为取消按钮当按Esc键时,相当于单击该按钮,在同一窗体中,只能有一个命令按钮的Default属性为True,也只能有一个按钮的Cancel属性为True。,2023/7/8,第30页,命令按钮事件,Click按钮没有DblClick事件,2023/7/8,第31页,

15、2.5 VB程序设计语言基础,编码规则数据类型变量和常量运算符和表达式常用函数,2023/7/8,第32页,编码规则,VB代码不区分字母的大小写语句书写自由 在同一行可以书写多条语句,语句间用冒号“:”分隔 一条语句可以分若干行书写,此时在后面添加续行符(一个空格后面跟一个下划线)一行允许多达255个字符注释有利于程序的维护和调试 Rem:作为一个单独的语句出现 撇号“”:可以直接出现在语句的后面,2023/7/8,第33页,数据类型,标准数据类型 数值型(Numeric)逻辑型(Boolean)日期型(Date)字符型(String)可变型(Variant)对象型(Object)用户自定义类

16、型,2023/7/8,第34页,标准数据类型(4-1),数值类型 字节型(Byte)整型(Integer):类型符为%长整型(Long):类型符为&单精度型(Single):类型符为!双精度型(Double):类型符为#货币型(Currency):类型符为定点实数,最多保留小数点右边4位和小数点左边15位,2023/7/8,第35页,标准数据类型(4-2),逻辑型(Boolean)只有两个值:True、False 可以和数值互换True:-1(非零值)False:0例如:(1+2)And True?True Xor Not 10?字符型(String)双引号是字符串的界定符 VB用两个字节表示

17、一个字符(包括西文字符和中文字符)采用的是Unicode字符集 分为定长字符串和不定长字符串如:可视化程序设计Visual Basic,3或True,10或True,长度:19,2023/7/8,第36页,标准数据类型(4-3),日期型(Date)日期范围:从公元100年1月1日到9999年12月31日时间范围:从0:00:00到23:59:59 用“#”把日期括起来如:#September 26,2004#,#9/26/2004#,#2004-9-26 10:20:30 am#用数字序列表示小数点左边:日期;小数点右边:时间参照时间:1899年12月31日 0:00:00如:Dim T As

18、 Date:T=-2.5:Print T?,1899年12月28日 12:00:00,2023/7/8,第37页,标准数据类型(4-4),变体类型(Variant)一种特殊的数据类型 是所有未定义变量的数据类型 对数据的处理取决于上下文的需要 例如:Dim a As Variant a=10%a此时是整型 a=“VB”a此时是字符型 a=True a此时是布尔类型,2023/7/8,第38页,自定义类型,是由用户自己定义的数据类型,它由若干个标准数据类型组成。定义语句格式Private|Public Type 类型名元素名 As 数据类型元素名 As 数据类型 End Type例如,Type

19、Student Number As Integer Name As String*6 Age As Integer Birthday As Date Sex As BooleanEnd Type,2023/7/8,第39页,变量与常量,常量 在程序执行过程中保持不变的数据 文字常量如:3.1420%True“VB”符号常量:用标示符表示一个固定Const 常量名 As 数据类型=表达式通常常量名的所有字母都大写 如:Const PI As Double=3.1415926系统常量:VB系统提供的符号常量 如:vbMinimized(最小化),2023/7/8,第40页,变量与常量,变量 在程序

20、运行过程中其值可以发生改变的量 每一个变量都有名字和数据类型 变量名用来唯一地标志每一个变量 数据类型表明了该变量的类型变量的声明 显示声明 隐式声明(初学者最好不要使用隐式声明),Public|Dim|Static|Private 变量名 As 数据类型,变量名 As 数据类型Public|Dim|Static|Private 变量名,变量名例如:Dim intA As Integer,intB%,隐式声明:不显式声明变量而直接使用 此时变量被默认为Variant数据类型,2023/7/8,第41页,变量,变量的命名规则 必须以字母或汉字开头 由字母、汉字、数字和下划线组成长度小于或等于25

21、5个字符不能使用VB中的关键字 VB中不区分变量名的大小写如:MyName,myname,myName是同一个变量变量名由多个单词组成时,建议每个单词的第一个字母大写,其余字母小写,(查看代码),2023/7/8,第42页,运算符,算术运算符/(浮点除)(整除)%(取余)关系运算符两个汉字用拼音进行比较 汉字字符大于西文字符逻辑运算符 NotAndOr或XorEqvImp字符运算符+&优先级(重点)算术运算符 字符运算符 关系运算符 逻辑运算符,/(浮点除):同数学的除法,结果可以是小数(整除):对两数进行除法运算后取商的整数部分。若参与运算的两个数都是整数,则可直接进行运算。若参与运算的两个

22、数中有实数,则先将实数的小数部分进行四舍五入,再进行运算。%(取余):对两数进行除法运算后取商的余数部分。参与运算的两个数的处理同整除运算。例如:16.5 3,=5,字符串只有连接运算 区别+:两边必须是字符串&:两边不一定是字符串,但必须有空格 例如 abcdef&12345 结果为 abcdef12345“abcdef+12345 出错 123&456 结果为 123456 123+456 结果为 579 123+456“结果为 123456 注意:123+True,=122,2023/7/8,第43页,表达式,什么是表达式?由常量、变量、函数、运算符以及括号连接起来的有意义的式子称为表达

23、式。书写规则运算符不能相邻。例a+-b是错误的。乘号不能省略。例x 乘以y 应写成:x*y。括号必须成对出现,均使用圆括号。从左到右在同一基准上书写,无高低、大小。能用系统函数的地方尽量使用系统函数。,2023/7/8,第44页,几个练习例题,年龄,学历,And,本科,专科,Or,招聘条件,(学历=“专科”Or 学历=“本科”)And 年龄 40 And 性别=“女”,3=x And x=7,性别,2023/7/8,第45页,常用函数,函数类型 内部函数 用户自定义函数内部函数(标准函数)数学函数 字符串函数转换函数 时间/日期函数随机函数 格式输出函数函数调用方法函数名(参数表),2023/

24、7/8,第46页,数学函数,Abs(x)函数:求x的绝对值,x为数值型参数Exp(x)函数:求ex的值Log(x)函数:求x的自然对数,返回lnx的值,且x0Sgn(x)函数:求x的符号值(符号函数)Sqr(x)函数:求x的算术平方根,x0Int(x)和Fix(x)函数:均为取整运算(但有区别)随机函数Rnd()三角函数,2023/7/8,第47页,Int和Fix函数的区别,共同点 均删除参数的小数部分,返回整数部分 取整时均不进行四舍五入 当参数为正数时,两者功能相同区别 当参数为负数时 Int返回小于或等于参数的第一个负整数 Fix返回大于或等于参数的第一个负整数,(单击查看代码),(单击

25、查看补充资料),2023/7/8,第48页,随机函数,用来产生随机数.形式 Rnd(x):返回一个单精度的随机数 取值范围:0=Rnd 10,1)RandomizeRandomize(x)产生随机数的种子,保证每次运行产生不同的随机数求某个必区间下界,上界的随机整数公式:Int(上界 下界+1)Rnd()+下界,(查看代码),2023/7/8,第49页,转换函数,Asc(c)函数:将字符c转换成ASCII码值Chr(n)函数:将ASCII码值转换成字符LCase(c)函数:将字符串c中的大写字母转换为小写字母UCase(c)函数:将字符串c中的小写字母转换为大写字母Str(n)函数:将数值n转

26、换成字符串Val(c)函数:将数字字符转换成数值,Str()函数将非负数值转化成字符类型后,会在转换后的字符串左边增加空格,即数值的符号位。CStr$():不加符号位。Val()将数字字符串转化为数值类型,当字符串中出现数值类型规定的字符外的字符时,则停止转换。,2023/7/8,第50页,字符串函数,Len(c)函数:求字符串c的长度Left(c,n)和Right(c,n):返回字符串c左(右)边的n个字符Mid(c,n1,n2)函数:自字符串c的第n1个字符开始向右取n2个连续的字符。LTrim(c)、RTrim(c)和Trim(c)函数:去掉字符串c左边、右边、左右两边的空格String

27、(n,c)函数:返回字符串c的首字符组成的n个字符的字符串。InStr(n1,c1,c2)函数:在字符串c1中从第n1个字符开始查找字符串c2,若找到返回位置值;若找不到,则返回0Space(n)函数:产生由n个空格组成的字符串,2023/7/8,第51页,时间/日期函数,Time()或者Time函数:返回系统时间Date()或者Date函数:返回系统日期Year(d)函数:返回参数d的年号 d为日期类型参数Month(d)函数:返回参数d的月份号Day(d)函数:返回参数d的日期号WeekDay(d):返回参数d的星期号Now函数:返回系统的日期和时间,2023/7/8,第52页,格式输出函

28、数,格式:Format(,)功能:按格式字符串指定的格式输出表达式的值。说明:表达式可以是数值型、字符型、日期型数据。,(单击查看代码),Private Sub Form_Click()Print Format(2.71828,“#.#)Print Format(2.71828,”00000.00”)Print Format(Date,dddddd)Print Format(time,“ttttt”)End Sub,(单击查看代补充资料),2023/7/8,第53页,Shell函数,负责执行一个可执行文件。形式:Shell(命令字符串,窗口类型)命令字符串:要执行的应用程序名,包括路径,且必须

29、是可执行文件(扩展名为exe、com、bat)窗口类型:执行应用程序的窗口大小。返回一个Variant。如果成功,代表这个程序的进程ID;若不成功,则会返回0。,2023/7/8,第54页,Shell函数示例,i=Shell(c:windowscalc.exe)j=Shell(c:,1),提示:如果不知道应用程序的路径名,可用Start命令启动程序:i=Shell(start&calc.exe);i=Shell(start&vb6.exe),2023/7/8,第55页,常见错误,逻辑表达式书写错,在VB没有造成语法错而形成逻辑错例如,数学表达式 3x10 VB表达式写为 3=x10。问题在于V

30、B中的逻辑量与数值量可相互转换。同时给多个变量赋值,在VB没有造成语法错而形成逻辑错例如:Dim x%,y%,z%:x=y=z=1标准函数名写错变量名写错检查方法:在通用声明段加Option Explicit语句书写位置错在通用声明段只能有Dim语句,不能有赋值等其他语句,2023/7/8,第56页,2.6基本语句,顺序结构选择结构循环结构其他辅助控制语句 Exit语句 Goto语句,2023/7/8,第57页,顺序结构赋值语句,格式 Let变量名=表达式将表达式的值赋值给变量名 Let对象名.属性名=表达式将表达式的值赋值给对象的属性说明表达式可以是任何类型,一般应与变量名的类型一致赋值号左

31、边只能是变量或对象属性,不能是常量常数符号或表达式不能在同一个赋值语句中,同时给多个变量赋值例如:x=y=z=1,(单击查看代码),2023/7/8,第58页,顺序结构InputBox函数(2-1),功能 只需一行即可实现输入窗体的功能 产生一个对话框,作为输入数据的界面,等待用户输入并返回所输入的内容。格式InputBox$(prompt$,title$,default$,xpos,ypos)说明 prompt:提示信息,最大长度为1024个字符 title:对话框标题,默认为当前工程的名称 default:输入区中缺省显示信息,默认为空串 函数返回值是字符串类型,2023/7/8,第59页

32、,顺序结构InputBox函数(2-2),语句表示为:Dim strName As StringstrName=InputBox(请输入你的姓名+vbCrLf+然后单击确定,输入框),2023/7/8,第60页,顺序结构MsgBox函数(2-1),格式函数形式:MsgBox%(prompt$,buttons,title)过程形式:MsgBox prompt,buttons,title功能在屏幕上显示诸如提示、询问、警告或错误等消息,对用户的操作作出提醒或反馈。通过用户在对话框中选择的按钮识别用户所做的响应,作为程序继续执行的依据。说明 Prompt和title同InputBox函数 butto

33、ns:数值表达式,用来控制在对话框内显示的按钮种类和数量以及图标类型。(由四类数值相加产生)函数返回值是整数类型,2023/7/8,第61页,顺序结构MsgBox函数(2-2),Button参数,(查看代码),2023/7/8,第62页,练习例题,(单击查看代码),2023/7/8,第63页,命名参数的使用,注意InputBox()、MsgBox()中的参数必须按语法要求规定的顺序提供数值,默认部分也要用逗号占位符跳过。引入“命名参数”命名参数可用“:=”以任意顺序赋值prompt:提示buttons:按钮title:标题default:默认xPos:x坐标yPos:y坐标例如:InputBo

34、x(请输入您的学号,学生成绩查询系统)InputBox(Title:=学生成绩查询系统,prompt:=请输入您的学号)MsgBox(登录成功,vbOKOnly+vbInformation,成功登录页面)MsgBox(Title:=成功登录页面,buttons:=vbOKOnly+vbInformation,prompt:=登录成功),2023/7/8,第64页,顺序结构Print方法,语法对象名称.Print tab(n)|spc(n)表达式列表;|,功能在指定对象上输出表达式的值说明对象可以是窗体、图形框和打印机Tab(n):表示在参数n指定的位置输出表达式的值Spc(n):表示跳过n个空

35、格,2023/7/8,第65页,几个练习例题,改变,(单击查看代码),(单击查看代码),For i=1 To 5 Print Tab(i);String(6-i,);Spc(6);String(i,)Next i若把程序中的Spc(6)换成Tab(6)会怎样?,;Tab(6);,2023/7/8,第66页,选择结构,特点:根据所给定条件的真假,选择不同的语句。两种类型 If语句 Select Case语句,2023/7/8,第67页,If语句(4-1),单分支结构If Then 语句块End If 或If Then 语句,表达式,语句块,T,F,例如:已知两个数x和y,比较两个数的大小,使x大

36、于yIf xy Then t=x:x=y:y=t End If 或 If xy Then t=x:x=y:y=t,2023/7/8,第68页,If语句(4-2),双分支结构If Then 语句块1Else语句块2End If 或If Then Else,表达式,语句块1,T,F,语句块2,单分支结构实现:y=cos(x)x3+3*x If x0 Then y=sin(x)+sqr(x*x+1),双分支结构实现:If x0 Then y=sin(x)+sqr(x*x+1)Else y=cos(x)x3+3*x End If,2023/7/8,第69页,If语句(4-3),多分支语句 If The

37、n ElseIf Then Else 语句块 n+1 End If,(查看代码),2023/7/8,第70页,If语句的嵌套 If语句的嵌套是指If或Else后面的语句块中又包含If语句。形如:If ThenIf Then End If End If,If xy Then t=x:x=y:y=t If yz Then t=y:y=z:z=t If xy Then t=x:x=y:y=t End If End If,If语句(4-4),2023/7/8,第71页,几个练习例题,If Ucase(strC)=A And Ucase(strC)=0 And strC=9 Then Print str

38、C+是数字字符 Else Print strC+其他字符 End If,2023/7/8,第72页,(返回常见错误),2023/7/8,第73页,Select Case语句,格式Select Case 变量或表达式Case 表达式列表1 语句块1Case表达式列表2 语句块2Case Else 语句块n+1End Select,数值型或字符串表达式,:与同类型的下面四种形式之一:表达式 例:A 一组枚举表达式(用逗号分隔)例:2,4,6,8 表达式1 To 表达式2例:60 To 100 Is 关系运算符表达式 例:Is 60,2023/7/8,第74页,几个练习例题,Select Case

39、strCCase a To z,A To ZPrint strC+是字母字符Case 0 To 9Print strC+是数字字符Case ElsePrint strC+其他字符End Select,Select Case score Case 90 To 100 Print 优 Case 80 To 89 Print 良 Case 70 To 79 Print 中 Case 60 To 69 Print 及格 Case Else Print 不及格End Select,(单击查看代码),2023/7/8,第75页,方法一If x 0 And y 0 Then Print 在第一象限 Else

40、If x 0 Then Print 在第二象限 ElseIf x 0 And y 0 Then Print 在第四象限 End If,方法二Select Case x,y Case x 0 And y 0Print 在第一象限 Case x 0Print 在第二象限 Case x 0 And y 0Print 在第四象限End Select,Select Case 后不能出现多个变量;Case后不能出现变量及有关运算符。,(返回常见错误),2023/7/8,第76页,条件函数,IIf函数 格式:Iif(,)例如:求x,y的最大值 max=IIf(x y,x,y)Switch函数 格式:Swit

41、ch(条件表达式1,条件表达式1为True时的值,条件表达式2,条件表达式2为True时的值)例如:学生成绩等级Switch(grade=90,“优秀”,grade=80,“良好”,grade=70,“中等”,grade=60,“及格”,grade=60,“不及格”)Choose函数 格式:Choose(数字类型变量,值为1的返回值,值为2的返回值)例如:Op=Choose(Nop,+,-,),2023/7/8,第77页,常见错误,在选择结构中缺少配对的结束语句对多行式的If块语句中,应有配对的 End If语句结束。多分支选择ElseIf关键字的书写和条件表达式的表示ElseIf 不要写成E

42、lse If;多个条件表达式次序问题,见示例。Select Case语句的使用Select Case 后不能出现多个变量;Case子句后不能出现变量,见示例。,2023/7/8,第78页,循环结构,指对同一程序段执行若干次,被重复执行的语句块成为循环体。For/Next循环Do/Loop循环While/Wend循环,2023/7/8,第79页,For/Next循环,计数循环语句,用于控制循环次数预知的循环格式:For=to Step Exit For Next,循环变量赋初值,循环变量=终值,语句块,语句块,循环变量加步长,T,Exit For,F,有,无,Dim i%,ss=0 For i=

43、1 To 100 step 2 s=s+i Next i,2023/7/8,第80页,步长循环次数=注意 出了循环,循环控制变量值的问题。允许循环变量在循环体内被赋值,但这样会影响原来的循环控制规律。Exit For:强制退出循环,步长=1 可省略,For i=2 To 13 Step 3 循环执行次数 Print i,输出 i的值分别为:Next i 2 5 8 11 Print“I=“,i 出了循环输出为:I=14,2023/7/8,第81页,练习例题,Max=100For i=1 To 10 x=Int(Rnd*101+100):Print x,If x Max Then Max=xNe

44、xt iPrint 最大值=;Max,2023/7/8,第82页,Do/Loop循环,形式1:前测试循环 Do While|Until 语句块 Exit Do 语句块 Loop,形式2:后测试循环 Do 语句块 Exit Do 语句块 Loop While|Until,2023/7/8,第83页,练习例题,x=13:n=0 x表示当前人口数,n表示年数Do While x 26 x=x*1.008 每年增加后的人口数 n=n+1 年数加1LoopPrint n;年后我国人口达到;x;,超过26亿,2023/7/8,第84页,循环的嵌套,一个循环体内又包含了一个完整的循环结构称为循环的嵌套,(单

45、击查看代码),(单击查看代码),2023/7/8,第85页,注意事项,外循环必须完全包含内循环,不能交叉内循环变量与外循环变量不能同名在使用Goto语句时,不能从循环体外转入循环体内多重循环最好按照缩进格式书写,For ii=1 To 10 For jj=1 To 20 Next ii Next jj,For ii=1 To 10 For ii=1 To 20 Next ii Next ii,For ii=1 To 10 For jj=1 To 20 Next jj Next ii,For ii=1 To 10 Next ii For ii=1 To 10 Next ii,2023/7/8,第

46、86页,While/Wend循环,格式While Wend说明 每次执行完循环体后都将执行Wend语句,它将转回到While语句,在判断语句条件是否成立 如果条件为Null,则将默认条件值为False Wend语句不能省略,2023/7/8,第87页,常见错误,不循环或死循环的问题主要是循环条件、循环初值、循环终值、循环步长的设置有问题。循环结构中缺少配对的结束语句 For 缺少配对的Next循环嵌套时,内外循环交叉累加、连乘时,存放累加、连乘结果的变量赋初值问题在一重循环中,存放累加、连乘结果的变量初值设置应在循环语句前。,2023/7/8,第88页,2.7 数组,静态数组动态数组控件数组,

47、(单击查看代码),2023/7/8,第89页,数组具有相同名字不同下标的变量来表示一组具有相同性质的数据注意数组不是一种数据类型数组是一组相同类型的变量集合数组必须先声明后使用声明数组名、类型、维数和数组大小按声明时数组的大小确定与否 静态数组(定长):声明时确定了大小 动态数组(变长):声明时未给出大小,2023/7/8,第90页,静态数组,声明Dim 数组名(下标1,下标2)As 类型说明 几个下标就表示是几维数组,最多为60维 下界 To 上界 省略下界为0 静态数组的下标必须为常数 每一维大小:上界 下界+1 数组大小:每一维大小相乘例如:Dim mark(1.105)As Integ

48、er 一维数组,2023/7/8,第91页,例如:Dim lArray(0 to 3,0 to 4)As Long 等价于 Dim lArray(3,4)As Long注意 下界缺省为0,但是可以重新定义数组的下界Option Base 1 错误的声明,下标是变量 n=InputBox(“请输入n”):Dim mark(n)As Single 分清楚数组的声明和引用,2023/7/8,第92页,几个练习例题,(单击查看代码),(单击查看代码),(查看代码),2023/7/8,第93页,动态数组,声明时没有给出数组的大小,即省略了括号中的下标。当要使用它时,随时用ReDim语句重新指出数组的大小

49、格式:ReDim 数组名(下标1,下标2,)As 类型例如:Sub Form_Click()Dim x()As Single n=Inputbox(“输入n”)ReDim x(n)End Sub,(单击查看代码),2023/7/8,第94页,说明 Dim、Private、Public变量声明语句是说明性语句,可出现在过程内或通用声明段;ReDim语句是执行语句,只能出现在过程内。在过程中可多次使用ReDim来改变数组的大小和维数。使用ReDim语句会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据。使用Preserve只能改变最后一维的大小,前面几维大小不能

50、改变。ReDim中的下标可以是常量,也可以是有了确定值的变量。静态数组在程序编译时分配存储单元,动态数组在运行时分配存储单元。,2023/7/8,第95页,数组的操作,数组元素赋值 用循环For i=1 to 105 mark(i)=Int(Rnd*101)Next i用Array函数Dim ib As Variant ib=Array(abc,def,67)For i=0 To UBound(ib)Picture1.Print ib(i);Next i 数组直接对数组赋值Dim a()As Variant,b()As Varianta=Array(1,2,3,4,5)ReDim b(UBou

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号