第一讲-程序设计基础_第1页
第一讲-程序设计基础_第2页
第一讲-程序设计基础_第3页
第一讲-程序设计基础_第4页
第一讲-程序设计基础_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

VisualBasic程序设计

ch2第一讲程序设计基础

程序结构清晰,可读性好,也易于查错和修改

具有单入口,单出口的特点

(a)(b)(c)

顺序结构选择结构循环结构AB假真LE真假ABE结构化程序的基本结构1.1

数据类型

在使用计算机来处理数据时,会遇到各种不同类型的数据。例如,一个人的姓名是由一串文本(字符)组成,成绩、年龄和体重都是一个数值,而是否大学毕业则是一个逻辑值,等等。

数据是程序处理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型

数值型

数据类型字符串型逻辑型日期型对象型变体型整数:整型/长整型字节型浮点型:单/双精度货币型

1.整型(Integer)和长整型(Long)

不带小数部分的数,表示正整数、负整数和零

整型数:-32768~32767

长整型数:-2147483648~2147483647

2.字节型(Byte)

字节型数可以表示无符号的整数

0~255

3.单精度型(Single)和双精度型(Double)

浮点数。表示带有小数部分的数

表示数的范围大,但有误差。

如超出某个表示范围,则用科学记数法

例如:4.53E8(4.53×108),8.173E-14,3.14D23

4.货币型(Currency)

专门为处理货币而设计的数据类型

它可最多保留小数点右边4位和小数点左边15位5.字符串型(String)

用双引号括起来的一串字符。

例如,“Canton”、”1+2=?”、”Good└┘Morning”等

“″”称为起止界限符。

字符串长度。分变长字符串(长度不固定)和定长字符串(长度固定)

在VB中,把汉字作为一个字符来处理。

6.逻辑型(Boolean)

逻辑型又称布尔型,其数据只有True(真)和False(假)两个值

7.日期型(Date)

表示日期和时间

用两个“#”符号把日期和时间的值括起来

如:#08/20/2001#、#2001-08-20#8.对象型(Object)

对象型数据可用来表示应用程序中的对象

9.变体型(Variant)

变体型数据是一种可变的数据类型,可以存放任何类型的数据

当指定变量为Variant变量时,VB会自动完成必要的转换

在程序中不特别说明时,VB会自动将该变量默认为Variant型变量。

例:Temp=“22”

’字符串

Temp=Temp-1’数值

Temp=#01/01/2002#’日期说明:

(1)

不同类型的数据,所占的存储空间不一样。

(2)数据的类型可在数据之后加上一个类型符来表示,例如,413&,86!,104.67#等。

1.2变量与常量

变量:在程序运行中其存储的值可以改变。常量:在程序运行中其值不可以改变。

1.命名规则应遵守一些规则:

(1)以字母或汉字开头,后可跟汉字、字母、数字或下划线组成,长度小于等于255个字符;(2)不要使用VB中的关键字;(3)VB中不区分变量名的大小写.

(4)为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。1.常量

两种形式的常量:一般常量和符号常量

1.一般常量在程序代码中直接给出的数据。例如:123,-263,“VisualBasic”,“12.57”等

2.符号常量符号常量是在程序中用符号表示的常量。格式:

[Public|Private]Const常量名[As数据类型]=表达式例如:ConstPIAsSingle=3.14159

3.常量声名形式:Const常量名[AS类型]=表达式省略[AS类型],常量的类型由表达式值的类型决定 为使与变量名区分,一般常量名使用大写字母例如:ConstPI=3.14159

变量的声明就是向程序说明要使用的变量

有以下2种方法(显式声明与隐式声明)

1.用Dim语句显式声明变量

形式:声明符

变量名[AS类型]

声明符

变量名类型符例DimiCountAsinteger,sAllsumAssingle

等价于DimiCount%,sAllsum!这里的声明符可以是Dim/Static/Public/Private2.隐式声明

未进行上述的声明而直接使用,其类型为Variant类型,建议不使用.

注意:在通用声明处加OptionExplicit语句来强制显式声明变量。也允许使用类型符来声明变量的类型,如Num%,Sum!2.变量的声明组成:变量、常量、函数、运算符和圆括号五类表达式:

算术表达式字符串表达式日期表达式关系表达式逻辑表达式1.3运算符与表达式算术表达式也称数值表达式,由算术运算符、数值型常量、变量、函数及括号组成,其运算结果是一个数值1、算术表达式按照优先级顺序,同级左到右,有括号时括号内优先说明:

(1)/和\的区别:1/2=0.5,1\2=07.5\2=?7.3\2=?(2)Mod用来求整型数除法的余数。例如:9Mod7结果为2(3)在表达式中乘号不能省略,如a*b不能写成ab(或a·b)(4)括号不分大、中、小,一律采用圆括号。可以嵌套使用例如,x[x(x+1)+1]→x*(x*(x+1)+1)1+2*14Mod17\6/2=?

