版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、logo第四章第四章 程序代码基础程序代码基础数据类型(数据类型(1)一用于保存数字的几种数字类型一用于保存数字的几种数字类型 interger16位整型位整型 long32位整型位整型 single32位位单精度浮点,小数单精度浮点,小数 double64位位双精度浮点,小数双精度浮点,小数 currency货币类型;货币类型;64位位精确定点精确定点(整数整数15位位小数小数4位位) byte8位位字节型字节型例如例如1:dim a as integer a=5 aim_1=-193例如例如2:dim c as integerprivate sub form_click()c = 5pri
2、nt cend sub数据类型(数据类型(2)二用于进行逻辑判断的二用于进行逻辑判断的boolean类型类型16位位, 取值只有取值只有true和和false,默认为默认为false 从其它数据类型转换为从其它数据类型转换为boolean时时0转成转成false, 其它值其它值为为true 从从boolean转换为其它数据类型时转换为其它数据类型时false转成转成0, true为为-1例如:例如: command1.visible=true数据类型(数据类型(3)三用于保存字符串的三用于保存字符串的string类型类型 双引号括起双引号括起 变长变长string,最多最多231个字符个字符如
3、如: dim temp as string 定长定长string, 最多最多216, 不足字符以空格填充不足字符以空格填充如如: dim temp as string * 100 表示声明了表示声明了100个字符的字符串个字符的字符串数据类型(数据类型(4)四用于保存日期的四用于保存日期的date类型类型64位位, 识别多种日期格式识别多种日期格式, 除汉字日期以外除汉字日期以外如如:dim birthday as datebirthday = #12/5/78#birthday = #1990-12-5 12:00:00 am#birthday = #january 1, 1993#取值范围
4、为:取值范围为:100年年1月月1日日9999年年12月月31日日数据类型(数据类型(5)五用于保存对象引用的五用于保存对象引用的object类型类型32位位, 保存对对象的引用(地址),只能保存对对象的引用(地址),只能用用set语句赋值语句赋值六六. 万能的万能的variant类型(变体型)类型(变体型)dim temp几种特殊取值:几种特殊取值: empty值:在赋值前,值:在赋值前,variant型变量具有该型变量具有该值。值。 null值:空值,用于数据库,表示未知、尚值:空值,用于数据库,表示未知、尚未赋值的数据。不同于未赋值的数据。不同于0、零长度字符串。、零长度字符串。 err
5、or值:指出运行中的错误状态。值:指出运行中的错误状态。数据类型(数据类型(6)七自定义数据类型七自定义数据类型type 自定义类型名自定义类型名元素名元素名 as 数据类型数据类型元素名元素名 as 数据类型数据类型元素名元素名 as 数据类型数据类型. . .end type类似于类似于c语言中的结构类型语言中的结构类型如:如: type student id as long name as string * 10end typedim stu1 as studentstu1.id= 100102stu1.name = “zhang”数据类型(7)如:如:public enum color
6、swhitered green end enumdim temp as colorstemp = greenprivate|public enum 自定义类型名自定义类型名元素名元素名 as 数据类型数据类型end type八自定义枚举类八自定义枚举类型型public|private const 常量名常量名 = 表达式表达式如:如: const conpi = 3.1415926有两类常量:有两类常量: 用户自定义常量用户自定义常量 系统常量(以系统常量(以vb开头),比如回车换行符开头),比如回车换行符vbcrlf、vbred、vbcancel等等等等常量常量变量名称变量名称如何声明如何声
7、明使用使用变量的作用域变量的作用域变量变量合法变量名合法变量名以中英文字符开头,可以包含英文字母、中文、以中英文字符开头,可以包含英文字母、中文、数字、下划线;数字、下划线;不能是系统已有的关键字,如不能是系统已有的关键字,如date、if、end;不能超过不能超过255个字符;个字符;在同一作用范围区域中必须唯一,比如同一个事在同一作用范围区域中必须唯一,比如同一个事件过程中不能有两个同名的变量。件过程中不能有两个同名的变量。例如:例如:cmd1 txt_6错误:错误:1cmd3 %3f变量的命名变量的命名 public|private|static dim 变量名变量名 as 类型类型 如
8、:如:* 局部变量局部变量dim temp as interger(模块声明段中模块声明段中或在过程中;在或在过程中;在模块声明段中,与模块声明段中,与private同,在过程中,只有过程有效同,在过程中,只有过程有效)*模块级变量模块级变量public temp as interger 整个工程有效整个工程有效(模块声明段中模块声明段中)private temp as interger 当前窗体有效当前窗体有效*静态变量静态变量static temp as interger 退出过程不释放退出过程不释放* 隐式声明就是不声明而直接就使用一个变量隐式声明就是不声明而直接就使用一个变量*显式声明
9、比隐式声明更安全,显式声明比隐式声明更安全,option explicit语句强制要语句强制要 求变量进行显式声明(或通过菜单的选项对话框设定)求变量进行显式声明(或通过菜单的选项对话框设定)变量的声明变量的声明我们会强制要求先声明后使用,即显式声明。原因:我们会强制要求先声明后使用,即显式声明。原因:1.1.变量不声明而直接使用,这些未声明的变量都是变量不声明而直接使用,这些未声明的变量都是variantvariant类型,当需要指明数据为具体类型形式时需要类型,当需要指明数据为具体类型形式时需要额外的处理,也缺乏必要的类型检测;额外的处理,也缺乏必要的类型检测;2.2.在使用已有变量时可能
10、会错误地拼写了该变量,而系统在使用已有变量时可能会错误地拼写了该变量,而系统会认为它是会认为它是隐式声明的另一个变量,而隐式声明的另一个变量,而检查不出错误;检查不出错误;反之若采用显式声明方式,系统强制所有变量必须先声反之若采用显式声明方式,系统强制所有变量必须先声明,明,在编译时一旦发现使用了未经声明在编译时一旦发现使用了未经声明的变量名(如写的变量名(如写错)错),就会报告错误。,就会报告错误。在每个文件代码的通用段在每个文件代码的通用段( (首行首行) )增加一条设置语句:增加一条设置语句:option explicitdim myvar声明变量。声明变量。myint = 10未声明变
11、量产生错误。未声明变量产生错误。myvar = 10声明变量不产生错误。声明变量不产生错误。严格要求变量声明严格要求变量声明变量的简易声明方式vb还提供了一种简易的声明方式,只要变量还提供了一种简易的声明方式,只要变量名后带有某个特定符号,就代表该变量是某名后带有某个特定符号,就代表该变量是某种数据类型,如种数据类型,如dim studentname $数据类型声明字符:数据类型声明字符:integer %long &single !double #string $变量的作用域v 全局变量:定义在全局变量:定义在bas模块中,使用模块中,使用public关键字,工程中关键字,工程中所有文件所有
12、过程共享所有文件所有过程共享如在如在common.bas中:中:public stuno as longv 模块级变量:定义在模块级变量:定义在bas模块、窗体或类模块中,使用模块、窗体或类模块中,使用private或或dim关键字,整个模块内共享关键字,整个模块内共享如在如在frmmain.frm中:中:dim stuno as longv 局部变量:定义在一个过程内部,仅限该过程使用局部变量:定义在一个过程内部,仅限该过程使用v 例如:实验例如:实验1例题例题赋值运算符frmmain.width=300 给给对象属性赋值对象属性赋值(数值数值)frmtest.caption=“hello”
13、给对象属性赋值给对象属性赋值(字符串字符串)temp=temp+1 给普通变量赋值给普通变量赋值flag1=true给普通变量赋值(布尔)给普通变量赋值(布尔)orderdate = #2002-12-20# 给普通变量赋值(日期)给普通变量赋值(日期)dim a as formset a = new form1给对象变量赋值给对象变量赋值vb在进行赋值运算时,在进行赋值运算时,会自动进行类型转换会自动进行类型转换 注释语句注释语句以下循环计算总成绩以下循环计算总成绩vb中进行运算中进行运算一、算术运算一、算术运算u + 加法加法u -减法减法u *乘法乘法u /浮点数除法浮点数除法u 整数除
14、法整数除法u 指数指数如如 temp = 32u mod 求余数求余数u例题:实现乘法、除法及指数运算:例题:实现乘法、除法及指数运算:val()二、连接运算二、连接运算 & 强制两个表达式作字符串连接强制两个表达式作字符串连接 + 如果有数字,则作相加运算,否则作字符如果有数字,则作相加运算,否则作字符串连接串连接有些情况下,用有些情况下,用“&”比用比用“+”可能更安全。可能更安全。例如:设例如:设a$=“mouse”, b$=“trap” 执行语句:执行语句: c$=a$+b$ 后后c$的值为的值为”mousetrap”。vb中进行运算 & 和和 + 运算符的比较运算符的比较xyx &
15、yx + y1234512345123451234512345123912345123451239123a5123a5报错报错private sub command1_click()dim s$dim a as integers = 12345a = 67text1.text = a + stext2.text = a & send subvb中进行运算三、关系运算符三、关系运算符 关系运算符也称比较运算符,用来对两个表达式的值进行关系运算符也称比较运算符,用来对两个表达式的值进行比较,比较的结果是一个逻辑值,即真(比较,比较的结果是一个逻辑值,即真(true)或假)或假(false)。)。
16、=,=,=,比较运算符的应用结果比较运算符的应用结果如果如果则则两个表达式都是数值两个表达式都是数值进行数值比较进行数值比较两个表达式都是字符串两个表达式都是字符串进行字符串比较进行字符串比较一个一个表达式是数值而另一个是字表达式是数值而另一个是字符串符串数值表达式小于字符串表达式数值表达式小于字符串表达式dim s1,s2 as stringprivate sub command1_click()s1 = abcds2 = 12345text1.text = s1 s2end sub truevb中进行运算四、逻辑运算符四、逻辑运算符 用逻辑运算符将关系表达式或逻辑值连接起来的式子就是用逻辑
17、运算符将关系表达式或逻辑值连接起来的式子就是逻辑表达式,也称布尔表达式。逻辑运算的值是一个逻辑逻辑表达式,也称布尔表达式。逻辑运算的值是一个逻辑值值“真真”或或“假假”。 not 逻辑非;逻辑非;and 逻辑与;逻辑与;or 逻辑或;逻辑或; xor 逻辑异或;逻辑异或;eqv 逻辑等于;逻辑等于;imp 逻辑蕴含逻辑蕴含逻辑运算符运算结果比较vb中进行运算五、运算符优先级五、运算符优先级v算术运算符优先级由高至低是:指数运算(算术运算符优先级由高至低是:指数运算()、)、负数(负数()、乘法和除法()、乘法和除法(*和和 /)、整数除法)、整数除法()、求模运算()、求模运算(mod)、)、
18、加法和减法(加法和减法(+和和 )、字符串连接()、字符串连接(&)。)。v逻辑运算符优先级由高至低是:逻辑运算符优先级由高至低是:not、and、or、xor、eqv、imp。立即窗口立即窗口使用立即窗口(使用立即窗口(debug window)显示下列表达式的值)显示下列表达式的值( 设设x=5,y=15,z=3)(1)x mod z +x2y+z (2)x2-y*23*z and z3x2(3)(y mod 10) *10+y10常用内部函数t1、 数学函数数学函数t2、 字符串函数字符串函数t3、 转换函数转换函数t4、 其他函数其他函数 1 数学函数v 数学函数主要用来完成数学运算,
19、常用的有以下几个:数学函数主要用来完成数学运算,常用的有以下几个:(1)sin(x) :返回返回x的正弦值,的正弦值,x的单位为弧度。的单位为弧度。 ? sin(30*3.14/180) 结果结果:0.5(2)cos(x) :返回返回x的余弦值,的余弦值,x的单位为弧度。的单位为弧度。 (3)tan(x) :返回返回x的正切值,的正切值,x的单位为弧度。的单位为弧度。 (4)atan(x) :返回返回x的反正切值,返回值单位的反正切值,返回值单位为弧度。为弧度。 (5)log(x) :返回返回x的自然对数。的自然对数。 (6)exp(x) :返回以返回以e为底的为底的x的指数值。的指数值。 (
20、7)sqrt(x) :返回参数返回参数x的平方根值。的平方根值。 (8)abs(x) :返回返回x的绝对值。的绝对值。 (9)hex(x) :以字符串形式返回以字符串形式返回x的十六进制值。的十六进制值。(10)oct(x) :以字符串形式返回以字符串形式返回x的八进制值。的八进制值。 (11)rnd() :产生一个介于产生一个介于01之间的单精度随机数。之间的单精度随机数。 ? rnd() ?10 * rnd(12)int(x) :去掉小数部分,返回整数。去掉小数部分,返回整数。 (13)fix(x) :该函数和该函数和int(x)类似,去掉小数部分,类似,去掉小数部分,返回整数。返回整数。
21、 负数负数int需进位。需进位。 正数正数 int 和和 fix 相同相同2 字符串函数(1)instr(起始位置起始位置,字符串字符串1,字符串字符串2,比较类比较类型型):根据比较类型模式确定字符串:根据比较类型模式确定字符串2在字符串在字符串1中第一次出现的位置。中第一次出现的位置。 ? instr(“visual basic”,”basic”) 8(2)ltrim(字符串字符串):去掉字符串左边的空白部分。:去掉字符串左边的空白部分。 (3)rtrim(字符串字符串):去掉字符串右边的空白部分。:去掉字符串右边的空白部分。 (5)trim(字符串字符串):去掉字符串的左右空格,若:去掉
22、字符串的左右空格,若为为null时,返回时,返回null。 (6)left(字符串字符串,个数个数):取出字符串左边指定个:取出字符串左边指定个数的字符,若个数大于或等于字符串长度,全取。数的字符,若个数大于或等于字符串长度,全取。 ? left(“abcde”,3)(7)right(字符串字符串,个数个数):取出字符串右边指定:取出字符串右边指定个数的字符,若个数大于或等于字符串长度,全个数的字符,若个数大于或等于字符串长度,全取。取。 (8)mid(字符串字符串,起始位置起始位置,个数个数):取字符串由:取字符串由起始位置开始的指定个数的字符。起始位置开始的指定个数的字符。 ? mid(“
23、abcde”,3,2)(9)len(字符串或字符变量字符串或字符变量):计算字符长度,若字:计算字符长度,若字符串为空时,返回符串为空时,返回null。s=“students”? len (s) (10)ucase(字符串字符串):将字符串的小写字母转换为:将字符串的小写字母转换为大写字母,其他字符不变。大写字母,其他字符不变。(11)lcase(字符串字符串):将字符串中的大写字母转换:将字符串中的大写字母转换为小写字母。为小写字母。 (12)space(个数个数):返回指定个数的空字符串。:返回指定个数的空字符串。 (13)string(个数个数,字符字符):返回包含重复字符的字:返回包含
24、重复字符的字符串,长度由符串,长度由“个数个数”指定。指定。(14)strcomp(字符串字符串1,字符串字符串2,比较类型比较类型):按比较类型比较两个字符串,返回值为:相等时为按比较类型比较两个字符串,返回值为:相等时为0;小于时为小于时为-1;大于时为;大于时为1。? strcomp(“abcd”,”abcd”) 1(15)strreverse(字符串字符串):将给定字符串逆序输:将给定字符串逆序输出。若为空串,返回空串,若为出。若为空串,返回空串,若为null,则会出错。则会出错。 ?strreverse(“abc”) cba3 转换函数v 转换函数一般用来实现不同类型数据之间的转换函数一般用来实现不同类型数据之间的转换。转换。visual basic 提供的常用转换函数提供的常用转换函数有以下几个。有以下几个。(1)str(数值表达式):把数值转换为字符数值表达式):把数值转换为字符串。串。?str(-893
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新时代青年的使命与担当5
- 河南省豫南九校高三政治新课标第一轮复习讲义:2.6求索真理的过程(人教版必修4)
- 热力发电厂常用英语技术词汇
- 公司级安全培训试题附参考答案【综合题】
- 员工三级安全培训试题附完整答案(考点梳理)
- 管理人员安全培训试题模拟题
- 生产经营单位安全培训试题答案AB卷
- 幼儿园手工课件
- 山东省滨州市博兴县2024-2025学年九年级上学期11月期中数学试题
- 语文公开课的活动方案
- 钢混组合梁施工方案
- 课件《“多元一体”视域下的中国古代民族关系》
- 初中班主任三年工作规划8篇
- (完整版)《春江花月夜》课件PPT
- 通信用阀控式密封铅酸蓄电池
- 蓝色卡通班委竞选主题班会PPT模板
- 金融行业视频监控联网解决方案
- 脚手架及模板工程安全培训课件
- 遗传性痉挛性截瘫duwanliang
- 上海教师招聘考试:中小学音乐学科专业知识考试真题及答案
- 武术剑术组合
评论
0/150
提交评论