《第4章应用程序的支撑框架—语法与语句结构.ppt》由会员分享,可在线阅读,更多相关《第4章应用程序的支撑框架—语法与语句结构.ppt(35页珍藏版)》请在三一办公上搜索。
1、第4章 应用程序的支撑框架语法与语句结构,应用程序是由程序界面和程序代码两部分组成的,在这二者当中,起支配和引导应用程序方向作用是程序代码,如果没有程序代码,应用程序只能是由程序界面组成的空架子。程序代码主要是由语法和语句组成的,语句与语法就象一个支撑框架一样,支撑着应用程序的运行。本章主要讲解的知识点有以下几个方面。数据类型的概念;常量与变量的相关知识;运算符与表达式等相关内容;顺序结构语句;选择结构语句;循环结构语句;应用程序当中的控制语句。,4.1 认识数据类型,大家都知道,人有很多种,如有好人、坏人、善人和恶人等。应用程序当中的数据和人一样,也分为几种不同的类型,如字符串类型、整型和日
2、期类型等。通过这些数据类型,能够决定变量或字段存储何种类型的数据。不同的数据类型有各自的取值范围,并且占用的存储空间也不相同。在各种不同的编程语言当中,都有相类似的数据类型。那么,在Visual Basic编程语言当中有哪些数据类型呢?学习下面的内容就会知道。,4.1.1 基本的数据类型,无论是在其他的编程语言还是Visual Basic编程语言当中,都有如字符串型、整型、浮点型等基本的数据类型。在Visual Basic当中,基本的数据类型如表4.1所示。,4.1.2 定义自己的数据类型,不是自己的东西在使用时就是没有使用自己东西时方便。在实际的编程过程中,上面介绍的数据类型可能不能够满足实
3、际编程的需要。如果遇到这种情况,可以通过定义属于自己的数据类型。在VB 6.0中自定义一个数据类型时,可以使用一个或多个基本的数据类型来定义新的数据类型。自定义数据类型通常使用Type语句来完成,具体实现的语法格式如下所示。01private|public Type 类型名02 表达式名称 As Type03 End Type,4.1.3 枚举数据类型,在编写程序代码时,有些数据无法直接用字符型或整型数据类型来表示。在Visual Basic中提供了枚举数据类型。那么什么是“枚举”呢?“枚举”就是指将变量的值一一地列举出来,变量的值只能够在列举值的范围内。通常情况下,当一个变量具有几种可能的值
4、时,可以定义为枚举数据类型。枚举数据类型使用Enum语句来实现,该语句放在程序代码的声明部分,其具体定义的语句格式如下所示。01Public|Private Enum 类型名称02 成员名=常数表达式03 End Enum,4.1.4 数据类型之间的相互转换,在编程过程中,可能会遇到转换数据类型的问题,如需要将数值型数据转换为字符型数据、日期型数据转换为字符型数据等。在VB 6.0中,常用的数据类型转换函数如表4.2所示。,4.2 应用程序的通信桥梁常量与变量,在编写应用程序时离不开常量和变量。常量和变量是应用程序的“通信桥梁”,在编程时时刻都会用到这座“桥梁”。常量和变量在程序代码中分别担当
5、着不同的角色,在编程中,常量起到保存特定类型数据的作用;而变量则起到存储临时性数据的作用。下面就向读者讲解一下常量和变量方面的相关知识。,4.2.1 永恒不变的桥梁常量,常量是一个“永恒”不变的量,是一个在程序运行时不会被改变的字符串或数值。常量的主要作用是存储程序中一个永恒不变的值,以便为应用程序提供各种需要。常量通常包括字符串常量、整型常量、逻辑常量和日期时间类型常量等。常量的声明通过使用Const语句来实现,其实现的语法格式如下所示。Public|Private ConstAs=例如,声明一个一年中总天数的常量AllDays,实现的语句如下所示。Private AllDays As In
6、teger=365声明一个字符串常量MyVbStr的实现语句如下所示。Public MyVbStr As String=”Visual Basic6.0”,4.2.2 善于变化的桥梁变量,如果说常量是永恒不变的话,那么变量则是善变的。变量与常量不同,在程序运行时中,变量中的值可以被随意地进行改变。变量的作用是保存临时的数据信息,是应用程序中一座善于变化的“桥梁”,在编程中起到保存临时数据的作用。在声明一个变量时,首先需要给变量起一个名字。但是,这个名字可不是随便起的,在起名时需要符合一定的规则,否则,程序代码将会出现错误。变量命名的具体规则如下所示。(1)变量名称的长度不能操作255个字符。(
7、2)变量名称不能以数字或下划线开头,如_Str、3_abc等。(3)变量名称不能和Visual Basic中的关键字相同,如Val、Chr或Private等。(4)变量名称中不能包括如+、-|、*、$、和?等字符。,4.2.3 Option Explicit语句的作用,在了解了常量和变量的相关知识之后,我们再来看看与声明变量密切相关的Option Explicit语句。为什么说Option Explicit语句与声明变量密切相关呢?在VB 6.0当中,在模块开始的位置添加Option Explicit语句之后,将会强制显示声明模块中的所有变量,即表示该模块中的变量必须在声明之后才能够使用,否则
8、将会出来错误。使用Option Explicit语句的目的是避免在输入已有的变量时出错,这对于在变量的范围不是很清楚的程序代码中很有用。在开发环境中的“工具”菜单下选择“选项”命令,在弹出的“选项”对话框中选择“编辑器”选项卡,然后选取选项卡中的“要求变量声明”选项,如图4.3所示。单击“确定”按钮完成设置。设置完成后在代码窗口中将会自动添加Option Explicit语句,表示强制声明模块中的变量,如图4.4所示。,4.3 程序代码的必备元素运算符与表达式,在介绍了常量与变量之后,再来看一下应用程序代码中的运算符与表达式。在Visual Basic编程语言中提供的运算符包括赋值运算符、逻辑
9、运算符、算术运算符、关系运算符和字符串运算符等,本节中将首先向读者讲解一下有关运算符方面的相关知识,然后再讲解一下与表达式相关的一些内容。,4.3.1 简单的赋值运算符,赋值运算符是众多运算符中最简单的一个。使用赋值运算符可以给变量或变长的数组对象赋值,也就是说将运算符右边的内容赋给运算符左边的变量或属性。在Visual Basic中使用“=”运算符完成赋值的操作,其实现的语句格式如下所示。变量名称=表达式在变量赋值表达式当中,变量名称可以是变量名或者是属性名。而表达式则可以是变量、常量、表达式或函数的返回值,如下面的语句所示。01M=20 给变量赋予常量值02Text1.Text=”张丹”给
10、文本框的Text属性赋予常量字符串值03Nums=M+1 给变量赋予表达式的式04Label1.Caption=Text1.Text 给标签的Caption属性赋予文本框的Text属性值05Label1.Caption=Str(M)给标签的Caption属性赋予函数的返回值,4.3.2 使用逻辑运算符进行逻辑判断,在现实生活中有些事只有两种情况,如对与错、好与坏、美与丑等。在软件编程语言当中,象这样的情况通常称为逻辑运算或逻辑判断,这里的两种情况称为真与假。在进行逻辑运算时,离不开逻辑运算符。逻辑运算符是专门用来执行逻辑值之间的运算,其运算结果只能是True和False。在Visual Bas
11、ic中常用的逻辑运算符及其优先级如表4.3所示。,4.3.3 使用算术运算符进行数学计算,我们在编程的过程中离不开数学运算,进行数学运算通过使用算术运算符来完成。在日常生活中,我们经常会用到加减乘除这4个最基本的数学运算。这里将对在Visual Basic中的加减乘除4个基本运算进行介绍。在Visual Basic中,“+”号和“-”号与平时运用的加号和减号是同等的,但是乘号和除号却有所不同。在Visual Basic中乘号用“*表示,除号用“”表示。Visual Basic中常用的算术运算符及其优先级如表4.5所示。,4.3.4 与关系运算符搞好关系,现实生活中的事物都有着这样或那样的关系,
12、如人与人之间的从属关系、朋友关系、亲情关系等。在应用程序当中,也存在着这样或那样的关系,如两个操作数之间存在着等于、不等于、大于或小于的关系。下面就向读者讲解一下对这些关系的操作。关系运算符又称为比较运算符,用于确定两个操作数之间的关系。关系运算符的优先级低于算术运算符,但是其本身的优先级都是相同的,其结合顺序从左到右,如果关系成立,则返回True;如果关系不成立,则返回False。Visual Basic当中的关系运算符如表4.6所示。,4.3.5 功能强大的字符串运算符,字符串运算符是众多运算符中最常用的运算符,可以将其看成是众多运算符中的“老大”。字符串运算符的作用是将两个或多个不同的运
13、算符连接起来。字符串运算符主要有“&”运算符和“+”运算符两种。“+”运算符在两端都是数值型数据的表达式中执行的是数值运算,而在两端都是字符串的表达式中则执行的是连接字符串的操作,这时与“&”运算符的功能相同,没有任何的区别。如下面的程序语句所示。01Dim Str1,Str2,Str3 As String02Str1=我们是03Str2=中国人04Str3=Str1+Str2 返回值是“我们是中国人”Str3=Str1&Str2 返回值是“我们是中国人”,4.3.6 运算符的得力助手表达式,前面我们分别讲解了常量、变量和运算符方面的相关知识,而我们现在要讲解的表达式与这3者都有着密切的关系。
14、那么,什么是表达式呢?表达式是由变量、常量、运算符或函数等按照一定的规则组合在一起的式子。如3*8、XYZ、3*X+5,6等都可以称为一个表达式。注意:可以这样认为,表达式是由常量或变量单独或由运算符按照一定的规则将常量和变量组合在一起的式子。在Visual Basic中表达式与数学中的代数式并不相同,在书写表达式时需要注意以下几个方面。采用符号水平书写方法,即表达式中没有上下角标,没有上分子下分母的表示方式,所有的符号都写在同一行上。乘号不能够被省略,如a乘以c应该写成a*c,而不能够写成ac。代数式中的大括号、中括号、小括号都用小括号来表示,也就是说表达式中不能够使用大括号和中括号,只能够
15、使用小括号。括号必须成对出现,可以出现多个小括号,但注意一定要配对出现。运算符必须采用Visual Basic中的标准表示方法进行表示。,4.4 一条大路通罗马顺序结构语句,前面讲解了有关Visual Basic中的一些语法知识。然而,程序代码是由语法和语句组成的。从本节开始,将向读者讲解有关Visual Basic中的语句知识。在Visual Basic当中,主要有顺序结构语句、选择条件语句和循环结构语句3种语句结构。下面将首先向读者讲解一下顺序结构语句。日常生活中我们在做一件事时都是按照一定的顺序进行的,就比如喝水这件事,首先是产生喝水这个想法,接下来是找到水杯,然后是将水倒入水杯中,最后
16、才是喝水。这就是一个顺序执行某一件事的典型实例。编程中的顺序结构语句与我们上面讲解喝水的实例是一样的。即指程序语句按照语句的先后顺序依次地执行,可以把顺序语句比喻成一条通天的大路,你可以沿着这条大路一直地走下去,直到所有的语句都执行完毕为止。顺序结构语句的执行流程图如图4.5所示。,4.4.1 顺序结构中的条件赋值,在顺序结构中最常见的语句就是条件赋值语句。赋值语句的作用是计算右边的表达式,然后把计算所得的结果值赋给左边的变量或者对象的属性。赋值语句虽然在使用上非常的简单,但是在使用时需要注意以下几点。(1)赋值号左边只能是变量或对象的属性,不能够是常量或表达式,如以下的赋值语句都是不合法的。
17、a+b=1 左边是表达式,不合法6=x+y 左边是常量,不合法(2)在表达式是数值型数据并且与变量的精度不同时,需要强制转换左边变量的精度。如下面的赋值语句所示。m%=8.3 m为整形变量,转换时四舍五入,值为8(3)在将逻辑值赋值给属性变量时,True将转换为-1,False将转换为0;相反如果将数值型数据赋值给逻辑变量时,则非0将转换为True,0将转换为False。,4.4.2 输入输出控制,在顺序结构语句当中,经常会涉及到输入与输出的操作。输入操作是指应用程序接收用户输入到程序当中的数据信息,如通过文本框控件或输入对话框进行输入;输出操作是指应用程序将程序的执行结果显示给用户,以便用户
18、进行查看。如果只是这样说读者可能还不会理解,下面还是通过一个具体的示例来讲解一下,相信读者在学习了这个示例之后,就会理解如何实现顺序结构语句中的输入与输出的操作。,4.5 要走哪条路选择结构语句,前面讲解的顺序结构语句只能够处理流水作业的问题,然而应用程序当中的相关操作不可能都是顺序执行的,在日常生活中,经常会遇到对给定的条件进行分析、比较和判断等问题。例如在用户话费查询系统当中,需要按照给定的时间和用户姓名进行查询,这就需要在执行查询语句时进行判断应该执行那种查询操作。在这种情况下,使用顺序结构语句就无法解决了,然而使用选择结构语句就能够解决这个问题。,4.5.1 IF语句控制,IF选择结构
19、语句是最简单也是最常用的一种控制语句。IF语句有两种表示方法,即行IF语句和块IF语句。这两种表示方式在功能上相类似,但在语句格式上有所不同。下面就分别讲解一下这两种不同的IF语句表示方法。1行IF语句行IF语句是指将IF及其后面的控制语句都写在同一行上,其语法格式如下所示。If 条件表达式 Then 语句1 Else 语句22块IF语句块IF语句与行IF语句不同,行IF语句将语句写成一行,而块IF语句则将语句写成多行的形式,其语句结构如下所示。01If 条件表达式1 Then02 语句块103ElseIf 条件表达式2 Then04 语句块20506ElseIf 条件表达式n Then07
20、语句块n08Else09 语句块n+110End If,4.5.2 多层IF语句的组合使用,可以将多个IF语句分层组合在一起进行使用,这种使用方法也称为IF语句的嵌套。在符合IF语句语法规则的情况下,IF语句可以随意地进行嵌套。如下面的程序语句就是IF语句嵌套的一种形式。01If 条件表达式1 Then02 语句块103 If条件表达式2 Then04 语句块205 Else06 If条件表达式3 Then07 语句块308 Else09 语句块410 End If11 End If12Else13 语句块514 If条件表达式4 Then 语句块6End If,4.5.3 Select Ca
21、se语句使用起来更方便,当选择的条件很多时,如果使用IF语句来实现会很烦琐,这时可以选择Select Case语句来代替IF语句实现所需要的功能,这里可以把IF语句与Select Case语句在实现功能上看作是一对好兄弟,但是有时候Select Case语句也会比他的兄弟强一些。在Select Case语句中,通过语句中的任何一个判断表达式,来决定执行哪一个语句部分。Select Case语句的语句格式如下所示。01Select Case 测试表达式02 Case 表达式103 语句块104 Case 表达式205 语句块206 07 Case 表达式n08 语句块nEnd Select,4.
22、6 绕着圈圈走循环结构语句,如果说使用选择结构语句是选择走那条路的话,那么使用循环语句就是绕着圈圈走。绕着圈圈走,实际上就是指程序重复执行一句或多句的程序代码,通过使用循环语句,不仅可以使复杂的程序代码简单化、减少程序代码的书写量,并且还能够提高程序的执行效率、使程序健壮地运行。可以看出,在应用程序当中,离不开这些绕着圈圈走的循环语句。循环语句通常有For循环语句、Do循环语句和While循环语句3种,本节中将详细地向读者讲解一下这3种结构的循环语句。,4.6.1 For循环语句,For循环语句是循环语句中最常用的一种语句。For循环语句通常情况下有ForNext循环语句和For EachNe
23、xt循环语句两种形式。1ForNext循环语句ForNext循环语句的语句格式如下所示。01For 循环变量=初值 To 终值Step 步长值02 循环体语句03 Exit For04 循环体语句05Next 循环变量2For EachNext循环语句For EachNext循环语句的语句格式如下所示。01For Each 集合或数组中的元素 In 集合或数组02 循环体语句03 Exit For04 循环体语句05Next 集合或数组中的元素,4.6.2 Do循环语句,Do循环语句也是比较常用的循环语句之一。Do循环语句通常有两种语句格式,如下面的语句所示。1Do WhileLoop循环语句
24、格式Do WhileLoop循环语句格式也称为“当型循环”语句,即当循环条件的值为True时执行循环体中的语句,具体实现的语法结构如下所示。Do While 循环体语句Loop2DoLoop While循环语句格式DoLoop While循环语句是“当型循环”语句的另一种表示方式,其语句的表达格式如下所示。Do 循环体语句Loop While,4.6.3 While循环语句,在编程的过程中,While循环语句也会经常用到。在While循环语句当中,只要指定的判断条件为True,就会重复执行循环体中的程序语句。While循环语句的语句格式如下所示。While 循环体语句Wend上面语句的执行过程
25、为:当“循环条件”的值为True时,则执行循环体语句,否则将退出循环,执行Wend语句后面的语句。说明:While循环语句的功能与Do循环语句的功能基本相同。,4.6.4 协起手来一起工作循环语句的嵌套使用,与IF语句一样,循环语句也可以嵌套在一起使用。本节中将通过一个“九九乘法表”的示例来向读者讲解一下如何实现循环语句的嵌套使用。【示例4-15 编写九九乘法表 本例代码保存在光盘0415】本示例实现的是在程序运行之后,在窗体上将显示一个九九乘法表,如图4.21所示。,4.7 其他常用的控制语句,前面分别向读者讲解了顺序、选择和循环控制语句。在应用程序当中,这3种控制语句结构构成了应用程序代码
26、的基本骨架。然而,在程序代码中还有其他一些重要的控制语句,这些语句在编写程序代码的过程中也起到非常重要的作用。本节中将向读者讲解一下Go To语句、Exit Do语句和End语句在程序代码中所起到的具体作用。,4.7.1 走自己的路GoTo语句,让我们先来了解一下GoTo语句。GoTo语句的作用是改变程序的执行顺序,跳过程序的某一部分去执行另一部分的程序代码。由于在使用GoTo语句时会破坏程序良好的结构,因此,有些人认为不要经常使用GoTo语句。笔者认为,在有必要使用GoTo语句时,还是需要使用GoTo语句来解决问题的,但是在一个程序当中,不要使用大量的GoTo语句,否则程序结构会变的非常的混
27、乱。GoTo语句的语句格式如下所示。GoTo对于GoTo语句的使用,还需注意以下几点说明。(1)GoTo语句只能跳转到它所在过程中行的语句执行,不能跳转到其他过程中的语句行去执行。(2)行标签可以是任何字符,但字符必须以字母开头,并且以“:”结尾,放在行的开始位置。(3)使用太多的GoTo语句,会使应用程序的结构变的很混乱,因此,建议不要使用过多的GoTo语句。,4.7.2 跳出圈圈Exit For与Exit Do语句,在执行循环语句时,可以使用Exit For语句在某种情况下退出For循环语句,或者使用Exit Do语句在某种情况下退出Do循环语句。请读者参看下面的程序代码。,4.7.3 一
28、切都结束了End语句,在我们学习的众多控制语句中,End语句可以说是最简单的程序控制语句了。使用End语句可以用于关闭应用程序,具体的应用请读者参看下面的示例。【示例4-17 End语句的应用示例 本例代码保存在光盘0417】本示例实现的是在程序运行之后,单击窗体中的【退出系统】按钮,将会关闭应用程序。示例实现的操作步骤如下所示。(1)新建一个工程,在工程中添加一个窗体Form1。(2)在窗体上添加1个按钮控件,将按钮控件的Caption属性设置为“退出系统”。(3)进入到代码窗口当中,在代码窗口中的对象列表框中选择按钮对象Command1;在过程列表框中选择按钮对象的Click事件,在Com
29、mand1对象的Click事件下添加如下的程序代码。,4.8 本章小结,若想学习编程语言,必须首先学习编程语言的语法及语句结构。本章系统地向读者讲解了有关Visual Basic编程语言当中的语法及语句的相关知识。您在学习了本章的内容之后,相信您的编程水平将会有了显著的提高。在学习了本章中的内容之后,读者可以达到以下几个学习目的。理解常量和变量的概念及其具体的应用;在编程时能够灵活地运用运算符与表达式等相关知识;能够使用顺序结构语句编写程序;能够使用选择结构语句编写程序;能够使用循环结构语句编写程序;在应用程序当中能够熟练地使用Go To语句、Exit For语句和End等语句进行编程。,本章
30、习题,一、填空题1把整型数1赋给一个逻辑型变量,则逻辑变量的值为_。2刚被声明尚未赋值的日期型变量的值为_;逻辑型变量的值为_;对象型变量的值为_;变体型变量的值为_。3如果在模块的声明段中有Option Base 0语句,则在该模块中使用Dim a(6,3 To 5)声明的数组有_个因素。4表达式(-3)Mod 8 的值为_。5表达式ALikeA的值为_。6判断X是不是能被5整除的偶数,则逻辑表达式应该写为_。二、选择题1下面哪一组语句会产生错误()A Dim int1 As Integer:int1=True B Dim str1 As string*10:str1=123.4.5C Dim int1 As Integer:int1=123.4 D Dim bln1 As Boolean:bln1=Yes2下列数据类型中,占用内存最小的是()A Boolean B Byte C Integer D Single3在窗体模块声明中声明变量时,不可能使用下列哪个关键字()A Dim B.Private C Public D Static三、编程题1编程九九乘法表。2编写程序,求1到100之间所有奇数的和。,