Download presentation
Presentation is loading. Please wait.
1
Visual Basic程序设计
2
第2课 Visual Basic程序设计基础 ● 2.5 常用内部函数 ● 2.6 语句 ● 习题2 ● 2.1 基本数据类型
● 日期运算符和日期表达式 ● 关系运算符和关系表达式 ● 逻辑运算符和逻辑表达式 ● 表达式的执行顺序 ● 2.5 常用内部函数 ● 数学运算函数 ● 字符串函数 ● 日期和时间函数 ● 格式输出函数 ● 随机数语句和函数 ● 数据类型转换函数 ● Shell函数 ● 2.6 语句 ● 程序语句 ● 语句的书写规则 ● 命令格式中的符号约定 ● 习题2 ● 基本数据类型 ● 数值(Numeric)型数据 ● 字符(String)型数据 ● 逻辑(Boolean)型数据 ● 日期(Date)型数据 ● 变体(Variant)型数据 ● 其他数据类型 ● 2.2 变量 ● 变量的命名规则 ● 变量命名的注意事项 ● 变量声明 ● 2.3 常量 ● 直接常量 ● 符号常量 ● 2.4运算符和表达式的使用 ● 算术运算符和算术表达式 ● 字符串运算符和字符串表达式
3
● 2.1 基本数据类型 ● 2.1.1 数值(Numeric)型数据 1. 整型数
(1) 整数(Integer) (2) 长整型数(Long) 2. 浮点数 (1) 单精度数(Single) (2) 双精度数(Double) 3. 数值型数据的使用说明 ● 字符(String)型数据 1. 变长字符串 定长字符串 ● 逻辑(Boolean)型数据 ● 日期(Date)型数据 ● 变体(Variant)型数据 ● 其他数据类型 1. 字节Byte 货币型Currency 对象(Object)型数据
4
● 2.2 变量 ● 变量的命名规则 1) 常量名由1~255个字符组成,包含的符号可以是数字、英文字母或下划线,中间不能有“.”或其他类型说明字符,并且必须以英文字母开头。 2) 不能用VB的保留字作变量名,但可以把保留字嵌入变量名中;同时,变量名也不能是末尾带有类型说明符的保留字 3) 变量名在同一个范围内必须是惟一的。 ● 变量命名的注意事项 在为变量命名时应注意: 1) 取名最好使用有明确实际意义和容易记忆以及通用的变量名,即要见名知义。比如用sum(或s)代表求和,用Difference(或d)代表求差等。 2) 尽可能简单明了,尽量不要使变量名太长, 3) 不能用VB的关键字做变量名。 4) 变量名不能与过程名和符号常量名相同。 5) 尽量采用VB建议的变量名前缀或后缀的约定来命名,以便区分变量的类型。 6) VB不区分变量名和其他名字中字母的大小写,
5
● 变量声明 1. 声明变量 声明语句的语法为:{Dim | Private | Static | Public} 〈变量名〉[As〈类型〉][,〈变量名2〉[As〈类型2〉]] 2. 强制显式声明变量语句Option Explicit
6
● 2.3 常量 ● 2.4 运算符和表达式的使用 1. 算术运算符 ● 2.3.1 直接常量
● 直接常量 根据使用的数据类型,可分为:字符串常量、数值常量、逻辑常量、日期常量。 ● 符号常量 1. 系统提供的常量 2. 程序员声明的常量 声明常量的语法格式为: [Public | Private] Const 〈常量名〉 [As 〈数据类型〉] =〈表达式〉… ● 2.4 运算符和表达式的使用 ● 算术运算符和算术表达式 1. 算术运算符 2. 算术表达式 算术表达式的格式为: 〈数值1〉〈算术运算符1〉〈数值2〉[〈算术运算符2〉〈数值3〉] … 3. 算术表达式的书写规则
7
4. 算术运算符的优先级 指数运算^→取负-→乘法*、浮点除法/ →整除\ →求模Mod →加法+、减法- 5. 算术表达式中数据类型的匹配规则 1) 同类型数据运算后,其结果的类型保持不变。 2) 整型数据与实型数据运算后,其结果为实型。 3) 整型与长整型数据运算后,其结果为长整型。 4) 单精度与双精度运算后,其结果为双精度型。 ● 字符串运算符和字符串表达式 1. 字符串运算符 2. 字符串表达式 字符串表达式的格式为:〈字符串1〉&〈字符串2〉[&〈字符串3〉] … ● 日期运算符和日期表达式 1. 日期运算符 日期型表达式
8
● 关系运算符和关系表达式 1. 关系运算符 2. 关系表达式 关系表达式的格式为:〈表达式1〉〈关系运算符〉〈表达式2〉 3. 使用关系比较时的注意事项 ● 逻辑运算符和逻辑表达式 1. 逻辑运算符 逻辑运算符的优先级为:NOT、AND、OR、XOR、EQV、IMP。 2. 逻辑表达式 逻辑表达式一般格式为:〈关系表达式1〉〈逻辑运算符〉〈关系表达式2〉
9
3. 逻辑表达式的运算顺序 优先级别为:算术运算、关系运算、逻辑运算。 ● 表达式的执行顺序 一般运算顺序如下: 第一级:函数运算 第二级:算术运算:^ → -(取负) → *,/ → \ → Mod → +,- → & 第三级:关系运算:<,<=,=,>=,>,<> 最后级:逻辑运算:Not → And → Or → Xor → Eqv →Imp
10
【例2-1】求VB表达式4 + 2 > 3 + 5 And Not 2 < 3的值。
分析:在计算前,先要看清表达式中有哪些运算符,根据运算符的优先级进行计算。本例应按下面的步骤进行计算: 1) 算术运算: > 8 And Not 2 < 3 2) 关系运算: False And Not True 3) 非运算: False And False 4) 结果: False 【例2-2】一元二次方程ax2 + bx + c = 0有实根的条件为:a≠ 0,并且b2 - 4ac ≥ 0,写出相应的VB逻辑表达式。 分析:一元二次方程ax2 + bx + c = 0有实根的条件,有两个,即a≠ 0和b2 - 4ac ≥ 0。 a≠ 0用VB表达式表示为:a <> 0 b2 - 4ac ≥ 0用VB表达式表示为:b^2 – 4 * a * c >= 0 两者是与(And)的关系,用And连接上面的两个式子,结果为: a <> 0 And b^2 – 4 * a * c >= 0 【例2-3】闰年的条件是:年号(year)能被4整除,但不能被100整除;或者能被400整除。写出闰年的VB逻辑表达式。
11
分析:设y表示年份,被某个数整除,可以用求模运算符Mod或 \ 或Int( )函数来实现。
能被4整除,但不能被100整除的表达式为:y Mod 4 = 0 And y Mod 100 <> 0 能被400整除的表达式为:y Mod 400 = 0 两者取“或”,即得判断闰年的逻辑表达式: (y Mod 4 = 0 And y Mod 100 <> 0) Or (y Mod 400 = 0) 用Int( )函数表示为: (Int(y / 4) = y / 4 And Int(y / 100) <> y / 100) Or (Int(y / 400) = y / 400) ● 2.5 常用内部函数 ● 数学运算函数 ● 字符串函数 格式为: 新字符串=StrConv(待转换字符串,转换格式)
12
● 日期和时间函数 语法格式为: DateAdd(〈间隔单位〉,〈增减量〉,〈原日期变量〉)
13
● 格式输出函数 语法格式为: Format(〈表达式〉,〈格式字符串〉) ● 随机数语句和函数 ● 数据类型转换函数
14
● 2.6 语句 ● 2 .5.7 Shell函数 Shell函数在语法格式如下:Shell(pathname[,windowstyle])
● 2.6 语句 ● 程序语句
15
例如: Beep 语句也可以是各种元素的组合,例如下面的语句,把当前系统时间赋值给标签的Caption属性: ● 语句的书写规则 1. 自动语法检查 2. 格式化处理 3. 复合语句行 4. 语句的续行 ● 命令格式中的符号约定 例如: [〈对象表达式〉] Print [〈表达式表〉] { , | ; }
16
● 习题2 2.1 VB定义了哪几种数据类型?变量有哪几种数据类型?常量有哪几种数据类型? 2.2 下列哪个符号不能作为VB中的变量名?
(1) ABCDEFG (2) P (3) 89TWDDFF (4) xyz 2.3 下列符号哪一个是VB中的合法变量名? (1) AB7 (2) 7AB (3) IF (4) A[B]7 2.4 如果希望使用变量x来存放数据 ,应该将变量x声明为何种类型? 2.5 下列数据哪些是变量?哪些是常量?是什么类型的常量? (1) name (2) "name" (3) False (4) ff (5) "11/16/99" (6) cj (7) "120" (8) n (9) #11/16/1999# (10) 2.6 VB共有几种表达式?根据什么确定表达式的类型? 2.7 在VB中,对于没赋值的变量,系统默认值是什么? 2.8 表达式2 *3^2 + 2 * 8 / 4 + 3^2的值为: (1) 64 (2) 31 (3) 49 (4) 22 2.9 把下列数学表达式,改写为等价的VB算术表达式。
17
(1) (2) (3) (4) 2.10 把VB算术表达式a / (b + c / (d + e / Sqr(f)))写成数学表达式。 2.11 写出下列表达式的值。 (1) ( * 3 ) / 2 (2) 3^2 + 8 (3) #11/22/99# – (4) "ZYX" & 123 & "ABC" 2.12 设A = 7,B = 3,C = 4,求下列表达式的值: (1) A + 3 * C (2) A^2 / 6 (3) A / 2 * 3 / 2 (4) A Mod 3 +B^3 / C \ 5 ] 写出下列表达式的值,并在“立即窗口”中验证。 (a) "Visual"+"Basic" (b) "xyz" & 1234 & "ABCD" (c) "12345" <> "12345" & "ABC" (d) Not 2*5<>11 (e) 4=4 And 5> (f) Not 8<5 Or 9>3 And 7<9 Or 8=6
18
2.14 根据所给条件写出对应的逻辑表达式。 (a) 征兵的条件为:男(sex)、年龄(age)在18~20之间,身高(height)在1.65米以上;或女、年龄在16~18之间、身高在1.6米以上。 (b) 工资调整的条件为:工龄(gongling)在15年以上,岗位(gangwei)是工人;或工龄在10年以上,岗位是教师。 2.15 写出下列函数的值,并在“立即窗口”中验证。 (1) Int(– ) (2) Sqr(Sqr(64)) (3) Fix(– ) (4) Int(Abs(99–100)/2) (5) Sgn(7*3+2) (6) Month("02,08,26") 2.16 函数Int(Rnd(0) * 10)是在哪个范围内的整数? (1) ( 0 , 1 ) (2) ( 1 , 10 ) (3) ( 0 , 10 ) (4) ( 1 , 9 ) 2.17 如果x是一个正实数,对x的第3位小数四舍五入的表达式是: (1) 0.01 * Int(x ) (2) 0.01 * Int(100 * (x )) (3) 0.01 * Int(100 * (x )) (4) 0.01 * Int(x ) 2.18 数学式子sin25°写成VB表达式是: (1) Sin25 (2) Sin(25) (3) SIN(25°) (4) Sin(25*3.14/180)
Similar presentations