资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
05九月2024安徽工业大学计算机学院1第四章基本控制结构一、顺序结构二、分支结构三、循环结构一、顺序结构格式:=功能:先计算赋值号(=)右边表达式的值,再将其值赋给左边的变量或对象的属性赋值语句赋值语句一、顺序结构1.1 赋值语句是VB顺序结构中常用语句,通常有以下三种形式给变量赋值给对象的属性赋值给对象赋值一、顺序结构1.1.1.给变量赋值Dim x as integerDim y as String, z as StringX =23 * sqr(9)X=x+1Y=“Welcome to use Visual Basic”Z=y一、顺序结构1.1.2.给对象属性赋值基本格式:对象名.属性名=属性值,例如:Form1.Caption=“第一个VB程序”Command1.Caption=“退出”Text1.Text=Text2.Text一、顺序结构1.1.3.给对象属性赋值即把一个对象的引用赋值给另外一个同类型的对象变量,一般格式为:Set 对象名对象名=对象的引用对象的引用一、顺序结构1.2.Print方法通常用于窗体对象与Picture对象,输出字符串或图形,具体用法见第二讲窗体部分内容。1.3.Format函数通常指定字符串或数字的输出格式。语法如下:X=Format(待输出内容, 输出格式)一、顺序结构1.3.Format函数例1.格式化日期型数据Dim MyTime as DateMyTime=#15:03:21#Form1.print format(MyTime, “h:m:s”)输出内容为 15:3:21Form1.print format(MyTime,”hh:mm:ss AMPM”)输出内容为 03:03:21 PM一、顺序结构1.3.Format函数例2.格式化数字输出Dim MyString as StringMyString=format(5459.4,”#,#0.00”)5,459.00MyString=format(334.9,”#0.00”)334.90MyString=format(5,”0.00%”)500.00%一、顺序结构1.3.Format函数常用日期格式字符串一、顺序结构1.3.Format函数常用数字格式字符串1.3.Format函数利用Format函数显示有关的日期和时间。PrivateSubForm_Click()FontSize=12MyTime=#9:21:30PM#MyDate=#7/21/1997#PrintTab(2);Format(MyDate,m/d/yy)PrintTab(2);Format(MyDate,mmmm-yy)PrintTab(2);Format(MyTime,h-m-sAM/PM)PrintTab(2);Format(MyTime,hh:mm:ssA/P)PrintTab(2);Format(Date,dddd,mmmm,dd,yyyy)PrintTab(2);Format(Now,yyyy年m月dd日hh:mm)PrintFormatDateTime(Now)VB6.0新提供的函数EndSub一、顺序结构1.4 InputBox()函数InputBox()函数显示一个能够接受用户输入的对话框,并返回用户在对话框中输入的信息。其语法格式为:InputBoxInputBox(,标题,标题,缺省,缺省,x x 坐标坐标,y y坐标位置坐标位置)一、顺序结构1.4 InputBox()函数实例:在窗体单击事件中添加如下代码:Dim sName As String*40sNamesName = = InputBoxInputBox( (“请输入你的姓名请输入你的姓名” + + vbCrLfvbCrLf + + “然后单击确定然后单击确定:, :, 姓名输入姓名输入, , 张三张三)Form1.Print sName一、顺序结构1.5 MsgBox()函数 消息框常用于在程序运行过程中显示一些提示性信息,或要求用户对某个问题进行选择判断。 消息框MsgBox的使用方式有语句方式和函数方式两种 函数方式如下:返回值=MsgBox(,对话框类型,标题)一、顺序结构1.5 MsgBox()函数消息框MsgBox实例:在窗体单击事件中添加如下代码:Dim a as integerA=msgbox(“请你首先注册”,1+16+256+0,”msgbox例子“)Print a一、顺序结构1.5 MsgBox()函数相关参数说明:是必选项,不可省略。是一个整型表达式,它决定了消息框中按钮的按钮的数目和类型数目和类型以及出现在消息框上图图标类型标类型,具体含义见右图:返回值返回值= =MsgBoxMsgBox(,对话框类型对话框类型,标题标题)一、顺序结构1.5 MsgBox()函数相关参数说明: 是一个字符串或字符表达式,被显示在消息框的标题区,若省略之,则标题区显示运行的程序名称。MsgBox()的返回值记录了用户在消息框中选择了哪一个按钮,具体值含义如右图示:如果省略了某些可选项,则必须加入相应的逗号分隔符。返回值返回值= =MsgBoxMsgBox(,对话框类型对话框类型,标题标题)一、顺序结构1.5 MsgBox()函数相关参数说明: 在使用MsgBox输出消息框时,有时候不需要返回值。此时可以使用MsgBox语句实现,其格式如下: MsgBoxMsgBox ,对话框类型对话框类型,标题标题 注意:当注意:当MsgBoxMsgBox作为语句使用时,不可以使用括号,也不能够作为语句使用时,不可以使用括号,也不能够获取用户在弹出窗口中单击的按钮。获取用户在弹出窗口中单击的按钮。二、分支结构2.1 简单分支语句语法格式:(1). IF THEN END IF(2). IF THEN 二、分支结构2.1 简单分支语句程序举例已知两个数x和y,比较它们的大小,使得x大于y. If xy ThenIf xy Then t=x t=x x=y x=y y=t y=t End If End If 或或 If xy Then t=x: x=y: y=tIf xy Then t=x: x=y: y=t二、分支结构2.2 双分支语句语法格式: If If Then Then 1 Else Else 2 End If End IfIf If Then Then Else Else 2二、分支结构2.2 双分支语句举例: 计算分段函数值计算分段函数值: :单分支结构实现:y=cos(x)x3+3*xIfx0Theny=sin(x)+sqr(x*x+1)双分支结构实现:Ifx0Theny=sin(x)+sqr(x*x+1)Elsey=cos(x)x3+3*xEndIf二、分支结构2.3 IF语句嵌套If语句的嵌套是指If或Else后面的语句块中又包含If语句。形式如下: If If Then Then IF THEN END IF Else Else 2 End If End If二、分支结构2.3 IF语句嵌套例已知x,y,z三个数,使得xyz用一个IF语句和一个嵌套的IF语句实现IfxyThent=x:x=y:y=tIfyzThent=y:y=z:z=tIfxyThent=x:x=y:y=tEndIfEndIfIf语句的嵌套注意事项:书写锯齿型;If与EndIf配对。二、分支结构2.4 多分支结构1 1、IfIfThenThenElseIfElseIf语句语句( (多分支结构多分支结构) )语法形式:语法形式: If If Then1 Then 1 ElseIfElseIf Then2Then 2 Else Else 语句块语句块 n+1 n+1 End If End If二、分支结构2.4 多分支结构IfIfThenThenElseIfElseIf语句示例语句示例已知百分制成绩mark,显示对应的五级制成绩。哪些正确,哪些错误?二、分支结构2.4 多分支结构2 2、Select CaseSelect Case语句语句( (情况语句情况语句) )语法形式:Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1End Select数值型或字符串表达式:是与同类型的下面四种形式之一:表达式 AA枚举表达式(用逗号分隔) 2,4,6,82,4,6,8 表达式1 To 表达式2 60 To 10060 To 100Is 关系运算符表达式 Is 60Is =0 And =0 And strCstrC =9 =A And ) =A And UcaseUcase ( (strCstrC) =Z) y,x,y)二、分支结构2.5 条件函数2.Choose2.Choose函数函数语法形式:语法形式: Choose Choose(数字类型变量,值为(数字类型变量,值为1 1的返回值,值为的返回值,值为2 2的返回值,的返回值,) )例如,Nop是1-4的值,转换成 + 、-、运算符的语句如下: Op= Choose(Nop,+,-,) 当值为1,返回字符串“+”,然后放入Op变量中,值为2,返回字符串“-”,依次类推;当Nop是1-4的非整数,系统自动取Nop的整数办法在判断;若Nop不在14之间,函数返回Null值。二、分支结构分支结构综合示例由计算机来当一年级的算术老师,要求给出一系列的110的操作数和运算符,学生输入该题的答案,计算机根据学生的答案判断正确与否,当结束时给出成绩。分析分析: :产生产生1 11010操作数,可通过操作数,可通过Int(10 * Int(10 * RndRnd + 1) + 1) 实现实现 设置的控件名 Label1 Text1 Picture1Command1三、循环结构循环结构三要素:循环结构三要素:1.1.初始化:决定循环的初始状态初始化:决定循环的初始状态2.2.循环体:即循环中反复执行的语句块循环体:即循环中反复执行的语句块3.3.循环的条件:即决定循环何时结束循环的条件:即决定循环何时结束三、循环结构3.1 Fox3.1 FoxNextNext循环循环( (一般用于循环次数已知一般用于循环次数已知) )语法格式: For For 循环变量初值循环变量初值 to to 终值终值 Step Step 步长步长 语句块语句块Exit ForExit For 语句块语句块 Next Next 循环变量循环变量循环体循环变量 0初值终值步长=1时,可省略终值=0死循环循环次数注意:v出了循环,循环控制变量值的问题。例程序段:Fori=2To13Step3循环执行次数Printi,输出i的值分别为:2 5 8 11 NextiPrint:Print“I=“,i出了循环输出为:I=14步长步长0初值终值步长=1时,可省略终值=0死循环步长循环次数注意:v出了循环,循环控制变量值的问题。例程序段:Fori=2To13Step3循环执行次数Printi,输出i的值分别为:2 5 8 11 NextiPrint:Print“I=“,i出了循环输出为:I=14三、循环结构FoxFoxNextNext循环示例循环示例1 1例 改变循环控制变量对循环的影响。Private Sub Command1_Click() j = 0 For i = 1 To 20 Step 2 i = i + 3 j = j + 1 Print 第; j; 次循环i=; i Next i Print 退出循环后i=; i End Sub正常情况:正常情况:i=1,3,5,7,9,11,13,15,17,19i=1,3,5,7,9,11,13,15,17,19现在:i=4,9,14,19是由于i = i + 3i = i + 3语句造成的语句造成的. .三、循环结构FoxFoxNextNext循环示例循环示例2 2例 输出可打印的ASCII码字符与它的编码值。 05九月2024安徽工业大学计算机学院393.2.DoLoop循环语句(用于控制循环次数未知)前测式形式:DoWhile|Until语句块ExitDo语句块Loop后测试形式2:Do语句块ExitDo语句块LoopWhile|Until三、循环结构DoDoLoopLoop循环示例循环示例1 1我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。分分 析析 : 解解 此此 问问 题题 两两 种种 方方 法法 , 可可 根根 据据 公公 式式 :26=13*(1+0.008)26=13*(1+0.008)n n 直直接接利利用用标标准准对对数数函函数数求求得得;也也可可利利用循环求得用循环求得三、循环结构DoDoLoopLoop循环示例循环示例2 2用用辗转相除法求辗转相除法求两自然数两自然数m m,n n的最大公约数和最小公倍数。的最大公约数和最小公倍数。分析:求最大公约数的算法思想: (1)对于已知两数m,n,使得mn; (2) m除以n得余数r; (3)若r=0,则n为最大公约数结束;否则执行(4); (4)mn,nr,再重复执行(2)。 例 求 m=14 ,n=6 的最大公约数.If m n Then t = m: m = n: n = t r=m mod n Do While (r 0) m=n n=r r= m mod n Loop Print 最大公约数最大公约数=, n m n r 14 6 2 6 2 0 m n r 14 6 2 6 2 0If m n Then t = m: m = n: n = t r=m mod n Do While (r 0) m=n n=r r= m mod n Loop Print 最大公约数最大公约数=, n m n r 14 6 2 6 2 0三、循环结构3.3 3.3 WhileWhileEndEnd循环循环语法格式: WhileWhile 语句块语句块Exit WhileExit While 语句块语句块 WendWend循环体循环体三、循环结构3.4 3.4 循环的嵌套循环的嵌套注意事项:内循环变量与外循环变量不能同名;外循环必须完全包含内循环,不能交叉;不能从循环体外转向循环体内,反之则可以。一个循环体内又包含了一个完整的一个循环体内又包含了一个完整的循环结构称为循环的嵌套循环结构称为循环的嵌套三、循环结构3.4 3.4 循环的嵌套循环的嵌套判断以下嵌套循环的正误: For ii =1 To 10 Next ii For ii =1 To 10 Next ii For ii =1 To 10 For jj=1 To 20 Next ii Next jj For ii =1 To 10 For ii=1 To 20 Next ii Next ii For ii =1 To 10 For jj=1 To 20 Next jj Next ii For ii =1 To 10 Next ii For ii =1 To 10 Next ii For ii =1 To 10 For jj=1 To 20 Next ii Next jj For ii =1 To 10 For jj=1 To 20 Next jj Next ii For ii =1 To 10 For ii=1 To 20 Next ii Next ii For ii =1 To 10 Next ii For ii =1 To 10 Next ii For ii =1 To 10 For jj=1 To 20 Next ii Next jj For ii =1 To 10 For jj=1 To 20 Next jj Next ii三、循环结构循环的嵌套示例循环的嵌套示例-打印九九乘法表打印九九乘法表. . For i = 1 To 9 For i = 1 To 9 For j = 1 To iFor j = 1 To i se = i & se = i & & j & = & i * j & j & = & i * j Picture1.Print Picture1.Print Tab(jTab(j - 1) * 9 + 1); se; - 1) * 9 + 1); se; Next j Next j Picture1.Print Picture1.Print Next i Next i
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号