
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
1.在选择结构中缺少配对的结束语句
对多行式的If块语句中,应有配对的End If语句结束。否则,在运行时系统会显示"块 If没有End If"的编译错误。同样对Select Case语句也应有与其相对应的End Select语句。
2.多边选择ElseIf关键字的书写和条件表达式的表示
多边选择ElseIf子句的关键字ElseIf之间不能写有空格,即不能写成Else If。
在多个条件表达式的表示时,应从最小或最大的条件依次表示,以避免条件的过滤。例如,已知输入某课程的百分制成绩mark,要求显示对应五级制的讦定,评定条件如下:
有以下几种表示方式,语法上都没有错,但执行后结果有所不同,请分析哪些正确? 哪些错误?
下面给出的答案中,方法一、二、五正确,其余错误,请分析各自的原因。
|
方法一: |
方法二: |
方法三: |
方法四: |
方法五: |
|
If mark>=90Then Print"优" ElseIf mark>=80Then Print"良" ElseIf mark>=70Then Print"中" ElseIfmark>-60Then Print"及格" Else Print"及格" End If |
If mark<60Then Print"不及格" ElseIf mark<70Then Print"及格" ElseIf mark<80Then Print"中" ElseIf mark<90Then Print"良" Else Print"优" End If |
If mark>=60Then Print"及格" ElseIf mark>=70Then Print"中" Elselfmark>=80Then Print"良" Elselfmark>=90Then Print"优" Else Print"不及格" End If |
If mark>=90Then Print"优" ElseIf 80<=mark<90 Then Print"良" ElseIf 70<=mark<80 Then Print"中" ElseIf 60<=mark<70 Then Print"及格" Else Print"不及格" End If |
If mark>=90Then Print"优" ElseIf 80<=mark And mark<90 Then Print"良" ElseIf 70<=mark And mark<80Then Print"中" ElseIf 60<=mark And mark<70Then Print"及格" Else Print"不及格" End If |
3.Select Case语句的使用
(1) "表达式列表i" 中不能使用"变量或表达式"中出现的变量。
例如,上述多边选择的例子改为Select Case语句实现,方法一Case子句中出现变量mark,运行时不管mark的值多少,始终执行Case Else子句,运行结果不正确;方法二、方法三正确。
|
方法一: |
方法二: |
方法三: |
|
Select Case mark Case mark>=90 Print"优" Case mark>=80 Print"良" Casemark>=70 Print"中" Case mark>=60 Print"及格" Case Else Print"不及格" End Select |
Select Case mark Case Is>=90 Print"优" Casels>=80 Print"良" Case Is>=70 Print"中" Case Is>=60 Prim"及格" Case Else Print"不及格" End Select |
Select Case mark Case Is>=90 Print"优" Case 80 To 89 Print"良" Case 70 To 79 Print"中" Case 60 TO 69 Print"及格" Case Else Print"不及格" End Select |
(2) 在"变量或表达式"中不能出现多个变量。
实验三第5题对三门课程奖学金的判断,只能用If语句的多边选择,而不能用SelectCase语句实现。例如,有人用如下语句表示:
Select Case markl,mark2,mark3
Case (markl+mark2+mark3)/3>=95
Print"一等奖"
End Select
这样就会在 "Select Case markl,mark2,mark3" 语句行出现编辑错误, 同时
Case (markl+mark2 +mark3)/3>=95书写也错误。