Visual Basic 第4章 程序结构

上传人:飞*** 文档编号:56785937 上传时间:2018-10-15 格式:PPT 页数:52 大小:260KB
返回 下载 相关 举报
Visual Basic 第4章 程序结构_第1页
第1页 / 共52页
Visual Basic 第4章 程序结构_第2页
第2页 / 共52页
Visual Basic 第4章 程序结构_第3页
第3页 / 共52页
Visual Basic 第4章 程序结构_第4页
第4页 / 共52页
Visual Basic 第4章 程序结构_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《Visual Basic 第4章 程序结构》由会员分享,可在线阅读,更多相关《Visual Basic 第4章 程序结构(52页珍藏版)》请在金锄头文库上搜索。

1、第4章 程序结构,4.1 顺序结构4.2 选择结构4.3 循环结构,结束,4.1 顺序结构,4.1.1 赋值语句 4.1.2 Print方法 4.1.3 With结构,返回首页,4.1.1 赋值语句,赋值语句是程序设计中最常用、最基本的语句,用于为变量或对象的属性赋值,格式如下: 格式1:变量名 = 表达式 格式2:对象名.属性名 = 表达式在格式2中,若省略对象名,则默认对象为当前窗体。 对象类型变量的赋值比较特殊,需要使用Set关键字,格式如下: Set 对象变量名 = 表达式,4.1.2 Print方法(1),1. 用Print方法输出数据 Print方法用于在窗体、图片框或打印机等对象

2、上输出数据,格式如下: 对象名.Print 输出项列表;|, 说明: 对象名:可以是窗体、图片框或打印机等对象,若省略对象名,则在当前窗体上输出数据。 输出项列表:要输出的内容(表达式)。若有多个输出项,可用逗号或分号隔开。 分号(;):各输出项连续输出,中间无空格。,4.1.2 Print方法(2),逗号(,):各输出项按分区格式输出,即将一个输出行以14个字符的宽度为单位分成若干区段(称为“打印区”),每个区段输出一个表达式的值。 如果调用Print方法的语句以分号或逗号结束,则下一次执行Print方法时将在同一行输出;否则,每执行一次Print方法即自动换行。 Print方法在Form_

3、Load事件过程中不起作用。如果要在该事件中显示数据,必须在该过程内加上Form.Show方法或把窗体的AutoRedraw属性设置为True。 技巧:在输入Print关键字时可以只输入问号(?),VB会自动将其翻译成Print。,4.1.2 Print方法(3),2. 与Print方法有关的函数 VB提供了Spc和Tab两个函数,用于配合Print方法对输出进行定位。 (1)Spc函数 格式: Spc(n) Spc函数用于插入n个空格。例如: Print “你好!“; Spc(8); “Hello!“ 输出结果: 你好! Hello!,4.1.2 Print方法(4),(2)Tab函数格式:

4、Tab(n)Tab函数用于将输出位置定位于第n列。若省略参数n,则将插入点移动到下一个打印区的起点。如果n小于当前显示位置,则将输出位置移到下一行第n列。例如: Print “1234567890“ Print “Hello“; Tab(10); “China“ Print “Hello“; Tab; “China“ Print “Hello“; Tab(4); “China “,4.1.2 Print方法(5),若在窗体的Form_Click事件中加入以上代码,则单击窗体后输出如图4.2所示的结果。,图4.2 Tab函数示例,4.1.3 With结构(1),使用With结构可以对某个对象执行

5、一系列语句,而不用重复指出该对象的名称。With结构的格式如下: With 对象语句块 End With 例如,要改变一个对象的多个属性,可以在With结构中添加为该对象的多个属性赋值的语句,此时只需引用对象一次而不是在每个属性赋值时都要引用它。下面的示例说明了如何使用With结构来给同一个对象的几个属性赋值。,4.1.3 With结构(2),为文本框字体对象的多个属性赋值 With Text1.Font下面只需输入圆点即可引用对象的属性或方法.Name = “隶书“ 字体名.Size = 12 字号.Bold = True 粗体.Italic = True 斜体.Underline = Tr

6、ue 下划线 End With 注意:当程序一旦进入With结构,对象就不能改变。因此不能用一个With结构来设置多个不同的对象。,顺序结构示例,下面通过实例说明顺序结构程序设计的特点。 【例4.1】求一元二次方程ax2+bx+c=0的根。 设计步骤如下: (1)新建工程,在窗体上添加五个文本框、两个命令按钮和五个标签。文本框均采用默认名称,Text属性均为空。其他对象的属性设置如表4.1所示。,注:标签Label7用于显示二次方程通式的指数,六号字。,(2)编写代码。双击【计算】按钮,打开代码窗口,输入以下代码: Private Sub cmdCalcu_Click()Dim a As Si