求出下列表达式的值想一想1.按运算符的优先级分成若干运算步骤

先乘除,再整除\和求Mod,后加运算

2.根据运算符的运算功能求出各步骤的结果思考题

1+28Mod5

结果为4

字符串表达式由字符串常量、字符串变量、字符串函数和字符中运算符组成。

运算符有两个:&和+

其作用都是将两个字符串连接起来,合并成一个新的字符串。区别:+两边必须是字符串,&不一定例如:

"abcdef"+12345 "abcdef"&12345"123"+456"123"&4562、字符串表达式‘出错'结果为"abcdef12345"'结果为579'结果为"123456"

将两个操作数进行大小比较,结果为逻辑量。字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。例:"ABCDE">"ABRA" 结果为False

"男字">"女字"按汉字的拼音字母比较3、关系表达式Like字符串模式匹配如:”cdddb”like“c*b”结果为True通配符“*”代表任意多个字符通配符“?”代表任意单个字符通配符“#”代表任意单个数字[字符列表]代表列表中任意单个字符[!字符列表]代表任何不在列表中的单个字符Is对象一致比较比较两个对象的引用变量是否相同Print"cbbda"Like"c*a"Print"c12a"Like"c#?a"Print("c"&"12"&"a")Like"c#*a"Print12Like"1#"Print"cda"Like"c[defg]a"Print"cha"Like"c[!defg]a"

将操作数进行逻辑运算,结果是逻辑值条件表达式1And条件表达式2条件表达式均为T结果为T

条件表达式1Or条件表达式2条件表达式有一个T结果为T4、逻辑表达式

日期表达式是用运算符(+或-)将算术表达式、日期型常量、日期型变量和函数连接起来的式子。

有以下3种运算方式:

(1)两个日期型数据相减,其结果是一个数值型数据(相差的天数)。例如:#8/8/2001#-#6/3/2001#的结果为:66

(2)日期型数据加上天数,其结果为一个日期型数据。例如:#12/1/2000#+31的结果为:#01/01/2001#

(3)日期型数据减去天数,其结果为一个日期型数据。例如:#12/1/2000#-32的结果为:#10/30/2000#5、日期表达式任务二输入一个两位数(如36),交换个位数和十位数的位置,把处理后的数显示出来。PrivateSubForm_Click()DimxAsInteger,yAsIntegerDimaAsInteger,bAsIntegerx=text1.texta=x\10'求十位数

b=x–10*a'求个位数

y=b*10+atext2.text=yEndSub

把上述程序改为以下形式,效果是否一样?想一想

通常,解决某个问题的程序方法有多种,我们应该从中选择一种较好的方法思考题1、赋值语句格式1:变量名=表达式格式2:[对象名.]属性名=表达式2、注释语句Rem注释内容或’注释内容Rem与注释内容之间要加一个空格。如果要在其他语句行后使用Rem关键字,则必须使用冒号“:”与语句隔开。3、End语句结束一个过程或块。其格式为:End1.4语句、方法及函数一般我们利用赋值语句在程序中向变量或对象设置新值,此外我们还可以利用键盘输入语句InputBox、MsgBox对话框函数输入数据,而这两条语句的最大的特点是可在程序运行起来以后向变量赋值。1.5、数据的输入和输出输入数据—InputBox输入框函数格式:<变量>=InputBox(<提示信息>[,标题][,默认内容])功能:当程序运行到该语句后暂停程序执行,在屏幕上显示一个信息输入框,等待用户在输入框中输入数据,用户输入数据并单击“确定”按钮,则该数据被赋值给等号左边的变量。

