第4章 程序代码基础_第1页
第4章 程序代码基础_第2页
第4章 程序代码基础_第3页
第4章 程序代码基础_第4页
第4章 程序代码基础_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章程序代码基础,语法基础,数据类型常量变量运算符,数据类型(1),一用于保存数字的几种数字类型Interger16位整型Long32位整型Single32位单精度浮点,小数Double64位双精度浮点,小数Currency货币类型;64位精确定点(整数15位小数4位)Byte8位字节型,例如1:DimaAsIntegera=5aim_1=-193例如2:,DimcAsIntegerPrivateSubForm_Click()c=5PrintcEndSub,数据类型(2),二用于进行逻辑判断的Boolean类型16位,取值只有True和False,默认为false从其它数据类型转换为Bool

2、ean时0转成False,其它值为True从Boolean转换为其它数据类型时False转成0,True为-1例如:command1.visible=true,数据类型(3),三用于保存字符串的String类型双引号括起变长String,最多231个字符如:DimtempAsstring定长String,最多216,不足字符以空格填充如:DimtempAsstring*100表示声明了100个字符的字符串,数据类型(4),四用于保存日期的Date类型64位,识别多种日期格式,除汉字日期以外如:DimbirthdayAsDatebirthday=#12/5/78#birthday=#1990-1

3、2-512:00:00AM#birthday=#January1,1993#取值范围为:100年1月1日9999年12月31日,数据类型(5),五用于保存对象引用的Object类型32位,保存对对象的引用(地址),只能用Set语句赋值六.万能的Variant类型(变体型)Dimtemp几种特殊取值:Empty值:在赋值前,Variant型变量具有该值。Null值:空值,用于数据库,表示未知、尚未赋值的数据。不同于0、零长度字符串。Error值:指出运行中的错误状态。,数据类型(6),七自定义数据类型Type自定义类型名元素名As数据类型元素名As数据类型元素名As数据类型.EndType类似于

4、C语言中的结构类型,如:TypeStudentIDaslongNameasstring*10EndTypeDimStu1AsStudentStu1.ID=100102Stu1.Name=“zhang”,数据类型(7),如:PublicEnumColorsWhiteRedGreenEndEnumDimtempAsColorsTemp=Green,Private|PublicEnum自定义类型名元素名As数据类型EndType,八自定义枚举类型,Public|PrivateConst常量名=表达式如:ConstconPi=3.1415926,有两类常量:用户自定义常量系统常量(以VB开头),比如回

5、车换行符vbCrlf、vbRed、vbCancel等等,常量,变量名称如何声明使用变量的作用域,变量,合法变量名以中英文字符开头,可以包含英文字母、中文、数字、下划线;不能是系统已有的关键字,如Date、if、End;不能超过255个字符;在同一作用范围区域中必须唯一,比如同一个事件过程中不能有两个同名的变量。例如:cmd1txt_6错误:1cmd3%3f,变量的命名,Public|Private|StaticDim变量名As类型如:*局部变量DimtempAsInterger(模块声明段中或在过程中;在模块声明段中,与private同,在过程中,只有过程有效)*模块级变量Publictemp

6、AsInterger整个工程有效(模块声明段中)PrivatetempAsInterger当前窗体有效*静态变量StatictempAsInterger退出过程不释放,*隐式声明就是不声明而直接就使用一个变量*显式声明比隐式声明更安全,OptionExplicit语句强制要求变量进行显式声明(或通过菜单的选项对话框设定),变量的声明,我们会强制要求先声明后使用,即显式声明。原因:变量不声明而直接使用,这些未声明的变量都是Variant类型,当需要指明数据为具体类型形式时需要额外的处理,也缺乏必要的类型检测;在使用已有变量时可能会错误地拼写了该变量,而系统会认为它是隐式声明的另一个变量,而检查不

7、出错误;反之若采用显式声明方式,系统强制所有变量必须先声明,在编译时一旦发现使用了未经声明的变量名(如写错),就会报告错误。在每个文件代码的通用段(首行)增加一条设置语句:OptionExplicitDimMyVar声明变量。MyInt=10未声明变量产生错误。MyVar=10声明变量不产生错误。,严格要求变量声明,变量的简易声明方式,VB还提供了一种简易的声明方式,只要变量名后带有某个特定符号,就代表该变量是某种数据类型,如DimStudentName$数据类型声明字符:Integer%Long&Single!Double#String$,变量的作用域,全局变量:定义在BAS模块中,使用pu

8、blic关键字,工程中所有文件所有过程共享如在common.bas中:PublicstuNoAsLong模块级变量:定义在BAS模块、窗体或类模块中,使用Private或Dim关键字,整个模块内共享如在frmMain.frm中:DimstuNoasLong局部变量:定义在一个过程内部,仅限该过程使用例如:实验1例题,赋值运算符,frmMain.Width=300给对象属性赋值(数值)frmTest.Caption=“Hello”给对象属性赋值(字符串)temp=temp+1给普通变量赋值flag1=true给普通变量赋值(布尔)orderDate=#2002-12-20#给普通变量赋值(日期)

