您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第四课VB变量与表达式
北仑中学算法与程序设计自编教材第四课VB变量与表达式一、VB变量及定义程序中要处理各种各样的数据,数据可以按照本身的特性分为若干种不同的类型,常见类型见表1:表1VB常用的基本数据类型数据类型名说明性质Integer整数型-32768~32768内的整数Long长整数型-2147483648~2147483647内的整数Single单精度实数型绝对值在1.401298E-45~3.402823E38内的任何实数,有效数字约6~7位Double双精度实数型绝对值在10E-324~1.79E308内的任何实数,有效数字约14~15位String字符串型一段文字与符号Boolean逻辑型判断的结果:其值为true或falseDate日期型日期和时间注:字母E表示乘方的底数10。例如7×105和7×10-5可分别表示为7E5和7E-5数据总是以常量或变量的形式出现在程序中。常量是在程序运行过程中值不变的存储单元或数据,例如语句constpi=3.14,就是定义了一个常量pi,在这个程序中出现的所有pi都会被VB自动转换成3.14。变量是用来表示数据的存储区,也就是存放数据的容器。VB变量定义的方法:dimaasinteger将a定义为整数型变量(a就是变量名),用于存放整数型数据,其他类型的变量定义类似。如果定义两个或两个以上的同类型变量可以用语句:dima,basinteger,就是定义了a,b两个整数型变量。变量定义时,变量的取名有一定的限制,变量的名称由字母、数字和下划线组成,必须是字母开头,VB系统中已使用的字符不能作为变量名,比如dimlongasinteger,这句语句就是错误的,因为long是数据类型名,不能再作为变量名了。(注:其实VB6中也可以使用汉字作为变量名,不过一般不建议使用,因为容易导致程序兼容性变差)在设计求圆面积程序时,写过一段程序r=val(text1.text)s=3.14*r*rText2.text=str(s)这段程序中r,s是变量名,而且是实数,所以应该在这段程序前加上一句定义变量的语句dimr,sassingle(注:之前编写程序时没有加这句变量定义语句,程序也能正常运行是因为VB能自动识别出程序中的变量,并定义为相关类型,为了规范起见,还是应该在程序开始时定义好程序中用到的变量。)二、表达式一个表达式中可能包括算术运算、关系运算和逻辑运算等多种基本运算,以及运算中涉及的数据(变量和常量)、常用标准函数等。各种基本运算的符号及优先级别见表2,表2基本运算北仑中学算法与程序设计自编教材基本运算运算符号优先级表达式举例示例表达式的值算术运算乘幂^12^38取负-2-aa的相反值乘法*33*2.57.5实数除法/35/22.5整除\45\22取余数Mod55mod21加法+6a+ba+b的值减法-6a-ba-b的值关系运算相等=71=2False不相等712True小于712True大于712False小于等于=710mod2=20True大于等于=710\2=7False逻辑运算非Not8Not(32)False与And925=10and2510False或Or102510or23true注:优先级数字越小,则级别越高,在同一个表达式中先执行优先级高的运算,相同优先级,按自左向右顺序执行,如有括号,则先执行括号内的表达式。关系运算和逻辑运算的结果只有true或false,其中逻辑运算中“非”运算就是取反,比如nottrue的结果就是false。“与”运算只有运算符的两边都是true,结果才是true,就是说表达式aandb,只有a和b都是true的情况下结果才是true,否则结果为false。“或”运算只要运算符的两边有一边的值是true,则结果就是true,比如表达式aorb,只要a、b中有一个是true,则结果就是true,只有a和b都是false,结果才是false。表达式常常被用在赋值语句或条件判断上,下面我们就来介绍一下VB中赋值语句,其实在编写求圆面积、三角形面积的程序中已经用到过赋值语句,它的作用是把等号右边的表达式的计算结果存储到等号左边指定的变量中或存放到某个对象的指定的属性中。格式如下:比如求圆面积中用到的s=3.14*r*rText1.text=str(s)就是两句典型的赋值语句,在VB中,一般是一行写一个语句,也可以在一行上写多个语句,不过一行上相邻语句要用冒号(:)分隔,例如以下写法都是正确的:另外要注意区分赋值语句中“=”和关系运算中的“=”运算符号。例1:请问以下代码执行后,a和b的值分别为多少?并用程序验证。Dima,basinteger变量名=表达式对象名.属性名=表达式A=2B=3A=2:b=3北仑中学算法与程序设计自编教材a=3:b=5a=a+bb=a-ba=a-b打开VB,新建标准EXE,在窗体中添加一个命令按钮,如图1图1窗体中只加了一个命令按钮对象为command1的click事件编写代码(我们期望通过点击command1按钮,来显示a、b的值),但是将代码写进去后,运行程序,点击command1按钮没有任何显示,因为这段程序里还没有任何的输出语句,在上述程序的后面加上以下代码试试:Printa,b或printa:printb用print语句可以直接在窗体上输出变量的值。在表达式的书写中还需要用到很多VB系统自带的标准函数,比如将数学式子24bac写成VB表达式为sqr(b*b-4*a*c),就需要用到求算术平方根的函数sqr(),常用的标准函数见下表:表2常用的标准函数及功能函数名函数功能应用举例函数返回值Abs(x)求绝对值Abs(-3.5)3.5Int(x)求不大于x的最大整数Int(4.1)4Sqr(x)求x的算术平方根Sqr(100)10Exp(x)求e的x次方Exp(2)7.389056Log(x)求以e为底的x的对数Log(3)1.098612Sin(x)求x的正弦值Sin(3.1416/2)0.9999999北仑中学算法与程序设计自编教材Cos(x)求x的余弦值Cos(1.1416/3)0.4999999Tan(x)求x的正切值Tan(3.1416/3)1.7320606Asc(x)字符转换为ASCII编码Asc(“A”)65Chr(x)ASCII编码转换为字符Chr(65)AVal(x)将数字字符串转换为数值Val(“-170”)-170Str(x)将数值转换为字符串Str(-170)“-170”Len(x)计算字符串的长度Len(“abc”)3Mid(x,n,k)去字符串x中第n个字符起长度为k的子串Mid(“abcde”,3,2)cdFix(x)去掉数据的小数部分Fix(2.56)2Round(x)四舍五入Round(3.5)4例2将数学式子32|3|xyxy写成VB表达式,并用程序计算当x=-5,y=3时,表达式的值。在图1所示的窗体上操作,对command1的click事件编写代码(将刚才写的代码去掉),可以将该表达式的值赋给变量a,然后显示出a的值即可,代码如下:X=-5:y=3a=(-x^3-y^2)/(abs(x+3)+y)msgbox(a)msgbox()函数可以将变量的值以弹出对话框的形式显示,只要在括号里填写需要输出的变量即可。三、VB输入输出方式总结1、VB中接收用户数据输入的方式一般有两种方式:(1)、利用文本框输入在窗体中添加一个文本框text1,则获取text1中用户输入的值可以用语句a=text1.text(把对象text1的text属性的值赋给变量a)(2)、利用弹出对话框输入在图1的command1按钮的click事件中编写如下代码:A=inputbox(“请输入a的值”)Printa其中inputbox()函数就是接收用户输入数据的对话框,双引号内的字符是提示性语言,a=inputbox(”请输入a的值”)就是将inputbox()函数接收到的用户输入值赋给变量a。2、VB中显示程序运行后的数据值一般有三种方式:(1)、利用print语句在窗体上输出数据Print方法可以在相应的对象上显示文本、变量和表达式的值。北仑中学算法与程序设计自编教材例3请问int(-4.2)的值是多少?用程序验证在图1的command1的click事件中编写如下代码:A=int(-4.2)Printa以上两句代码也可以写成一句代码printint(-4.2)其中的Print语句就是用来在窗体对象上输出表达式的值。(2)、利用msgbox()函数弹出窗口输出数据Msgbox()函数以弹出对话框的方式来显示变量或表达式的值。例4请问(34)and(32)的值是什么?在图1的command1的click事件中编写如下代码:Msgbox((34)and(32))程序运行后点命令按钮就会弹出对话框,显示的就是该表达式的值。(3)、利用对象的属性值来显示数据一般可以利用文本框的text属性或标签的caption属性来显示变量或表达式的值。比如text1.text=表达式或变量,label1.caption=表达式或变量,就是用text1的text属性显示数据值、label1的caption属性显示数据值例5请问以下代码执行后变量a、b的分别值是多少Dima,basintegera=len(“120”)b=len(str(120))在图1的窗体上添加一个文本框对象和一个标签对象,按默认的话名称应该分别为text1、label1(如实际编写程序时对象名称改变,以实际为准)。在图1的command1的click事件中编写如下代码:Dima,basintegera=len(“120”)b=len(str(120))text1.text=str(a)label1.caption=str(b)课后练习:1、写出VB表达式:y能被4整除但是不能被100整除,或者y能被400整除。2、下列变量名命名中正确的有:_______________________Abc变量atrue12ai_64strdima-b3、写出下列表达式的值:int(4.7)______fix(-4.7)________mid(“iamastudent”,3,2)_________Len(“ab_c”)________str(12)+str(34)____________123\10mod10=___________Not(12)and(53)=________(21)or(33)=________
本文标题:第四课VB变量与表达式
链接地址:https://www.777doc.com/doc-2172230 .html