显示信息----MsgBox消息框函数从某种意义上这也是一条变量赋值的语句。格式:MsgBox提示信息[,按钮图标[,<标题>]]<变量>=MsgBox(<提示信息>[,按钮图标][,标题])功能:该语句可在屏幕上设置一个消息对话框,以向用户传递信息,通过用户在对话框上的选择接受用户所做的响应,并将此信息赋值给等号左边的变量。类型内部常量按钮值功能说明命令按钮形式vbOKOnly0只显示“确定”按钮vbOKCancel1显示“确定”、“取消”按钮vbAbortRetryIgnore2显示“终止”、“重试”、“忽略”按钮vbYesNoCancel3显示“是”、“否”、“取消”按钮vbYesNo4显示“是”、“否”按钮vbRetryCancel5显示“重试”、“取消”按钮图标类型Vbcritical16显示停止图标VbQuestion32显示提问图标VbExclamation48显示警告图标VbInfromation64显示信息图标默认按钮vbDefaultButton10第一个按钮为默认按钮vbDefaultButton2256第二个按钮为默认按钮vbDefaultButton3512第三个按钮为默认按钮表2-4按钮参数取值及说明表2-5MsgBox函数返回值内部常量返回值操作说明vbOk1选择了“确定”按钮vbCancel2选择了“取消”按钮vbAbort3选择了“终止”按钮vbRetry4选择了“重试”按钮vbIgnore5选择了“忽略”按钮vbYes6选择了“是”按钮vbNo7选择了“否”按钮任务一窗体运行,显示如下消息框,单击“是”按钮,弹出输入框,要求输入序列号,默认值“111111”,单击“确定”,在窗体第2行第10列输出序列号。编写简单的密码验证程序。利用InputBox函数输入密码,假设密码为123456;如果密码正确提示用户密码正确,否则提示密码错误。实例2.1VB中数据的输出可以通过文本框、标签、图片框等显示(用属性赋值的方法),也可以用Print方法、MsgBox方法和函数。Print方法是输出数据的一种方法。(1)格式:[对象名.]Print[表达式列表]“对象名”可以是Form(窗体)、Debug(立即窗口)、PictureBox(图片框)、Printer(打印机)。省略“对象名”表示在当前窗体上输出。“表达式列表”是一个或多个表达式。省略“表达式列表”输出一个空行;表达式之间用“,”或“;”分割。用“,”分割,各输出项在以14个字符位置为单位划分出的区段中输出。用“;”分割以紧凑格式输出。(2)功能:在对象上输出表达式的值(3)说明:Print方法与Tab函数及Spc函数一起使用可以对输出数据定位。复习:Print方法完成下列截图的输出结果

VB函数分为内部函数和用户自定义函数。系统内部函数是由VB系统事先定义好的内部程序,每个内部函数完成某个特定的功能。在程序中使用函数称为调用函数。

函数调用的一般格式为:

=函数名(参数1,参数2,…)

参数(也称自变量)放在圆括号内,若有多个参数,以逗号分隔。

函数调用后,一般都有一个确定的函数值,即返回值。例如:y=Sqr(289)

VB的内部函数大体上分为四大类:数学函数,字符串函数,日期与时间函数和转换函数。见附录E1.6函数1)数学函数

使用数学函数的几点说明:

(1)

三角函数的自变量单位是弧度如Sin47°应写成Sin(47*3.14159/180)。

(2)函数Int是求小于或等于x的最大整数。例如Int(2)=2,Int(-2.5)=-3,Int(-3)=-3

利用Int函数可以对数据进行四舍五入。例如,对一个正数x舍去小数位时进行四舍五入,可采用如下式子:Int(x+0.5)

当x=9.4时,Int(9.4+0.5)=9

当x=9.5时,Int(9.5+0.5)=10

(3)随机函数Rnd可以模拟自然界中各种随机现象。它可产生一个(0,1)的随机数。使用Randomize语句可以为随机数生成器指定不同的初值或者称为随机数序列的“种子”,这样可以得到不同的随机数序列

Rnd通常与Int函数配合使用生成[a,b]区间范围内的随机整数,可以采用

Int((b-a+1)*Rnd+a)

例如Int(4*Rnd+1)可以产生1~4之间(含1和4)的随机整数。可以是1,2,3或4,这由VB运行时随机给定任务三通过随机函数产生2个两位正整数,求这2个数之和并显示出来。

使用字符串函数的几点说明:

(1)函数Mid(“ABCDEG”,3,2)的结果为”CD”

若省略n,则得到的是从P开始的往后所有字符,如

Mid(“ABCDE”,2)的结果为“BCDE”

(2)插入字符串语句Mid,该语句格式如下:

Mid(字符串,p[,n])=子字符串用“子字符串”替换“字符串”中从P开始的与“子字符串”等长的一串字符。例如,假设S=“ABCDE“,执行语句Mid(S,3)=“99“后,S的值为“AB99E“2.

字符串函数

(3)在函数Instr中,f和k均为可选参数,f表示开始搜索的位置(默认值为1),k表示比较方式,若k为0(默认),表示区分大小写;若k为1,则不分大小写。格式:Instr(f,字符串1,字符串2,k)

例如Instr(3,”A12a34A56”,

”A”)的结果为7Instr(3,”A12a34A56”,”A”,1)的结果为4Instr(”A12a34A56”,

”A”)的结果为1

(4)String(3,”A”)=“AAA”

在函数String中,字符也可以用ASCII代码(附录A)来表示

例如String(6,42)与String(6,”*”)作用相同任务四先从字符串a中找出某个指定字符(本例为空格),再以此字符为界拆分成两个字符串。PrivateSubForm_Click()DimaAsString,bAsString,cAsString,nAsIntegera=“Visual└┘Basic”

'└┘表示空格

n=InStr(a,“└┘”)

'查找空格位置

b=Left(a,n-1)

'取左边部分

c=Right(___⑴___,___⑵___)

温馨提示

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

评论

0/150

提交评论