《计算机应用基础》(二)-Visual Basic程序设计课件2.VB语言基础_第1页
《计算机应用基础》(二)-Visual Basic程序设计课件2.VB语言基础_第2页
《计算机应用基础》(二)-Visual Basic程序设计课件2.VB语言基础_第3页
《计算机应用基础》(二)-Visual Basic程序设计课件2.VB语言基础_第4页
《计算机应用基础》(二)-Visual Basic程序设计课件2.VB语言基础_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

本章目录VB语言基础教学目标掌握VisualBasic程序设计语言的基础知识,包括数据类型(标准数据类型和自定义类型)。熟练掌握变量和常量、变量名与变量类型、变量说明语句;符号常量及其定义、系统定义常量。熟练掌握运算符及表达式:算术运算、字符串运算、关系运算及逻辑运算;各种运算符的优先级。掌握常用系统内部函数:算术函数、字符串函数、日期和时间函数、转换函数、数据输出格式函数Format。初步理解数组。

我们将计算机能够处理的数值、文字、声音、图形、图像等各类信息统称为数据,根据数据所描述信息的含义,又将数据分为不同的种类,即为数据类型。数据类型

数据类型不同的数据,在内存中的存储结构不同,占用的空间也不同。对于不同的程序设计语言,数据类型的规定和处理方法也不相同。数据类型

数值型

含字节型,整型,长整型,单精度浮点,双精度浮点型,货币型,日期型

字符型逻辑型变体型

对象型数据类型关键字类型符前缀所占字节数范

围字节型Byte无byt10~255逻辑型Boolean无bln2True与False整型Integer%int2-32768~32767长整型Long&lng4-2147483648~2147483647单精度型Single!sng4负数:-3.402823E38~-1.401298E-45正数:1.401298E-45~3.402823E38双精度型Double#dbl8负数:-1.79769313486232D308~-4.94065645841247D-324正数:4.94065645841247D-324~1.79769313486232D308VisualBasic的标准数据类型货币型Currency@cur8-922337203685477.5808~922337203685477.5907日期型Date(time)无dtm801,01,100~12,31,9999字符型String$str与字符串长度有关0~65535个字符对象型Objiect无obj4任何对象引用变体型Variant无vnt根据分配确定★数值型(Numeric)

整型(Integer%)长整型(Long&)

单精度浮点型(Single!)

