ASP复习题.docx
《ASP复习题.docx》由会员分享,可在线阅读,更多相关《ASP复习题.docx(26页珍藏版)》请在冰豆网上搜索。
ASP复习题
实验二
1.选择题(可多选)
(1)静态网页的扩展名一般是:
A.htmB.phpC.aspD.jsp
(2)ASP文件的扩展名是:
A.htmB.txtC.docD.asp
(3)当前的Web程序开发常采用什么模式?
A.C/SB.B/SC.B/BD.C/C
解释:
C/S是客户机(client)/服务器(server),B/S是浏览器(browser)/服务器。
C/S一般要求用户有特定的客户端。
比如QQ就是C/S模式,你的桌面上的QQ就是腾讯公司的特定的客户端,而服务器就是腾讯的服务器。
而B/S模式则不需要特定的客户端,只要有普通浏览器,就可以访问到服务器了,Web页就是B/S模式。
(4)小王正在家里通过拨号上网访问搜狐主页,此时,他自己的计算机是:
A.客户端
B.既是服务器端又是客户端
C.服务器端
D.既不是服务器端也不是客户端
(5)小王正在访问自己计算机上的网页,此时,他自己的计算机是:
A.客户端
B.既是服务器端又是客户端
C.服务器端
D.既不是服务器端也不是客户端
(6)ASP脚本代码是在哪里执行的?
A.客户端
B.第一次在客户端,以后在服务器端
C.服务器端
D.第一次在服务器端,以后在客户端
(7)在以下URL中,从形式上看正确的是:
A
B
C.ftp:
///history/1998/intro.asp
D.ftp:
//
(8)如果在chapter1下建立了一个子文件夹images,并且在其中放置了一个图片文件1.jpg,那么以下URL正确的是:
A.localhost/asptemp/chapter1/images/1.jpg
B.127.0.0.1/asptemp/chapter1/images/1.jpg
C.localhost/inetpub/wwwroot/asptemp/chapter1/images/1.jpg
D.127.0.0.1/inetpub/wwwroot/asptemp/chapter1/images/1.jpg
(9)对于1.5.5节建立的1-2.asp,以下浏览方式正确的是:
A.localhost/temp/1-2.asp
B.127.0.0.1/temp/1-2.asp
C.localhost/asptemp/chapter1/temp/1-2.asp
D.127.0.0.1/asptemp/chapter1/temp/1-2.asp
(10)以1.5.5节的示例为基础,假如现在在C:
\inetpub\wwwroot\asptemp\chapter1\temp下又建立了一个子文件夹temp,其中建立了一个ASP文件1-3.asp,则浏览方式正确的是:
A.localhost/temp/temp/1-3.asp
B.127.0.0.1/temp/temp/1-3.asp
C.localhost/asptemp/chapter1/temp/temp/1-3.asp
D.127.0.0.1/asptemp/chapter1/temp/temp/1-3.asp
解释:
AB利用了建立的虚拟目录,CD没有用到虚拟目录。
2.问答题
(1)某同学开发了一个显示来访时间的ASP文件,存放在C:
\inetpub\wwwroot下,然后在Windows资源管理器中双击该文件,却不能正常显示,请问是什么原因?
ASP文件是不能直接双击运行的,必须通过浏览器访问,由服务器端来解释执行为标准的HTML代码,然后才可以显示在浏览器中。
(2)在1.4.3节中讲的是如何访问ASP文件,如果希望访问HTML网页文件,可以用类似的方法吗?
可以。
对于HTML文件,服务器端找到到该文件后,直接发送给客户端即可。
(3)想一想,把一个HTML网页文件直接更改扩展名为.asp行不行?
可以。
相当于一个不含有任何动态代码的ASP文件,运行时服务器端也会对其进行解释执行,只不过实际上没有代码需要解释执行而已。
3.实践题
(2)请在文件夹C:
\Inetpub\wwwroot\asptemptj\chapter1下新建一个asp文件,在页面上显示来访日期(日期函数为Date())。
打开EditPlus,在其中输入清单date所示的程序代码,然后将其保存到C:
\Inetpub\wwwroot\asptemptj\chapter1文件夹下,名称为date.asp。
清单datedate.asp显示来访日期
一个简单的ASP程序欢迎您光临我的主页
<%
Dima'声明一个变量
a="您来访的日期是:
"&Date()'给变量赋值,其中Date是日期函数
Response.Writea'在页面上输出变量a的值
%>
保存完毕后,打开浏览器,在其中输入localhost/asptemptj/chapter1/tj1-1.asp即可。
第3章VBScript基础知识
习题3
1.选择题(可多选)
(1)下列哪一个变量名称是正确的?
答案:
B
A.1_abB.ab_1C._abD.ab?
(2)在一段程序中a是一个变量,那么"a"是:
答案:
D
A.变量B.直接常量C.字面常量D.符号常量
(3)下面哪条语句可以正确执行?
(注:
第四句我的主页两边是中文引号)
A.Response.Write"我的主页"
B.Response.Write"我的主页"
C.Response.Write"我的主页"
D.Response.Write"“我的主页”"答案:
BCD
解释:
在两个双引号中再次用到双引号时,可以用单引号或两个双引号来代替。
(4)执行语句a="6"后,变量a的数据子类型是?
答案:
A
A.字符串B.日期C.数值D.布尔
(5)执行语句a="2008-8-8"后,变量a的数据子类型是?
答案:
A
A.字符串B.日期C.数值D.布尔
(6)假设变量a=5、b=3,则执行语句c="a>b"后,变量c的数据子类型是?
A.字符串B.日期C.数值D.布尔答案:
A
(7)语句a="abc"="abc"运行完毕后,变量a的数据子类型是?
A.数值B.字符串C.布尔D.日期答案:
C
解释:
右侧是一个比较运算,结果是True,然后再赋值给a
(8)执行语句a=3:
a=a+5后,变量a的值是:
A.3B.5C.8D.出错答案:
C
解释:
ASP中,冒号(:
)是用来做语句分隔的,利用它就可以将两行或更多行语句写在一行。
因此a=3:
a=a+5就等价于a=3
a=a+5结果自然就是8.
(9)已知x=123,那么执行语句y=x\10Mod10后,变量y的值是?
A.0B.1C.2D.3答案:
C
解释:
这是一个算术运算,运算顺序为从左至右,x\10表示x整除10后的值,为12,然后再计算12Mod10,表示12除以10的余数,结果为2.
(10)已知a="ab",那么执行语句b="cd'"&a&""&"ef"后,变量b的值是?
(提示:
请注意题目和答案中的空格)
A."cd'abef"B."cd'abef"C."cdabef"D."cdabef"答案:
A
(11)下面的语句执行完毕后,变量a、b、c、d的值分别是?
<%a="1"+"1":
b="1"+1:
c="1"&"1":
d="1"&1%>
A."11"、"11"、"11"、"11"B."11"、2、"11"、"11"
C.2、2、"11"、"11"D."11"、"11"、2、2答案:
B
解释:
做算术运算+的时候,如果有一个操作数是数值型,另一个是可以转换为数值的字符串,则会自动转换为数值,并执行相加运算。
但是如果用&,则任何时候都是执行连接运算。
(12)请问表达式Not(6+3<5+2)的值是?
A.TrueB.FalseC.9D.无法计算答案:
A
(13)请问Int(3.45)和Int(-3.45)的值分别是什么?
A.4、-4B.3、-4C.3、3D.3、-3答案:
B
解释:
Int:
返回数的整数部分,且对于负数,将返回小于或等于number的第一个负整数。
(14)执行语句a=Int(10*Rnd())后,则a的值不可能出现的有?
A.0B.1C.10D.11答案:
CD
解释:
Rnd()返回一个大于等于0且小于1的随机数。
(15)在取整时按四舍五入进行的函数是?
A.IntB.FixC.RoundD.CInt答案:
C
(16)请问Mid("八千里路云和月",3,2)的返回值是什么?
A."千里"B."里路"C."里"D."路云"答案:
B
解释:
表示从第三个字符开始取两个字符。
(17)执行语句a=InStr(Trim(Replace("abcdef","c","")),"ef")后,变量a的值是?
A.0B.1C.4D.5答案:
C
解释:
注意Replace("abcdef","c","")是将字符c替换为空,而不是空格。
Instr()是返回第二子串在第一个串中第一次出现的位置。
(18)函数DateDiff("m",#2008-8-8#,#2008-10-1#)的返回值是?
A.1B.2C.54D.5答案:
B
(19)对于数组a(3,4),函数UBound(a,2)的值是:
A.1B.2C.3D.4答案:
D
解释:
UBound()返回数组的指定维数的最大可用下标.
(20)假如变量a的值是"100",则IsNumeric(a)和VarType(a)的值分别是?
A.True、2B.True、8C.False、2D.False、8答案:
B
解释:
IsNumeric()会先转化变量a的类型为数值,如果能转化,就为True。
而VarType函数只返回当前的类型,而"100"当前确实是字符串。
(21)假如变量a的值是"2008-8-8",则IsDate(a)和VarType(a)的值分别是?
A.True、2B.True、8C.False、2D.False、8答案:
B
解释:
同上题。
(22)执行语句a=Chr(Asc("ABC"))后,则a的值是:
A."ABC"B."A"C.65D.出错答案:
B
解释:
Asc()函数返回与字符串的第一个字母对应的ANSI字符代码,而Chr函数返回该ANSI代码对应的字符,所以最后为"A"。
(23)退出Do循环的语句是?
A.ExitForB.ExitDoC.ExitSubD.ExitFunction答案:
B
(24)在示例3-11和3-12中,循环结束后,I的值分别是多少?
A.100、100B.101、101C.100、101D.101、100答案:
B
(25)以下哪些语句可以嵌套使用?
A.For…NextB.Do…LoopC.SelectCaseD.If…Then…Else
答案:
ABCD
2.问答题
(1)在页面A中定义的变量可以在页面B中引用吗?
答案:
一般是不可以的,但是如果把A页面包含在B中,就是可以的。
(5)在For…Next循环中,可以给计数器变量赋值吗?
答案:
虽然也是可以的,但是不建议更改计数器变量,因为很容易引起变量值的混乱。
(6)如何将两个变量的值互换?
(提示:
用一个中间变量)
答案:
首先定义一个中间变量,将第一个变量的值赋给中间变量,然后再将第二个变量的值赋给第一个变量,最后将中间变量的值赋给第二个变量,这样就实现了两个变量值的互换。
3.实践题
(1)请在你的个人主页上添加时间显示信息,显示当天的日期、时间及星期几。
答案:
习题3-2-(1)
<%
Response.WriteDate()&" "&Time()
SelectCaseWeekday(Date())
Case1
Response.Write"星期日"
Case2
Response.Write"星期一"
Case3
Response.Write"星期二"
Case4
Response.Write"星期三"
Case5
Response.Write"星期四"
Case6
Response.Write"星期五"
Case7
Response.Write"星期六"
EndSelect
%>
(2)请编写程序段,判断当天日期,如果是25日,则显示“请注意,明天可能有病毒发作”。
答案:
<%
IfDay(Date())=25Then
Response.Write"请注意:
明天可能有病毒发作。
"
EndIf
%>
实验四Request和Response对象
1.选择题(可多选)
(1)对于Request对象,如果省略集合,如Request("strName"),将按什么顺序依次检查是否有信息传入?
答案:
B
A.Form、QueryString、Cookies、ServerVariables、ClientCertificate
B.QueryString、Form、Cookies、ServerVariables、ClientCertificate
C.Cookies、QueryString、Form、ServerVariables、ClientCertificate
D.Form、QueryString、Cookies、ServerVariables、ClientCertificate
(2)Request对象的QueryString、Form、Cookies集合获取的数据子类型分别是?
A.数字、字符串、字符串B.字符串、数字、数字
C.字符串、字符串、字符串D.必须根据具体值而定答案:
D
(3)在表单中,下列哪个属性用于设定表单的提交方法?
A.methodB.actionC.POSTD.GET答案:
A
(4)若表单提交时采用GET方法,则下面哪种集合可以获取表单元素的值?
A.Request.Form("元素名")B.Request.QueryString("元素名")
C.Response.Form("元素名")D.Response.QueryString("元素名")答案:
B
(5)下面哪种集合可以获取查询字符串中的信息?
A.Response("元素名")B.Request("元素名")
C.Request.Form("元素名")D.Request.QueryString("元素名")答案:
BD
(6)请问下面语句执行完毕后,页面上显示容是什么?
<%Response.Write"新浪"%>
A.新浪B.新浪
C.新浪(超)D.错误信息答案:
C
(7)请问下面程序段执行完毕,页面上显示的容是什么?
<%
=""答案:
D
=""
%>
A.B.(换行)
C.D.错误信息
解释:
当使用简写方式输出时,每一句两边都要加上<%和%>。
(8)请问下面程序段执行完毕,页面上显示的容是什么?
答案:
A
<%
Response.Write"a":
Response.Flush:
Response.Write"b":
Response.Clear
Response.Write"c":
Response.End:
Response.Write"d"
%>
A.acB.cdC.bdD.ad
解释:
Flush方法会立即输出容;Clear方法会清空缓冲区中的容;End方法会结束输出。
(9)Response对象的什么方法可以将缓冲区中的页面容立即输出到客户端?
A.WriteB.EndC.ClearD.Flush答案:
D
(10)下列哪个集合可以返回客户端IP地址?
答案:
AB
A.Request("REMOTE_ADDR")B.Request.ServerVariables("REMOTE_ADDR")
C.Request.ServerVariables("IP")D.Request.ServerVariables("LOCAL_ADDR")
2.简答题
(1)假如变量a="b",那么Request(a)和Request("a")返回值一样吗?
答案:
不一样。
因为用代入法,Request(a)是获得名称为b的变量的值,而Request("a")则是获得名称为a的变量的值。
(2)当表单分别以POST方法和GET方法提交时,获取数据的方法有什么区别?
答案:
用POST 方法提交表单,获取数据用的是Request.Form方法;而用GET 方法提交表单,获取数据用的是Request.QueryString方法。
(3)请简述Response的Write方法的两种写法的区别及注意事项。
答案:
两种写法分别为Response.write和<%=%>,前者多用于在VBScript代码中,用来向客户端输出服务器端的信息;后者则多用于大量HTML代码中嵌入少量VBScript代码的时候。
(4)请简述Redirect方法的工作原理?
答案:
Redirect是指将网页重新定向到另一个新的网址,该定向发生在客户端,当执行到该语句时,客户端浏览器就会向相应的服务器端发出一个请求,然后该服务器端就会返回这个新的页面给客户端。
(5)请问Redirect方法和超的区别是什么?
答案:
两者都可以引导用户至另一个页面,但是超必须要用户单击超才行,而Redirect可以自动引导用户至另一个页面。
(6)请问当使用Redirect方法时,为什么有时要在文件开头加“Reponse.Buffer=True”语句?
在Windows2000以上系统中一般需要加吗?
答案:
因为如果Response.Buffer=False,就表示将页面直接输出到客户端,那么如果已经输出了部分页面容到客户端,又想重定向到另一个页面,这是不允许的。
而令Buffer等于True后,将把页面先输出到缓冲区,在缓冲区中则可以随时重定向页面,Windows2000以上操作系统中则默认为True,所以Windows2000以上系统中一般不需要加。
(7)本章中都有哪些方法可以将一个变量从一个页面传递到另一个页面?
答案:
可以利用表单提交和在URL地址后面加上变量进行传递,也可以使用Cookie传递变量。
3.实践题
(2)请开发一个页面,让用户通过下拉列表框选择自己想要访问新浪、搜狐还是网易,用户提交选择结果后自动打开该。
答案:
导航
快速导航
请选择您要访问的:
新浪
搜狐
网易
<%
IfRequest.Form("sltsite")<>""Then
Response.redirectRequest.Form("sltsite")
EndIf
%>