画星星高手

It nerver rains but it pours.

【VB超简单入门】九、程序执行顺序 1

前言

最近作者很忙啦,这个系列的教程更新得也比较慢,在公众号后台看到有同学在催更了,所以抽出时间写一篇哈~
有同学担心我没时间继续更新下去,这里再重申一下,只要有人看我就会抽出时间继续更新的啦,请大家放心哈。

关于程序执行顺序

我们写程序的时候,是一行一行的写的,在程序运行的时候,也是一行一行的运行,不过现实中的需求都是非常复杂的,如果只能一行一行运行的话,那我们的程序就不能叫做「程序」了,只能称为「批处理」。

在VB中,我们有三种方法来控制程序的执行顺序,分别是:判断、循环、跳转
下面我们将分别进行学习。

判断

判断顾名思义就是判断啦,比如判断两个是的大小,判断用户名和密码是否匹配等等。
判断又有两种类型的语句,条件语句和选择语句。

条件语句

下面是一个简单的条件语句结构:

if 条件1 then
    dosth()
elseif 条件2 then
    dosth2()
else
    dosth3()
end if

对于 if 语句,是这样执行的,如果 条件 表达式的值为 true ,那么就执行 then 后面的代码块,如果为 false ,就执行 else 后面的语句。

举个例子:

判断两个数的大小

代码功能:判断两个数的大小,输出最大的数。

dim a as integer
a = 1
dim b as integer
b = 2

if a > b then
    print a
else
    print b
end if

代码执行结果:

2

判断用户名

代码功能:判断用户名是否为管理员

dim username as string
username = inputbox("enter your username")
if username = "admin" then
    print "you are super user"
else
    print "you are not super user"
end if

运行结果:

输入:admin

输出:you are super user

根据季节说月份

代码功能:根据用户输入的季节输出对应月份

dim season as string
season = inputbox("please enter season")
if season = "spring" then
    print "Jan, Feb, Mar"
elseif season = "summer" then
    print "Apr, May, June"
elseif season = "autumn" then
    print "July, Aug, Sept"
elseif season = "winter" then
    print "Oct, Nov, Dec"
end if

运行结果:

输入:spring

输出:Jan, Feb, Mar

选择语句

在上面的例子里面,有一个根据季节说月份的,一年只有四个季节,所以问题还不大,可以写四个 if else if 语句来判断,假如现在要反过来,根据月份说季节,难道要写12个语句不成?

为了解决代码太罗嗦的问题,VB中采用了 select 的选择语句,和C语言里的 switch 语句差不多,不过VB的 select 语句功能更强大!

语法:

值选择,即根据变量的不同值,执行不同的操作。

select case 变量
    case 1
        call dosth1()
    case 2
        call dosth2()
    case 3
        call dosth3()
    case else
        call dosth4()
end select

select case 语句如何运行?
VB先计算测试表达式,然后将表达式的 值与每个Case的值进行比较。若相等, 就执行与该Case相关联的语句块。如果 不止一个Case与测试表达式匹配,那么 只对第一个匹配的Case执行与之相关联 的语句块;如果在表达式列表中没有一 个值与测试表达式相匹配,则执行Case Else子句中的语句。

可以对每个Case语句设置多个比较值

' 飞机棋游戏
dim number as integer
number = int(rnd * 6) + 1
select case number
    case 1,6
        print "起飞"
    case 2,3,4,5
        print "不起飞"
end select

也可以用设定范围的方法来设置多个比较值

dim score as integer
score = inputbox("请输入考试分数")
select case score
    case 90 to 100
        print "优秀"
    case 80 to 90
        print "良好"
    case 60 to 80
        print "及格"
    case else
        print "不及格"
end select

条件选择,VB的 select 语句独有的功能,很好用。
相当于简化版本的 if else if 结构。

dim score as integer
score = inputbox("请输入考试分数")
select case sorce
    case is < 60
        print "不及格"
        exit select
    case is > 60 and is < 80
        print "及格"
        exit select
    case is > 80 and is < 90
        print "良好"
        exit select
    case is > 90
        print "优秀"
end select

由于时间和篇幅关系,不再举更多例子,更详细的语法介绍将在下次更新时展开,敬请关注哈~

end

关于程序执行顺序本文就介绍到这里了,循环和跳转将在接下来的文章中介绍,希望同学们持续关注哈~

About

了解更多有趣的操作请关注我的微信公众号:DealiAxy
每一篇文章都在我的博客有收录:blog.deali.cn

点赞

发表评论