vb

个人日记

 

5部分 VB控制结构

一、控制结构

顺序结构:按照书写顺序,先写先执行(不是指事件过程的执行先后)

选择结构:根据条件成立与否,决定语句是否执行

循环结构:根据条件,反复执行

 

二、顺序结构

Vb程序是由语句构成的

1、赋值语句

格式:变量名 = 表达式

      对象名.属性名 = 表达式

例子:a%=1000

         Form1.backcolor = vbred

请记住:算法1:交换算法

       Private Sub Command1_Click()

Dim x%, y%, t%

x = InputBox("请输入一个数字")

y = InputBox("请输入一个数字")

Print x, y

t = x

x = y

y = t

Print x, y

End Sub

请记住:赋值语句要求左右类型一致!

当类型不一致时,左有类型以左为主,左无类型类型(variant)以右为主

例子:(隐式转换)

       1)小数向整数:四舍六入

         Dim a%

         a = 4.5                             --------a中是4

       2)字符串和数字

      Dim a%

      a = 1234           -------a1234

         dim b$

         b = 456                            -------b中“456

       3)逻辑和数值

      Dim a%b%

      a = true                            -------a-1

      b = false                          -------b0

      dim x as booleany as boolean

      x = 100                            -------xtrue

      y = 0                               -------yfalse

     规律:true-----> -1  false ------->0  0----->true  0----->false

例子:a = abc  ------左无类型以右为主

2、注释语句(语句绿色,机器不执行)

:单独成行或者放在语句后面

Rem:单独成行

记住:做程序改错题时,将?更改为正确代码后,删除注释符

3、结束语句:end   -------结束vb运行的程序

 

三、选择结构(单分支、双分支、多分支)

1、单分支

格式

       单行:if <表达式> then <语句>

       多行:if <表达式> then

<语句>

          End if

功能:当表达式的值为true,执行语句

说明:<表达式>的形式

1)  关系表达式:if x>y then

2)  逻辑表达式:if x>y and x>z then

3)  数值表达式:if 2*3 then

例题:交换xy中的值,保证x中的值永远大于y中。

       Private Sub Command1_Click()

Dim x%, y%, t%

x = InputBox("请输入一个数字")

y = InputBox("请输入一个数字")

Print x, y

If x < y Then

    t = x

    x = y

    y = t

End If

Print x, y

End Sub

2、双分支

格式:

       单行:if <表达式> then <语句1> else <语句2>

       多行:if <表达式> then

<语句1>

else

<语句2>

               End if

功能:表达式的结果为true执行语句1,否则语句2


例题1:通过键盘输入2个数据,求最大值(算法2:求最值)


Private Sub Command1_Click()

x = Val(InputBox("请输入一个数据"))

y = Val(InputBox("请输入一个数据"))

If x > y Then

    Print x

Else

    Print y

End If

End Sub

 

Private Sub Command1_Click()

Dim x%, y%

x = InputBox("请输入一个数据")

y = InputBox("请输入一个数据")

If x > y Then

    Print x

Else

    Print y

End If

End Sub


例题2:通过键盘输入一个数字,判断奇偶性(算法3:判断奇偶性 mod

Private Sub Command1_Click()

Dim x%

x = InputBox("请输入一个数据")

If x Mod 2 = 0 Then

    Print x; "是偶数"

Else

    Print x; "是奇数"

End If

End Sub

3iif函数

格式:iif(表达式,表达式为true时的结果,表达式为false时的结果)

例子:使用iif2个数中的最大值

Private Sub Command1_Click()

Dim x%, y%

x = InputBox("请输入一个数字")

y = InputBox("请输入一个数字")

Print IIf(x > y, x, y)

End Sub

4、多分支结构

1)块结构

格式:if <表达式1> then

              <语句1>

      Elseif <表达式2> then

              <语句2>

      ……

      Else

              <语句n>

      End if

功能:执行第一个成立表达式所对应的语句,程序跳到end if之后

注意:elseif一个词;else谨慎使用;


例子1

y =  3x-1x<0

    2x  0x<5

4x+5x>5

       Private Sub Command1_Click()

Dim x%, y%

x = InputBox("请输入一个数据")

If x < 0 Then

    y = 3 * x - 1

ElseIf x < 5 Then

    y = 2 * x

ElseIf x > 5 Then

    y = 4 * x + 5

End If

Print y

End Sub

例子2:五级分制转换

Private Sub Command1_Click()

Dim a%

a = InputBox("请输入一个数字")

If a >= 80 Then

    Print "良好"

ElseIf a >= 90 Then

    Print ""

ElseIf a >= 70 Then

    Print ""

ElseIf a >= 60 Then

    Print "及格"

Else

    Print "不及格"

End If

End Sub

2)情况语句

格式:select case <测试内容>

              Case <表达式1>

                     <语句1>

Case <表达式2>

                     <语句2>

                     ……

              Case else

                     <语句n>

        End select

功能:执行第一个和测试内容匹配成功的表达式所对应的语句!!

说明:case后面的<表达式>

ü         枚举型:case 135

ü         To型:case 10 to 20  -----[1020]

ü         Is型:case is>30     -----注意:is和关系运算符一起使用,但是不能和逻辑运算符一起!!

ü         混用型:case 2420 to 30is>50

例题:五级分制转换(select case

Private Sub Command1_Click()

Dim a%

a = InputBox("请输入一个数字")

Select Case a

    Case Is >= 90

        Print ""

    Case 80 To 90

        Print ""

    Case Is >= 70

        Print ""

    Case Is >= 60

        Print "及格"

    Case Else

        Print "不及格"

End Select

End Sub

5、选择嵌套

格式:给定选择结构中,<语句>可以由新的选秀结构代替!!

文章评论