第四章 Visual Basic的基本语句_第1页
第四章 Visual Basic的基本语句_第2页
第四章 Visual Basic的基本语句_第3页
第四章 Visual Basic的基本语句_第4页
第四章 Visual Basic的基本语句_第5页
已阅读5页,还剩35页未读, 继续免费阅读

下载本文档

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

文档简介

第4章VisualBasic的基本语句4-1.1赋值语句格式:[Let]

变量名=表达式对变量进行赋值表达式为:算术表达式、字符串表 达式、关系表达式、逻 辑表达式。首先计算赋值号“=”右面表达式的值,然后将结果保存到赋值号“=”左面的变量中。例:DimxAsInteger,yAsInteger DimzAsInteger x=3 y=4 z=x+y Printz4-1.2不同数据类型数据的赋值在赋值语句中,我们要求赋值号“=”两边的数据类型应一致。要求:如果赋值号“=”两边的数据类型不一致,则系统会视具体情况做如下处理:注意:1、变量名=表达式字符型数值类型先计算表达式的值,再将数值类型的结果转换成字符串赋值给字符型变量。例:PrivateSubCommand1_Click()DimxAsStringx=1+6PrintxEndSub结果:72、变量名=表达式字符型数值类型

如果表达式的值为数字字符,则将数字转换成数值,结果赋值给数值型变量。例:PrivateSubCommand1_Click()DimxAsIntegerx="12"+"34"PrintxEndSub结果:1234

如果表达式的值为字符,则字符不能赋值给数值型变量,系统提示出错。PrivateSubCommand1_Click()DimxAsIntegerx="ABC"PrintxEndSub3、变量名=表达式数值类型逻辑型

当转换其他的数值类型为Boolean值时,0会转成False,而其他的数值则变成True。例:PrivateSubCommand1_Click()DimxAsBooleanx=1+6PrintxEndSub结果:True4、变量名=表达式数值类型逻辑型

当转换Boolean值为其他的数据类型时,False成为0,而True成为-1。

例:PrivateSubCommand1_Click()DimxAsSinglex="a">"b"PrintxEndSub结果:05、变量名=表达式字符类型逻辑型

当把逻辑值“True”赋值给一个字符型变量时,变量的值为“True”;把逻辑值“False”赋值给一个字符型变量时,变量的值为“False”。

例:PrivateSubCommand1_Click()DimyAsStringy=1>6PrintyEndSub结果:False例:在程序中将变量Inta、Bl、St、D分别定义为Interger类型、Boolean类型、String类型和Date类型,下列赋值语句中,正确的是A.Inta=“333”+“22” B.D=#10/05/01#C.St=5+”abc” D.Bl=#True#B4-2条件语句一、If语句(条件语句)格式1:IfeThen语句1[Else

语句2]根据表达式的值有条件地执行不同的语句解释:当e为True时,执行语句1; 为False时,执行语句2。e----为判决条件,它可以是逻辑变量、关系表达式或逻辑表达式。注意:此格式中的语句必须在一行内书写。例:从键盘上输入三个数,找出最大的数窗体模块的对象为:窗体模块的代码为:OptionExplicitPrivateSubCommand1_Click()DimxAsSingle,yAsSingleDimzAsSingleDimmaxAsSinglex=Val(Text1.Text)y=Val(Text2.Text)z=Val(Text3.Text)

Ifx>yThenmax=xElsemax=y

Ifz>maxThenmax=zText4.Text=maxEndSub注意:以上在文本框中必须输入数字,否则无意义格式2:IfeThen

语句块1 [Else

语句块2]

EndIf解释:当e为True时,执行 语句块1;为False 时,执行语句块2。流程图(框图):例:同上例从键盘上输入三个数,找出最大的数窗体模块的对象为:窗体模块的代码为:PrivateSubCommand1_Click()Dimx,y,z,maxAsSingle

IfIsNumeric(Text1)=FalseThenMsgBox"请输入数字"Text1.SetFocusExitSub

EndIf

IfIsNumeric(Text2)=FalseThenMsgBox“请输入数字”:Text2.SetFocus:ExitSub

IfIsNumeric(Text3)=FalseThenMsgBox"请输入数字":Text3.SetFocus:ExitSubx=Val(Text1.Text)y=Val(Text2.Text)z=Val(Text3.Text)

Ifx>yThen

max=x

Else

max=y

EndIf

Ifz>maxThenmax=zText4.Text=maxEndSub格式3:Ife1Then

语句块1 [ElseIfe2Then

语句块2] [ElseIfe3Then

语句块3] …... [Else

语句块n]

