我们在前面示例过qbasic中的if语句、if嵌套语句、if语句块,今天我们介绍除了if之外的另一种分支语句:select case。
select case语句的使用也是比较灵活的。教科书上主要介绍的是数字列举的方法,其实还有 a to b 句式和 is <x 的结构(此处的<符号代表了=、<、>、<=、>=、<>)还有else句式,下面我们举例说明。
还拿上一节的例子:判断一个年龄的数字,如果小于6岁,请显示“er tong”,6-18岁显示“shao nian”,19-28岁显示“qing nian”,超过28岁显示“cheng nian”。
cls
input "nian ling";x
select case x
case 1,2,3,4,5
print "er tong"
case 6 to 18
print "shao nian"
case is <=28
print "qing nian"
case else
print "cheng nian"
end select
end
这个例子当中我们用到了各种例子,第一个case条件我是用的是数字列举,第二个使用的是case to 句式,第三个使用的是case is 句式,第四个使用的case else 句式。
当然了如果你不嫌麻烦你可以将 6 to 18之间的数字一一列举,你同样可以全部使用to结构,全部使用is结构。最后的else也可以使用is结构。如此以来,这道题使用select case结构会有多种写法。
有图在此纠正一个很多培训机构和很多教程都回避的问题(其实有图读书的时候老师也没有说清楚,所以我一直迷茫):case到底列举的是整数还是完整的条件分隔,有图可以告诉大家的是,select case和if……then……else……句式一样是条件语句的典型范式,适合于所有的条件,并非只适合整数,你可以在上例的运行中输入一个小数试试看结果。
此外,case的值 还可以将值使用表达式,如 x/4 或者(x-y)/2+x*(x+y)这种表达式,大家试试吧,其实在实际的程序设计中表达式的使用一点都不少。
好了select case语句说明完毕,大家对这个结构是否很熟练使用呢?试着对其他的if……then……条件结构使用select case转换一下。
今天小朋友们问了一个问题:case语句能完成if语句表达的内容?我说,你可以试试啊。比如那个
比较两个数的大小,并按从大到小来输出。
cls
input "a,b";a,b
c=a-b
select case c
case is >0
print a,b
case else
print b,a
end select
end
上面的例子中的else也可以使用is,那么应该怎么写,对了,可以是 case is <=0 ,从这里可以看出来case is 的功能最为好用,大家在写程序的时候多体会吧。
当然,我不是让大家把 if语句和select case语句混淆,是希望思路扩展开,并不是希望每一个程序都用select case,if语句用起来简单的就用if语句,select语句用着方便的就用select,当分支情况多的时候使用select case结构比较清晰,特别是超过4个条件或者条件是数字列举型的时候,大家自己琢磨琢磨吧。
总结一下select case 的使用方法:
1、多条件分支的时候优先使用select case结构;(小于四个条件的时候if和select case都可以)
2、数字列举的过多的时候不是if擅长的,最好使用select case
3、当希望使用逻辑条件如“>”或者“<=”的时候可以使用case is句式;(如果自己观察大家这个case is一下子扩展了case语句的使用范围,所以在使用当中这个可能是用的最多的)
4、最后那个条件优先使用case else,也可以使用case is
5、必须使用 end select 来结束分支结构
想看更多qbasic教程看这里。
本文是 有图 原创,原地址 http://www.utosee.com/post/qbasic-select-case.html 转载请保留。
上一篇:番茄花园桌面主题下载 | 下一篇:联想开天M8000驱动| 电脑技术类排行 | 网络技术类排行 | 健康生活类排行 |