首页 vb第四章 数据、表达式与简单程序设计

vb第四章 数据、表达式与简单程序设计

举报
开通vip

vb第四章 数据、表达式与简单程序设计null第四章第四章数据、表达式与简单程序设计本章要点本章要点VB程序设计的概念 VB的过程与模块 VB语言基本成分 (数据类型,函数,表达式) 4.1VB程序代码的组织方式 4.1VB程序代码的组织方式VB程序=窗体界面+程序代码 程序:有目的、有序代码的集合。 VB应用程序是面向对象的,是以分层方式组织的,不同层次的对象对应不同的程序代码; 目标:友好美观的界面,结构合理的程序结构。一、什么是过程?一、什么是过程?1、事先设计好的,一个整体执行的包含若干代码行的一个代码组。 2、过程的分类:(按执行...

vb第四章 数据、表达式与简单程序设计
null第四章第四章数据、 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达式与简单程序设计本章要点本章要点VB程序设计的概念 VB的过程与模块 VB语言基本成分 (数据类型,函数,表达式) 4.1VB程序代码的组织方式 4.1VB程序代码的组织方式VB程序=窗体界面+程序代码 程序:有目的、有序代码的集合。 VB应用程序是面向对象的,是以分层方式组织的,不同层次的对象对应不同的程序代码; 目标:友好美观的界面,结构合理的程序结构。一、什么是过程?一、什么是过程?1、事先设计好的,一个整体执行的包含若干代码行的一个代码组。 2、过程的分类:(按执行方式) 事件过程 通用过程null事件过程: 按层次的概念:事件过程存储于窗体文件(.frm)中,一般在本窗体内有效。 举例,详细见下null 事件过程的代码框架是由VB系统自动提供的,可通过单击“对象” 选择要编写代码的具体对象,单击“过程”下拉列表框选择具体的事件,在框架内加入代码即可(图3-1)。在保存窗体时,窗体的外观会和编写的事件代码一起保存。通用过程:通用过程: 不同层次的对象有相同的操作,可以共享某段程序代码,将此代码段作为通用过程。 通用过程是由事件过程或其它通用过程调用而执行的。 通用过程被所有窗体共享。 二、什么是模块二、什么是模块模块=各种过程+各种对象属性+其他 1、三种类型模块: 窗体模块(.frm) 标准模块(.bas) 类模块 (.cls)2、窗体模块2、窗体模块 每个窗体都有一个相对应的窗体模块。窗体模块包含: 用于处理发生在窗体中的各个对象的事件过程; 包含窗体及窗体中各个控件对象的属性设置以及相关的说明。3、标准模块3、标准模块被多个窗体共享的代码,应当被组织到所谓的“标准模块”之中。文件的扩展名是.BAS。 标准模块中保存的过程都是通用过程;还包含有相关的说明。 标准模块中代码不只能用于一个应用程序,还可供其他应用程序重复使用。null创建标准模块最简便的方法是: 单击工具栏上添加窗体按钮右侧向下的箭头,并在出现的选项表中选择“添加模块”(图3-2),然后再在出现的代码编辑窗口中输入代码即可。4、类模块4、类模块 类模块包含用于创建新的对象类的属性、方法的定义等。(本课不做介绍)练习练习P59 第1,2,3题4.2 VB代码的书写规则4.2 VB代码的书写规则一、原则: 要求规范、结构清晰; 培养良好的编程习惯; 二、语句格式: <语句定义符> [语句体] 例如: print “ok!” 三、书写规范 三、书写规范1、续行标记与语句之间分隔符:P42 例1,一个语句分写在多行上: Dim name As string, _ stu_number,computer,english _ As Integer 例2,一行写多个语句: x=10 : y$="Visual Basic” : z=20null2、语句输入时,可以不区分大小写字母,一个代码行输入完后,按回车键,光标自动移向下一行。 3、同时,系统还会自动把语句中所有“保留字”的第一个字母改为大写字母,并在其前后加上空格。 比如,Rem是系统保留字,所以不论输入的是ReM、还是rem或REM等,系统都会自动变换成Rem。(P42)四、程序中的注释文字四、程序中的注释文字(1)Rem语句 一般形式: Rem <注释> (2)单引号' 一般形式: '<注释>4.3 VB的数据类型4.3 VB的数据类型一、概念 1、VB有12种数据类型。关键:如何选择? 2、掌握数据的三要素:定义、范围、运算; 3、常量:程序运行中不变的量; 4、变量:程序运行中变化的量;变量是存储单元的代号;存储单元里面的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 (变量的值) 例:S=126.67二、数据类型一览表二、数据类型一览表nullnullP44 关于变体型数据 关键: 程序设计中如何选择合适的数据类型? 目的: 速度快;精度高4 .3.2 VB的常量4 .3.2 VB的常量1、数值常量:P44 由正负号、数字和小数点组成。 整数:分为整数和长整数。例如: 123 ,-227,32742 (整数) 1758642 ,-2345567 (长整数) 表示方法:十进制、八进制、十六进制 八进制:前加“&O”,例: &O137 十六进制:前加“&H”,例: &H137null浮点数(实型数): 带小数点的数。 分为单精度数和双精度数。例如: 23.4 ,-227.3,3.57E-4 (单精度数) 1.2758642 ,-2.345567D8 (双精度数) 在计算机中很大或很小的数,通常用指数形式表示,10的幂次以字母E(e) (单精度数)或D(d) (双精度数)表示。2.字符常量2.字符常量把一串字符用英文的双引号括起来,就构成一个字符常量。 例如: "Visual Basic"、"How are you!"、"aB"等都是合法的字符常量。 字符常量最多可达65535个字符。 注意:空格,大小写...问题 “ABC”不等于“abc” null 3、逻辑常量(布尔型): 只有两个值:true(真)和 false(假) 注意不要出现拼写错误!4.日期常量4.日期常量注意:为避免与字符型常量相混淆,日期常量用#括起来。 日期型常量的一般表示形式是: #月月/日日/年年# 如2003年月1日可表示为: #1/1/2003# 或者为:#January 1,2003#练习练习1、下列四组数据中,全部是正确的VB常数的是 : A、32768 , 1.34D2, “ABCDE”, &o1767 B、3276, 123.45, 1.2e-3, #True# C、&Habce, 02-0302003, false, D-3 D、ABCDE, #02002-2003#, E-2 2. P59 5 null5、符号常量(编译常量) 以符号形式表示的常量。 符号常量的命名规则:由字母开头的字母、数字和下划线组成,长度≤255。 类型:自定义符号常量 VB内部定义的符号常量(例p15) 自定义符号常量应用Const 语句先行说明,null[Public|Private]Const <常量名> [As Type] =<数值> Public——只能用在标准模块中 Private——可用于说明在模块中使用的常量 注意:它们均不能在过程中使用 例:Const PI As Single = 3.14 ‘PI是单精度数值常量 或: Const PI!= 3.14 格式为:4.3.3 VB 的变量4.3.3 VB 的变量1、概念 三要素: 变量名,类型,作用域与生命期2.变量名的命名规则2.变量名的命名规则首字符必须是字母; 长度不超过255个字符; 在作用域(有效作用范围)内必须唯一; 不得包括点号和%、&、!、#、@、$。 为了提高程序的可读性,变量名之前加上一个约定的前缀,用于表示变量的数据类型。约定的前缀见表4-2。 表4-2表4-2练习练习P59 第6题3.变量作用域与变量说明语句3.变量作用域与变量说明语句未加说明类型而使用的变量,系统一律按变体型处理; 不同的变量说明语句,变量作用域也不同。 1)变量作用域:变量的有效作用范围,称为变量的作用域。VB有三个作用域等级:1)变量作用域:变量的有效作用范围,称为变量的作用域。VB有三个作用域等级:注意:变量两个要点的应用在什么地方定义变量 用什么语句定义变量2)变量说明语句2)变量说明语句可使用四种说明语句说明变量的类型: Dim <变量名> As <类型>[, <变量名> As <类型>]... Public <变量名> As <类型>[, <变量名> As <类型>]... Private <变量名> As <类型>[, <变量名> As <类型>]... Static <变量名> As <类型>[, <变量名> As <类型>]...null其中: Public语句用于说明全局变量; Private语句用于说明窗体/模块级变量; 以上两个语句,只能用在模块的通用部分。 Static用于说明过程级的静态变量; Dim语句则可用于各种场合,是最常用的,其作用域取决于所说明的位置。null窗体级和公有级的变量应在代码窗口中的(通用)(声明)部分进行说明。例如: Dim Count As Integer Public Name As String, age As Integer 局部变量仅在使用它的过程中说明 Private Sub Command1_Click() Dim Count As Integer ... End Sub层次概念null 在用变量说明语句(如Dim语句)说明一个变量后,系统自动赋予一个初始值。若变量是数值型的,则初始值为0,字符串型的,则初始值为空串,逻辑型的则初始值为False。3)变量的生命期3)变量的生命期Public: 整个程序运行期间(作用域?全局) dim与private: 仅在声明它的模块运行期间,模块运行结束,释放。下次从0开始。 (作用域?窗体/模块级) static:“局部”有效;但系统强制保存它的地址,保留它的内容。下次不从0开始(参见第8章)。4)关于变量的隐式说明4)关于变量的隐式说明P47 表3-4null Private sub Form_Click() k& = 1 Country$ = “china” Print k,Country End SubK:长整型字符串型null 按照缺省规定,字符串型变量的长度是可变的,即它的长度可增可减。 也可以将字符串变量说明为具有固定长度。方法是: Dim <变量名> As String * size 例如,为了声明一个长度为 50个字符的字符串,可用下列语句: Dim MyName As String * 50null注意:标准模块中的定长字符串变量可说明为 Public 或 Private。在窗体和类模块中,定长字符串变量必须说明为 Private。 5)系统自动检查变量的合法性5)系统自动检查变量的合法性 在模块中使用Option Explicit语句,系统将检查模块中所有未加显式说明的变量。 例如:变量curSalary若使用Dim语句进行说明,一旦在程序中输入为curSalayr,就会得到错误的结果。使用以上语句,就可以通过系统自动检测发现并排除类似的错误。Option Explicit 语句输入方法:Option Explicit 语句输入方法:激活“代码编辑器”窗口; 从“对象”列表中选“通用”; 从“过程”列表中选“声明”; 在“代码”编辑栏中输入: Option Explicit4.4 运算符与表达式4.4 运算符与表达式VB中运算符和表达式可分为以下三类。 算术运算符与算术表达式 关系运算符与关系表达式 逻辑运算符与逻辑表达式 运算规则4.4.1 算术运算符与算术表达式4.4.1 算术运算符与算术表达式算术运算符 算术表达式null 1.算术运算符 设ia=3例:8\6=1,8 mod 6=2, 8/6=1.333333nullMOD取余运算符用于求余数,其结果为第一个操作数整除以第二个操作数所得的余数。如果左右操作数为实数,VB先对其进行四舍五入取整,然后求余。运算结果的符号取决于左操作数。 例: 10 mod 4 ’结果等于2 20 mod 2.6 ’结果等于2 25.63 mod 6.78 ’结果等于5 -5 mod 2 ’结果等于-1 -5 mod -2 ’结果等于-1 5 mod 2 ’结果等于1算术表达式算术表达式可以使用圆括号来改变运算次序。 例: a * b / (c * d) 3.14159265 * r ^ 2 等都是合法的算术表达式。 作业: P59第8题,第9题null例:5+10 mod 10 \ 9 / 3 +2 ^2结果:10null2. 字符串运算符(& 、+ 字符串连接) " 123 " + " 456 " 结果 " 123456 " " 123 " & " 456 " 结果 " 123456 " 区别: +: 两边应均是字符型, 若均为数值型则进行算术加法运算; 若一为数字字符型,另一个为数值型,则自动将数字字符转换为数值,再进行算术加运算; 若一为非数字字符型,另一个为数值型,则出错。 &: 连接符两旁的操作数不管是字符还是数值型,进行连接前,系统先将操作数转换成字符型,再连接。null例如: “ abcdef ” + 12345 实时错误’13’,数据类型不匹配 "abcdef" & 12345 ' 结果为"abcdef12345 " " 123 " + 456 ' 结果为 579 “ 123 ” & 456 ‘ 结果为 “ 123456 ” 运算符前后均应有空格,若无空格,对不同的操作符会有不同的结果。 如: “123”&456 ‘ 结果为 123 302 ,将&456 认为是八进制数,显示时转化为十进制数3024.4.2关系运算符与关系表达式4.4.2关系运算符与关系表达式 关系运算用于对两个数据进行比较,比较结果为逻辑值“True”或“False”。 关系运算符 关系表达式关系运算符关系运算符关系表达式关系表达式 关系表达式的运算是采用“按值比较”的方法,即先求出运算符两边的“值”,若为变量,则取其当前值,如果两端满足条件,则结果为“True”,否则,为“False”关系表达式关系表达式 字符型数据的关系运算是依照字符的ASCII代码,自左至右按照“查英语字典”的原则进行。汉字大于西文字符。例如: “aBcd” > “abc”的运算结果是False “abcd”<“河海大学”运算结果是True 注意: x+y>a+b 先做算术运算再做关系运算!4.4.3逻辑运算符与逻辑表达式4.4.3逻辑运算符与逻辑表达式 逻辑运算是对逻辑值进行的运算。 逻辑运算符 逻辑表达式逻辑运算符逻辑运算符NOT 逻辑非 (单目运算符) NOT A>B AND 逻辑与 例:a>=b AND a>=c OR 逻辑或 例:a>=5 OR a<= —5 XOR 逻辑异或 逻辑运算的优先次序是: NOT → AND → OR → XOR 逻辑表达式逻辑表达式逻辑表达式主要用于表示一些复杂的判断条件。 null例:用人单位招聘秘书:年龄小于40岁,女性,学历专科或本科 年龄<40 性别=“女” (学历=“专科” 学历=“本科”) 考虑:若分别写成: 年龄<40 And 性别=“女” And (学历=“专科” And 学历=“本科”) 年龄<40 Or 性别=“女” Or (学历=“专科” Or 学历=“本科”) 年龄<40 And 性别=“女” And (学历=“专科” or 学历=“本科”)例:表示算术表达式: 正确的VB表达式: 3〈=x And x <=7 错误的VB表达式: 3<=x<=7 或 3<=x Or x<=7 True相当于数值-1 false相当于数值0null比a小,比b大 用 Or比a大,比b小 用 And练习:P59第10题,第11题4.4.4 运算规则4.4.4 运算规则 1.表达式组成: 变量、常量、函数、运算符和圆括号 2.书写规则 (1)运算符不能相邻。例a+-b是错误的。 (2)乘号不能省略。例x 乘以y 应写成:x*y (3)括号必须成对出现,均使用圆括号。 (4)表达式从左到右在同一基准上书写,无高低、大小。 例:数学表达式 写成VB表达式: ((3*x+y)-z)/(x*y)^4 表达式中能用到VB内部函数的要使用函数。 null3. 不同数据类型的转换 不同数据类型的数据进行运算,结果的类型为两个运算对象中存储长度较长的那个对象的类型( 即向精度高的数据类型靠) 整型<长整型<单精度型<双精度型<货币型 注意:除法运算是个例外,不论除数 与被除数类型如何,结果总是双精度型。 4、运算优先级 算术运算符>=字符运算符>关系运算符>逻辑运算4.5赋值语句4.5赋值语句1、赋值语句的形式是: var = <表达式> 其中var可以是变量名或属性名。 使用赋值语句可给变量或为属性赋值。 null例如: x = "This is a flower” number% = 72+23 Text1.Text = "Filename is:" Text1.Font.Size = 12 Y = (a + b )/2 使用赋值语句还可以获取一个对象返回的当前属性值。 var=text1.text注意注意‘=’不是等号,是赋值号; 赋值号的左边必须是变量; 先运算,再赋值; 赋值号左右两边的数据类型 要匹配;2、不同数据类型数据的赋值2、不同数据类型数据的赋值null上机练习: P60:第13题 4.6 VB 的系统函数(p52)4.6 VB 的系统函数(p52)一、概念 1、系统函数=公共函数=内部函数 2、函数三要素: 名称和功能 参数(个数,类型,位置) 返回值与返回值的类型null二、算术函数 三、字符函数 四、转换函数 五、日期与时间函数 六、格式化函数:Format$null 常用的算术函数说明: (1) 在三角函数中的自变量是以弧度为单位。 如:sin300 sin(3.14159/180*30) (2) Rnd函数返回0 ~ 1(包括0和不包括1)之间的双精度随机数。 若要产生1-100的随机整数: Int(Rnd *(100-1+1))+1 提问:怎样产生[N,M]区间的随机数? Int(Rnd *(M-N+1))+1nulla$=“ABCDEF中国GHIJK” Print Left(a$,4) //ABCD Print Mid$(a$,3,4) //CDEF Print Right(a$,4) //HIJK Print Len(a$) //13 Print InStr(4,a$,”GHIJ”) //9 Print String(5,”-”) //----- Print “a”+space(4)+”b” //a b C$=“Visual Basic” Print Ucase(C$) //VISUAL BASIC Print Lcase(C$) //visual basicnullPrint Str(78.54) // 78.54 Print Cstr(78.54) //78.54 Print Val(“354gsda”) //354 Print Chr(97) //A Print Asc(“a”) //97 X=-76.78 Print Fix(x) //-76 Print Int(x) //-77 Print Cint(x) //-77 X=76.78 Print Fix(x) //76 Print Int(x) //76 Print Cint(x) //77 Print Cint(77.5) //78 Print Cint(76.5) //76 null六、格式化函数FORMAT[$] 功能:用于将数值、日期和时间数据按指定的格式输出。 形式:Format[$](<表达式>,fmt$) Fmt$——用于格式控制的字符串 格式控制字符有: #、0、.、,、%、$、-、+、(、)、E+、E-null0:数字保留区,如果恰当,在本位置打印尾部或前导0 # :数字保留区,不打印尾部或前导0 . :小数保留区 ,:千位分隔符 -、+、$、(、) :原样显示 E+、E- :指数输出控制符 null例:设x=123456.78 Print Format(x, "00000000.0000") Print Format(x, "############") Print Format(x, "###,###,###.#") Print Format(x, "###,###,##0.000") Print Format(x, "########%") Print Format(x, "#0.0E+")null练习: P60:第12,15题 null4.7 用户交互函数 4.7. 1. InputBox函数 用来接受用户通过键盘输入的数据。 形式: V=InputBox(Prompt[,title][,Default] [,x,y][,helpfile,context]) 即: 变量名=InputBox (<提示信息>[,<标题>][,<缺省>][,][,] ) 其中:提示 提示信息,标题 标题区显示,缺省输入区缺省值null 例如:有下列语句如下: Dim strName As String * 40, strS1 As String * 40 strS1 = “请输入你的姓名” + Chr(13) + Chr(10) + “然后单击确定” strName= InputBox$(strS1, “输入框”, , 100,100) 当键盘输入“王晓明” 后,变量strName获得键盘输入的值.nullnullPrivate Sub Form_Click() PassWord = InputBox("输入你的口令:", "程序示例") If PassWord = "123456" Then Print "OK!" Else Print "Error!" End If End Sub函数返回值例4.7.2 MsgBox函数4.7.2 MsgBox函数作用: MsgBox函数用于向用户发布提示信息,并要求用户作出必要的响应。 形式是: MsgBox(Prompt[,button][,title] [,helpfile,context])nullbutton: 这是一个由4个数值常量组成的式子,形式为: c1+c2+c3+c4 见表4-10 (P58) nullnullnull Print MsgBox("非法数据!", vbOKOnly + 48 + 0, _ "提示信息")null Print MsgBox("请输入X值!", 16+vbOKOnly, "ex4_6")MsgBox函数根据用户选择单击的按钮而返回不同的值:MsgBox函数根据用户选择单击的按钮而返回不同的值:参见P59 表4-11。null 三种方法都可以获得如图所示画面。 但第二、三种用法将不保存用户点击不同按钮的返回值(或没有返回值)。该函数可有如下三种使用方法:例null习题: P61:第16,17,18题 null2. MsgBox函数和MsgBox过程 函数形式:变量[%] = MsgBox(提示[,按钮[+图标]+ [缺省按钮]+[模式]][,标题]) 过程形式: MsgBox 提示[,按钮[+图标] +[缺省按钮]+ [模式]][,标题]null说明: 1 “标题”和“提示”与InputBox函数中对应的参数相同; 2 “按钮+图标 +缺省按钮+模式”是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模式(见表4.10) 3 若程序中需要返回值,则使用函数,否则可调用过程。 使用赋值语句。(有返回值 )例如: Ans=MsgBox(“非法数据!”,48,“提示信息”) 使用Print方法。 (无返回值 )例如: Print MsgBox(“非法数据!”,48,“提示信息”) 等同为一个方法使用。 (无返回值 )例如: MsgBox “非法数据!”,48,“提示信息” null根据用户所选按钮,函数返回1—7的整数值,其含义如下表:(表4.11)P58表4-10 按钮及图标值如下:null常见错误 1. 使用中文标点符号 系统产生“无效字符”,以红色显示 2. 字母和数字形状相似 小写字母“l”和数字“1”形式相同、小写字母“o”与数字“0”。 3. 对象名称(Name)属性写错 Text1、Text2、Command1 txtInput、txtOutput、cmdOk 4.对象的属性名、方法名、标准函数名写错 尽量使用自动列出成员功能。正确的系统按规定的大小写表示。 5. 无意形成控件数组 建立控件时小心使用“复制”、“粘贴”按钮 6. 打开工程时找不到对应的文件 保存文件时先保存窗体.frm文件、再保存.vbp文件,注意路径。常见错误常见错误1.逻辑表达式书写错,在VB没有造成语法错而形成逻辑错 例数学表达式 3≤x<10 VB表达式为 3<=x<10 问题在于VB中的逻辑量与数值量可互转 2.同时给多个变量赋值,在VB没有造成语法错而形成逻辑错 例 Dim x%,y%,z% x=y=z=1 3. 标准函数名写错 4.变量名写错 检查方法:在通用声明段加Option Explicit 5.语句书写位置错 在通用声明段只能有定义常量和变量的语句,不能有赋值等其它语句本章总结本章总结VB程序的组织方式 (模块与过程) 数据、表达式及运算规则: 类型、常量、 变量说明与作用域;(两个要点) 运算符与表达式、运算规则 公共函数:(三要素) 常用算术函数、转换函数、字符函数、 日期函数及Format函数的功能及应用 赋值语句及InputBox、MsgBox函数 难点:变量作用域;函数的应用课堂作业:下课交课堂作业:下课交正确表示命题“A是一个带小数的正数,且B是一个带小数的负数”的逻辑表达式是 。课堂作业课堂作业正确表示命题“A是一个带小数的正数,且B是一个带小数的负数”的逻辑表达式是 。 1、A>0 AND A<>INT(A) AND B<0 AND B<>INT(B) 2、 A>0 AND A<>CINT(A) AND B<0 AND B<>CINT(B) 3、A>0 AND A<>FIX(A) AND B<0 AND B<>FIX(B) 4、A>FIX(A) AND B
本文档为【vb第四章 数据、表达式与简单程序设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_527693
暂无简介~
格式:ppt
大小:818KB
软件:PowerPoint
页数:0
分类:其他高等教育
上传时间:2011-10-14
浏览量:36