EndIf流程图(框图):例:计算运费。铁路货运费用收取标准为80元/吨,具体标准如下:公里数(S) 折扣S<250 无折扣250S<500 2%500S<1000 5%1000S<2000 8%2000S<3000 10%3000S 15%窗体对象如下:PrivateSubCmdCount_Click()DimsAsSingles=Val(Text1.Text)

Ifs<250ThenText2=80

ElseIfs>=250Ands<500ThenText2=Str(80*(1-0.02))

ElseIfs>=500Ands<1000ThenText2=Str(80*(1-0.05))

ElseIfs>=1000Ands<2000ThenText2=Str(80*(1-0.08))

ElseIfs>=2000Ands<3000ThenText2=Str(80*(1-0.1))

ElseIfs>=3000ThenText2=Str(80*(1-0.15))

EndIfEndSub代码如下:二、Selectcase语句(条件语句)SelectCase语句也是一个条件语句。If语句有二个分支,而SelectCase语句有多个分支。SelectCase语句根据测试表达式的值与表达式列表的值进行比较,来决定执行哪个分支中的语句块。解释:当测试表达式的值与Case语句中表达式列 表中的某一个表达式的值相等时,则此 Case语句后的语句块被执行。若都不满足 时则执行CaseElse后面的语句块;执行结 束后,转入EndSelect后面的语句。格式:SelectCase测试表达式 [Case

表达式列表1 语句块1] [Case

表达式列表2 语句块2] …… [CaseElse[表达式列表n] 语句块n]EndSelect表达式列表的格式:1、表达式 (为算术表达式或字符串表达式, 类型必须与测试表达式的类型一 致)2、表达式1To表达式2 例:2To83、Is关系运算符表达式 例:Is>8例:求解一元二次方程ax2+bx+c=0的根窗体模块的对象:OptionExplicitPrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSingle,qAsSingleDimx1AsSingle,x2AsSingleDimxx1AsString,xx2AsString

IfIsNumeric(Text1)=FalseThenMsgBox"请输入数字"Text1.SetFocusExitSub

EndIf

IfIsNumeric(Text2)=FalseThenMsgBox"请输入数字"Text2.SetFocusExitSub

EndIf

IfIsNumeric(Text3)=FalseThen

MsgBox“请输入数字”Text3.SetFocusExitSub

EndIf

a=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)q=b*b-4*a*c

SelectCaseq

CaseIs>=0x1=-b/(2*a)+Sqr(q)/(2*a)x2=-b/(2*a)-Sqr(q)/(2*a)Text4.Text=x1Text5.Text=x2

CaseElsexx1=Str(-b/(2*a))&"+i"&Str(Sqr(-q)/(2*a))xx2=Str(-b/(2*a))&"-i"&Str(Sqr(-q)/(2*a))Text4.Text=xx1Text5.Text=xx2

EndSelectEndSub4-3循环语句循环语句的作用是多次重复地执行某一任务。它有确定循环次数与不确定循环次数两种类型一、For…Next循环语句For计数变量=初值To

终值[Step

步长] [语句块] [ExitFor] [语句块]Next[计数变量]它是确定循环次数的循环语法格式:说明:1、计数变量不能是数组元素或Boolean变量 2、For循环通过计数变量与终值的比较来 控制循环。当计数变量的当前值第一次 出现“超过”终值时,循环结束。 在循环中若终值发生变化时,仍按初始 终值进行比较。 3、Next语句对计数变量按步长作一次修正。 即:计数变量=计数变量+步长(在循环 中若步长发生变化,上式中的步长仍按 初值进行计算) 4、Step后的步长缺省值是1(这时候可不写)For计数变量=初值To

终值[Step

步长] …... ExitFor …...Next[计数变量]示意:注意:可用ExitFor语句从循环体内跳出循环, 但不能从循环体外跳进循环体内。 5、步长可以是正数、负数、也可以是小数 6、ExitFor语句将从For循环中跳出,程序 转到Next后的语句例:求的值(20+21+…+2n),其中n为 从键盘输入的正整数(不超过1000)2ii=0n窗体模块的对象为:窗体模块的代码为:OptionExplicitPrivateSubCommand1_Click()Dimi,nAsIntegerDimsAsDouble

IfIsNumeric(Text1.Text)=TrueAndInt(Val(Text1.Text))>=0And_Int(Val(Text1.Text))<=1000Thenn=Int(Val(Text1.Text))

ElseMsgBox(“请输入正整数,且不要超过1000")Text1.SetFocusText1.Text=""ExitSub

EndIf

温馨提示

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

评论

0/150

提交评论