双精度浮点型(Double#)

整数(表示的范围不同)

带小数点的数(表示的范围不同)类型符

★字符串(String$)

:字符序列,由放在一对双引号中的所有西文字符、汉字组成。用于表示各种文字或符号。例:"abc""ABC""2+3""200"

"##**"

"$25,000"

""

"中国""Wearestudents"

在字符串中,字母的大小写是有区别的。★逻辑型(Boolean)

True

和False

变量与常量10…………10001002r内存内存单元地址变量值10变量名被命名的内存单元称为变量或常量。变量(Variable

)程序运行的过程中值会变化

变量存储在内存单元中,用变量名作为标识变量的命名规则变量名以字母或汉字开头,由字母、下划线、汉字、或数字组成,变量名不区分大小写不能用VisualBasic关键字作变量名不提倡用汉字作变量名例:a,abs_2,print_1,m&f,h[3],#g,5y,abc合法的非法的变量类型的定义(变量声明)Dim变量名

As类型Dim

变量名类型符例

Dim

iCount

As

Integer,

sassingle

‘定义整型变量iCount,单精度变量sDim

iCount%,

s!没有声明类型的变量是可变型VariantDim

a,b,c

asIntegera,b,c的类型是一样的吗?注意:变量的隐式声明

VB允许不加声明直接使用变量,不声明的变量是可变型(不建议初学者用)变量的默认初值变量类型默认初值所有数值类型0逻辑型False字符型""

(空)常量程序运行过程中值保持不变用户声明常量(符号常量)例:ConstPI=3.1416系统常量例:Form1.ForeColor=vbBlue定长数组及其声明定长数组:在声明时确定了大小的数组声明形式:

Dim数组名(下标)As[类型]数组的大小为:上界-下界+1命名规则与变量名的相同,遵循标识符命名规则[下界To]上界必须用圆括号括起来;不能包含变量或表达式函数格式:函数名(参数)注意每个函数的:函数名及功能参数个数每个参数的类型和定义域函数值类型

Sqr(4)String(5,”AB”)

显示5个”A”取整函数Int:取小于或等于其本身的最大整数。

如:Int(35.6)=35Int(-35.6)=-36Fix:取整。

如:Fix(35.6)=35Fix(-35.6)=-35Round:四舍五入函数。

如:Round(35.6)=36Round(3.14159,3)=3.142Rnd

函数格式:

Rnd()Rnd

Rnd(N)说明:0≤Rnd

<1产生0~1之间的随机数产生[L,U]区间内的随机整数

Int((U-L+1)*Rnd

+L)例:产生[30~50]的随机整数Int(Rnd*21)+30

为保证每次产生不同的随机数列,可在事件过程中使用语句

Randomize

例:字体的放大、缩小将文本框中的字体随机放大1~3整数倍;任意比例缩小;“还原”按扭将字体恢复成原始大小。随机放大1~3整数倍:Text1.FontSize=Text1.FontSize*Int(Rnd()*3+1)缩小的比例为任意Text1.FontSize=Text1.FontSize

*Rnd()

转换函数Asc:字符转换成Ascii码值。

如:Asc("a")97Asc("A")65

Chr:字符Ascii码值转换成字符。

如:Chr(97)"a"Chr(98)"

b"Val:数字字符串转换成数值。

如:Val("97")97

Val("abc")0Val("12ab")12Val("12ab34")

12Str:数值转换成字符串。

如:Str(97)"97"

思考:随机产生“C”到“L”范围内的一个大写字母

常用字符函数函数名说明实例结果Left(C,N)取字符串左边N个字符Left(“ABCDEFG”,3)ABCRight(C,N)取字符串右边N个字符Right(“ABCDEFG”,3)EFGMid(C,N1[,N2])在C中取从N1开始长度为N2的子字符串(不写N2时取到最后)Mid(“ABCDEFG”,2,3)BCDLen(C)字符串长度Len(“AB计算机”)5Instr([N1,]C1,C2)在C1中从N1开始找C2开始的位置,省略N1从头开始找,找不到为0Instr(”EFABCDEFG”,”EF”)Instr(2,”EFABCDEFG”,”EF”)17出生在哪年:

Mid(Text1.Text,7,4)代表性别的数字:

Val(Mid(Text1.Text,17,1))例:身份证数据输入函数

InputBoxInputBox(提示[,标题][,默认值][,x坐标][,y坐标])提示:必须指定,输入对话框中显示的字符串标题:输入对话框的标题默认值:没有其他输入时框中自动显示的信息

X坐标、Y坐标:设置输入框最初出现的位置。函数的返回值单击确定按钮:返回输入框中的内容(字符串型);

单击取消按钮:返回空在默认情况下,InputBox的返回值是一个字符串(不是变体类型).也就是说,如果没有事先声明返回值变量的类型(或声明为变体类型),则当把该函数的返回值赋给这个变量时,VisualBasic总是把它作为字符串来处理.因此,当需要用InputBox函数输入数值,并且需要输入的数值参加运算时,必须在进行运算前用Val函数(或其他转换函数)把它转换为相应类型的数值,否则有可能会得到不正确的结果.如果正确地声明了返回值的变量类型(或者加了类型说明符),则可不必进行类型转换消息对话框MsgBox过程变量=MsgBox(提示[,按钮图标样式][,标题])

提示字符串:必须指定,消息对话框中显示的字符串按钮图标样式:利用VB给定的符号常量指定消息框中显示的按钮样式和图标样式(见下页)标题字符串:消息对话框的标题上显示的文字用于指定按钮数目及样式的VB常数常数值说明vbOKOnly0只显示“确定”按钮(缺省值)vbOKCancel1显示“确定”和“取消”按钮vbAbortRetryIgnore2显示“终止”、“重试”和“忽略”按钮vbYesNoCancel3显示“是”、“否”和“取消”按钮vbYesNo4显示“是”和“否”按钮vbRetryCancel5显示“重试”和“取消”按钮用于指定图标样式的VB常数常数值说明VbCritical16显示“严重错误”图标VbQuestion32显示“警告询问”图标VbExclamation48显示“警告错误”图标VbInformation64显示“信息”图标用于指定默认按钮的VB常数(补充)常数值说明vbDefaultButton10第一个按钮是默认的(默认值)vbDefaultButton2256第二个按钮是默认的vbDefaultButton3512第三个按钮是默认的MsgBox

函数的返回值常数值说明vbOK1按下

"确定"

按钮vbCancel2按下

"取消"

按钮vbAbort3按下

"终止"

按钮vbRetry4按下

"重试"

按钮vbIgnore5按下

"忽略"

按钮vbYes6按下

"是"

按钮vbNo7按下

"否"

按钮MsgBox语句MsgBox

提示[,按钮图标样式][,标题]例:消息对话框的使用PrivateSubCommand1_Click()

If

NotIsNumeric(Text1)Then

i%=MsgBox("你输入的不是数字!",5+vbQuestion,"警告")Ifi=4ThenText1.SetFocusElseEnd‘SetFocus,该函数对指定的窗口设置键盘焦点。该窗口必须与调用线程的消息队列相关。

Else

MsgBox"你好",,"欢迎"

EndIfEndSub窗体输入不是数字时的消息框输入数字时的消息框判断是否数字Print方法

[对象名.]Print表达式[,|;[表达式…]];(分号):光标定位在上一个显示的字符后,(逗号):光标定位在下一个打印区(每隔14列一个打印区)无"

;"或"

,"

:输出后换行例:Form1.Print"面积为:";20*5

‘其中的Form1可以省略数值:先计算,后输出字符串:引号中的内容原样输出表达式Print使用注意定位函数:

Tab(n):定位于输出对象最左端算起的n列

Spc(n):插入n个空格可以在窗体或图形框(Picture框)中输出,省略对象则在窗体输出Print方法在Form_Load事件中无效,将窗体的AutoRedraw设为True时才有效例:

a=100:b=200Print"a+b=",Printa+bPrintPrint"ABCDEFG"x=5:y=10:z=15Printx,y,z;"ABCD"Print

Print"&";Tab(8);"*****";Spc(5);"###"

格式转换函数Format(1)Format函数的功能将表达式的值转换为指定格式的字符串.(2)Format函数的一般格式Format(表达式,"格式字符串")例如:PrintFormat(125.637,"0.00")(3)常用的数值格式化符号符号作用示例及结果0按指定位数转换,数据的实际位数不足时补0Format(123.46,"00.000")结果为:123.460#按指定位数转换,数据的实际位数不足时不补0Format(123.46,"##.###")结果为:123.46,按照千分位格式输出%数值乘以100,后加%$在数字前加$E+用指数格式输出Format(123.46,"0.0E+00")结果为:1.2E+02判断:能正确运行出结果吗?为什么?PrivateSubForm_Click()DimaAsInteger,bAsIntegera=32767b=32768PrintaPrintbEndSubDima,bAsSinglec=c+10变量a,b,c是什么类型的?变量的隐式声明和强制显式声明(OptionExplicit)

改为:DimaAsInteger,bAsLong或

Dima%,b&判断:能输出结果吗?为什么?

PrivateSubForm_Load()PrintFori=1To5

PrintTab(i);String(6-i,"★");Spc(6);String(i,"▲")NextIEndSubForm_Load事件中,Print方法无效果。修改方案:1:将窗体的AutoRedraw属性修改为True.2:在程序的第一个Print之前加语句:Me.Show运算符(Operator)数值运算优先级^乘方*乘/除\整除Mod取模(余数)+加-减例:5+10mod10\9/3+2^2

结果:?思考:对于一个任意3位数字,如何能把个位、十位和百位的数字提取出来字符运算"abcdef12345"出错"123456"579

"123"+"456"结果"123456""123"&"456"结果"123456"

区别:+两边必须是字符串,&不一定+&

两个字符串首尾连接例如:

"abcdef"&12345

"

abcdef"+12345

"123"&456

"123"+456结果关系运算符关系运算符用于比较两个数值或两个字符串参之间的关系,运算结果为True

或False

=<>><>=<=运算符例结果="ABCDE"="ABCR"False<>"ABCDE"<>"ABCR"

温馨提示

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

评论

0/150

提交评论