学业大一课件章程序设计基础_第1页
学业大一课件章程序设计基础_第2页
学业大一课件章程序设计基础_第3页
学业大一课件章程序设计基础_第4页
学业大一课件章程序设计基础_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

2006年3月1第2章程序设计基础2.1如何学习VB2.2数据类型2.3Print语句2.4运算符、表达式、内部函数2006年3月2如何学习VB掌握语法(即规则):运用属性、方法和过程看懂程序掌握基本的算法模仿编程独立完成编程(实验的重要性)编程:语法+算法+数据结构2006年3月3VB语法简介程序一般一行写一条语句。每行可以写多条语句,语句之间用冒号(:)分开。一条语句可以分成多行书写,在上行的最后加入下划线(_)表示下行是续行。除引号内的内容外,所有引号外的关键字、变量、函数、属性、方法等都大小写无关,关键字、变量等之间要用空格(多个空格是可以的)隔开,但标点符号前后空格可省略(唯一例外:&前若是变量,要用空格隔开)。光标离开本行后,系统会自动转换成标准格式,关键字一般都会转换成首字母大写格式。字符串(或叫字符型常量)中的大小写及空格多少均是不同的。单引号(')表明注释的开始,后面的内容计算机忽略,主要是给人看的。特殊用途:临时去掉部分语句。2006年3月4语法描述符号及含义为了描述清楚语法格式,教材及文档中一般都用特殊的格式描述语法格式:

“<>”内为必选参数项,用具体内容代替

“[]”为可选参数项,可有可没有

“{}”和“|”,包含多中取一的各项,竖线分隔多个选择项,必须选择其中之一

“...”表示同类项目的重复出现注意:在书写具体的命令时,不能出现这些语法描述符号。本教案课件,可能不严格按此格式书写,中文肯定不是关键字,代表相应内容。2006年3月52.2数据类型、常量与变量数据类型:数据是程序的必要组成部分,也是程序处理的对象。VB6.0的常用数据类型:数值型:字节型、整型、长整型、货币型、单精度、双精度字符型:变长字符串、定长字符串逻辑型、日期型、对象型、变体型最常用、重要类型:整型、字符型(变长)2006年3月62006年3月72.2.2数据的存储格式Byte:1字节,取值范围:0-255Integer:2字节,-32768至32767Long:4字节,-2147483648至2147483647Single:4字节,近似表示,6位精度,可以用科学记数法表示Double:8字节,近似表示,16位精度,可以用科学记数法表示Currency:8字节,精确表示,小数4位,一般用于表示货币金额Date:8字节,包括年月日时分秒Boolean:2字节,只有真、假2个值:True/False(也有叫布尔型的)String:每个字两字节(包括字符与汉字)2006年3月82.2.3常量

常量是直接写在程序中的数据,常量的类型由它们的书写格式决定。常量分数值型、字符型、逻辑性、日期型等2006年3月9数值常量VB中的整型数、长整型数、单精度浮点数、双精度浮点数、货币型数、字节型数又统称为数值型数据数值型常量的格式:直接按数学方式书写,包括符号、数字、小数点也可以用科学计数法表示:如1.2E15VB中的常量一般采用十进制数,但有时也使用十六进制数(数值前加前缀&h)或八进制数(数值前加前缀&o)。2006年3月10数值型数据的注意事项如果数据包含小数,则应使用Single、Double或Currency类型。在VB中,数值类型数据都有一个有效的取值范围,程序中的数如果超出这个范围,就会出现“溢出”(Overflow)错误。数后面加类型符,可以强制成某一类型:如12&为长整型2006年3月11日期常量日期常量用来表示日期和时间,VB可以表示多种格式的日期和时间,输出格式由Windows设置的格式决定。日期数据用两个“#”把表示日期和时间的值括起来,如:#08/18/2001#

#2001/08/1808:10:38AM#,等等。可以表示纯日期或表示日期时间。2006年3月12字符串常量

字符串常量是用双引号括起来的一串字符。可以是任何合法字符,如:"VB"、"123+345","张三"等等。字符串中的双引号用连续的两个双引号表示,如"a""b"表示a"b三个字符。特殊字符,若无法表示成常量,则可用函数Chr表示,如Chr(13)表示回车。2006年3月13逻辑常量逻辑常量只有两个值:真(True)和假(False)。当把数值常量转换为逻辑型(即Boolean)时,0转换为False,非0值转换为True;当把逻辑型常量转换为数值时,False转换为0,True转换为-1。2006年3月14符号常量定义格式:Const<符号常量名>=<常量>

如:Constpi=3.1415926若多次使用,可定义后使用,免得要修改时,遗漏而产生不一致。细系统已经预设了若干常量,可直接使用。如vbCrLf代表回车换行、vbRed代表红色。VB的预设常量一般都以vb开头。2006年3月15变量的命名规则:由首字符为英文字母或汉字、不超过255个字符的字母、数字、下划线符组成。不能使用VB的关键字作为变量名。关键字是指VB系统中已经定义的词,如语句、函数、运算符的名称等,如Print、If等都不能用作变量名。VB的属性、事件、方法名不属于关键字,理论上变量名可与之相同,但最好不用,以免混淆。函数名若声明成变量,也能用,但该函数就无法使用了。书写窗体属性时,窗体名可省略,故而直接写属性名,就代表窗体属性了。2.2.4变量2006年3月162.2.4变量(续)变量名不能与过程名或符号常量名相同。VB不区分变量名的大小写。即大小写是一样的,如X1与x1是同一变量。系统会把所有相同变量转变成Dim语句定义的大小写,若没定义,则每次改变大小写,都会改变所有。变量取名尽量做到“见名知义”,以提高程序的可读性。如cName、nCount、txtName等,既能看出变量的含义,还可知道变量的类型。2006年3月17变量声明格式:DIM变量[As类型]其中类型有:Integer/Long/Byte/Single/String/Date等。也可以直接在变量后加上类型符号,代替“As类型”(但部分类型并无类型符号)如:DimX%等价于DimXAsInteger没有写As类型的为变体型(可保存任何类型)一个Dim可定义多个变量,用逗号隔开,但不能多个变量后总的写一个As类型:Dimm,nAsInteger定义的m是变体的,n才是整型2006年3月18变量声明(续)一个变量如没有声明,则VB将其作为变体类型变量。变量的初始值为0(数值型)、""(字符型,即空)、False(逻辑型)

好的程序设计风格是声明每一个变量的类型,一方面可以提高程序的可读性,另一方面,可避免采用变体数值类型数据,以减少程序运行时的内存开销。实现强制声明:在程序最前面(通用对象的声明部分)加入OptionExplicit,那么所有未声明的变量将会出错。可以减少程序出错的机会。2006年3月19变量的作用域模块级变量:在通用对象的声明部分(即所有Sub的最前面)声明的变量,为模块级变量,有效范围是整个模块(窗体),即在整个窗体中,与声明相同的变量,属于同一个变量。局部变量:在过程中(即Sub-EndSub之间)定义的为局部变量,只有此过程内有效。2006年3月20变量作用域例DimsMystringasString'模块级变量PrivateSubForm_Load() DimsasString '局部变量

sMystring="欢迎使用VB6.0"EndSubPrivateSubForm_Click() DimSasstring ’局部变量

PrintsMystring,sEndSub2006年3月21Print语句输入Print时可以用?代替,以加快输入速度Print既可以说是语句(直接使用,输出在当前窗体),也可以当方法使用(前面跟对象名,则输出到该对象中)支持Print方法的对象有:窗体(Form)、图片框(PictureBox)或打印机(Printer)该语句格式为:

[<对象名称>.]Print[<输出项>[[{,|;}][<输出项>]]...]2006年3月22Print的输出格式输出项之间的分隔符“,”为分段格式,“;”为紧凑格式。VB将一行分为若干段,每14列为1段,若两个输出项之间用逗号间隔,则第2个数据项的输出位置从下一段开始;若两个输出项之间用分号间隔,则第2个数据以“紧凑”格式输出。语句末尾为分隔符“,”或“;”,则该语句最后的输出位置为下一条print语句输出的起始位置。2006年3月23Print的输出格式(续)

若省略输出项(即空Print语句),则输出一空行。无论是分段格式还是紧凑格式,数值数据输出后都会尾随一个空格,输出正数时正号不显示、输出一个空格。字符串数据原样显示引号内的内容,逻辑类型数据直接输出True或False。2006年3月24例Print语句的输出格式PrivateSubCommand1_Click()

Print-123,888,-456,3.14,

Print123;888;-456;3.14

Print"123";"888";"abc";True

PrintSpace(30);123,888;-456;3.14

Print

Print123,888,-456,3.14EndSub2006年3月252.3.3赋值语句格式:<变量名>=<表达式>

<控件名>.<属性名>=<表达式>功能:计算等号右边的表达式值,并转换为相同类型数据后保存到变量左边的变量或控件属性中。即右边的值赋值到左边的变量中。2006年3月26赋值语句说明为数值变量赋值时,表达式的值不得超过数值变量的数值范围,否则显示错误信息。值为浮点类型的表达式四舍五入后向整型变量赋值。赋值时若类型不对,会自动转换成变量的类型。所以任何类型都可赋值给字符型。赋值号不是数学中的等号(思考a=a+1的意思)例:编写一个实现两个变量值交换的程序。2006年3月27表达式:用运算符把常量、变量(包括数组元素、对象属性)、函数(包括有返回值的对象方法)进行连接运算的式子。不管如何复杂,表达式的结果有且只有一个值。2.4运算符、表达式、函数2006年3月282.4.1算术运算符与算术表达式⒈按优先级顺序的算术运算符如下乘方:^负号:-乘除:*/整除、取模(余):\Mod加减:+-

乘、除和加、减分别为同级运算符,同级运算从左向右进行。在表达式中加括号可以改变表达式的求值顺序。(与数学规则类似)2006年3月29运算符说明不能省略运算符:3xy应写成:3*x*y小括号改变优先级(只有一种括号),可嵌套加、减、乘运算会自动转换成精度最高的进行运算20000:溢出错误,40000已经整型溢出40000:不溢出,40000已经是长整型了20000&:不溢出,20000&已经是长整型了当逻辑型参加算术运算时,True转换为数值-1,False转换为数值0;反之,数值型用作逻辑型的场合时,把0转换为False,非0转换为True。如:表达式123+True的结果为1222006年3月301/(1+1/(1+x))-(a*a+b*b*b)*y^4(a^(b^c)+b^0.5)*(a-b)^0.5算术表达式例2006年3月312.4.2字符串运算符与表达式

字符串运算符有两个:“+”和“&”,均为双目运算符、用于连接两边的字符串表达式。字符串连接符“&”具有自动将非字符串类型的数据转换成字符串后再进行连接的功能,而“+”则不能。所以尽量用&&、+

字符串连接区别:+

两边必须是字符串,&

可以不是。2006年3月32字符运算例例如:"123"+"456" 结果"123456""123"&"456" 结果"123456""abc"&123 结果为"abc123"

“abc”

+123 出错,“类型不匹配”

"123"&456结果为"123456""123"+456结果为5792006年3月332.4.3关系运算符与逻辑表达式关系运算符也称为比较运算符,包括六种双目运算符,用于比较两边的表达式是否满足条件。运算结果为逻辑型,即True或False:<小于 <=小于等于 =等于

>=大于等于 >大于 <>不等于大小比较原则:数值型大小按数学大小比较:正数>0>负数日期型数据晚比早大:明天>今天,今天晚上>今天上午字符型数据比较一般按字符的ASCII码大小比较2006年3月34熟悉部分ASCII码换行(10),回车(13),空格(32),数字0-9(48-57),大写A-Z(65-90),小写a-z(97-122)字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。例:"ABCDE">"ABRA" 结果为

False

汉字大小比较比较麻烦,不需要掌握2006年3月352.4.4逻辑运算符与逻辑表达式常用的逻辑(布尔)运算符有三种2006年3月36abNotaAandbAorb真真假真真真假假假真假真真假真假假真假假逻辑运算符真值表2006年3月37逻辑与算术运算的优先级逻辑运算符的优先级是:先Not,次And,后Or。算术运算符、关系运算符和逻辑运算符的优先级关系为:算术运算符→关系运算符→逻辑运算符。关系表达式的值为False或True,因此也是逻辑表达式;逻辑表达式用逻辑运算符正确地连接后也是逻辑表达式。2006年3月382.4.5常用内部函数VB的内部函数是系统预定义函数,可由用户直接调用。VB函数的自变量(或叫参数)必须用括号括起来(VB中无参数的函数,可省略括弧,如Rnd/Time等)函数的参数必须满足一定的类型、取值范围及参数个数要求。函数一定有一个返回值2006年3月39

1.数学函数三角函数:Sin(x)、Cos(x)、正切函数Tan(x),反正切函数Atn(x)----自变量的单位是弧度

Abs(x)绝对值Exp(x)exLog(x)logexSgn(x)符号,正为1,负为-1,0位0Sqr(x)开平方Int(x)

取整,向下取整,结果<=xFix(x)

取整,直接去掉小数(负向上,正向下)2006年3月402.字符串函数Ltrim(x)/Rtrim(x)/Trim(x)

去掉左/右/两边空格Left(x,n)、Right(x,n)、Mid(x,m,n)从左/右/中间取n个字符Len(x)字符的长度Lcase(x)和Ucase(x)变小/大写Space(n)n个空格Instr(x,y)X中包含子串y的位置,不包含为02006年3月413.日期和时间函数Date:给定年月日,返回日期,无参数为今天Time:无参数,现在时间,字符型

Timer:零时到现在的秒数,单精度Minute(Now)、Minute(Time)分

Second(Now)、Second(Time)秒2006年3月424.转换函数Str(x):数值转字符Val(x):字符转数值Chr(x):ASCII码转字符Asc(x):字符转ASCII码Hex(x):数转16进制,字符型2006年3月435.随机数语句和函数Randomize<种子>:启动随机数发生(语句),一般用Timer当种子。Rnd()返回0-1之间的随机数(无参数)一般地,要得到[a,b]之间的随机整数,可用公式:

Int(Rnd*

温馨提示

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

评论

0/150

提交评论