| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
常见错误和难点分析
作者:未知    文章来源:网络    点击数:    更新时间:2006-8-18
 

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

3Select 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 marklmark2mark3

              Case (markl+mark2+mark3)/3>=95

                     Print"一等奖"

       End Select

这样就会在 "Select Case markl,mark2,mark3" 语句行出现编辑错误, 同时

Case (markl+mark2 +mark3)/3>=95书写也错误。

[1] [2] [3] [4] 下一页


  • 上一篇文章:

  • 下一篇文章: 没有了
  • 相关文章