1 / 33

第 2 章

程序设计基础. 第 2 章. 学习程序设计的基本方法: 多练 模仿. 第 2 章 程序设计基础. 程序中的大部分实际工作是采用程序代码来处理的 任何一个程序设计语言都有一套严格的编程规定 本章主要内容 数据类型 常量与变量 表达式 常用内部函数 程序代码编写规则. 2.1 数据类型. 数据是程序处理的对象。为了更好地处理各种各样的数据, VB 定义了多种数据类型 数值型

claire
Download Presentation

第 2 章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 程序设计基础 第 2 章 学习程序设计的基本方法: 多练 模仿

  2. 第2章程序设计基础 • 程序中的大部分实际工作是采用程序代码来处理的 • 任何一个程序设计语言都有一套严格的编程规定 本章主要内容 数据类型 常量与变量 表达式 常用内部函数 程序代码编写规则

  3. 2.1数据类型 • 数据是程序处理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型 • 数值型 • 数据类型 字符型 • 逻辑型 • 日期型 • 对象型 • 变体型 整数: 整型/长整型 字节型 浮点型: 单/双精度 货币型

  4. 1. 整型(Integer)和长整型(Long)不带小数部分的数,表示正整数、负整数和零 整型数: -32768~32767长整型数:-2147483648~21474836472. 字节型(Byte)字节型数可以表示无符号的整数0~2553. 单精度型(Single)和双精度型(Double)浮点数。表示带有小数部分的数 表示数的范围大,但有误差。 如超出某个表示范围,则用科学记数法 例如:4.53E8(4.53×108),8.173E-14,3.14D234. 货币型(Currency)专门为处理货币而设计的数据类型 它可最多保留小数点右边4位和小数点左边15位

  5. 5. 字符型(String)用双引号括起来的一串字符。 例如,“Canton”、”1+2=?”、”Good└┘Morning”等“″”称为起止界限符。 字符串长度。分变长字符串(长度不固定)和定长字符串(长度固定)在VB中,把汉字作为一个字符来处理。6. 逻辑型(Boolean)逻辑型又称布尔型,其数据只有True(真)和False(假)两个值7. 日期型(Date)表示日期和时间 用两个“#”符号把日期和时间的值括起来 如:#08/20/2001#、#2001-08-20#

  6. 8. 对象型(Object)对象型数据可用来表示应用程序中的对象9. 变体型(Variant)变体型数据是一种可变的数据类型,可以存放任何类型的数据 当指定变量为Variant变量时,VB会自动完成必要的转换 在程序中不特别说明时,VB会自动将该变量默认为Variant型变量。 例:Temp=“22”’字符串Temp=Temp-1 ’数值Temp=#01/01/2002# ’日期

  7. 说明:(1)不同类型的数据,所占的存储空间不一样。(2) 数据的类型可在数据之后加上一个类型符来表示,例如,413&,86!,104.67#等。

  8. 2.2 常量与变量 • 2.2.1 常量 • 在程序运行期间其值始终保持不变的量 • 两种形式的常量:一般常量和符号常量 • 1. 一般常量 • 在程序代码中直接给出的数据。例如:123,-263, “Visual Basic” , “12.57 ”等 • 2. 符号常量 • 符号常量是在程序中用符号表示的常量。 格式: • [Public|Private] Const 常量名 [As 数据类型]=表达式 • 例如: • Const PI=3.14159 As Single

  9. 2.2.2变量 • 变量是在程序运行期间其值可以发生变化的量 • 1. 变量的命名规则 • 应遵守一些规则: • (1)变量名必须以字母开头; • (2)只能由字母、数字和下划线组成。不能含有小数点、空格等字符; • (3)字符个数不得超过255个; • (4)不能使用VB的关键字(如语句名、函数名等)。例如,Print、Sub、End等; • (5) 不区分变量名中字母的大小写

  10. 2. 变量的声明 变量的声明就是向程序说明要使用的变量 有以下2种方法(显式声明与隐式声明) (1) 声明变量(显式声明) 用Dim、Public、Private或Static语句来声明变量 例如:Dim sum As Integer ′把sum定义为整型变量(2)隐式声明不加说明就直接使用变量,此时默认的变量类型为变体类型(Variant) 也允许使用类型符来声明变量的类型,如Num%,Sum!

  11. 2.3 表达式 五类表达式:算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式 2.3.1 算术表达式算术表达式也称数值表达式,是用算术运算符把数值型常量、变量、函数连接起来的式子 表达式的运算结果是一个数值 VB有8种算术运算符(表2.2) 运算符优先级^(乘方) → -(求负) → */ → \ → Mod →+-同级左到右

  12. 说明: (1)/和\的区别:1/2=0.5,1\2=0 (2)Mod用来求整型数除法的余数。 例如:9 Mod 7 结果为 2 (3)在表达式中乘号不能省略,如a*b不能写成ab(或a·b) (4)括号不分大、中、小,一律采用圆括号。可以嵌套使用 例如,x[x(x+1)+1]→x*(x*(x+1)+1)

  13. 2.3.2 字符串表达式 字符串表达式是采用连接符将两个字符串常量、字符串变量、字符串函数连接起来的式子。 连接符有两个:&和+其作用都是将两个字符串连接起来,运算结果是一个字符串。 例如:”计算机”& ”网络” 的结果是: ”计算机网络” ”123” + ”45”的结果是: ”12345” 123 & ”ABC”的结果是: ”123ABC”

  14. 2.3.3 日期表达式 日期表达式是用运算符(+或-)将算术表达式、日期型常量、日期型变量和函数连接起来的式子。 有以下3种运算方式:(1)两个日期型数据相减,其结果是一个数值型数据(相差的天数)。 例如:#8/8/2001# - #6/3/2001# 的结果为:66 (2)日期型数据加上天数,其结果为一个日期型数据。 例如:#12/1/2000#+31 的结果为:#01/01/2001# (3)日期型数据减去天数,其结果为一个日期型数据。 例如:#12/1/2000#-32 的结果为:#10/30/2000#

  15. 2.4 常用内部函数 内部函数是由VB系统提供的,每个内部函数完成某个特定的功能。在程序中使用函数称为调用函数 函数调用的一般格式为:函数名(参数1,参数2,…)参数(也称自变量)放在圆括号内,若有多个参数,以逗号分隔。 函数调用后,一般都有一个确定的函数值,即返回值。 例如:y=Sqr(289) Sqr是内部函数名,289为参数,运行时该语句调用内部函数Sqr来求289的平方根,其计算结果由系统返回给变量y  VB的内部函数大体上分为四大类:数学函数,字符串函数,日期与时间函数和转换函数。

  16. 2.4.1 数学函数 VB中备有各种计算算术函数的子程序,在程序中要使用某个函数时,只要调用该函数就行了。 使用数学函数的几点说明:(1)三角函数的自变量单位是弧度 如Sin47°应写成 Sin(47*3.14159/180)。(2)函数Int是求小于或等于x的最大整数。 例如 Int(2)=2, Int(-2.5)=-3当x≥0时就直接舍去小数,若x<0则舍去小数位后再减1 利用Int函数可以对数据进行四舍五入。例如,对一个正数x舍去小数位时进行四舍五入,可采用如下式子: Int(x+0.5)当x=9.4时,Int(9.4 + 0.5)=9当x=9.5时,Int(9.5 + 0.5)=10

  17. (3)随机函数可以模拟自然界中各种随机现象,它所产生的随机数,可以提供给各种运算或试验使用(3)随机函数可以模拟自然界中各种随机现象,它所产生的随机数,可以提供给各种运算或试验使用 Rnd通常与Int函数配合使用 生成[a, b]区间范围内的随机整数,可以采用 Int((b-a+1)*Rnd + a) 例如 Int(4*Rnd+1)可以产生1~4之间(含1和4)的随机整数。可以是1,2,3或4,这由VB运行时随机给定 使用Rnd函数之前,先用Randomize语句来初始化随机数生成器

  18. 例2.1给定一个两位正整数(如36),交换个位数和十位数的位置,把处理后的数显示在窗体上例2.1给定一个两位正整数(如36),交换个位数和十位数的位置,把处理后的数显示在窗体上 编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = 36 a = Int(x / 10) '求十位数 b = x Mod 10 '求个位数 c = b * 10 + a '生成新的数 Print "处理后的数: "; c End Sub 运行程序后单击窗体,输出结果是: 处理后的数:63

  19. 把上述程序改为以下形式,效果是否一样? 想一想 Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = 36 a = x \ 10'求十位数 b = x – 10 * a'求个位数 c = b * 10 + a Print "处理后的数: "; c End Sub 通常,解决某个问题的程序方法有多种,我们应该从中选择较优的一种方法。

  20. 例2.2通过随机函数产生2个两位正整数,求这2个数例2.2通过随机函数产生2个两位正整数,求这2个数 之和并显示出来 编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Randomize '初始化随机数生成器 a = Int(90 * Rnd + 10) '产生[10,99]区间内的随机整数 b = Int(90 * Rnd + 10) c = a + b '求两数之和 Print "产生的两个随机数: "; a, b Print "和数: "; c End Sub 运行程序后单击窗体,输出结果是: 产生的两个随机数:56 71 和数:127 再次运行程序,单击窗体后输出另一组结果是: 产生的两个随机数:18 37 和数:55

  21. 2.4.2字符串函数 字符串函数用于进行字符串处理 使用字符串函数的几点说明:(1)函数Mid(“ABCDEG”,3,2)的结果为”CD” 若省略n,则得到的是从P开始的往后所有字符,如 Mid(“ABCDE”,2)的结果为 “BCDE”  (2)插入字符串语句Mid,该语句格式如下: Mid(字符串, p[,n]) = 子字符串 用“子字符串”替换“字符串”中从P开始的与“子字符串”等长的一串字符。 例如,假设S=“ABCDE“,执行语句Mid(S,3)=“99“后,S的值为“AB99E“

  22. (3)在函数Instr中,f和k均为可选参数,f表示开始搜索的位置(默认值为1),k表示比较方式,若k为0(默认),表示区分大小写;若k为1,则不分大小写。(3)在函数Instr中,f和k均为可选参数,f表示开始搜索的位置(默认值为1),k表示比较方式,若k为0(默认),表示区分大小写;若k为1,则不分大小写。 格式: Instr(f, 字符串1,字符串2,k) 例如 Instr(3, ”A12a34A56”,”A”)的结果为 7 Instr(3, ”A12a34A56”, ”A”, 1) 的结果为 4Instr(”A12a34A56”,”A”)的结果为 1 (4)在函数String中,字符也可以用ASCII代码(附录一)来表示 例如 String(6, 42)与 String(6, ”*”)作用相同

  23. 例2.3使用字符串函数示例 先从字符串a中找出某个指定字符(本例为空格),再以此字符为界拆分成两个字符串。编写的窗体单击过程代码如下: Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = "Visual└┘FoxPro" '└┘表示空格 n = InStr(a, "└┘") '查找空格位置 b = Left(a, n - 1) '取左边部分 c = Mid(a, n + 1) '取右边部分 Print b '显示左边部分 Print c '显示右边部分 End Sub 程序运行后单击窗体,输出结果是:Visual FoxPro

  24. 想一想 若用 Right函数来代替 Mid函数, 应如何改动? Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = "Visual└┘FoxPro" '└┘表示空格 n = InStr(a, "└┘") '查找空格位置 b = Left(a, n - 1) '取左边部分 c = Right( ____, ____ )'取右边部分 Print b '显示左边部分 Print c '显示右边部分 End Sub 程序运行后单击窗体,输出结果是:Visual FoxPro 答案:a, Len(a)-n

  25. 2.4.3 日期与时间函数 日期/时间函数用于进行日期和时间处理 说明: 函数Weekday返回值1~7,依次表示星期日到星期六。

  26. 例2.4使用日期/时间函数示例 (留给学生分析) Private Sub Form_Click() x = #1/1/2005# a = x - Date b = Weekday(x) c = Year(Date) d = Month(Date) e = Hour(Time) f = Minute(Time) Print "现在距离2005年元旦还有: "; a; "天" Print "2005年元旦是:星期"; b-1 Print "本月份是:"; c; "年"; d; "月" Print "现在是:"; e; "时"; f; "分"End Sub 运行程序后单击窗体,输出结果如下:现在距离2005年元旦还有:1184天2005年元旦是:星期6本月份是:2001年10月 现在是:16时27分

  27. 2.4.4类型转换函数 转换函数用于数据类型的转换 说明:Val函数将数字字符串转换为数值型数字时,会自动将字符串中的空格去掉,并依据字符串中排列在前面的数值常量来定值,例如: Val("A12") 的值为 0 Val("12A12") 的值为 12 Val("1.2e2") 的值为 120 例2.4 使用转换函数的示例(留给学生分析)Private Sub Form_Click() x = "123" y = 123 a = Chr(Asc(x) + 5) b = Str(Val(x) + 5) c = Val(Str(y) + "5") Print a,b, c End Sub运行程序后单击窗体,输出结果如下: 6 128 1235

  28. 2.5程序代码编写规则 2.5.1 语句及语法VB中的程序语句是执行具体操作的指令。 由VB关键字、属性、表达式以及VB可识别符号的组合 例如,下列两个语句: Print a – 2 * b↑ ↑ 关键字 表达式 Text1.Text ═ “VB程序设计” ↑ ↑ ↑ ↑对象名 属性名 赋值号 表达式 简单的语句只有一个关键字。示例: End

  29. 建立程序语句时必须遵守的构建规则称为语法。建立程序语句时必须遵守的构建规则称为语法。 统一约定符号如下:[] 方括号,可选项{} 多项中选一项 |(竖线)用来分隔多个选择项(选其中之一项) ,…表示同类项目的重复出现

  30. 2.5.2代码书写规则 在编写程序代码时,要遵守一定的规则。不能超越其规定来自由发挥。 (1) 一行写多条语句。冒号分隔Sum=Sum+x : Count=Count+1 (2) 一条语句写成多行 使用续行符(一个空格后面跟随一个下划线“_”),将长语句分成多行。例如:Print Text1.Text & Text2.Text & Text4.Text &└┘_ & Left(Text3.Text,3) (3)不区分大小写字母VB不区分应用程序代码字母的大小写 。

  31. (4)各关键字之间,关键字和变量名、常量名、过程名之间一定要有空格分隔。(4)各关键字之间,关键字和变量名、常量名、过程名之间一定要有空格分隔。 示例: Private└┘ Sub└┘ Form_Click() (5)使用缩进在编写程序代码时,可以使用缩进来反映代码的逻辑结构和嵌套关系。例如:Private Sub Form_Click() x=4 If x<1 Then Print "x<1" Else Print "x>=1" End If End Sub

  32. (6)严格按照VB规定的格式和符号编写程序。 与其他高级语言一样,在VB中使用的分号、引号、括号等符号都是英文状态下的半角符号,而不能使用中文状态下的全角符号。 许多程序错误都是由此而起!!!! 例如:If a<5 Then x=10 Print "x="; x 不能写成 If a〈 5 Then x=10 Print “x=”;x 全角符号 全角符号

  33. E 真 假 E 真 B A L A B (a) (b) (c) 顺序结构 选择结构 循环结构 2.5.3结构化程序的基本结构 VB支持结构化的程序设计方法 其程序结构清晰,可读性好,也易于查错和修改 结构化程序设计方法有三种基本控制结构: 顺序结构、选择结构和循环结构 具有单入口,单出口的特点

More Related