7、ngle, b As Single, c As SingleDim D As SingleDim x1 As Single, x2 As Singlea = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)D = b * b - 4 * a * c 二次方程求根的判别式x1 = (-b + Sqr(D) / (2 * a) 用求根公式计算x1和x2x2 = (-b - Sqr(D) / (2 * a)显示结果,最多保留4位小数Text4.Text = Format(x1, “0.#“)Text5.Text = Format(x2, “0

8、.#“) End Sub,在【结束】按钮的单击事件中用End语句结束程序运行。 运行程序,单击【计算】按钮即可解出方程的根。运行效果如图4.3所示。 注意:上面的程序是有缺陷的。当a=0或判别式(变量D)的值小于0时,将出现错误,导致程序崩溃。因此,应设法判断变量a和D的值所处的范围,并作相应的处理。这不是顺序结构所能完成的任务,需采用下面将要介绍的选择结构才能实现。,图4.3 二次方程求根,4.2 选择结构,4.2.1 If语句 4.2.2 Select Case语句,返回首页,4.2.1 If语句,1. IfThen结构 2. IfThenElse结构 3. If.Then.ElseIf结

9、构 4. If语句的嵌套,返回首页,返回本节,1. IfThen结构(1),IfThen结构的流程如图4.4所示。该结构表示“如果条件满足就执行Then后边的语句,否则不执行任何操作”。语法格式如下: (1)单行形式 If 条件 Then 语句 (2)块(多行)形式 If 条件 Then语句块 End If,1. IfThen结构(2),一般情况下,“条件”是运算结果为逻辑值的表达式,若表达式的值为True,则条件成立,若表达式的值为False,则条件不成立。“条件”也可以是运算结果为数值的表达式,此时VB将表达式的值解释成逻辑值:0为False,非零为True。 需要注意的是,IfThen的

10、单行格式不用End If语句,整个语句必须写在一行上。如果条件为真时需要执行多条语句,所有语句必须在同一行上并且以冒号分开,如: If 条件 Then 语句1:语句2:语句3 为了使程序便于维护,提高其可读性,建议尽量不要采用这种单行多句的形式。如果需要在Then关键字后面执行多条语句,应使用块形式的IfThenEnd If结构。,1. IfThen结构(3),【例4.2】编写程序,在文本框中输入一个整数,判断该数是不是偶数。 分析:判断某整数的奇偶性,可以检查该数能否被2整除。若某数能被2整除,则该数为偶数。 设计步骤如下: (1)建立用户界面,设置对象属性。各对象的属性如表4.2所示。 表

11、4.2 例4.2对象属性,(2)编写程序代码。“判断”命令按钮的Click事件代码如下: Private Sub Command1_Click()Dim x As Integerx = Val(Text1.Text)If x Mod 2 = 0 Then Label2.Caption = x & “ 是偶数。“End If End Sub “清除”命令按钮Click事件的代码如下: Private Sub Command2_Click()Text1.Text = “Label2.Caption = “ End Sub 运行结果如图4.5所示。,图4.5 If.Then示例,返回首页,返回本节,

12、2. IfThenElse结构 (1),(1)单行形式 If 条件 Then 语句1 Else 语句2 (2)块形式 If 条件 Then语句块1 Else语句块2 End If,2. IfThenElse结构(2),【例4.4】改进例4.2,使程序能判断整数的奇偶性。 分析:判断某数的奇偶性,就是检查该数能否被2整除,若能被2整除,该数为偶数,否则为奇数。 Private Sub Command1_Click()Dim x As Integerx = Val(Text1.Text)If (x Mod 2) = 0 ThenLabel2.Caption = x & “ 是偶数“Else 增加E

13、lse子句, 显示奇数Label2.Caption = x & “ 是奇数“End If End Sub,返回首页,返回本节,3. If.Then.ElseIf结构(1),语法格式如下: If 条件1 Then语句块1 ElseIf 条件2 Then语句块2 ElseIf 条件n Then语句块n Else语句块n+1 End If,3. If.Then.ElseIf结构(2),【例4.5】改进例4.1求一元二次方程ax2+bx+c=0的根的程序,修正其中的缺陷。 分析:首先应判断方程中二次项的系数a:若a=0,则不是二次方程,不作求根运算;若a0,则根据判别式b24ac的值求根。方程的根有三

14、种情况: b24ac=0,方程有两个相等的实根; b24ac0,方程有两个不等的实根; b24ac 0 Then a0, D0, 方程有不等二实根,x1 = (-b + Sqr(D) / (2 * a)x2 = (-b - Sqr(D) / (2 * a)Elsex1 = “无实根“ a0, D0时,都是用求根公式计算x1和x2,因此可将两个ElseIf子句合并:ElseIf D = 0 Then D0,方程有两个实根x1 = (-b + Sqr(D) / (2 * a)x2 = (-b - Sqr(D) / (2 * a),返回首页,返回本节,4. If语句的嵌套,嵌套是指在一个控制结构中插

15、入另一个控制结构。If语句的嵌套是指在一个If语句中插入另一个If语句。内嵌的If语句可以出现在关键字Then或Else之后的语句块中。If语句嵌套常用于复杂的多分支选择,它的一般形式如下: If 条件1 ThenIf 条件2 ThenEnd If End If,例如,例4.5中二次方程求根的If语句可以改为下面的形式: If a = 0 Then a=0, 不是二次方程x1 = “x2 = “ Else a0If D = 0 Then 内嵌If语句开始。 D0,方程有两个实根x1 = (-b + Sqr(D) / (2 * a)x2 = (-b - Sqr(D) / (2 * a)Elsex1 = “无实根“ D0, 无实根x2 = x1End If 内嵌If语句结束 End If,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号