Transcript Document

第3 章 VBScript的控制结构
引言
• 一般脚本程序往往包含一些根据不同的
情况选择执行的语句,以及根据某些条
件重复执行的语句。为了能实现这样的
功能,VBScript中设置了相应的流程控制
语句,控制程序的执行。
主要内容
• 本章主要讨论VBScript中常用的几种控制
结构,具体包含以下内容:
–条件语句If … Then
–多分支语句Select Case
– 计数式循环For…Next
– 集合元素循环For each
–条件式循环While和Do…Loop
本章目录
3.1 条件语句If …Then
3.1.1 单一选择
3.1.2 双向选择
3.1.3 多向选择
3.2
3.3
3.4
3.5
本章小结
习题
多分支语句 Select…Case
计数循环语句For…Next
For Each In…Next(数组循环)
条件式循环
3.5.1
3.5.2
3.5.3
3.5.4
3.5.5
Do While…Loop循环
Do Until…Loop循环
后测试式循环
强制退出循环和无条件循环
While…Wend循环
3.1 条件语句If …Then
• 在VBScript脚本语言中,If…Then的语句
有多种格式,我们以下分别进行讨论:
– 3.1.1 单一选择
– 3.1.2 双向选择
– 3.1.3 多向选择
3.1.1 单一选择
• 单一选择是指当条件成立时执行某些语
名,而条件不成立时不执行任何语句。
中文含义可以表示为:如果…就…。具
体有两种格式。
• 格式一:
If 条件Then语句组
• 其中语句组可以是一个或多个用“:”
分隔的语句,这种形式中,语句组中的
各语句必须写在同一行。
3.1.1 单一选择
• 格式二:
If 条件 Then
语句组
End If
• 其中语句组可以是多行语句,每一行可
以是一个或多个用“:”分隔的语句。
3.1.1 单一选择
• 执行流程
• 即条件为真(非零)
时,执行语句组中的
语句,之后继续执行
后面的语句,条件为
假时直接执行后面的
语句。
条件
假
真
语句组
3.1.1 单一选择
•格式辨别
•形式一:
If x>3 Then y=1:z=2
•形式二:
If x>3 Then
Y=1
Z=2
End If
•错误形式:
If x>3 Then Y=1
Z=2
End If
单一选择举例
•例1:简单的If语句
<html>
<head>
<title>If</title>
定义一个变量,
<script language="VBScript">
并赋值为70
<!-Score=70
If Score>=60 Then MsgBox "及格!"
-->
</script>
</head>
判断变量值是否大于等于60 ,
</html>
若是显示信息框
单一选择举例
•浏览结果
测试本例
3.1.2 双向选择
• 双向选择是指当条件成立时执行某些语
名,而条件不成立时执行另外一些语句。
中文含义可以表示为:如果…就…否则…
具体也有两种格式。
• 格式一:
If 条件 Then 语句组一 Else 语句组二
• 其中语句组一和语句组二中可包含一个
或用“:”隔开的多个语句,但必须写在
同一行上。
3.1.2 双向选择
• 格式二:
If 条件 Then
语句组一
Else
语句组二
End If
• 其中语句组一和语句组二都可以由多行
组成,每一行可包含一个或用“:”隔开
的多个语句。
3.1.2 双向选择
• 执行流程
• 即条件为真(非零)
时,执行语句组一中
真
的语句,之后继续执
行后面的语句,条件 语句组一
为假时执行语句组二
中的语句,之后继续
执行后面的语句。
条件
假
语句组二
3.1.2 双向选择
•格式辨别
•形式一:
If Score>=60 Then Msg=“ 及 格 ! ” Else Msg=“ 不 及
格!”
•形式二:
If
Score>=60 Then
•错误形式:
Msg=“及格!”
If Score>=60 Then Msg=“及格!”
Else
Else Msg=“不及格!”
Msg=“不及格!”
End if
双向选择举例
• 例2:双向选择
<html><head>
<title>If</title>
<script language="VBScript">
<!-Score=InputBox("请输入计算机成绩:","输入成绩")
If Score>=60 Then
Msg="及格!"
Else
Msg="不及格!"
End If
MsgBox "你的计算机成绩" & Msg
-->
</script>
</head></html>
例2:双向选择
• 浏览结果
• 浏览时,首先显示一输入框,当输入大60的数
字时,显示及格的信息提示框,当输入小于60时,
显示不及格的信息提示框。
测试本例
3.1.3 多向选择
• 当有多种情况需要进行分别处理时,可以使用
如下格式的If语句:
If 条件1 Then
语句组1
Elseif 条件2
语句组2
Elseif 条件3
语句组3
……
……
Else
语句组N+1
End If
3.1.3 多向选择
• 程序执行时,先检查“条件
1”,若返回值为“True”,
则执行“语句组1”,然后
跳到End If的下一个指令;
若“条件1”的返回值为
“False”,则检查“条件2”,
若返回值为“True”,则执行
“语句组2”,再跳到End If
的下一个指令,否则检查
“条件3”,依此类推。
真
语句组1
条件1
真
条件2
语句组2
真
语句组3
条件3
真
条件n
语句组n+1
语句组n
多向选择举例
•例3:使用多种条件
<html>
<head><title>如果就否则如果就</title>
<script language="VBScript">
<!-Score=InputBox("请输入计算机成绩:","输
入成绩")
If Score>=90 Then
Msg="优等"
ElseIf Score<90 And Score>=80 Then
Msg="甲等"
例3:使用多种条件
ElseIf Score<80 And Score>=70 Then
Msg="乙等"
ElseIf Score<70 And Score>=60 Then
Msg="丙等"
Else
Msg="丁等"
End If
MsgBox "你的计算机成绩为" & Msg
-->
</script>
</head></html>
例3:使用多种条件
•浏览结果
本 例 中 的 代 码 时 , 若 输 入 “ 99 ” , 然后 按
“确定”,会显示“优等”,如图所示:
测试本例
若输入“46”,然后选取“确定”,则会显示“丁
等”。
多向选择举例
例4:根据时间不同显示不同的问候信息
<html>
<head>
<title>判断语句</title>
<script language="VBScript">
Dim iTime
Dim strmsg
iTime=HOUR(TIME)
If iTime<3 then
strmsg="凌晨了,还没睡,小心身体噢。"
elseIf iTime<7 then
strmsg="起这么早?"
elseIf iTime<12 then
strmsg="上午好。"
例4:显示不同的问候信息
例4:根据时间不同显示不同的问候信息
elseIf iTime<18 then
strmsg="下午好。"
else
strmsg="晚上好,吃过晚饭了?"
end If
msgbox strmsg
</Script>
</head>
<body>
随时间变化的问候。
</body>
</html>
例4:显示不同的问候信息
当你在深夜浏览该网页时,将得到如图所
示的问候,你的心情如何?
测试本例
3.2多分支语句 Select…Case
• 这种流程控制结构可以根据一个变量的值选择
不同的执行方向,它的格式如下:
Select Case 变量
Case 值1
语句组1
Case 值2
语句组2
Case 值3
语句组3
……
Case Else
语句组N+1
End Select
Select会从第一个值依次比较,
看看是否和变量的值相等,如果
相等就会执行其后的语句组,执
行完之后再跳到End Select继续执
行后面的程序。
多分支语句举例
•例5:多向选择
<html>
<head><title>多向选择1</title>
<script language="VBScript">
<!-NO=InputBox("请输入一个1-5之间的数字:","汉译
英")
Select Case NO '以NO作为比较对象
Case 1
MSG="ONE"
Case 2
MSG="TWO"
Case 3
MSG="THREE"
例5:多向选择
Case 4
MSG="FOUR"
Case Else
MSG="FIVE"
End Select
MsgBox NO & "的英文为:" & MSG
-->
</script>
</head>
<body></body>
</html>
例5:多向选择
•浏览结果
•代码在浏览时,首先将给出一个输入框,若输
入“1”,然后按“确定”,将显示左图所示信
息框,若输入5,则将显示右图所示信息框。
测试本例
等价的IF形式
例6:用If语句实现的多向选择
<html>
<head><title>多项选择2</title>
<script language="VBScript">
<!-NO=InputBox("请输入一个1-5之间的数字:","汉译
英")
If NO=1 Then
MSG="ONE"
Elseif NO=2 Then
MSG="TWO"
Elseif NO=3 Then
MSG="THREE"
等价的IF形式
Elseif NO=4 Then
MSG="FOUR"
Elseif NO=5 Then
MSG="FIVE"
End If
MsgBox NO & "的英文为" & MSG
-->
</script>
</head>
</html>
测试本例
多分支语句举例
例7:求本月的天数
<html>
<head><title>多向选择1</title>
<script language="VBScript">
<!-m=month(date()):y=year(date())
Select Case m '以m作为比较对象
Case 1,3,5,7,8,10,12
D=31
Case 2
If y mod 4=0 and y mod 100<>0 or y mod 400=0 then
D=29
Else
D=28
End If
多分支语句举例
例7:求本月的天数
Case Else
D=30
End Select
MsgBox "本月共有:" & d & "天"
-->
</script>
</head>
</html>
多分支语句举例
•例中把天数相同的那些月份放在同一个
Case中。写成如下形式:
Case 1,3,5,7,8,10,12
•注意:在VB中,Case后面可以使用如下
两种形式:
Case 1 To 10
Case IS<4
•这在VBScript脚本语言中都不能使用。
多分支语句举例
•浏览结果
•本例随访问时的时间不同,显示的结果有所不
同。一般形式如下:
测试本例
3.3计数循环语句For…Next
•循环语句用于重复执行一组语句。格式如
下:
For变量=起始值To终止值[Step步长]
语句组
Next
•其中:起始值和终止值可以是表达式,但开始
循环时将首先计算其值,用其值来控制重复执行
的次数,因此循环次数一开始就基本上确定了。步
长是可选的,默认为1。
•这里的语句组也称为循环体
执行过程
• 当步长为正时
起始值送u
终止值送v
u送变量
For变量=起始值To终止值[Step步长]
语句组
Next
语句组重复执行的次数等于
(终止值-起始值+1)/步长
假
变量<=v
真
语句组
循环
结束
变量+步长送变量
执行过程
• 当步长为负时
起始值送u
终止值送v
u送变量
For变量=起始值To终止值[Step步长]
语句组
Next
语句组重复执行的次数等于
(终止值-起始值-1)/步长
假
变量>=v
真
语句组
循环
结束
变量+步长送变量
执行过程
• 循环次数判断
(1)
For j=1 To 10
k=k+1
Next
(2)
For j=1 to 9 step 2
k=k+1
Next
(3)
For j=1 To 10 step -1
k=k+1
Next
(4)
For j=10 to 3 step -2
k=k+1
Next
(5)
For j=1+j To 10
k=k+1
Next
(6)
For j=1 to 9+j
k=k+1
Next
For…Next循环举例
例8:求1加到10的总和
<html>
<head><title>循环1</title>
<script language="VBScript">
<!-‘ 计算1加到10的总和
TOTAL=0
For COUNTER=1 TO 10
TOTAL=TOTAL+COUNTER
Next
MsgBox "1加到10的总和为 " & TOTAL
-->
</script>
</head></html>
例8:求1加到10的总和
• 浏览结果
测试本例
循环程序调试
• 通过跟踪循环体(循环中的语句组,本例为:
total=total+count),可以正确地得到结果。
次数
COUNTER
等号右边的TOTAL
等号左边的TOTAL
第一次
1
0
1
第二次
2
1
3
第三次
3
3
6
…
…
…
…
第九次
9
36
45
第十次
10
45
55
For…Next循环举例
例9 :设置步长的循环
<html><head>
<title>循环2</title>
<script language="VBScript">
<!-' 用循环求2+4+6+....+100的和
TOTAL=0
For I=2 TO 100 STEP 2
TOTAL=TOTAL+I
Next
MsgBox "2+4+6+...+100= "& TOTAL
-->
</script>
</head><body ></body></html>
例9 :设置步长的循环
• 浏览结果
测试本例
For…Next循环举例
• 例10 :步长为负时的循环
<html>
<head>
<title>输出一由星号组成的三角形</title>
<script language="VBScript">
<!-For i = 10 To 1 step -1
document.write String( i, "*") & "<BR>"
Next
-->
</script>
</head>
</html>
例10 :步长为负时的循环
• 浏览结果
• 本例中使用函数
string 每 次 形 成 i 个
“*”,作为第i行的
输出,随着i从10到1
的变化,输出如图的
形式
测试本例
For…Next循环举例
• 例11 :输出九九表
<html><head>
循环体中执行的语句
<title>九九表</title>
又是循环语句时,这
<script language="VBScript">
种形式称为嵌套循环
<!-For a = 1 To 9
For b = 1 To a
Document.write a & "*" & b & "=" & a * b & " "
If b = a Then document.write "<BR>"
Next
Next
-->
</script>
</head></html>
例11 :输出九九表
• 浏览结果
b从1到a
a从1到9
测试本例
For…Next循环举例
• 例12 :使用循环处理数组
<html><head>
<title>循环与数组1</title>
<script language="VBScript">
<!-DIM A(99)
For I=0 TO 99 这个程序定义了一个可以存放一百
A(I)=I+1
个元素的数组,然后使用循环,当
Next
第1次执行循环体时,I的值为0,执
-->
行结果将把值1(I+1)赋给数组元素
</script>
A(0);当第2次执行循环体时,又
</head></html>
把值2赋给数组元素A(1),依次类
推。
For…Next循环举例
• 例13:输出数组内容
<html><head>
<script language="VBScript">
DIM mc(3)'定义一个有4个变量的数组
mc(0)= "机械工程系"
mc(1)= "电子工程系"
mc(2)= "计算机科学系"
mc(3)= "网络工程系"
</script>
</head>
<body>
<select name="xm">
例13:输出数组内容
<script>
For I=0 TO 3
Document.write "<OPTION value=" & I & ">" &
mc(I) & "</OPTION>"
Next
</script>
</select>
</body></html>
根据数组的内容形
成下拉列表框的各
选项
例13:输出数组内容
• 浏览结果
测试本例
For循环的非正常退出
• 对于For…Next结构的循环中,若需
要非正常的退出,可以在循环体中
使用如下形式的语句:
Exit For
• 它将无条件退出当For循环,当然,
一般情况这一语句放在条件语句中。
3.4 For Each In…Next(数组循环)
•用于对数组或集合的元素进行循环,它的
格式如下:
For Each变量In数组名
语句组
Next
•其中的“变量”就是存放数组或集合的元
素值的地方,作用是对数组或集合中的每
一个元素执行一次语句组,请看例子。
For Each循环举例
•例14:输出数组内容
<html><head><title>FOR Each循环</title>
<script language="VBScript">
DIM hf(4,4)'定义了一个5*5的二维数组
i=0:j=2
For k=1 To 25
hf(i,j)=k
形成数组内
If k mod 5=0 then
容
i=i+1
else
i=i-1:If i=-1 then i=4
j=j+1:If j=5 then j=0
end If
next
</script></head>
例14:输出数组内容
<body>
<script>
输出数组内容
j=0
每行5个元素
For each i in hf
If j mod 5=0 then document.write "<BR>"
Document.write "&nbsp" & i & "&nbsp"
j=j+1
Next
</script>
</body>
</html>
例14:输出数组内容
•浏览结果
•输 出 结 果 中
各元素输出
顺序是按行
还是按列?
测试本例
数组元素顺序
•可以把本例的输出部分改为:
这段代码的作用是
<body>
用循环方式将数组
<script>
For I=0 To 4
内容按行顺序输出
For J=0 To 4
Document.write "&nbsp" & hf(I,j) & "&nbsp"
Next
Document.write "<BR>"
Next
</script>
</body>
</html>
数组元素顺序
•从如图的浏览结果可以看出,用For Each
方式输出的各元素顺序同按行顺序的输出
不同,即是按列的顺序排列的。
For Each循环举例
•For each 循环对于不知道元素个数的数组或集
合是非常有用的。
•例15:显示表单域中各元素名称
<html>
<head><title>FOR EACH循环</title>
</head>
定义表单
<body>
<form name="abc">
姓名:<Input name="txt1" type="text"><BR>
年龄:<Input name="txt2" type="text"><BR>
学号:<Input name="txt3" type="text"><BR>
<Input name="button" type="button" value=" 提 交
">
</form>
例15:显示表单域中各元素名称
表单中包含以下名称的元素:
<script language="VBScript">
显示表单域中
For each i in document.abc.elements
各元素名称
document.write i.name & "&nbsp"
next
</script>
</body>
</html>
具体讨论将
在以后章节进行
例15:显示表单域中各元素名称
• 浏览结果
测试本例
3.5 条件式循环
• 条件式循环是指以条件来判断循环的执
行与否,以下分别介绍几种形式:
–3.5.1
–3.5.2
–3.5.3
–3.5.4
–3.5.5
Do While…Loop循环
Do Until…Loop循环
后测试型循环
强制退出循环和无条件循环
While…Wend循环
3.5.1 Do While…Loop循环
•Do While…Loop循环形式如下:
Do While 条件
语句组
Loop
•执行时,首先检查“条件”,若为“True”,
就执行“语句组”,碰到Loop时又回到Do
While再检查“条件”的成立与否。若“条
件”为“False”,则跳到Loop的下一个指令
(即离开循环)。
3.5.1 Do While…Loop循环
•执行流程:
Do While 条件
语句组
Loop
条件
真
假
语句组
Do While…Loop举例
•例16:使用Do…While循环
<html><head><title>While循环</title>
用Ucase函数将小
<script language="VBScript">
写转换成大写
<!-' 英文单词测验,不管大小写都算正确
ANS=InputBox("请输入'快乐'的英文")
Do While UCase(ANS) <>"HAPPY"
MSG= "不正确!" & vbCrLf & "请重新输入'快乐'的英文"
ANS=InputBox(MSG)
Loop
MsgBox "太棒了!你答对了!"
' UCase()函数可将括号内的字符全部转换为大写字母
-->
</script></head></html>
例16:使用Do…While循环
• 浏览结果
• 初始显示如图
• 输入不是HAPPY时显示
• 最后显示
测试本例
3.5.2 Do Until…Loop循环
• Do Until…Loop循环 的形式如下:
Do Until条件
语句组
Loop
• Until循环与While循环的不同点就在于,
Until是在“条件”不成立时执行循环内的
“语句组”,成立时则跳出循环。
3.5.2 Do Until…Loop循环
• 执行流程
Do Until条件
语句组
Loop
条件
假
真
语句组
Do While…Loop举例
• 例17 :使用Do…Until
<html><head><title>Until循环</title>
<script language="VBScript">
<!-ANS=InputBox("请输入'快乐'的英文")
Do Until UCase(ANS)="HAPPY"
MSG= "不正确!" & vbCrLf & "请重新输入'快乐'的英文"
ANS=InputBox(MSG)
Loop
测试本例
MsgBox "太棒了!你答对了!"
-->
</script>
</head><body></body></html>
3.5.3 后测试式循环
• 后测试式循环指先执行循环体,再测试
条件的一种循环形式,格式如下:
Do
语句组
Loop While(Until) 条件
• 这样开始循环时,它就会先执行一次
“语句组”再进行“条件”的测试,所以
它至少会执行一次循环体中的语句组。
3.5.3 后测试式循环
• 执行流程
Do
语句组
Loop While(Until)
条件
Until形式
While形式
语句组
语句组
条件
结束循环
假
真
条件
结束循环
真
假
后测试式循环举例
例18:循环后测试
<html>
<head><title>循环测试1</title>
循环体至少执行
<script language="VBScript">
一次
<!-Do
A=InputBox("请输入小于10的数字")
Loop While A>10
-->
</script>
</head>
<body></body>
</html>
例18:循环后测试
• 浏览结果
若输入一个小于10的数字,然后按下“确定”,
就会结束程序。若输入的数字大于10,程序就
会要求重新输入。如图所示。
测试本例
3.5.4强制退出循环和无条件循环
• 有时希望强制退出循环,如例中要求输
入一个英文单词,但用户确实不知怎样
拼写,应该提供一种强制退出的手段。
在脚本中使用Exit Do来实现。
• 注意:这一语句只能用在用Do引导的循
环结构中。
强制退出循环例
例19:强制结束循环
<html><head><title>循环测试2</title>
<script language="VBScript">
ANS=InputBox("请输入'快乐'的英文")
Do While UCase(ANS) <>"HAPPY"
If ANS="" Then Exit Do
MSG= "不正确!" & vbCrLf & "请重新输入'快乐'的英文"
ANS=InputBox(MSG)
Loop
If ANS<>"" Then
测试本例
MsgBox "太棒了!你答对了!"
Else
MsgBox "结束"
End If
</script></head><body></body></html>
3.5.4强制退出循环和无条件循环
• 有时还可以使用不加任何条件的循环形
式,格式如下:
Do
语句组
Loop
• 这时,语句组中应包含一条exit do的强制
退出循环的语句。
无条件循环举例
• 例20:猜数小游戏
<html><head><title>Loop</title>
<script language="VBScript">
Do
ANS=InputBox("请输入一个数字") '要求输入数字
If ANS="" Then
MsgBox “结束”:Exit Do '按取消跳出循环
Elseif ANS>678 Then
MsgBox "输入的数太大了"
Elseif ANS<678 Then
没有条件
MsgBox "输入的数太小了"
Else
MsgBox “答对了”:Exit Do
End If
Loop
</script></head></html>
例20:猜数小游戏
• 浏览结果
• 首先显示
•当输入500时,显示如图
•当输入678时,显示如图
测试本例
3.5.5 While…Wend循环
• 这种循环和Do…Loop循环作用类似,它
的格式如下:
While 条件
语句组
Wend
• 执行时会先测试“条件”,若“条件”
的False,跳出循环;若“条件”为True,
则执行“语句组”,然后执行到Wend时,
又会跳回循环的开头,再测试“条件”;
如此继续下去。
3.5.5 While…Wend循环
• 执行流程
• 同do while 一样
While 条件
语句组
Wend
条件
真
假
• 所不同的是,语句组中
不能包含Exit Do
语句组
While…Wend循环举例
例21:使用While循环
<html>
<head><title>While...Wend循环</title>
<script language="VBScript">
ANS=InputBox("请输入“快乐”的英文")
While UCase(ANS)<>"HAPPY" '用While来写
MSG= "不正确!" & CHR(13) & CHR(10) & "请重新输
入“快乐”的英文"
ANS=InputBox(MSG)
Wend
MsgBox "太棒了!你答对了!"
测试本例
</script>
</head><body></body></html>
综合举例
例22:显示当月月历
<html><body>
<div align="center">
<p>
<script language="VBScript">
document.write year(date())& " 年 " & month(date())
</script>
月&nbsp; <font size="6">月 历</font></p>
<table border="1" width="512">
<script>
显示表头
document.write "<tr>"
For i=1 To 7
document.write "<th width='67' height='38'>星期"
document.write mid("日一二三四五六",i,1)& "</th>"
next
例22:显示当月月历
document.write "</tr>“
计算本月1日是
tday=day(date())
星期几
tweekday=weekday(date())
tweekday=((tweekday-tday) mod 7+7) mod 7+1
t=0:i=1
i为行号
do
t=0显 document.write "<tr align='center'>"
’显示一行
示空格
t=1显 document.write "</tr>"
示数字
i=i+1
loop until t=0
</script>
</table>
</div></body></html>
例22:显示当月月历
第1行该月1日显示的位
置,设置开始显示数字标
志,显示数字k设为1
•显示一行
For j=1 To 7
当天日期以特殊
If j=tweekday and i=1 then t=1:k=1
颜色输出
If t=1 then
If k=tday then
document.write "<td bgcolor='Olive'>" & k & "</td> "
else
document.write "<td>" & k & "</td> "
end If
t<>1时单元格中显示空白
k=k+1
else
k+1是下月1
document.write "<td>" & "&nbsp;" & "</td> "
日时,设置
end If
结束数字输
If k>=28 and day(k+date()-tday)=1 then t=0
出标志
next
例22:显示当月月历
• 浏览结果
i=1
t=0
k=1
测试本例
t=0
本章小结
•本章讨论了作为常用的两种控制结构的五种表
现形式,即分支语句和循环语句。
•根据条件选择执行某些语句的If语句,有三种基
本形式,即简单的If语句,包含Else部分的If语句
和使用Elseif的If语句。它们都是根据某一条件的
满足与否来决定选择哪一些语句执行。
•根据某个变量或表达式的值的种类或大小来确
定选择执行哪一组语句,通常使用Select引导的
多分支语句。
本章小结
•循环语句是用于控制重复执行一组语句的
语句。VBScript中可用的循环有四种形式,
即 For-Next、While-Wend、Do-Loop 和 For
Each…Next。其中For-Next往往用在循环次
数事先确定的场合;For Each用在集合或数
组中;Do…Loop是功能较强的条件式循环。
•通过本章的学习,读者应该能使用这些控
制结构,并参照例子中的程序,编写出满
足自己需要的简单脚本程序。
习题
一、判断下列说法的正确性
1.多分支语句格式中的变量可以是字符串。
2.若当变量的值从1到10都作相同的处理,能写成Case 1 TO 10。
3.If的第二种格式中,若Else部分包含If语句,则可转换成第三种格
式。那么,Then部分可以包含If语句。
4.在If语句中,若有Else部分,则必须写在几行中。
5.在If语句中,若Then后面要执行几个赋值操作,又有Else部分,
则这个If语句必须分几行写。
6.请指出下面的格式是否合法,会不会有二义性。
If 条件 Then
If 条件2 Then 语句
Else
语句
End If
习题
二、操作题
1.你能看出以下网页的功能吗?请上机验证。
<html><head>
<title> 1到100的和</title>
<script language="VBScript">
<!-Do
i = i + 1
s = s + i
Loop Until i = 100
msgbox "1到100的和为:" & s
-->
</script>
</head></html>
查看结果
习题
2.能看出以下代码会输出什么结果吗?请上机验证。
<html><head><title>风景画</title>
<script language="VBScript">
document.write("<CENTER><FONT
size=60
FACE=Webdings>")
For i=65 To 75
document.write "&#" & i
next
document.write "<BR>&#116"
For i=80 To 84
document.write "&#" & i
next
document.write "</FONT></CENTER>"
</script></head></html>
color=#c99c96
查看结果
习题
3.设计一个VBScript程序,依用户在对话框内输入的身
高判断是否要购买全票(身高160以上需购买全票),
效果如图所示。
习题
4.设计一个VBScript程序,依用户在对话框内输入的身
高判断所需买的票种类(身高160以上需购买全票,
140—159买半票,139以下儿童票),效果如图所示。
习题
5.编写网页,当单击窗口中按钮时,输出以下形式的三
角形
*********
*******
*****
***
*
6.编写网页显示以下级数之和。
S=2+4+6+…+98
习题
三、阅读和理解程序,指出以下各程序段运行时会输出
什么
1. For i=3 To 17 step 3
document.write i
next
document.write "i的终值为:" & i
2. j=4
For i=1 To j step 2
document.write i & "<BR>"
j=j+1
next
习题
三、阅读和理解程序,指出以下各程序段运行时会输出
什么
3. i=4
For i=1 To i+1
i=i+1
document.write i
Next
4. i=1:s=0
Do until i>10
s=s+i
i=i+1
loop
document.write "s=" & s