版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 Visual Basic.NET程序设计基础 2.1 控制台应用程序 n知识点知识点1 控制台程序控制台程序 控制台程序没有窗体,只显示DOS窗口和命令行程序代码,控制台程序运行快捷,非常适合调试程序时使用。 2.1 控制台应用程序n知识点2 编码规范 1字母不区分大小写。2语句书写自由3程序的注释 可以用英文标点符号单引号“ ”或Rem开头来标识一条注释语句。 4各关键字、标识符之间要用空格隔开。 编写一个控制台应用程序,程序执行时提示用户输入两个整数,然后输出两数之和。 Module Module1 Sub Main() Dim num1, num2, sum As Integer
2、 定义3个整型变量 Console.Write(请输入第一个整数:) 输出一串字符 num1 = Console.ReadLine() 读取一行字符 Console.Write(请输入第二个整数:) num2 = Console.ReadLine() sum = num1 + num2 Console.WriteLine(num1 & 加上 & num2 & 等于 & sum)输出一行字符及一个回车符 Console.Read() 读取一个字符 End SubEnd ModuleConsole类的方法在控制台应用程序中进行信息的输入与输出,一般要调用Consol
3、e类的方法。 Console类的Read方法【格式】:Console.Read()【功能】:从键盘读取一个字符,并作为函数的返回值。 Console类的ReadLine方法【格式】:Console.ReadLine()【功能】:从键盘读取一行字符,并作为函数的返回值。 Console类的Write方法【格式1】:Console.Write(X)【功能】将指定的X显示在屏幕上。参数X是任意类型的数据。【格式2】:Console.Write(格式字符串,表达式列表) 【功能】:按照格式字符串的约定,输出提示字符和表达式的值。 Console类的WriteLine方法【格式1】:Console.Wr
4、iteLine(X)【功能】:将指定的X显示在屏幕上,并以换行符结尾。【格式2】:Console.WriteLine(格式字符串,表达式列表)【功能】:按照格式字符串的约定,输出提示字符和表达式的值,并以换行符结尾。 例如,有下列程序段:x = 120y = 280Console.WriteLine(x=0,y=1,x,y)则输出结果为:x=120,y=280 2.2 数据类型、常量与变量数据类型、常量与变量n知识点知识点1 基本数据类型基本数据类型数据的类型是指数据在计算机内部的表述和存储形式,不同的数据类型具有不同的存储长度、取值范围和允许的操作。 Visual Basic.NET提供了丰
5、富的数据类型,其中主要有数值型、字符型、布尔型、日期型、对象型和枚举类型 知识点知识点1 基本数据类型基本数据类型n1数值型数据数值型数据是指能进行数学运算的数据,Visual Basic.NET的数值型数据分为整数型、浮点型和十进制整数型、浮点型和十进制型型3类。n2字符类型数据 字符型(字符型(Char)Char型数据用于存放一个Unicode字符,占2个字节,字符可以包括所有西文字符和汉字。例如,A、5都是Char型数据。 字符串型(字符串型(String)字符串型数据是用双引号括起来的字符序列,其中的字符可以是西文字符和汉字。例如,computer、中国、我喜欢使用Visual Bas
6、ic.NET等 知识点知识点1 基本数据类型基本数据类型n3. 布尔型数据(Boolean)又称为逻辑型,其取值只有两个:True和False。True转换为-,False转换为;非0数据被转换为True,0被转换为False。n4. 日期型数据(Date)日期格式: # mm/dd/yyyy # (月/日/年)时间格式: # hh:mm:ss # (时:分:秒)表示日期和时间时,日期和时间之间用一个空格分隔。例如,#7/15/2009#、#17:28:15#和#7/22/2009 12:29:12PM#都是合法的日期型数据。n5. 字节型数据(Byte)字节型数据用于存储一个字节的无符号整数
7、,其取值范围为0255。n6. 对象型数据(Object)对象型数据是VB.NET默认的数据类型,它可以引用应用程序中的任何一个对象,也可引用其他任何数据类型的数据。知识点知识点2 常量与变量常量与变量n1. 常量常量是指在程序运行过程中其值不变的量。 直接常量:直接常量: 以直接明显的形式给出的数据。如:3.14E-8、-780,Computer、#2/9/2004#、True等都是直接常量。 符号常量:符号常量:程序中若要多次用到某一常量,用户就可以把该常量定义为符号常量。定义符号常量的语句格式及功能如下:【格式】:【格式】:Const 符号常量名符号常量名 As 数据类型数据类型 = 表
8、达式表达式【功能】:使用Const定义指定名称的符号常量,并赋常量值。知识点知识点2 常量与变量常量与变量例如:。Const X as Integer = 100 声明整型常量X代表100Const DAY1 as Date = #3/15/2004# 声明日期常量DAY1 Const PWD = “Tiger” 声明字符串常量PWD代表 ”Tiger” 系统常量系统常量系统常量是由Visual Basic.NET提供的具有专门名称和作用的常量,可以直接在程序中使用。如:vbRed表示红色,vbCrLf 表示回车换行。2. 变量变量变量是指那些在程序运行过程中,其值可以改变的量。 变量的命名规
9、则变量的命名规则n变量名必须以字母或汉字开头,其后可以是下划线、字母、汉字和数字。n变量名的长度不能大于255个字符。n不允许将Visual Basic.NET的关键字用作变量名,但可以把关键字嵌入变量名中。下面列出的变量名是有效的:a ABC intMax s_name A1 学生_1 Sum_ave而下面列出的变量名则是无效的、非法的:2a(数字开头) Date(和关键字重名) Y,2(有标点符号) 2. 变量变量n 变量的声明变量的声明有显式声明和隐式声明两种方法。 变量的显式声明【格式】:Declare 变量名变量名 As 数据类型数据类型 =初值初值【功能】:声明一个由“变量名”指定
10、的变量,并可以给它赋初值。Dim x, y, z As Single Dim n As Integer = 12, t As Long = 1 Dim aa, bb, cc As Double = 456.7892. 变量变量n 变量的隐式声明在Visual Basic.NET中,变量的隐式声明是在变量名后面加上一个数据类型符,直接确定变量的类型。 例如,有下列语句:Dim N%, sum!, strName$ 定义N为整型变量,sum为单精度型变量,strName为字符串变量 Option Explicit语句Option Explicit Off Option Explicit On编写一
11、个程序,由用户输入圆的半径,计算并输出圆的编写一个程序,由用户输入圆的半径,计算并输出圆的周长和面积。周长和面积。 Sub Main() Const PI As Single = 3.14 Dim r, l, s As Single Console.Write(请输入圆的半径:请输入圆的半径:) r = Console.ReadLine l = 2 * PI * r s = PI * r * r Console.WriteLine(“圆的周长是:圆的周长是:” & l) Console.WriteLine(圆的面积是:圆的面积是: & s) Console.Read()End
12、Sub2.3 运算符和表达式运算符和表达式知识点知识点1 算术运算符算术运算符例如,表达式4+56*7/8 Mod 9的值是5 运算符运算符功能功能优先级优先级表达式表达式表达式实例表达式实例表达式结果表达式结果乘方运算乘方运算1XY53125取负取负2-X-5-5*乘法运算乘法运算3X*Y3*515/浮点除法运算浮点除法运算3X/Y5/31.6666667整数除法运算整数除法运算4XY531Mod取模运算取模运算5X Mod Y5 Mod 32加法运算加法运算6X+Y5+38减法运算减法运算6X-Y5-322.3 运算符和表达式运算符和表达式知识点知识点2 字符串运算符字符串运算符计算机计算
13、机程序设计程序设计 结果为计算机程序设计计算机计算机 & 程序设计程序设计 结果为计算机程序设计125 + 25 结果为12525125+25 结果为150125 & 25 结果为12525ABC + 100 结果出错ABC & 100 结果为ABC100可以在可以在Main函数中使用函数中使用Console.WriteLine方法来输出验证这方法来输出验证这些表达式些表达式知识点知识点3 关系运算符关系运算符运算符运算符功能功能表达式实例表达式实例结果结果等于等于 Visual = Visul False大于大于 Visual Visl True=大于等于大于等于20
14、20 = 2121False小于小于55 89True=小于等于小于等于 23 = 12 False不等于不等于 xyz XYZ TrueLike字符串匹配字符串匹配 韩非子韩非子 Like Like 韩韩* * TrueIs对象引用比较对象引用比较X Is YX Is Y(若若X X和和Y Y引用同一个对象)引用同一个对象)True知识点知识点4 逻辑运算符逻辑运算符运算符运算符功能功能优先级优先级表达式格式表达式格式说明说明Not取反取反1Not x进行取反操作,即由真变假或进行取反操作,即由真变假或由假变真由假变真And与与2x And y两个操作数均为真时结果为真,两个操作数均为真时结
15、果为真,否则为假否则为假Or或或3x Or y两个操作数均为假时,结果为两个操作数均为假时,结果为假,否则为真假,否则为真Xor异或异或4x Xor y两个操作数相异时,结果为真,两个操作数相异时,结果为真,否则为假否则为假AndAlso短路短路与与5x AndAlso y类似类似And运算符运算符OrElse短路短路或或6x OrElse y类似类似Or运算符运算符知识点知识点4 逻辑运算符逻辑运算符3+58 And 83 结果为False3+58 Or 8 3 结果为TrueNot 5”A” Xor “9” “0” 结果为False5=5 Or 4*7 7 结果为True(121) 结果为
16、False(1020) OrElse (12*8= 字符运算符 关系运算符 逻辑运算符对于相同类型的运算符,则按照规定的优先级顺序进行运算。若表达式中有括号和函数,则先计算括号内的表达式值和函数。3不同数据类型的转换在算术运算中,如果参加运算的数据具有不同的数据类型,则可以通过显式或隐式的方法进行类型的转换,通常是精度低的向精度高的数据类型转换。数据类型由低到高的排列次序为:Byte Short Integer Long Single Double N,包括M和N)的表达式为:Int(Rnd*(M-N+1)+N。产生随机英文字符:英文字符A的ASCII码为65,26个大写字母的ASCII码值范
17、围是6590, 其实现语句为:Num = Int(Rnd * 26) +65Letter = Chr(Num)知识点知识点2 常用的数据类型转换函数常用的数据类型转换函数函数名含义实例结果Asc(C)字符转换成ASCII码值Asc(“A”)65Chr(N)ASCII码值转换成对应字符Chr(65)“A”Str(N)数值转换为字符串Str(123.45)“ 123.45”Val(C)数字字符串转换为数值Val(“123AB”)123Hex(N)十进制数转换为十六进制数Hex(100)64Oct(N)十进制数转换为八进制数Oct(100)144Lcase(C)大写字母转换为小写字母Lcase(“A
18、BC12”)“abc12”Ucase(C)小写字母转换为大写字母Ucase(“abc78”) “ABC78”知识点知识点3 字符串操作函数字符串操作函数函数名含义实例结果Left(C, N)从字符串C左边取出N个字符Left(“ABCDEF”,3)“ABC”Right(C, N)从字符串C右边取出N个字符Right(“ABCDEF”, 3)“DEF”Mid(C, N1, N2)从字符串C的N1位开始向右取N2个字符Mid(“ABCDEFG”, 2, 3)“BCD”Trim(C)除去字符串左右两边的空格Trim(“ ABC “)“ABC”Ltrim(C)除去字符串左边的空格Ltrim(“ ab”
19、)“ab”Rtrim(C, N)除去字符串右边的空格Rtrim(“ABC “)“ABC”InStr(C1,C2)返回字符串C2在字符串C1中第一次出现的位置InStr(”Visual Basic”, “as”)9Len(C)计算字符串C的长度Len(“abcde”)5知识点知识点4 日期和时间函数日期和时间函数函数名含义实例结果Now返回系统当前的日期和时间Now2009-7-8 11:32:08Day(D)返回指定日期中的日(131)Month(D)返回指定日期中的月(112)Month(#3/2/2009#)3Year(D)返回指定日期中的年Year(#10/1/2009#)2009Wee
20、kDay(D)返回对应的星期数(17)星期日为1,星期一为2Weekday(#7/22/2009#)4即星期三在使用在使用Day函数时,需要用函数时,需要用 Microsoft.VisualBasic 命名空间限定该函数,命名空间限定该函数,例如:例如:Microsoft.VisualBasic.DateAndTime.Day(#7/22/2009#)也可以使用也可以使用Day属性来获取日期中的某一天,例如:属性来获取日期中的某一天,例如:#7/22/2009#.Day 任务任务3 解析解析Dim num, n As Integer声明模块级变量下面是“开始猜数”按钮的事件过程代码Privat
21、e Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRnd.Click txtInput.BackColor = Color.Pink txtInput.Focus() Randomize() num = Int(Rnd() * 100) + 1 txtInput.Text = txtResult.Text = End Sub下面是“确定”按钮的事件过程代码Private Sub btnOk_Click(ByVal sender As Object, ByVal
22、e As System.EventArgs) Handles btnOk.Click n = Val(txtInput.Text) If n = num Then txtResult.Text = 恭喜你!猜对了恭喜你!猜对了 txtInput.BackColor = Color.White ElseIf n num Then txtResult.Text = n & 太大了!太大了! txtInput.Text = txtInput.Focus() Else txtResult.Text = n & 太小了!太小了! txtInput.Text = txtInput.Focu
23、s() End IfEnd Subn下面是“查看”按钮的事件过程代码Private Sub btnView_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnView.Click txtResult.Text = 您要猜的数是您要猜的数是 & numEnd Sub2.5 顺序结构程序设计顺序结构程序设计 顺序结构的流程图:语句1语句2语句3知识点知识点1 赋值语句赋值语句【格式1】:变量名变量名 表达式表达式【功能】:给变量赋值。【格式2】:对象名对象名.属性名属性名 表达式表达式【功能】:给对象
24、的属性赋值。 当赋值号两边的数据类型不同时,系统将强制转换为赋值号左边变量的数据类型。例如:na1% = 6.845 变量a1为整型,表达式的值经四舍五入后再赋给a1,结果为7。nX!= 6.2831528# 变量x为单精度型,赋值结果为6.283153,有效位降低为7位。知识点知识点1 赋值语句赋值语句n当把字符串赋值给数值型变量时,系统会将字符串自动转换成数值再赋值,但当字符串中包含非数字字符或是一空串时,则出错。例如: a% = 31.456 变量a中的结果是31。 a! = 31.456 变量a中的结果是31.456。 a% = 31xy34 出现“类型不匹配”错误知识点知识点1 赋值
25、语句赋值语句n当把逻辑值赋给数值变量时,True转换为1,False转换为0;把数值型值赋给逻辑变量时,非0值转换为True,0转换为False。例如: Dim BL As Boolean 声明变量BL为逻辑型 BL = 5 变量BL中的数据为True。n任何非字符串型的数据赋值给字符串型变量时,将被转换成字符串型。知识点知识点1 赋值语句赋值语句n在程序设计中,我们常常会用到下面的赋值语句: sum = sum + nn赋值号左边的变量名只能是变量,不能是常量、函数或表达式。例如,以下的赋值语句都是非法的: Sin(1.23) = a 左边是函数 9 = a + 1 左边是常数 a + 1
26、= 8 左边是表达式知识点知识点1 赋值语句赋值语句n不能用一个赋值语句同时给多个变量赋值。例如,以下的赋值语句是错误的: Dim a, b, c As Long a = b = c = 10 n程序执行时会把b = c = 10看成是关系表达式,它的值是False,再将其转换后赋给变量a,结果a的值是0。知识点知识点1 赋值语句赋值语句n下列程序段的功能是交换两个变量的值。Dim a, b, c As Integera = 15b = -25c = a 将a中的数据存入ca = b 将b中的数据存入ab = c 将c中的数据存入b,实现交换知识点知识点1 赋值语句赋值语句知识点知识点2 In
27、putBox函数函数n语法格式为: InputBox (, , , , )功能:功能: 打开一个对话框,接受用户从键盘输入打开一个对话框,接受用户从键盘输入的数据,该函数的返回值是字符串类型。的数据,该函数的返回值是字符串类型。 n例如,有如下语句:Dim sName As StringsName = InputBox(请输入学生姓名:, 姓名输入, 张三)知识点知识点2 InputBox函数函数知识点知识点3 MsgBox函数函数nMsgBox函数产生一个消息对话框,常用于在程序运行过程中显示一些提示性的消息,或要求用户对某个问题作出“是”或“否”的判断等。MsgBox函数的语法格式为:Ms
28、gBox ( 提示提示 , 按钮类型按钮类型 , 标题标题 )说明:说明:是必选项,不能省略。 MsgBox函数返回的值(一个整型数)记录了用户在消息框中选择了哪一个按钮 。例如,执行下列语句后:Dim n As Integern = MsgBox(文件的内容已改变。文件的内容已改变。 & vbCrLf & 想保存文件吗?想保存文件吗?, 35, 记事本记事本)若用户在对话框中单击“是是”按钮,n的值为6;若单击“否否”按钮,n的值为7;若单击“取取消消”按钮,n的值为2。知识点知识点3 MsgBox函数函数知识点知识点4 MessageBox类类nMessageBox.Sho
29、w()函数与MsgBox函数功能相同,也是产生一个消息对话框,用于在程序运行过程中显示一些提示性的消息,或要求用户对某个问题作出“是”或“否”的判断等。MessageBox.Show()函数的语法格式为:MessageBox.Show( 提示提示 ,标题,标题 ,按钮,按钮类型类型 ,图标类型,图标类型 ,默认按钮,默认按钮 )知识点知识点4 MessageBox类类n例如,下列语句也可以得到图例如,下列语句也可以得到图2-10所示的消所示的消息对话框。息对话框。Dim n As Integern = MessageBox.Show(文件的内容已改变。文件的内容已改变。 & vbCrL
30、f & 想保存文件吗?想保存文件吗?, 记事本记事本, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)任务任务4 编写一个求解三角形面积的程序编写一个求解三角形面积的程序n要求:使用InputBox函数输入三角形的三条边,计算其面积并用MsgBox函数输出。其中面积S = , p = (a+b+c) 。)()(cpbpappImports System.MathPublic Class frmAreaPrivate Sub frmArea_Click(ByV
31、al sender As Object, ByVal e As System.EventArgs) Handles Me.Click Dim a, b, c, p, s As Single a = Val(InputBox(请输入三角形的边长请输入三角形的边长A:) b = Val(InputBox(请输入三角形的边长请输入三角形的边长B:) c = Val(InputBox(请输入三角形的边长请输入三角形的边长C:)If a + b c And a + c b And b + c a Then p = (a + b + c) / 2 s = Sqrt(p * (p - a) * (p - b
32、) * (p - c) MsgBox(A= & a & ,B= & b & ,C= & c & ,面积面积= & s, , 三角形的面积三角形的面积) Else MsgBox(输入的三条边不能构成三角形输入的三条边不能构成三角形) End IfEnd SubEnd Class顺序结构的上机习题 1. 随机产生一个三位正整数,并逆序输出它。例如:产生的数为123,则输出的数为321。界面如下图所示:算法定义5个变量N=随机数分别求出百位、十位、个位数a、b、cM=C*100+B*10+A将N和M分别显示在两个文本框中顺序结构的上机习题 2.
33、 由键盘输入任意一个字符,用消息对话框显示它的ASCII码值。2.6 条件分支结构程序设计条件分支结构程序设计n知识点知识点1 简单分支结构(单分支结构)简单分支结构(单分支结构) 单行结构的语法格式为: 【格式】:If 条件表达式条件表达式 Then 语句行语句行 块结构的语法格式是: 【格式】:If 条件表达式条件表达式 Then 语句块语句块 End If分支结构的控制流程图 知识点知识点1 简单分支结构(单分支结构)简单分支结构(单分支结构)n例如,要根据成绩变量(Score)来统计通过计算机考试的人数(Sum),实现的语句是: If Score = 60 Then Sum = Sum
34、 + 1n又例如,已知两个数值型变量x和y,如果x小于y,则交换x 和y的值,否则不交换。实现的程序代码段是: If x = 0 Then y = Sin(x) + Sqrt(x 2 + 1) Else y = Cos(x) - x 3 + 3 * x End If03cosx01sin32xxxxxxy任务任务5 编写一个出租车计费程序编写一个出租车计费程序n已知出租车的起步价是6元,基价里程是2.5公里;超过2.5公里的部分,每公里加收1.2元;如果路程超过10公里,则超出部分加收50%的空贴费。编写一个出租车计费程序。n界面如下图所示,在文本框txtDistance中输入公里数,单击“计
35、算”按钮则在文本框txtCost中显示应付的出租车费;单击“清空”按钮则清空两个文本框任务任务5 解析解析Public Class frmTaxiCost Dim n As Single, cost As SinglePrivate Sub btnCalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculate.Click n = Val(txtDistance.Text) If n 10 Then cost = cost + (n - 10) * 1.2 * 0.5
36、 超过10公里的加收超出部分50%的空车费 End If cost = Math.Round(cost) 四舍五入取整 End If txtCost.Text = cost & 元 End Sub Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click txtDistance.Text = txtCost.Text = “ 或 txtCost.Clear() End SubEnd Class知识点知识点3 多分支结构多分支结
37、构 1使用使用IfThenElseIf语句语句 【格式】:If 条件表达式条件表达式1 Then 语句块语句块1 ElseIf 条件表达式条件表达式2 Then 语句块语句块2 Else 语句块语句块n+1 End If【功能】:依次依次对给定的条件表达式进行判断,哪个条件表达式的值为True,则程序就执行该条件Then后面的语句块,执行完毕后,程序转到End If之后的语句执行,不再判断其他条件表达式。当所有条件表达式的值都为False时,则执行Else后面的语句块。多分支结构的控制流程图 2使用使用Select Case语句语句【格式】:Select Case 测试条件表达式测试条件表达式
38、 Case表达式列表表达式列表1 语句块语句块1 Case表达式列表表达式列表2 语句块语句块2 Case Else 语句块语句块n+1 End Select【功能】:首先计算测试条件表达式的值,然后将该值依次与各Case后面的表达式列表值进行比较,若与某一列表值相等, 就执行与该Case相关联的语句块,执行完毕后,程序转到End Select之后的语句,不再与其他列表值进行比较。当所有列表表达式的值均不能与测试条件表达式的值相匹配时,则执行Case Else后面的语句块。n说明:说明:“测试条件表达式测试条件表达式”可以是数值型或字符串表达式。“表达式列表表达式列表”可以是以下3种形式:表达
39、式列表:如:Case 2, 4 ,6 ,8表达式 To 表达式: 如:Case 20 to 50Is 比较运算符 表达式: 如: Case Is xCase 2, 4, 6, 8, Is 10任务任务6:编写一个购物打折程序:编写一个购物打折程序 某商场采用购物打折的优惠办法促销,每位顾客一次购物n在100元以上,按九折优惠;n在500元以上,按八折优惠;n在1000元以上,按七折优惠;n在5000元以上,按六折优惠。 编写程序,输入顾客的购物款,计算并显示出顾客的实际应付款。要求分别用IfThen ElseIf语语句和句和Select Case语句语句来实现 。程序运行界面 n任务任务6 解
40、析解析n思路分析:设顾客的购物款为x,打折后的货款为y,则优惠公式为: )5000(6 . 0)50001000(7 . 0)1000500(8 . 0)500100(9 . 0)100(xxxxxxxxxxy Dim x, y As Single 使用IfElseIf语句 Private Sub btnElseIf_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnElseIf.Click x = Val(txtInput.Text) If x 100 Then y = x ElseIf x 500 T
41、hen y = x * 0.9 ElseIf x 1000 Then y = x * 0.8 ElseIf x 5000 Then y = x * 0.7 Else y = x * 0.6 End If txtOutput.Text = y End Sub Private Sub btnSelect_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSelect.Click x = Val(txtInput.Text) Select Case x Case Is 100 y = x Case Is 500
42、 y = x * 0.9 Case Is 1000 y = x * 0.8 Case Is 5000 y = x * 0.7 Case Else y = x * 0.6 End Select txtOutput.Text = y End Sub条件分支结构的习题 编写一个求解一元二次方程根的程序。 要求用户输入方程的3个系数,判断是否是二次方程,如果是,根据分2种情况求解方程的根(有解或无解);如果是一次方程,直接求出根。2.7 循环结构程序设计循环结构程序设计 循环是指在程序设计中,在指定条件下从程序的某处开始有规律地反复执行某一程序段的现象,被重复执行的程序段称为“循环体”。 Visual
43、 Basic.NET提供了两种类型的循环结构,一种是计数循环,另一种是条件循环。知识点知识点1 ForNext循环循环n如果知道循环的次数,就可以使用ForNext循环结构,ForNext语句以指定的次数执行一组语句。【格式】:For 循环变量循环变量 = 初值初值 To 终值终值 Step 步长步长 语句块语句块1 Exit For 语句块语句块2Next 循环变量循环变量n说明:说明: 循环变量、初值和终值都是必要参数,不能省略,它们必须为数值型。 步长可以是正数或者负数。如果初值小于或等于终值,步长的值应该为正;反之,步长应该为负。步长的值为1时,可以省略不写。 语句块可以是一条语句,也
44、可以是多条语句,通常称为循环体。循环体在循环过程中被反复执行。 ForNext循环是计数循环,通常用于循环次数确定的场合。一个For循环的循环次数计算公式是:Int(终值终值 初值初值)/步长步长1)。 Exit For子句是可选项,它可以放置在循环体的任何位置。程序在执行过程中遇到Exit For子句时,将强行退出循环去执行Next后面的语句。Exit For子句常与条件判断语句配合使用,使得循环操作能在一些特殊场合下提前终止。 For循环的执行步骤是: 设置循环变量的值等于给定的初值; 判断循环变量的值是否超过所设定的终值,如果是的话,则结束循环,去执行Next后面的语句。当步长为正时,超
45、过是指循环变量的值大于所设定的终值;当步长为负时,超过是指循环变量的值小于所设定的终值。 如果循环变量的值不超过所设定的终值,则执行For与Next语句之间的语句块(循环体)。 循环体执行完成后,循环变量自动增加一个给定的步长,然后转到步骤,继续循环。n例如,计算1+2+3+4+100的和。程序代码段如下:Dim i, sum As Integer 声明循环变量为整型数sum = 0 求和变量在循环外清零For i = 1 To 100 Step 1 sum = sum + i 循环累加Next I注意:由于步长等于1,程序中的Step 1可以省略。此程序的循环次数是Int((100-1)/1
46、+1)=100。循环结束时,循环变量i的值是101,它超过了终值100。n思考:若要求思考:若要求1100之间的奇数或偶数的和,上述程之间的奇数或偶数的和,上述程序应如何修改?序应如何修改?知识点2 For EachNext循环 n使用For EachNext语句可以对一个集合(或数组)中的每个元素都执行一遍循环体。n集合是聚集在一起的一组对象的统称,使用集合可以很容易地实现添加、删除和计数等功能。每个窗体都有一个控件集合,代表该窗体上的所有控件。使用索引可获取该集合某个控件的引用,并可使用For EachNext语句遍历整个集合。n【格式】:For Each 循环变量循环变量 In 集合或数
47、组集合或数组 循环体循环体Next 任务任务7 编写一个能判断素数并且能遍编写一个能判断素数并且能遍历窗体控件的程序历窗体控件的程序n数学上把只能被1或自身整除的整数称为素数。编写程序,输入一个大于2的整数,单击“判断素数”按钮,将在标签中显示该数“是素数”或“不是素数”;单击“遍历控件”按钮,将遍历窗体上的所有控件,并将每个控件的背景色设为淡绿色。如图2-18所示。任务任务7 解析解析编写两个命令按钮的Click事件过程代码,如下所示:Public Class frmForCycle Private Sub btnForNext_Click(ByVal sender As System.Ob
48、ject, ByVal e As System.EventArgs) Handles btnForNext.Click Dim n, i As Integer, flag As Boolean n = Val(txtNum.Text) flag = True For i = 2 To Math.Sqrt(n) 终值也可以写成n-1 If n Mod i = 0 Then flag = False Exit For End If Next i If flag Then 如果如果flag为为True则则n是素数是素数 lblDisp.Text = n & 是素数是素数 Else lblDi
49、sp.Text = n & 不是素数不是素数 End If End Sub下列代码用于遍历控件 Private Sub btnForEach_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnForEach.Click Dim thisCon As System.Windows.Forms.Control 定义一个控件类的对象变量 For Each thisCon In Me.Controls thisCon.BackColor = Color.LightGreen Next End Sub En
50、d Class知识点知识点3 DoLoop循环循环 DoLoop循环又称为条件循环,可以根据循环条件的成立与否来决定是否执行循环体。 前测型循环结构的语法格式为: 【格式】:Do While|Until 条件条件 语句块语句块1 Exit Do 语句块语句块2 Loop【功能】:在执行循环体前先判断是否满足循环的条件,若满足才进入循环。 前测型循环结构的流程图前测型循环结构的流程图 后测型循环结构的流程图后测型循环结构的流程图 知识点知识点3 DoLoop循环循环后测型循环结构的语法格式为:【格式】:Do 语句块语句块1 Exit Do 语句块语句块2 Loop While|Until 条件条件【功能】:先进入循环执行循环体,然后判断是否满足循环的条件,若满足继续循环。知识点知识点3 DoLoop循环循环说明:说明: 前测型循环结构为先判断后执行,循环体可能一次也不执行;后测型循环结构为先执行后判断,循环体至少要被执行一次。 关键字While用于指明条件为True时执行循环体一次;关键字Until用于指明条件为True时循环结束。 条件是条
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考物理复习主题单元13第35课时家庭电路课件
- 中考物理复习主题单元5第12课时大气压强流体压强与流速的关系课件
- 冀少版八年级生物上册第三单元第一、二章复习提升课件
- 《会计基础与实训》第一学期教案
- 电车环保行动新纪元-推动绿色电车可持续发展
- 厨房装修翻新合作协议
- 无人驾驶技术债务承诺书
- 建筑工程延期合同
- 幼儿园合作共赢协议
- 家庭地质馆别墅施工合同
- 小学五年级上学期信息科技《我们去哪儿》教学课件
- 2024智能变电站新一代集控站设备监控系统技术规范部分
- 河北省邯郸市思想政治高一上学期2024-2025学年测试试题及答案解析
- 2021新青岛版六三制三年级上册科学全册知识点总结期末复习背诵资料
- 2004年三中会议精神测试题及答案
- 2024年浙江省应急管理行政执法竞赛题库-上(单选、多选题)
- 【2013浙G32】机械连接竹节桩图集
- 安全生产法律法规清单2024.07
- 人教版高中化学选择性必修1第2章化学反应速率与化学平衡测试含答案
- 《食品添加剂应用技术》第二版 课件 任务3.1 防腐剂的使用
- 房产开发地块收购项目可行性研究报告(完美版)
评论
0/150
提交评论