收藏 分销(赏)

第3章基本知识.pptx

上传人:精**** 文档编号:7517411 上传时间:2025-01-07 格式:PPTX 页数:52 大小:536KB 下载积分:14 金币
下载 相关 举报
第3章基本知识.pptx_第1页
第1页 / 共52页
第3章基本知识.pptx_第2页
第2页 / 共52页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2016/8/3,#,VB.NET,程序设计实训教程,第,3,章 基本,知识,3,.1,数据类型,3.2,运算符,3.3 VB,中的常用内部函数,3.4 VB,中的三种程序结构,3.5,实训练习,3,3.1,数据类型,3.1.1,常量与变量,1.常量,:,在,程序,执行过程,中保持不变的数据称为常量,。,(,1),普通常量,数值常量:即数学中的常数。例如:,3.14,。,字符串常量:用双引号括起来的字符,序列。,逻辑常量:只有两个值,True,和,False,。,日期常量:用于表示某一具体的日期和,时间,用,符号,#,括起来。例如:,#3 jan,98#,、,#08/12/2005,#,等。,(2),符号常量,:,用一个符号来表示一个固定不变的量。格式:,Const,符号常量名,As,数据类型,=,表达式,例如:,Const PI=3.1415926,2,变量,:,程序运行,过程中其值可以改变的,量。,(1),用类型说明语句定义变量。,Public,|Dim|Static|As,As,例如,:,Dim,语句定义的变量,其作用范围由,Dim,语句所在的位置决定,。,分为,窗体,级,变量,、,过程,级变量(,局部变量,),。,Dim a As Integer,Dim b As Long,(,2),变量的隐性,声明,:不声明变量即可直接引用。,Option,Explicit,Off,(,系统,默认,Option Explicit,On,,即先声明后引用,),合并 为:,Dim,a As Integer,b As Long,3.1.2,数值型数据类型,1整型,(,1),整型(,Integer,,类型符,%,),:,在,计算机内一般用,2,个字节来表示整数,取值范围是,-32768,到,+32767,。,例如:,10,,,-35,,,56,%,都是整数型,而,50000%,则会发生溢出错误。,(2),长整型(,Long,,类型符,&,),:,在,计算机内一般用,4,个字节来表示整数,取值范围是,-2147483648,到,+2147483647,。,例如:,123450,,,98765&,都是长整型数。,(3),字节型(,Byte,),:,用,1,个字节,表示,,取值,范围,0,到,255,。,2实型,(,1),单精度浮点数(,Single,,类型符,!,):在计算机中一般用,4,个字节来表示单精度浮点数,取值范围为,1.40E-45 3.40E+38,。,例如:,3.1415!,,,2.123456,都是单精度浮点数。,(2),双精度浮点数(,Double,,类型符,#,):在计算机中一般用,8,个字节来表示双精度浮点数,其取值范围为,4.94E-324 1.80E+308,。,3.1.3,字符型数据类型,字符型数据(,String,,类型符,$,),:,用,双引号括,起。,例如:,Dim StuName As String,3.1.4,日期及逻辑型数据类型,1,逻辑型,:,逻辑,型数据(,Boolean,)只有两个值:,True,(真)和,False,(假,),。,逻辑,型,数据,可以,转换,成数值型数据,,,True,转为,-1,,,False,转为,0,。也可以把数值型数据转换为逻辑型数据,此时,非,0,的数据转换为,True,,,0,转换为,False,。,2日期型,日期型数据(,Date,):在计算机中一般用,8,个字节的浮点数来表示一个日期型数据。日期的取值范围从公元,100,年,1,月,1,日到,9999,年,12,月,31,日,时间的取值范围从,00:00:00,到,23:59:59,。可以用,#,括起来放置日期和时间。,例如:,#08/06/2015 10:25:00 pm#,。,3.2,运算符,运算符,含义,优先级,算术表达式例子,结果,乘方,1,52,25,-,负号,2,-8,-8,*,乘,3,5*5,25,/,除,3,5/3,1.66666666666667,整除,4,53,1,Mod,取模,5,5 Mod 3,2,+,加,6,3+5,8,-,减,6,3-5,-2,3.2.1,算术运算符,3.2.2,字符串连接,运算符,字符串,运算符,“+”,和,“&”,的,作用是将两个操作数连接起来,成为一个字符串,。,“+”,运算符,是,要求,参与,运算的两个数据必须是字符型数据。,例如,,”abcd”+”efg”,的结果是,“abcdefg”,,而,”abcd”+123,是错误的,。,“&”,是将参与运算的两个数据强制性地按字符串类型连接在一起,生成一个新的字符串。参与运算的两个数据可以是字符型、数值型和可变型数据。,例如,,”abcd”+”123”,的结果是,“abcd123”,,而,”abcd”&123,也是,“abcd123”,。,在,使用,“&”,时,应在变量和,“&”,之间加一个空格。,关系运算符,含义,关系表达式,结果,=,等于,3=4,False,大于,34,False,=,大于等于,3=4,False,小于,34,True,=,小于等于,33 And 53 And 63 Or 65,43 Or 64,Not 34,False,True,Xor,异或(当且仅当参与运算的两个数的逻辑值相异时,运算结果为,True,)。,43 Xor 65,43 Xor 56,False,True,3.2.4,逻辑运算符,逻辑运算符是对操作数进行逻辑运算,运行的结果为逻辑型数据。当逻辑关系成立时,运算结果为,True,;当逻辑关系不成立时,运算结果为,False,。,3.3,VB,中的常用内部函数,VB,提供了大量的内部函数,并把这些内部函数都写成语言库中的一个个子程序,供用户随时调用,同时也允许用户自定义函数过程。,这些,函数都有一个或多个参数,对这些参数进行特定的运算,返回一个结果值,叫函数值。函数调用的一般格式如下:,(),其中,“,参数表,”,可以有一个参数或逗号隔开的多个参数。,3.3.1,数学函数,数学函数包含在,Math,类中。用于各种算数运算。在程序中要使用某个数学函数时,要在其函数名前面加上,“Math.”,,或者再模块的声明部分使用如下语句:,Imports System.Math,(1),取整函数,Ceiling,(,x,),:,求,不小于,x,的最大整数。,例如,,Ceiling(5.5),的结果是,6,,而,Ceiling(-2.8),的结果是,-2,。,(2),四舍五入取整函数,Round,(,x,),:,对,x,进行四舍五入取整。,例如,,Round(5.6),的结果是,6,,而,Round(5.4),的结果是,5,。,(3),平方根函数,Sqr(x,):,求,x,的算术平方根。,x,为数值型参数,且,x=0,。返回的函数值为一个非负数值。,例如,,Sqr(16),的结果为,4,;而,Sqr(-16),将提示错误信息。,(4),绝对值函数,Abs(x,):,求,x,的绝对值,。,例如,,Abs(-5),与,Abs(5),的结果都是,5,。,(5),符号函数,Sign(x,):,求,x,的符号值。当,x0,时,返回的函数值为,1,。,例如,,Sign(5),结果为,1,;,Sign(-5),结果为,-1,;而,Sign(0),结果为,0,。,(,6),指数函数,Exp(x,):,求,e,的,x,次方 的值,,x,为数值型参数。,例如,,Exp(1),结果为。,(7),以,e,为底的对数函数,Log(x),x,为数值型参数,且,x0,。,例如:,Log(2.718281),结果近似于,1,。,(8),三角函数,Sin(x),、,Cos(x),、,Tan(x),、,Atn(x),分别用来计算,x,的正弦值、余弦值、正切值和反正切值。,注意对于前三项来讲,,x,代表一个弧度,而最后一项的返回值也是弧度。,例如,,Sin(450),应写成,Sin(450*3.14/180),。,(9),求最大值函数,Max,(,x,y,),求,x,和,y,中的较大值。,(10),求最小值函数,Min,(,x,y,),求,x,和,y,中的较小值。,3.3.2,字符型函数,(,1),大写字母转换为小写字母函数,Lcase(c,):,数,将字符串,c,中的大写字母转换为小写字母,其他字符不变,。,例如,,LCase(ABcdeF),的结果为,abcdef,(2),小写字母转换为大写字母函数,Ucase(c,):,将,字符串,c,中的小写字母转换为大写字母,其他字符不变。,例如,,UCase(AbcdeF),的结果为,ABCDEF,。,(3),求字符串长度函数,Len(c,):,求,字符串,c,的长度,即,c,中所包含的字符的个数,函数返回值为整数。,例如,,Len(ABCDE),的结果为,5,(4),取左子串函数,Left(c,n):,返回,字符串,c,左边的,n,个字符。其中,c,为字符串类型的参数,,n,为数值型,参数。,例如,,Left(ABCDEFG,3),的结果为,ABC,(5),取右子串函数,Right(c,n):,返回,字符串,c,右边的,n,个字符,。例如,,,Right(ABCDEFG,3),的结果为,EFG,(,6),取子字符串函数,Mid(c,n1,n2,):,自,字符串,c,的第,n1,个字符开始向右取,n2,个连续的字符。其中,c,为字符串类型的参数,,n1,、,n2,为数值型,参数。,当省略,n2,时,则得到的是从,n1,开始的往后所有字符。,例如,,Mid(ABCDEFG,3,4),的结果为,CDEF,。,(7),删除空白字符函数,Ltrim(c),、,Rtrim(c),、,Trim(c),去掉字符串,c,左边、右边、左右边的空格,。夹,在,字符串,中间的字符不能被去掉。,例如,,LTrim(ABCDEF),的结果为,ABCDEF,;,RTrim(ABCDEF),的结果为,ABCDEF,;,Trim(ABCDEF),的结果为,ABCDEF,。,(,8),搜索子字符串函数,InStr(n1,c1,c2,n2),找出一个字符串在另一个字符串中最先出现的位置。,其中,n1,和,n2,均为可选,参数。,n1,表示开始搜索的位置,(,默认值为,1),,,n2,默认,为,0,,表示区分大小写;若,n2,为,1,,则不分大小写。函数返回值为一整数。在字符串,c1,中从第,n1,个字符开始查找字符串,c2,(默认是从头开始找)。若找到了,则返回位置值;若找不到,则返回,0,。,例如,,Instr(3,AB12a34A56,A),的结果,为,8,,,Instr(3,AB12a34A56,A,1),的结果为,5,,,而,Instr,(AB12a34A56,A),的结果为,1,。,(9),生成空格函数,Space(n),产生由,n,个空格组成的字符串。,n,为数值型参数,函数返回值是一个全部由空格组成的字符串。,例如,,Space(3),的结果是,。,3.3.3,日期与时间函数,(1),返回系统当前日期及时间函数,Now(),。,Today,(),函数返回系统的当前日期。,TimeOfDay(),函数返回系统的当前时间。,(2),返回年月日函数,DatePart(),。,例如,,DatePart(yyyy,Today),返回当前日期的年份。,DatePart(m,Today),返回当前日期的月份。,DatePart(d,Today),返回当前日期的具体哪日。,(3),返回星期几的函数,WeekDay(d),。,返回日期型参数,d,的星期号。其中星期日为,1,,星期一、星期二,星期六依次为,2,、,37,。,(4),返回小时、分钟、秒的函数,Hour(t),、,Minute(t),、,Second(t),【,例,3-1,】日期与时间函数举例。,在窗体上添加,1,个命令按钮,Button1,及,4,个标签,控件。,Private Sub Button1_Click(sender As Object,e As EventArgs)Handles Button1.Click,Dim x As Date,a As Integer,b As Integer,Dim yy1 As Integer,mm1 As Integer,dd1,hh1,mm2,ss1,x=#4/1/2016#,a=DateDiff(d,Today(),x,):,b=Weekday(x),yy1=DatePart(yyyy,Today,):,mm1=DatePart(m,Today),dd1=DatePart(d,Today),hh1=Hour(Now,():,mm2=Minute(Now(),ss1=Second(Now(),Label1.Text=,现在距离,2016,年愚人节还有:,&a&,天,Label2.Text=2016,年愚人节是星期,&b-1,Label3.Text=,今天的日期是:,&yy1&,年,&mm1&,月,&dd1&,日,Label4.Text=,现在的时间是:,&hh1&,时,&mm2&,分,&ss1&,秒,End,Sub,函数名,含义,函数举例,CBool,将参数转换成逻辑型,CBool(-8),的结果为,True,,而,CBool(0),的结果为,False,CChar,将参数转换成字符型,CChar(adf),结果为,a,CDate,将有效的日期字符串转换成日期,CDate(5/7/2016),结果为日期,CInt,将数字型数据的小数部分四舍五入取整,CInt(56.68),结果为,57,CDbl,将数字型数据转换成双精度型,CDbl(4),转换为双精度型数据,4,CSng,将数字型数据转换成单精度型,C,Dbl(4),转换为单精度型数据,4,CStr,将参数转换成字符串,CStr(123),转换为,123,3.3.4,转换函数,3.3.5,随机函数,Rnd(n,),随机产生一,个在区间,(0,,,1),内,的浮点数,。要,先使用语句,Randomize(),初始化随机数发生器,当,n0,时,每次产生的随机数都不同;当,n=0,时,每次产生的随机数都与上次的相同;当,n0,时,每次产生的随机数都相同,。,【,例,3-2,】在窗体上添加,1,个命令,按钮和,4,个标签,控件。,Private Sub Button1_Click(sender As Object,e As EventArgs)Handles Button1.Click,Randomize(),Label1.Text=Rnd(3),Label2.Text=Rnd(0),Label3.Text=Rnd(3),Label4.Text=Rnd(0),End,Sub,几,个产生随机整数的技巧。,CInt(Rnd*n,),:产生,0,,,1,,,,,n-1,中的一个随机整数。,CInt(Rnd*n,)+1,:产生,1,,,,,n,中的一个随机整数。,CInt(Rnd,*(n-m+1)+m,产生一个在区间,m,,,n,内的随机整数。,【例,3-3,】小学生加法运算题。,在窗体上添加,3,个文本框和,2,个命令按钮,当,单击,“,出题,”,时,,分别在,TextBox1,和,TextBox2,中生成两个介于,10,和,20,之间的随机整数。当,单击,“,求和,”,时,,在,TextBox3,中显示两个整数之和。,Private,Sub Button1_Click(sender As Object,e As EventArgs)Handles Button1.Click,Randomize(),TextBox1.Text=10+Int(Rnd(3)*11),TextBox2.Text=10+Int(Rnd(3)*11),End Sub,Private,Sub Button2_Click(sender As Object,e As EventArgs)Handles Button2.Click,TextBox3.Text=Val(TextBox1.Text)+Val(TextBox2.Text,),End,Sub,3,.,4,VB,中的,3,种程序,结构,3.4.1,顺序结构,1.赋值语句,格式,1,:,=,格式,2,:,.=,例如,:,a=10 ,把,10,赋给,a,b=a*5 ,计算,a*5,的值,得,50,,把,50,赋给,b,ch$=Hello ,把,“Hello”,赋给,ch$,Button1.Text=,确定,把,“,确定,”,赋给,Button1,的,Text,属性,【例,3-4,】给出矩形的长和宽,单击命令按钮时在文本框中显示矩形的面积。,Private Sub Button1_Click(sender As Object,e As EventArgs)Handles Button1.Click,a=15,b=25,TextBox1.Text=a*b,End,Sub,2使用输入框(InputBox函数)输入数据,赋值,语句具有,一定的局限性,。,VB,另外提供了一种输入数据的,方法,,可以在程序运行时为变量赋值。,格式:,InputBox(,),产生,一个对话框,,等待,用户输入并返回所输入的内容。,(1),:是一个字符串,表达式。,如果要显示多行信息,,可用回车,换行符的组合,Chr(13)&Chr(10),来分隔。,(2),:显示,在标题栏中作为对话框的标题,。,(,3),:字符串,表达式。,缺省为空。,(4),:对话框,左边与屏幕左边,的距离。,(5),:对话框,上边与屏幕上边的垂直距离。如果省略,,屏幕,垂直方向距下边,1/3,的位置显示。,(6),该函数的返回值默认为字符串,类型。,【例,3-5,】用,InputBox,给出矩形的长和宽,单击命令按钮时在文本框中显示矩形的面积。,Private Sub Button1_Click(sender As Object,e As EventArgs)Handles Button1.Click,Dim a As Integer,b As Integer,a=InputBox(,请输入长度,计算面积,10),b=InputBox(,请输入宽度,计算面积,20),TextBox1.Text=a*b,End Sub,运行后单击命令按钮会出现两次,InputBox,对话框,,分别,输入,10,和,20,。,3用消息框(MsgBox)输出数据,消息框可以,向用户传送信息,并可以通过用户在对话框上的选择识别用户所作的响应,作为程序继续执行的依据,。,(1)MsgBox,函数,格式:,MsgBox,(,),:字符串表达式,该字符串的内容将在对话框上显示,作为系统提示,信息。,:数值型数据,可选项。用来指定对话框中出现的按钮和图标的种类及数量。,“,按钮数值,”,是,3,个数值之和,这,3,个数值分别代表按钮的数目和类型、使用的图标样式以及默认按钮的,位置。,不同的组合会得到不同的结果,。,:显示,在对话框的,标题栏。,分类,按钮值,系统符号常量,含义,按钮类型,0,VbOKOnly,只显示,“,确定,”,按钮,1,VbOKCancel,显示,“,确定,”,和,“,取消,”,按钮,2,VbAbortRetrylgnore,显示,“,终止,”,、,“,重试,”,和,“,忽略,”,按钮,3,VbYesNoCancel,显示,“,是,”,、,“,否,”,和,“,取消,”,按钮,4,VbYesNo,显示,“,是,”,和,“,否,”,按钮,5,VbRetryCancel,显示,“,重试,”,和,“,取消,”,按钮,图标类型,16,VbCritical,显示,Critical Message,图标,32,VbQuestion,显示,Warning Query,图标?,48,VbExclamation,显示,Warning Message,图标!,64,VbInformation,显示,Information Message,图标,默认按钮,0,VbDefaultButton1,第,1,个按钮是默认值,256,VbDefaultButton2,第,2,个按钮是默认值,512,VbDefaultButton3,第,3,个按钮是默认值,768,VbDefaultButton4,第,4,个按钮是默认值,MsgBox,函数的返回值是一个整数,这个整数与所选择的命令按钮有关,可以通过返回的这个整数的数值确定用户在对话框中单击的是哪个按钮,即用户在对话框中作出了什么响应。其返回值,如,下,表所,示。,系统符号常量,返回值,按下的按钮,VbOK,1,确定,VbCancel,2,取消,VbAbort,3,终止,VbRetry,4,重试,Vblgnore,5,忽略,VbYes,6,是,VbNo,7,否,例如,下面语句使用,MsgBox,函数弹出的消息框显示,“,确定,”,、,“,重试,”,、,“,忽略,”,按钮,设第,2,个按钮是默认按钮,。,a=MsgBox(,提示信息,2+256,标题内容,),下面语句使用,MsgBox,函数弹出的消息框显示警告图标。如图,3-6,中的右图所示。,a=MsgBox(,提示信息,48,标题内容,),(2)MsgBox,语句,MsgBox,函数也可以写成语句形式。,格式:,MsgBox,MsgBox,语句和,MsgBox,函数实现的功能相同,只是没有返回值,因而通常用于较简单的信息输出。,例如,:,MsgBox,添加成功,vbInformation,数据维护,4注释、暂停与程序结束语句,(1),注释语句,为了提高程序的可读性,可以在程序的适当位置加上必要的注释,对语句的功能加以解释。,格式:,或,REM,(,2),暂停语句,暂停语句用来暂停程序的执行。,格式:,STOP,(,3),结束语句,结束语句用来结束程序的执行。,格式:,End,3.4.2,分支结构,1,行If语句,格式:,If Then Else,当条件成立(为,True,)时,执行语句组,1,;条件不成立(为,False,)时,执行语句组,2,。,(1),是一,个有逻辑值的表达式,其返回结果必须是,True,或,False,。,(2),、,可以有多条语句,各语句之间用冒号隔开。,例如:,If x 0 Then a=b:b=a+b Else a=b:b=a-b,(3)Else,及其后面的部分是可选项。,例如:,If x 0 Then t=x:x=y:y=,t,【,例,3-6,】输入一个百分制的成绩,当成绩大于,60,时显示,“,及格,”,,否则显示,“,不及格,”,。,Private Sub Button1_Click(sender As Object,e As EventArgs)Handles Button1.Click,Dim a As Integer,a=InputBox(,请输入成绩,),If a=60 Then TextBox1.Text=,“,及格,”,Else,_,TextBox1.Text,=,不及格,End Sub,单行结构条件语句应作为一条语句书写。如果语句太长需要换行,必须在折行处使用续行符号,即,空格加下划线,。,2块If语句(If.Then语句),格式:,If Then,Else,End If,如果,条件成立,则执行,Then,后面的语句组,1,;如果条件不成立,则执行,Else,后面的语句组,2,。,使用该语句时,应该注意以下问题。,整个块结构必须以,If,开始,以,End If,结束。,块,If,语句中,Then,后面的语句不能与其写在同一行上,否则必须加上分隔符。,块结构中的,可以省略。,【例,3-7,】火车站行李费的收费标准是,40kg,以内(包括,40kg,),0.50,元,/kg,,超过部分为,0.80,元,/kg,。编写程序,根据输入的任意重量,计算出应付的行李费。,Private,Sub Form1_Click(sender As Object,e As EventArgs)Handles Me.Click,Dim weight As Single,pay As Single,weight=InputBox(,请输入行李重量,输入框,),If weight 40 Then,pay=(weight-40)*0.8+40*0.5,Else,pay=weight*0.5,End If,TextBox1.Text=,行李重量,=&weight,TextBox2.Text=,所付费用,=&pay,End Sub,3块if语句的嵌套,嵌套,,即在上述结构中的,和,部分仍然可以包含另外一个块,If,语句,。,(,1),如果存在嵌套时,语句中的每一个,Else,必须和一个,If,相对应,应避免产生混乱,。,(2),每一个块结构都必须以,If,开始,以,End If,结束。,(3),内层嵌套的块结构中除了满足该层规定的条件外,还必须首先满足外层结构中相应位置的条件。,(4)VB,中对块嵌套的层数没有限制,在嵌套的块结构中仍然可以继续嵌套其他的块结构,但嵌套时外层的块结构必须完全,“,包住,”,内层的块结构,不能相互交叉,。,【例,3-8,】输入系数,a,,,b,和,c,,求二次方程,ax2+bx+c=0,的实根。,Private Sub Button1_Click(sender As Object,e As EventArgs)Handles Button1.Click,Dim a As Integer,b As Integer,c As Integer,Dim d As Single,x1 As Single,x2 As Single,x As Single,a=InputBox(,请输入系数,a,:):b,=InputBox(,请输入系数,b:),c=InputBox(,请输入系数,c,:):,d=b*b-4*a*c,If d 0 Then,x1=(-b+Math.Sqrt(d)/(2*a,):,x2=(-b-Math.Sqrt(d)/(2*a),Label1.Text=x1=&,x1 :,Label2.Text=x2=&x2,Else,If d=0 Then,x=-b/(2*a),MsgBox(,此方程有两个相等实根,&x),Else,MsgBox(,此方程无实根,),End If,End If,End Sub,4ElseIf子句,If,Then,语句组,1,ElseIf Then,语句组,2,Else,语句组,n+1,End,If,【例,3-9,】向文本框中输入一个学生的成绩,根据其所在分数段给出该生的考试等级。分数段划分规则是:,90score=100,为,“,优秀,”,,,80score=90,为,“,良好,”,,,70score=80,为,“,中等,”,,,60=score=70,为,“,及格,”,,,score100,为,“,输入错误,”,。,依次判断条件表达式的值,如某一条件成立,则执行其下面的语句组;如果所有条件均不成立,则执行,Else,后面的语句组。在相应语句组执行完后,会跳过,End If,,执行其后面的语句。,Private,Sub Form1_Click(sender As Object,e As EventArgs)Handles Me.Click,Dim score As Single,score=TextBox1.Text,If score 60 Then,Label1.Text=,不及格,ElseIf score=70 Then,Label1.Text=,及格,ElseIf score=80 Then,Label1.Text=,中等,ElseIf score=90 Then,Label1.Text=,良好,ElseIf score=100 Then,Label1.Text=,优秀,Else,Label1.Text=,输入错误,End If,End Sub,5Select Case语句,格式,:,Select Case,Case,Case,Case,Case Else,End,Select,该语句根据,“,测试表达式,”,的值,选择第一个符合条件的语句组执行。先求,“,测试表达式,”,的值,然后顺序测试该值符合哪一个,Case,子句中情况。如果找到了,则执行该,Case,子句下面的语句组,然后执行,End Select,下面的语句;如果没找到,则执行,Case Else,下面的语句组,然后执行,End Select,下面的语句。,(1)“,测试表达式,”,可以是数值表达式或字符串表达式。,(2)“,表达式列表,”,与,“,测试表达式,”,的类型必需相同。,(3)“,表达式列表,”,形式有以下,3,种。,一个表达式或用逗号隔开的若干表达式。,例如:,Case 1,3,5 ,表示条件在,1,,,3,,,5,范围内取值,表达式,1 To,表达式,2,。,例如:,Case 60 To 80 ,表示条件取值范围为,60,80,Is,关系运算符 表达式。,例如:,Case Is5 ,表示条件在小于,5,范围取值,【例,3-10,】用,Select Case,语句完成例,3-9,。,Private Sub Form1_Click(sender As Object,e As EventArgs)Handles Me.Click,Dim score As Single,score=TextBox1.Text,Select Case score,Case Is 60,Label1.Text=,不及格,Case Is=70,Label1.Text=,及格,Case Is=80,Label1.Text=,中等,Case Is=90,Label1.Text=,良好,Case Is=100,Label1.Text=,优秀,Case Else,Label1.Text=,输入错误,End Select,End Sub,3.4.3,循环,结构,1For循环,格式,:,For=To Step,Next,(1),对格式的说明如下。,亦称为循环控制变量,必须为数值型。,和,都是数值型,可以是数值表达式。若为实数,则自动取整。,是循环变量的增量,是一个数值表达式,。步长,不能是,0,。如果步长是,1,,,Step 1,可略去不写。,是在,For,和,Next,之间的一条或多条,语句。,中可以包含,Exit For,语句,用于退出循环。,Next,后面的,与,For,语句中的,必须相同,。,(2)For,循环的执行过程如下。,系统将初值赋给循环变量,并自动记下终值和步长。,判断循环变量是否超过终值。未超过终值,则执行一次循环体;否则,转到。,执行,Next,语句,将循环变量加上一个步长。,转到,继续执行。,结束循环,执行,Next,后面的语句。,【例,3-11,】求,n,!,(,即,n!=123N),Private,Sub Form1_Click(sender As Object,e As EventArgs),Handles,Me.Click,Dim I%,f&,n%,n=InputBox(,输入一个自然数:,输入提示,10),f=1,For I=1 To n,f=f*I,Next I,Label1.Text=n&!=&f,End Sub,2While循环,对于,只知道控制条件,但不能预先确定需要执行多少次循环体的情况,可以使用,While,循环。,格式:,While,Wend,当条件成立(为真)时,执行循环体;当条件不成立(为假)时,终止循环。,While,循环结构的循环体中应含有对,“,条件,”,的修改操作,,使,循环体能正常结束。,否则,若条件永远成立,则循环体将被无限地执行下去,不能结束,就形成了,“,死循环,”,。,若初始条件不成立,则循环体一次也不执行。,【例,3-12,】编写程序,找到一个正整数,N,,要求,N,的阶乘最接近,1000,但又不,大于,1000,。,Private,Sub Form1_Click(sender As Object,e As EventArgs)Handles Me.Click,Dim n%,f%,n=0,f=1,While f 1000,n=n+1,f=f*n,End While,n=n-1,求此数的前一个数,Label1.Text=N=&n,显示要找的正整数,N,End Sub,3Do循环,Do,循环有两种语句格式。,(1),语法,格式,1,:,Do While|Until,Loop,Do While-Loop,语句的功能是当条件成立时,执行循环体;当条件不成立时,终止循环。,Do Until-Loop,句的功能是当条件不成立时,执行循环体,直到条件成立时,终止循环。,(,2),语法,格式,2,:,Do,Loop While|Until,格式,2,与格式,1,的区别是:,先,执行循环体,然后判断条件,。,(,3),循环体中可包含,Exit Do,语句,用来强行退出循环体,。,【例,3-14,】给出两,个正整数,M,和,N,,求他们的最大公约数和最小公倍数,。,Private,Sub Form1_Click(sender As Object,e As EventArgs)Handles Me.Click,Dim A As Integer,B As Integer,N As Integer,M As Integer,R As Integer,T As Integer,M=InputBox(,请,输入第一个正整数,M,),N=InputBox(,请输入第二个正整数,N,),A=M:B=N,If M N Then ,使,M,中存放较大的数,,N,中存放较小的数,T=,M :,M=,N :,N=T,End If,R=M Mod N,Do While R 0,M=,N :,N=,R :,R=M Mod N,Loop,Label1.Text=,最大公约数为:,&N,Label2.Text=,最小公倍数为:,&A*B/N,End Sub,4循环的嵌套,在一个循环体内又出现另外的循环语句称为循环嵌套,也称为多重循环。在嵌套结构中,对嵌套的层数没有限制,有几层嵌套,就称为几重循环。,多重循环的执行过程是,外循环每执行一次,内循环都要从头到尾执行一遍。,例如:,For I=1 To 5,For J=1 To 3,Print I,J,I+J,Next J,Next I,在以上的双重循环中,外循环变量,I,取,1,时,内循环就要执行,3,次(内循环变量,J,依次取,1,、,2,、,3,),接着,外循环变量取值,2,,内层循环同样要重新执行,3,次(,J,再一次取,1,、,2,、,3,),这样下去,循环体一共执行了,5*3,次,即,15,次。,【例,3-15,】编写程序,判断用户输入的数是否为素数。,Private,Sub Form1_Click(sender As Object,e As EventArgs)Handles Me.Click,Dim n!,k%,flag%,i%,n=InputBox(,请输入一个大于,2,的整数,),k=Int(Math.Sqrt(n),flag=0,i=2,While i max Then max=b,If c max Then max=c,Label1.Text=,三个数中最大的为:,&max,End Sub,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服