9、DimaAsFormSeta=NewForm1给对象变量赋值VB在进行赋值运算时,会自动进行类型转换,注释语句,以下循环计算总成绩,VB中进行运算,一、算术运算+加法-减法*乘法/浮点数除法整数除法指数如temp=32MOD求余数例题:实现乘法、除法及指数运算:val(),二、连接运算&强制两个表达式作字符串连接+如果有数字,则作相加运算,否则作字符串连接有些情况下,用“&”比用“+”可能更安全。例如:设A$=“Mouse”,B$=“Trap”执行语句:C$=A$+B$后C$的值为”MouseTrap”。,VB中进行运算,&和+运算符的比较,PrivateSubCommand1_Click()

10、Dims$DimaAsIntegers=12345a=67Text1.Text=a+sText2.Text=a&sEndSub,VB中进行运算,三、关系运算符关系运算符也称比较运算符,用来对两个表达式的值进行比较,比较的结果是一个逻辑值,即真(True)或假(False)。=,=,比较运算符的应用结果,Dims1,s2asstringPrivateSubCommand1_Click()s1=abcds2=12345Text1.Text=s1s2EndSubtrue,VB中进行运算,四、逻辑运算符用逻辑运算符将关系表达式或逻辑值连接起来的式子就是逻辑表达式,也称布尔表达式。逻辑运算的值是一个逻辑

11、值“真”或“假”。Not逻辑非;And逻辑与;Or逻辑或;Xor逻辑异或;Eqv逻辑等于;Imp逻辑蕴含,逻辑运算符运算结果比较,VB中进行运算,五、运算符优先级算术运算符优先级由高至低是:指数运算()、负数()、乘法和除法(*和/)、整数除法()、求模运算(Mod)、加法和减法(+和)、字符串连接(&)。逻辑运算符优先级由高至低是:Not、And、Or、Xor、Eqv、Imp。,立即窗口,视图菜单:打开立即窗口,直接输入命令,练习题:,使用立即窗口(DebugWindow)显示下列表达式的值(设x=5,y=15,z=3)(1)xmodz+x2y+z(2)x2-y*23*zandz3x2(3)

12、(ymod10)*10+y10,常用内部函数,1、数学函数2、字符串函数3、转换函数4、其他函数,1数学函数,数学函数主要用来完成数学运算,常用的有以下几个:(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的指数值。(7)Sqrt(x):返回参数X的平方根值。(8)Abs(x):返回X的绝对值。,(9)Hex(

13、x):以字符串形式返回X的十六进制值。(10)Oct(x):以字符串形式返回X的八进制值。(11)Rnd():产生一个介于01之间的单精度随机数。?Rnd()?10*rnd(12)Int(x):去掉小数部分,返回整数。(13)Fix(x):该函数和Int(x)类似,去掉小数部分,返回整数。负数int需进位。正数int和fix相同,2字符串函数,(1)InStr(起始位置,字符串1,字符串2,比较类型):根据比较类型模式确定字符串2在字符串1中第一次出现的位置。?Instr(“visualbasic”,”basic”)8(2)LTrim(字符串):去掉字符串左边的空白部分。(3)Rtrim(字符

14、串):去掉字符串右边的空白部分。,(5)Trim(字符串):去掉字符串的左右空格,若为Null时,返回Null。(6)Left(字符串,个数):取出字符串左边指定个数的字符,若个数大于或等于字符串长度,全取。?Left(“abcde”,3)(7)Right(字符串,个数):取出字符串右边指定个数的字符,若个数大于或等于字符串长度,全取。(8)Mid(字符串,起始位置,个数):取字符串由起始位置开始的指定个数的字符。?mid(“abcde”,3,2),(9)Len(字符串或字符变量):计算字符长度,若字符串为空时,返回Null。S=“students”?Len(s)(10)Ucase(字符串):

15、将字符串的小写字母转换为大写字母,其他字符不变。(11)Lcase(字符串):将字符串中的大写字母转换为小写字母。,(12)Space(个数):返回指定个数的空字符串。(13)String(个数,字符):返回包含重复字符的字符串,长度由“个数”指定。(14)StrComp(字符串1,字符串2,比较类型):按比较类型比较两个字符串,返回值为:相等时为0;小于时为1;大于时为1。?Strcomp(“abcd”,”ABCD”)1(15)StrReverse(字符串):将给定字符串逆序输出。若为空串,返回空串,若为Null,则会出错。?StrReverse(“abc”)cba,3转换函数,转换函数一般

16、用来实现不同类型数据之间的转换。VisualBasic提供的常用转换函数有以下几个。(1)Str(数值表达式):把数值转换为字符串。?str(-893.33)-893.33(2)Val(字符串):把字符串转换为数字数值,忽略字符串中的非数字字符。,4其他函数,(1)Date:取当前系统日期。(2)Time:取当前系统时间。(3)Hour:返回023之间的整数,表示一天之中的某一钟点。(4)Day:返回131之间的整数,表示一个月中的某一日。(5)Month:返回当前的月份。(6)Year:返回当前年份。,练习题:,使用立即窗口(DebugWindow)显示下列表达式的值(设x=5,y=15,z=3)(1)Len(x&y&z)(2)Mid(str(x3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论