资源描述
程序设计数据表示与处理o程序设计中,往往要处理各种各样的数据,不同的程序设计语言有不同的数据类型(Data Type)o在VB中,为了便于数据的表示与处理,VB提供了数值型、字符串型、布尔型、日期型等基本数据类型打字测试软件代码oDimdtmBeginTimeAsData,dtmEndTimeAsDataPrivateSubcmdEnd_Click()DimintTimeCostAsInteger,intWordContAsIntegerdtmEndTime=Time()intTimeCost=DateDiff(s,dtmBeginTime,dtmEndTime)intWordCunt=Len(txtInput.Text)txtSpeed.Text=intWordCount/(intTimeCost/60)EndSubPrivateSubcmdStart_Click()dtmBeginTime=Time()EndSub 整型、长整型、单精度和双精度都属于数值型,它们表示数值的范围是不同的。字符串型数据是指用括起来的一串字符。如欢迎进入VB世界!、Visual Basic、1234都是字符串类型。布尔型又称逻辑型,常用于表示逻辑判断的结果日期型数据专门用来处理日期和时间。VB采用一对“#”把日期和时间的值括起来,如#2015/03/24#表示2015年3月24日。2.2.2 常量与变量o常量常量(constant)是指在程序运行过程中保持不变的量,在 Visual Basic中,常量有数值常量、字符串常量等。数值常量数值常量就是数学中说的常数,数值常量有整型常量和实型常量两种。整型常量即整数,是指不带小数的数值,如1、0、60等都是合法的整数。实型常量即实数,是指带小数的数值。如3.14159o 字符串常量用一对双引号括起来的若干个合法的字符称为字符串常量。字符串常量指的是双引号中的字符,不包括双引号本身。例如“china”、“Visual Basic”、“18”、“3.14”等。如果程序中多次用到同一个常量,往往用一个有意义的符号表示,这种常量称为符号常量;代表常量的符号称为“常量名”,其定义形式如下:Const 常量名 As 类型表达式如:Const pi=3.14159r=5s=pi*r*rPrint s=;s2.变量在程序执行过程中,其值可以改变的量称为变量(variable),例如:a=4 a=3.14 a先后有2个值,也就是说a的值是可以变化的。每个变量都应该有一个名字,即变量名。Visual Basic变量名:o必须以字母或汉字开头;o由字母、汉字、数字或下划线组成;o变量名最长不超过255个字符;o不能以VB的保留字作为变量名,如a、i、x1、age、num等均为合法的变量名,而print、l*et则是非法的变量名;o对字母不区分大小写;o为加强程序的可读性,变量名最好要有意义的名称,如用“age”表示“年龄”,“sum”表示“总和”等。o变量是用来存储数据的,数据分为不同的类型,相应的变量也有不同类型:o变量在使用之前应用Dim语句声明其变量名及数据类型,Dim语句格式为:Dim 变量名 As 数据类型例如:Dim i As IntegerDim sum As SingleDim name As String以上三个语句分别将i、sum、name定义为整型、实型和字符串型变量。当然,也可以在一行中定义多个变量,如上述三个变量可如下定义:Dim i As Integer,sum As Single,name As String对象的属性在VB中的含义序号序号对象的属性对象的属性在在VB中的含义中的含义1Caption设置窗体标题栏上的文字2Font设置字体字号字形3Visible设置程序运行时是否可见4Width设置窗体的宽度5Top设计程序运行时的垂直位置6Enabled决定运行时窗体是否响应用户事件7BackColor设置背景颜色8ForeColor设置背景颜色9BorderStyle设置窗体的边框风格2.2.3 运算符与表达式1.算术运算符与算术表达式VB中有很多算术运算符(Operator),如“+”、“”、“*”、“/”等,用它们可以构造出各种各样的算术表达式。算术运算符要求参与运算的量是数值型,算术表达式运算的结果也是数值型.Const A=2运算符含义优先级实例结果指数1A10?-取负2-5+a?*乘法35*a?/除5/a?整除45a?mod求余数55 mod a?+加法6A+3?-减法A-4?o思考:下列表达式的结果-3+15 mod 62+232.字符串运算符与字符串表达式 VB中字符串运算符有:+和&。它们的作用都是将两个字符串连接起来。“计算机”&“软件”结果是“计算机软件”“123”+“45”结果是“12345”需要注意的是:当一个数字字符串表达式(如“123”)与一个数值型表达式用“+”运算时,结果将是数值型数据。如“123”+45 结果是168;而用“&”运算结果仍是字符串类型。”123”&45结果是“12345“3.关系运算符与关系表达式关系运算符有:=、=和 2的结果为True。关系运算符优先级相同4.逻辑运算符与逻辑表达式常用的逻辑运算符有:Not(取反)、And(与)、Or(或)等,运算结果为布尔值True或False。逻辑运算符的优先级为:NotAndOr。如程序代码中的语句:If(N Mod 3=2)And(N Mod 5=3)And(N Mod 7=2)Then print N其中就包含了逻辑表达式。5.日期运算符与日期表达式日期表达式是用日期运算符“+”或“-”将算术表达式、日期型常量、日期型变量、日期函数等连接起来的式子,如表达式“#2003/09/01#+30”的运算结果为#2003/10/01#;表达式“#2003/10/20#-#2003/10/10#”的运算结果为整数10。o几种数据类型的关系比较1、数值型直接比较其数值大小2、字符串类型比较:例:“abc”“AB”3、日期型#2004/03/21#2007/03/21#6.运算符的执行顺序 当一个表达式中同时出现多种运算符时,如何决定运算的次序呢?在VB中,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。不同性质的运算符优先级如下:算术运算符字符串连接运算符关系运算符逻辑运算符2.2.4 常用语句与函数1.赋值语句把常量、变量或表达式的值赋给一个变量VB中赋值语句用“=”来实现变量=常量、变量或表达式对象.属性值=常量、变量或表达式例:dim a as integer,b as integer a=2 b=a b=b+1Text1.text=“hello”2.Print语句(输出)语法格式:对象名.Print 输出内容输出内容可以是常量,变量或表达式的值(如果不指定对象名,默认在当前窗体上输出)例如:picture1.print “hello”print “hello”窗体、图片框等输出内容可以是一个或多个,各内容之间用“;”或“,”隔开。比较用“;”或“,”隔开输出的区别例如:A=3 B=2C=a+bPrint“c=”;cPrint“c=”,c用;隔开,各个内容紧跟着用,隔开,按分区格式输出3.3.注释语句注释语句 为了提高程序的可读性,通常需要在程序适当的位置加上必要的注释。为了提高程序的可读性,通常需要在程序适当的位置加上必要的注释。(添加注释是编程的一个好习惯。)(添加注释是编程的一个好习惯。)VB中注释语句的格式为:中注释语句的格式为:在字符在字符“”后加注释内容后加注释内容 A=2 把把2赋给变量赋给变量a用用“Rem 注释内容注释内容”。Rem 计算圆的周长计算圆的周长c=2*PI*ro注意:如果用注意:如果用Rem语句注释,应将语句注释,应将Rem语句单独书写,不可像语句单独书写,不可像 一样一样直接放在其他语句后面,否则直接放在其他语句后面,否则VB将提示错误,将提示错误,4.结束语句语法格式:End功能:强制程序结束运行。函数o内部函数是由VB系统提供的,每个内部函数完成某个特定功能。例:time()返回系统当前时间在程序中使用函数称为调用函数,函数调用后,一般都有返回一个确定的函数值。Begintime=time()Print time()5.与用户交互函数InputBox(提示,标题,默认值,x坐标,y坐标)返回输入对话框中输入的数据X=inputbox(提示,标题,默认值,x坐标,y坐标)MsgBox()函数是VB程序设计中常用的交互函数,其功能非常强大,可以显示多种样式的消息对话框。基本语法格式:MsgBox(提示信息,按钮,标题)6.6.数学函数数学函数三角函数中的参数应是弧度数,如数学中sin30应写为:sin(30*3.1415926/180)Rnd函数返回0,1)即包括0,但不包括1)之间的一个随机双精度数,它往往和randomize结合使用。返回=5 And 12/3=4的值为()5.数学关系3 x 10 表示成正确的 VB 表达式为()A.3=x10 B.3=x And x=3 Or x=3 And x b And2*ac Or c=60 thenPrint“合格”Else print“不合格”End ifEnd sub开始输入aa=60输出“合格”输出“不合格”结束YNoIF语句有:单分支选择结构,形式为 If Then 语句块 End If;o双分支选择结构,形式为 If Then 语句1 Else 语句2 End If;If x mod 2=0 thenPrint“偶数”Else print“奇数”endif例如:if x mod 2=0 then print “偶数”endifo多分支选择结构,形式为 If If Then Then 1ElseIf ElseIf ThenThen 2 Else Else 语句块语句块 n+1 n+1 End IfEnd IfX=t/(s*s)If x23 then Str=“您的体形偏胖”Elseif x=90 then Print 优秀ElseIf x=80 Then Print 良好 ElseIf x=70 Then Print 中等 ElseIf x=60 Then Print 及格 Else Print 不及格End IfSelect case xCase 90 to 100Print“优秀”Case 80 to 89Print“良好”Case 70 to 79Print“中等”Case 60 to 69Print“及格”Else print“不及格”End selecto当程序出现多分支选择时,用If语句比较烦琐,而使用多分支选择Select Case语句就方便多了。Select case xCase is23 str=“您的体形偏胖”Case is19.5 str=“您的体形偏瘦”Case else str=“您的体形很完美”End selectbSelect case monthCase 1,3,5,7,8,10,12 print“大月”Case 2 print“平月”Case else print“小月”End selectSelect case x mod 2Case 0 print “偶数”Case 1 print “奇数”End select语法格式为:Select Case 表达式的值Case 情况1 语句块1Case 情况2 语句块2Case Else 语句块nEnd Select课堂练习课堂练习o编写程序:用计算机产生一个1到12之间的随机数整数做为月份数,然后判断这个月是哪个季节的,并输出该月数及判断结果。程序代码程序代码Private Sub command1_Click()Dim a As Integer Randomize a=Int(Rnd()*12)+1 if a=3 then Label1.Caption=Str(a)&月份是月份是&春季春季 elseif a=6 then Label1.Caption=Str(a)&“月份是月份是”&“夏季夏季”elseif a=9 then Label1.Caption=Str(a)&月份是月份是&秋季秋季 else Label1.Caption=Str(a)&月份是月份是&冬季冬季 endifend SubPrivate Sub command1_Click()Dim a As Integer Randomize a=Int(Rnd()*12)+1 Select Case a Case 1 To 3 Label1.Caption=Str(a)&月份是春季月份是春季Case 4 To 6 Label1.Caption=Str(a)&月份是夏季月份是夏季Case 7 To 9 Label1.Caption=Str(a)&月份是秋季月份是秋季Case Else Label1.Caption=Str(a)&月份是冬季月份是冬季End Selectend Sub下面是两种正确的嵌套形式:下面是两种正确的嵌套形式:(1 1)IF IF Then 1 Then .IF IF Then2 Then Else Else .End If End If .Else Else .IF IF Then3 Then .Else Else .End If End If .End IF End IF选择结构的嵌套选择结构的嵌套(2 2)IF IF Then 1 Then .Select Case Select Case Case Case IF IF Then2 Then Else Else .End If End If Case Case.End Select End Select .End IFEnd IF3、循环结构o循环结构:根据条件判断,需要重复执行某一循环结构:根据条件判断,需要重复执行某一段代码的程序。程序中可能存在分支和重复。段代码的程序。程序中可能存在分支和重复。VB中提供了两种类型的循环语句:中提供了两种类型的循环语句:计数循环语句和条件型循环语句计数循环语句和条件型循环语句 1.For循环语句(已知循环次数的计数型循环)循环语句(已知循环次数的计数型循环)语句形式:For 循环变量循环变量=初值初值 To 终值终值 Step 步长步长 循环体语句块 Next 循环变量循环变量 相当于循环变量=循环变量+stepStep缺省则默认为1For-Next循环的执行过程是:循环变量取初值;循环变量与终值比较,没有超过终值转,否则循环结束,接着执行循环语句的后继语句;执行一次循环体;循环变量增加一个步长增量;重复步骤。循环变量取得初值循环变量取得初值循环变量有没超过终值循环变量有没超过终值循环体语句循环体语句循环变量增加一个步长循环变量增加一个步长YNFor循环变量循环变量=初值初值To终值终值Step步长步长 循环体语句块Next循环变量循环变量说明:1)循环变量必须为数值型2)步长一般为正,初值小于终值;若为负,初值大于终值;缺省步长为1;3)语句块可以是一句或多句语句,称为循环体;循环次数=int(终值-初值)/步长+1)4)退出循环后,循环变量的值保持退出时的值;5)在循环体内对循环变量可多次引用,但不要对其赋值,否则影响结果。思考:1.若有如下一段代码:For j=15 to 3 Step 2 Print j Next j 则循环结束时,循环变量j的值是多少?2.循环变量的增量能否为0,如果为0,运行结果怎样?无休止地做循环,无休止地做循环,也叫死循环也叫死循环1例:n=10For i=1 to n print “*”;Next iN=10For i=1 to n step 3 print“*”;Next i开始n=10i10YN结束print “*”;Next i编程:输入一整数n,计算s=1+2+3+nDimnasinteger,saslongN=val(text1.text)S=0Fori=1tons=s+iNextiPrint“1+2+”&str(n)&”=”;So思考:如何判断一个数是素数?Dim n as integer,flag as booleanN=val(text1.text)Flag=trueFor i=2 to int(sqr(n)if n mod I=0 then flag=false exit for endifNext iIf flag=true then label1.caption=str(n)&“是素数”Else label1.caption=str(n)&”不是素数”endif语句形式:For 循环变量循环变量=初值初值To 终值终值 Step 步长步长语句块语句块 Exit For 语句块语句块Next 循环变量循环变量 2.DoLoop循环(不知道循环次数的条件型循环)循环(不知道循环次数的条件型循环)是用于控制循环次数未知的循环结构,语法形式有两种:形式形式1:Do While LoopDo While|Until 条件条件 语句块语句块 Exit Do 语句块语句块Loopi=1Do while i=10 print“*”;i=i+1loop课堂练习:1、编程:输入一整数n,计算s=1+2+3+n2、编程:输入一整数N,判断N是否素数o多重循环Private Sub Form_Click()For i=1 To 7 For j=1 To 7 I Print ;Next j For k=1 To(i-1)*2+1 Print*;Next k PrintNext iEnd Sub
展开阅读全文