VisualBasic辅导讲义2-运算.ppt

上传人:tia****nde 文档编号:11498009 上传时间:2020-04-25 格式:PPT 页数:59 大小:542KB
返回 下载 相关 举报
VisualBasic辅导讲义2-运算.ppt_第1页
第1页 / 共59页
VisualBasic辅导讲义2-运算.ppt_第2页
第2页 / 共59页
VisualBasic辅导讲义2-运算.ppt_第3页
第3页 / 共59页
点击查看更多>>
资源描述
VisualBasic辅导讲义,计算机与数学基础教学部:刘冰,数据运算符和表达式,数据类型,VB语言数据类型:基本数据类型自定义类型枚举类型,计算机能够处理的信息都叫做数据,数据不单单是数字,还包括字符、日期、图像、声音、逻辑值等一系列在计算机中能够表达的信息。,基本数据类型p48,注意:Vb中类型符可以用来声明变量或者函数结果的数据类型,比如:Dimxasinteger和dimx%是完全一样的,在程序中也可以直接使用。A!=123.456B%=123.456PrintA,B,a=123b=234c$=123d$=234Printa+bPrintc+d,Str$(200)Mid$(“abc”,1,2),字节,字节是计算机中存储数据的最小单位。由8位二进制数组成。比如:1字节长度的数据如果没有符号则最小为00000000(0)最大为11111111(255)如果带有符号,则最高位为0代表正数,最高位为1代表负数。剩下的7位为有效数字。最大为01111111(127)最小为最大值取反-1,即-128(编码方式不同),可进行算术运算的数据,包括整数、实数类型整数类型:不带小数的数,可以有正、负号字节型(Byte)1字节。存储无符号整数,只存储0255之间的数整型(Integer)2字节。-3276832767*长整型(Long)4字节。-21474836482147483647,1.数值型(Numeric),实数类型:由符号、指数和尾数组成。单精度浮点型(Single)4个字节,只有7个有效数字,当数字大于7个有效数字可以表示的时候,用E或者e来作为科学计数法表示。DimxAsSingle,y!,z!,k!x=100/3y=100000/3z=10000000/3k=100000000000/3PrintxPrintyPrintzPrintk,双精度浮点型(Double)8个字节(64位),有15个有效数字,用D或者d来作为科学计数标志123.33D+3786.7D+308货币型(Currency)8个字节运算精确到小数点后4位.,以上为数值类型,数值类型的变量初始值都是0。,运算和表达式运算符是表示数据之间运算方式的符号,操作数是参与运算的数据,表达式是由运算符和操作数组成的式子。例如:算术表达式“1+2”中1、2是操作数,“+”是运算符。,以X=5,Y=2为例(p53),提示:整除和取余运算时,如操作数为小数,均四舍五入后再参与运算。,整除:取商的整数部分取余:取商的余数部分100/31003100mod3,Print8mod3.2Print3.2mod8Print84.2Print84.6,注意与数学中表达式写法的区别:在VB中不能省略乘号运算符如:数学上的表达式b2-4ac中省略了乘号,但在写成对应的VB表达式的时候,要写成b2-4*a*c。表达式中所有括号一律用小括号如:数学中的表达式(x+y)/(a-b)+cx,在VB中要(x+y)/(a-b)+c)*x。算术运算符优先级从高到低的顺序为:乘方负数(乘、除)整除取模(加、减)优先级高则先运算,但如果有括号则先运算括号内的表达式。,练习,Print-24Print3-2Print6(1/2)Print(10-4)Mod2+7/(3-1)Print(-(-(4-1)*-2-1)*-2-1)*-2-1Print332Print4Mod8/3Print3*23/2,1.字符型(String),字符型数据是一个字符序列,由ASCII码和中文字符构成。在vb中,字符串是放在双引号中的一串字符。由两个连续双引号扩起来的字符串叫做空串。ABC中国12345计算机长度为3长度为0,为空串。Text1.Text=,Dimxasstring,y$字符型变量的初始值为空字符串。,ASCII字符表,高三位,低四位,字符运算,字符串运算符:“&”和“+”,功能是字符串连接。,异同:同:操作数同为字符型时,完成字符串相连接操作。异:操作数两边不同为字符,结果不同。,?“abc”+”123”?“abc”&“123”?“100”+“123”?“100”&“123”,?100+“123”?100&“123”?“abc”+123?“abc”&123,X=5+7Print“x=”,xPrint“x=”+xPrint“x=”&xPrint“x=”+str(x),3.日期型(Date)8个字节表示日期信息,以定界符#括起来,可以表示公元100年1月1日到9999年12月31日。时间表示为0:00:00到23:59:59格式mm/dd/yyyy或mm-dd-yyyy例如:#2005-3-2#03-15-1999#,日期运算,日期运算符:“+”和“-”。“+”日期+数值,表示该日期后的若干天。【例】?#02-01-2011#+10结果为:2011-02-11“-”日期-数值,表示该日期前的若干天。日期-日期,表示两个日期之间相差的天数。【例】?#01/01/2010#-2结果为2009-12-30?#2008-08-24#-#2008-08-08#结果为:16,4.布尔型(Boolean)2个字节又称逻辑型,为真True和假False,在计算机中也用-1来表示True,用0来表示False。printTrueFalseprintTrue+False+2,If3+1=2ThenPrintaElsePrintbEndIf,If3+1ThenPrintaElsePrintbEndIf,关系运算,运算规则:数值型:比较它们的数值大小。字符型:从左到右逐个字符比较ASCII码值,到不同字符为止。日期型:将日期看成“yyyymmdd”的8位整数,再按数值进行比较。,注意:同类型数据才能比较,结果为逻辑值。,字符比较时“空格”09AZa”h”Print“a”ABC”Print“ab”+”c”abd”,PrintDate#8/8/2011#,15.设a=10,b=5,c=1,执行语句Printabc后,窗体上显示的是A)TrueB)FalseC)1D)出错信息,以下关系表达式中,其值为False的是A)“ABC”“AbC”B)thetheyC)VISUAL=UCase(Visual)D)IntegerInt,逻辑运算,将操作数进行逻辑运算,结果是逻辑值。,逻辑运算优先级:Not(非)And(与)Or(或)Xor(异或)Eqv(等价)Imp(蕴含)。equalvalueimplication混合运算优先级:算术字符日期关系运算逻辑运算,?ab+“e0,设a=4,b=3,c=2,d=1表达式ab+1Orc”abd”则可以将”abcde”赋值给某个变量,让该变量代替”abcde”做运算X=“abcde”Print“ab”+xprintx”abd”,命名规则字母、数字或下划线组成;(name,x1_1,num1)字母为首,最后可以是类型说明符;(num1,y!,name1$)有效字符长度小于等于255个字符;禁用VB中的关键字;不区分大小写。,1变量的声明显式声明在变量使用前用声明语句声明程序中用到的变量。格式:Dim变量名As数据类型Static变量名As数据类型静态变量Public变量名As数据类型全局变量DimxasintegerDimyassingleDimvar1asInteger,var2asInteger定义多个变量,逗号分隔Statictotal!定义total为单精度实型变量Dimaverage定义average为货币型变量,DimnameasString*6定义name为定长字符串,这行命令定义了三个变量a,b,c但是只说明了c是整数型,a和b没有说明,当作变体型处理,DimxAsString*5x=100Printx&abx=1000000Printx&ab,Dima,b,casinteger,ab10000ab,实验:Dima,cAsIntegera=100/3c=100/3PrintaPrintc,正因为有变体型的存在,使得在vb语言中,变量的定义并不十分严格,各种类型间可以自动相互转换“100”+200“100”&200等都是可以的,而在一些定义严格的语言中是绝对禁止的,注意:在通用说明处加OptionExplicit语句强制显式声明变量。,PrivateSubCommand1_Click()varl=50Printvar1+50EndSub,隐式声明变量不经过dim等声明语句直接使用。【例】PrivateSubCommand1_Click()Varl=50PrintVarlEndSub,变量实际上是在内存中的一个存储区域,当使用Dim等语句声明变量的时候,按照数据类型要求分配存储空间,隐式声明时动态分配存储空间。变量有一定的作用范围,当某个范围内的变量使用结束时,保存变量的存储空间被系统收回,即变量消失。,OptionExplicitPrivateSubCommand1_Click()Dimxx=100PrintxEndSubPrivateSubCommand2_Click()PrintxEndSub,Dim与Static相同点:都是提前声明变量,分配存储空间,使用命令的格式相同不同点:用Dim声明的变量,每次执行过程都重新定义变量;过程结束,变量的内容自动消失,存贮单元释放。用Static声明的变量,在每次执行过程时,变量保持原来的值(上次运行结果),这种变量称为静态变量。,PrivateSubCommand1_Click()Dimx%Staticy%x=x+1y=y+1Printx,yEndSub连点按钮4次,窗体上出现的内容是?,PrivateSubCommand2_Click()y=y+1PrintyEndSub如果在按钮2中写以上代码,在单击按钮1后点按钮2,窗体上出现的结果是什么?,2.变量的作用域按其变量作用的有效区域分为:局部变量、模块变量、全局变量。,当使用变量时,要区分变量的作用范围,即变量可以在哪些过程中使用,PrivateSubCommand1_Click()x=x+5PrintxEndSubPrivateSubCommand2_Click()x=x+10PrintxEndSubPrivateSubCommand3_Click()PrintxEndSub,DimxAsIntegerPrivateSubCommand1_Click()x=x+5PrintxEndSubPrivateSubCommand2_Click()x=x+10PrintxEndSubPrivateSubCommand3_Click()DimxAsIntegerx=x+100PrintxEndSub,存在同名变量时,作用范围小的优先使用,DimxAsIntegerDimyAsIntegerPrivateSubCommand1_Click()StaticxAsIntegerx=x+10y=y+10Printx,yEndSubPrivateSubCommand2_Click()x=x+10y=y+10Printx,yEndSubPrivateSubCommand3_Click()DimyAsIntegerx=x+10y=y+10Printx,yEndSub,三个按钮点击次序如下:Command1Command1Command2Command2Command3Command3Command1Command2Command3问题:9次单击按钮后,窗体上得到的9行数字序列为:,在窗体上画一个名称为Command1的命令按钮和三个名称分别为Label1、Label2、Label3的标签,然后编写如下代码:PrivatexAsIntegerPrivateSubCommand1_C1ick()StaticyAsIntegerDimzAsIntegern10z=n+zy=y+zx=x+zLabel1.Caption=xLabel2.Caption=yLabel3.Caption=zEndSub运行程序,连续三次单击命令按钮后,则三个标签中显示的内容分别是A)101010B)303030C)303010D)103030,函数,函数的简单定义:设在某变化过程中有两个变量x与y,如果对于x的每一个值,y都有唯一的值与它对应,那么就说y是x的函数在计算机领域,函数已不单纯的是数字的映射,它可以将复杂运算符号化,用户只需要记住函数的名字,而没有必要了解函数的全部计算过程。vb函数分为系统函数(vb提供)和自定义函数(用户编写),函数的调用格式:(参数1,参数2)说明:每一个函数都有函数名,通过函数名调用函数。括号内的值称为“参数”,函数运算的结果称为“返回值”。函数是以表达式的形式调用的,而不能单独作为一个语句。例如:Leta=Str$(100)Letz=Sin(x)+Cos(x+y)Printval(text2.text)而单独的函数写成一行语句是不正确的。Sqr(4)Abs(-100),数学函数,字符串函数,时间函数nowdatetime测试函数typename()DimaAsVariantDimbAsIntegerDimcAsDoubleDimdAsStringPrintTypeName(a)返回值:emptyPrintTypeName(b)返回值:IntegerPrintTypeName(c)返回值:DoublePrintTypeName(d)返回值:StringPrintTypeName(Command1)返回值:CommandButtonPrintTypeName(Picture1)返回值:PictureBoxPrintTypeName(Text1)返回值:TextBox,Rnd函数格式:Rnd(x),其中参数x是一个双精度数,可以省略。功能:可产生一个0,1)之间的单精度随机数,下一个要产生的随机数受参数x的影响,分别为:当x=0或省略时,产生下一个随机数。,利用rnd函数产生一个随机整数int(rnd)Int(rnd*n)Int(rnd*100)的范围?Int(rnd*100+1)的范围?Int(rnd*101)的范围产生0-9之间的数字,44.设a=5,b=10,则执行c=Int(b-a)*Rnd+a)+1后,c值的范围为A)510B)69C)610D)59,42.执行以下程序后输出的是。PrivateSubCommand1_Click()Ch$=”AABCDEFGH”PrintMid(Righ(ch$,6),Len(left(ch$,4),2)EndSubA)CDEFGHB)ABCDC)FGD)AB,34设有如下程序段:a$=BeijingShanghaib$=Mid(a$,InStr(a$,g)+1)执行上面的程序段后,变量b$的值为。A)“Shanghai”B)”Beijing”C)“shang”D)“hai”,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!