ASP期末复习ASP第3版题解及上机指导V2详述.docx
《ASP期末复习ASP第3版题解及上机指导V2详述.docx》由会员分享,可在线阅读,更多相关《ASP期末复习ASP第3版题解及上机指导V2详述.docx(32页珍藏版)》请在冰点文库上搜索。
ASP期末复习ASP第3版题解及上机指导V2详述
第1章ASP程序设计概述
习题1
1.选择题(可多选)
(1)静态网页的扩展名一般是:
A.htmB.phpC.aspD.jsp
答案:
A
(2)ASP文件的扩展名是:
A.htmB.txtC.docD.asp
答案:
D
(3)当前的Web程序开发中通常采用什么模式?
A.C/SB.B/SC.B/BD.C/C
答案:
B
解释:
C/S是客户机(client)/服务器(server),B/S是浏览器(browser)/服务器。
C/S一般要求用户有特定的客户端。
比如QQ就是C/S模式,你的桌面上的QQ就是腾讯公司的特定的客户端,而服务器就是腾讯的服务器。
而B/S模式则不需要特定的客户端,只要有普通浏览器,就可以访问到服务器了,Web页就是B/S模式。
(4)小王正在家里通过拨号上网访问搜狐主页,此时,他自己的计算机是:
A.客户端B.既是服务器端又是客户端
C.服务器端D.既不是服务器端也不是客户端
答案:
A
(5)小王正在访问自己计算机上的网页,此时,他自己的计算机是:
A.客户端B.既是服务器端又是客户端
C.服务器端D.既不是服务器端也不是客户端
答案:
B
(6)ASP脚本代码是在哪里执行的?
A.客户端B.第一次在客户端,以后在服务器端
C.服务器端D.第一次在服务器端,以后在客户端
答案:
C
解释:
ASP脚本代码是在服务器端运行的,服务器将其解释执行为标准的HTML代码,然后发送到客户端。
解释:
从形式上看,都是正确的。
2.问答题
(1)名词解释:
静态网页、动态网页、服务器端、客户端、URL
答案:
静态网页——所谓静态网页,就是说该网页文件里没有程序代码,只有HTML标记,这种网页的扩展名一般是.htm或.html。
静态网页一经制成,内容就不会再变化,不管何时何人访问,显示的都是同样的内容,如果要修改内容,就必须修改源文件,然后重新上传到服务器上。
动态网页——所谓动态网页,就是说该网页文件不仅含有HTML标记,而且含有程序代码,这种网页的扩展名一般根据不同的程序设计语言而不同,如ASP文件的扩展名为.asp。
动态网页能够根据不同的时间、不同的来访者而显示不同的内容。
如常见的BBS、留言板、聊天室一般是用动态网页实现的。
服务器端、客户端——一般来说,凡是提供服务的一方称为服务器端,而接受服务的一方称为客户端。
比如,当我们在浏览搜狐主页的时候,搜狐主页所在的服务器就称为服务器端,而我们自己的计算机就称为客户端。
URL——大家在上网的时候,需要在浏览器地址栏中输入一个网址,回车后就可以打开相应的网页了,这个网址又叫做统一资源定位符(URL:
UniformResourceLocator)。
在Internet中的每一个网页文件或其他类型的文件都有自己的URL,它的一般形式是:
协议:
//服务器地址(域名或IP地址):
端口号/路径(含文件名)
(2)请结合URL知识简述静态网页和动态网页的工作原理。
答案:
静态网页的工作原理是当你在浏览器里输入一个网址回车后,就向服务器端提出了一个浏览网页的请求。
服务器端接到请求后,就会找到你要浏览的静态网页文件,然后发送给你。
动态网页的工作原理是服务器端接到客户端发出的请求后,首先会找到你要浏览的动态网页文件,然后就解释执行其中的程序代码,将含有程序代码的动态网页转化为标准的静态网页,然后将静态网页发送给你。
(3)请简单比较ASP、PHP和JSP的优缺点。
答案:
总的来说,ASP、PHP和JSP基本上都是把脚本语言嵌入到了HTML文档中。
如果要说它们最主要的优点:
ASP学习简单,使用方便;PHP软件免费,运行成本低;JSP多平台支持,转换方便。
071
(4)某同学开发了一个显示来访时间的ASP文件,存放在C:
\inetpub\wwwroot下,然后在Windows资源管理器中双击该文件,却不能正常显示,请问是什么原因?
答案:
ASP文件是不能直接双击运行的,必须通过浏览器访问,由服务器端来解释执行为标准的HTML代码,然后才可以显示在浏览器中。
(6)想一想,把一个HTML网页文件直接更改扩展名为.asp行不行?
答案:
可以。
相当于一个不含有任何动态代码的ASP文件,运行时服务器端也会对其进行解释执行,只不过实际上没有代码需要解释执行而已。
(7)什么是应用程序?
为什么要建立应用程序?
答案:
简单的说,添加了虚拟目录的文件夹就可以称为应用程序。
建立应用程序后,多个网站之间就可以独立了,一些公共变量就不会混淆。
第2章HTML基础知识
习题2
1.选择题(可多选)
(2)HTML中的注释格式是:
A.
--注释内容--!
>B.
--注释内容-->
C.<%--注释内容--%>D.
--注释内容--%>
答案:
B
(4)在HTML中,插入换行符用什么标记?
A.
B.
C.
D.Enter键
答案:
B
(5)在HTML中,下面哪一种方法可以在网页上显示“
”?
A.
B.<p>C. p D.\
答案:
B
(6)如果希望使用实心方块作为符号列表前面的符号,type属性的取值应该为:
A.CircleB.SquireC.DiscD.■
答案:
B
(7)HTML中用什么标记表示表格的一行?
A.和
B.
和
C.
和 | D.
答案:
B
(8)在表格中哪个属性用于设置文本水平对齐方式?
A.alignB.valignC.topD.bottom
答案:
A
(9)关于网页中的图像,下列说法正确的是?
A.图像标记是以开始,以结束
B.href属性用于指定所要显示图像文件的路径
C.src属性用于指定所要显示图像文件的路径
D.alt用于指定显示在图像上的文字
答案:
C
解释:
图像标记不需要标记。
Alt是当图片显示不出来时显示的替换文字,不是显示在图片上的文字。
(10)当前文件夹下有一个HTML文件a.htm和一个子文件夹B,文件夹B中有一个图片文件flower.jpg,请问下面哪种写法可以在a.htm中插入该图片?
A.B.
C.D.
答案:
C
(11)在超链接标记中,下面哪个属性用来指定超链接路径?
A.srcB.hrefC.dynsrcD.action
答案:
B
(12)在一组单选框中,下面哪一个属性可以用来默认选中某个选项?
A.slectedB.checkedC.multipleD.noresize
答案:
B
(13)下面哪种方法可以设置单行文本框的默认值为“在这里输入用户名”?
A.
B.在这里输入用户名
C.
D.在这里输入用户名
答案:
A
(14)下面哪一种文本框中输入数据后,数据将以*号显示?
A.单行文本框B.多行文本框C.数值文本框D.密码文本框
答案:
D
(15)在表单中,下列哪个属性用于指定表单处理程序文件的地址?
A.methodB.actionC.GETD.POST
答案:
B
(16)在框架网页中,如果一个超链接在整个浏览器窗口中打开,target属性的值为:
A._blanB._selfC.parentD._top
答案:
D
(17)要实现一个上下型框架网页,至少需要几个网页文件?
A.2B.3C.4D.6
答案:
B
(18)下列哪个属性可以用来使框架不显示滚动条?
A.colsB.rowsC.scrollingD.noresize
答案:
C
2.问答题
(1)为什么需要给HTML文件添加注释语句?
答案:
适当地使用注释语句,可以让网页的维护和更新变得很方便。
(2)如果同时设置了背景颜色和背景图片,会出现什么情况?
答案:
如果同时设置了背景颜色和背景图片,将只有背景图片起作用。
(3)请比较背景图片、图片标记、超链接、框架网页中用到的文件路径的语法?
答案:
这些文件路径的引用都分相对路径和绝对路径两种,其中背景图片、图片标记、框架网页的链接写法为 src= “URL地址”,而超链接的写法为href= “URL地址”。
(4)为什么HTML文件一般可以直接双击打开,而ASP文件就不能呢?
答案:
因为ASP文件必须要到服务器端解释执行后才可显示到浏览器端。
第3章VBScript基础知识
习题3
1.选择题(可多选)
(4)执行语句a="6"后,变量a的数据子类型是?
A.字符串B.日期C.数值D.布尔
答案:
A
(5)执行语句a="2008-8-8"后,变量a的数据子类型是?
A.字符串B.日期C.数值D.布尔
答案:
A
(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的第一个负整数。
(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
答案:
2
(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
2.问答题
(1)名词解释:
单目运算符、双目运算符、操作数、函数、子程序、过程
单目运算符——就是指该运算符只对一个操作数起作用。
双目运算符——指运算符对它左右两侧的操作数都起作用。
操作数——参与运算的数。
函数——就是由若干语句组成的程序模块,它可以实现一个特定的功能,并返回一个函数值。
子程序——就是只执行程序而不返回值的程序模块。
过程——就是自己定义的函数,过程有两种:
一种是Sub子程序,一种是Function函数。
两者的区别在于:
Sub子程序只执行程序而不返回值,而Function函数执行程序后会返回值。
(2)脚本级变量和过程级变量有什么重要区别?
答案:
脚本级变量在整个ASP文件内都可以被引用,而过程级变量,只能在过程内使用。
(3)在页面A中定义的变量可以在页面B中引用吗?
答案:
一般是不可以的,但是如果把A页面包含在B中,就是可以的。
(4)程序中的符号常量可以用变量来代替吗?
答案:
可以。
(5)请简述四类运算符的优先级顺序。
答案:
算术运算符>连接运算符>比较运算符>逻辑运算符
(6)不同过程中的变量名是否可以一样?
答案:
可以,因为过程级变量,只在本过程中有效。
但不推荐这样使用。
(7)Function函数中的形参和实参名称是否可以一样?
答案:
可以,形参和实参名称可以一样,也可以不一样,因为两者是按位置对应的。
(8)在For…Next循环中,可以给计数器变量赋值吗?
答案:
虽然也是可以的,但是不建议更改计数器变量,因为很容易引起变量值的混乱。
(10)如何将两个变量的值互换?
(提示:
用一个中间变量)
答案:
首先定义一个中间变量,将第一个变量的值赋给中间变量,然后再将第二个变量的值赋给第一个变量,最后将中间变量的值赋给第二个变量,这样就实现了两个变量值的互换。
3.实践题
(3)请编写程序段,随机产生一个0到9的整数。
如果是偶数,则在页面上输出“生成的是偶数”,否则输出“生成的是奇数”。
答案:
参见asptemptj/chapter3/Random.asp,并打开浏览器,在其中输入http:
//localhost/asptemptj/chapter3/Random.asp即可访问,清单如下:
清单Random.asp判断奇偶数码
<%
Dims
s=Int(10*Rnd())
If(sMod2)=0Then
Response.Write"生成的是偶数"
Else
Response.Write"生成的是奇数"
Endif
%>
(4)S=12+32+52+…+992,请利用两种循环语句编写程序,计算S的值。
答案:
参见asptemptj/chapter3/Cycle.asp,并打开浏览器,在其中输入http:
//localhost/asptemptj/chapter3/Cycle.asp即可访问,清单如下:
清单CycleCycle.asp计算平方和
<%
'第1种算法:
DimI,Sum
Sum=0
ForI=1To99Step2
Sum=Sum+I^2
Next
Response.Write"S="&Sum
%>
<%
'第2种算法
I=1
Sum=0
DoWhileI<=99
Sum=Sum+I^2
I=I+2
Loop
Response.Write"S="&Sum
%>
例3-11
<%OptionExplicit'强制声明变量%>
<%
DimlngSum,I'lngSum用来存放结果,I是循环计数器变量
lngSum=0'给lngSum赋初值0
ForI=1To100'计数器变量I从1循环到100
lngSum=lngSum+I^2
Next
Response.Write"1到100的平方和="&lngSum
%>
例3-12
<%OptionExplicit'强制声明变量%>
<%
DimlngSum,I'lngSum用来保存结果,I用来控制循环
lngSum=0'给lngSum赋初值
I=1
DoWhileI<=100'当I小于等于100时执行循环
lngSum=lngSum+I^2
I=I+1'I的值增加1
Loop
Response.Write"1到100的平方和="&lngSum
%>
第4章Request和Response对象
习题4
1.选择题(可多选)
(1)对于Request对象,如果省略集合,如Request("strName"),将按什么顺序依次检查是否有信息传入?
A.Form、QueryString、Cookies、ServerVariables、ClientCertificate
B.QueryString、Form、Cookies、ServerVariables、ClientCertificate
C.Cookies、QueryString、Form、ServerVariables、ClientCertificate
D.Form、QueryString、Cookies、ServerVariables、ClientCertificate
答案:
B
(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
(6)请问下面语句执行完毕后,页面上显示内容是什么?
<%Response.Write"新浪"%>
A.新浪B.新浪
C.新浪(超链接)D.错误信息
答案:
C
(7)请问下面程序段执行完毕,页面上显示的内容是什么?
<%
="北京"
="上海"
%>
A.北京上海B.北京(换行)上海
C.北京D.错误信息
答案:
D
解释:
当使用简写方式输出时,每一句两边都要加上<%和%>。
(8)请问下面程序段执行完毕,页面上显示的内容是什么?
<%
Response.Write"a":
Response.Flush:
Response.Write"b":
Response.Clear
Response.Write"c":
Response.End:
Response.Write"d"
%>
A.acB.cdC.bdD.ad
答案:
A
解释:
Flush方法会立即输出内容;Clear方法会清空缓冲区中的内容;End方法会结束输出。
(9)Response对象的什么方法可以将缓冲区中的页面内容立即输出到客户端?
A.WriteB.EndC.ClearD.Flush
答案:
D
2.问答题
(2)假如变量a="b",那么Request(a)和Request("a")返回值一样吗?
答案:
不一样。
因为用代入法,Request(a)是获得名称为b的变量的值,而Request("a")则是获得名称为a的变量的值。
(3)当表单分别以POST方法和GET方法提交时,获取数据的方法有什么区别?
答案:
用POST 方法提交表单,获取数据用的是Request.Form方法;而用GET 方法提交表单,获取数据用的是Request.QueryString方法。
(4)请问有什么方法可以检验各种集合返回值的数据子类型?
答案:
一般集合返回值的数据子类型是取决于集合值本身的类型,因此是没有一个固定的方法可以判断出某集合返回值的数据子类型,但常用的有三个函数IsNumeric、IsDate、IsNull可以辅助来判断一下返回值的数据子类型。
(6)请简述Response的Write方法的两种写法的区别