第1章ASP程序设计概述
习题1
1. 选择题(可多选)
(1)静态网页的扩展名一般是:
A.htm B .php C.asp D.jsp
答案:A
(2)ASP文件的扩展名是:
A.htm
B. txt
C. doc
D. asp
答案:D
(3)当前的Web程序开发中通常采用什么模式?
A. C/S
B. B/S
C. B/B
D. 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代码,然后发送到客户端。
(7)在以下URL中,从形式上看正确的是:
A. https://www.wendangku.net/doc/6a4299273.html,/history/1998/intro.asp
B. https://www.wendangku.net/doc/6a4299273.html,/news/1.jpg
C. ftp://https://www.wendangku.net/doc/6a4299273.html, /history/1998/intro.asp
D. ftp://https://www.wendangku.net/doc/6a4299273.html,/news/1.jpg
答案:A B C D
解释:从形式上看,都是正确的。
(8)如果在chapter1下建立了一个子文件夹images,并且在其中放置了一个图片文件1.jpg,那么以下URL正确的是:
A. http://localhost/asptemp/chapter1/images/1.jpg
B. http://127.0.0.1/asptemp/chapter1/images/1.jpg
C. http://localhost/inetpub/wwwroot/asptemp/chapter1/images/1.jpg
D. http://127.0.0.1/inetpub/wwwroot/asptemp/chapter1/images/1.jpg
答案:A B
(9)对于1.5.5节建立的1-2.asp,以下浏览方式正确的是:
A. http://localhost/temp/1-2.asp
B. http://127.0.0.1/temp/1-2.asp
C. http://localhost/asptemp/chapter1/temp/1-2.asp
D. http://127.0.0.1/asptemp/chapter1/temp/1-2.asp
答案:A B C D
解释:AB两种方式利用了建立的虚拟目录,CD实际上没有用到这个虚拟目录,此时和1-1.asp没有什么区别。
(10)以1.5.5节的示例为基础,假如现在在C:\inetpub\wwwroot\asptemp\chapter1\temp下又建立了一个子文件夹temp,其中建立了一个ASP文件1-3.asp,则浏览方式正确的是:
A. http://localhost/temp/temp/1-3.asp
B. http://127.0.0.1/temp/temp/1-3.asp
C. http://localhost/asptemp/chapter1/temp/temp/1-3.asp
D. http://127.0.0.1/asptemp/chapter1/temp/temp/1-3.asp
答案:A B C D
解释:AB利用了建立的虚拟目录,CD没有用到虚拟目录。
2. 问答题
(1)名词解释:静态网页、动态网页、服务器端、客户端、URL
答案:
静态网页——所谓静态网页,就是说该网页文件里没有程序代码,只有HTML标记,这种网页的扩展名一般是.htm或.html。静态网页一经制成,内容就不会再变化,不管何时何人访问,显示的都是同样的内容,如果要修改内容,就必须修改源文件,然后重新上传到服务器上。
动态网页——所谓动态网页,就是说该网页文件不仅含有HTML标记,而且含有程序代码,这种网页的扩展名一般根据不同的程序设计语言而不同,如ASP文件的扩展名为.asp。动态网页能够根据不同的时间、不同的来访者而显示不同的内容。如常见的BBS、留言板、聊天室一般是用动态网页实现的。
服务器端、客户端——一般来说,凡是提供服务的一方称为服务器端,而接受服务的一方称为客户端。比如,当我们在浏览搜狐主页的时候,搜狐主页所在的服务器就称为服务器端,而我们自己的计算机就称为客户端。
URL——大家在上网的时候,需要在浏览器地址栏中输入一个网址,回车后就可以打开相应的网页了,这个网址又叫做统一资源定位符(URL:Uniform Resource Locator)。在Internet 中的每一个网页文件或其他类型的文件都有自己的URL,它的一般形式是:协议://服务器地址(域名或IP地址): 端口号/路径(含文件名)
(2)请结合URL知识简述静态网页和动态网页的工作原理。
答案:静态网页的工作原理是当你在浏览器里输入一个网址回车后,就向服务器端提出了一个浏览网页的请求。服务器端接到请求后,就会找到你要浏览的静态网页文件,然后发送给你。
动态网页的工作原理是服务器端接到客户端发出的请求后,首先会找到你要浏览的动态网页文件,然后就解释执行其中的程序代码,将含有程序代码的动态网页转化为标准的静态网页,然后将静态网页发送给你。
(3)请简单比较ASP、PHP和JSP的优缺点。
答案:总的来说,ASP、PHP和JSP基本上都是把脚本语言嵌入到了HTML文档中。如果要说它们最主要的优点:ASP学习简单,使用方便;PHP软件免费,运行成本低;JSP多平
台支持,转换方便。
(4)某同学开发了一个显示来访时间的ASP文件,存放在C:\inetpub\wwwroot下,然后在Windows资源管理器中双击该文件,却不能正常显示,请问是什么原因?
答案:ASP文件是不能直接双击运行的,必须通过浏览器访问,由服务器端来解释执行为标准的HTML代码,然后才可以显示在浏览器中。
(5)在1.4.3节中讲的是如何访问ASP文件,如果希望访问HTML网页文件,可以用类似的方法吗?
答案:可以。对于HTML文件,服务器端找到到该文件后,直接发送给客户端即可。(6)想一想,把一个HTML网页文件直接更改扩展名为.asp行不行?
答案:可以。相当于一个不含有任何动态代码的ASP文件,运行时服务器端也会对其进行解释执行,只不过实际上没有代码需要解释执行而已。
(7)什么是应用程序?为什么要建立应用程序?
答案:简单的说,添加了虚拟目录的文件夹就可以称为应用程序。建立应用程序后,多个网站之间就可以独立了,一些公共变量就不会混淆。
3. 实践题
(1)请根据自己的实际情况搭建ASP的运行环境。
答案:请按照教材中1.2节说明搭建,具体步骤略。
(2)请上网下载并安装EditPlus。
答案:从https://www.wendangku.net/doc/6a4299273.html,下载安装程序后,直接双击安装即可,具体步骤略。(3)请在文件夹C:\Inetpub\wwwroot\asptemptj\chapter1下新建一个asp文件,在页面上显示来访日期(日期函数为Date())。
答案:打开EditPlus,在其中输入清单date所示的程序代码,然后将其保存到C:\Inetpub\wwwroot\asptemptj\chapter1文件夹下,名称为date.asp。
清单date date.asp 显示来访日期
<%
Dim a '声明一个变量
a="您来访的日期是:" & Date() '给变量赋值,其中Date是日期函数
Response.Write a '在页面上输出变量a的值
%>
保存完毕后,打开浏览器,在其中输入http://localhost/asptemptj/chapter1/tj1-1.asp即可。(4)请在C:\Inetpub\wwwroot\asptemptj\chapter1下面新建一个文件夹tempb,然后为该文件夹添加虚拟目录aspb,并设置默认文档为index.asp和index.htm。
答案:请参考教材1.5节进行,具体步骤略。
(5)(选做题)请参考IIS的专门书籍好好研究一下,是否一定要在C:\Inetpub\ wwwroot下
开发ASP文件?可不可以放在别的文件夹下?
答案:其实可以在其他文件夹下,比如在D:\asptemp下建立ASP文件,具体步骤如下:第1步:首先建立D:\asptemp文件夹。
第2步:在IIS中为该文件夹建立虚拟目录asptemp(注意,也可以用别的名称).
第3步:下面就可以在asptemp文件夹下分章建立子文件夹和ASP文件了,比如建立chapter1子文件夹,然后在其中建立1-1.asp文件。
第4步:建立ASP文件后,在浏览器中输入http://localhost/asptemp/chapter1/1-1.asp即可。
第2章HTML基础知识
习题2
1. 选择题(可多选)
(1)HTML文档包含的两个部分是指:
A. 文档头部
B. 标题
C. 注释
D. 文档主体
答案:A D
(2)HTML中的注释格式是:
A.
B.
C. <%-- 注释内容--%>
D.
解释:图像标记不需要标记。Alt是当图片显示不出来时显示的替换文字,不是显示在图片上的文字。
(10)当前文件夹下有一个HTML文件a.htm和一个子文件夹B,文件夹B中有一个图片文件flower.jpg,请问下面哪种写法可以在a.htm中插入该图片?
A.
B.
C.
D.
答案:C
(11)在超链接标记中,下面哪个属性用来指定超链接路径?
A. src
B. href
C. dynsrc
D. action
答案:B
(12)在一组单选框中,下面哪一个属性可以用来默认选中某个选项?
A. slected
B. checked
C. multiple
D. noresize
答案:B
(13)下面哪种方法可以设置单行文本框的默认值为“在这里输入用户名”?
A.
B. 在这里输入用户名
C.
D.
答案:A
(14)下面哪一种文本框中输入数据后,数据将以*号显示?
A. 单行文本框
B. 多行文本框
C. 数值文本框
D. 密码文本框
答案:D
(15)在表单中,下列哪个属性用于指定表单处理程序文件的地址?
A. method
B. action
C. GET
D. POST
答案:B
(16)在框架网页中,如果一个超链接在整个浏览器窗口中打开,target属性的值为:
A. _blan
B. _self
C. parent
D._top
答案:D
(17)要实现一个上下型框架网页,至少需要几个网页文件?
A. 2
B. 3
C. 4
D. 6
答案:B
(18)下列哪个属性可以用来使框架不显示滚动条?
A. cols
B. rows
C. scrolling
D. noresize
答案:C
(19)在示例2-7中,下面哪一条语句可以将C:\inetpub\wwwroot\asptemp\chapter1文件夹中的1-1.htm当作“right”框架的初始网页?
A.
B.
C.
D.
答案:CD
解释:C用的是相对路径,D用的是绝对路径。
(20)下列哪个标记可以单独使用(不需要结束标记)?
A.
B.
C.
D.
答案:ABCD
2. 问答题
(1)为什么需要给HTML文件添加注释语句?
答案:适当地使用注释语句,可以让网页的维护和更新变得很方便。
(2)如果同时设置了背景颜色和背景图片,会出现什么情况?
答案:如果同时设置了背景颜色和背景图片,将只有背景图片起作用。
(3)请比较背景图片、图片标记、超链接、框架网页中用到的文件路径的语法?
答案:这些文件路径的引用都分相对路径和绝对路径两种,其中背景图片、图片标记、框架网页的链接写法为src= “URL地址”,而超链接的写法为href= “URL地址”。
(4)为什么HTML文件一般可以直接双击打开,而ASP文件就不能呢?
答案:因为ASP文件必须要到服务器端解释执行后才可显示到浏览器端。
(5)在示例2-2中,也可以将背景音乐文件的路径修改为“C:\inetpub\wwwroot\asptemp\chapter2\bgmusic.mp3”,而且也可以正常运行。但是,这样做实际上是有问题的,请大家想想为什么?(提示:要注意客户端和服务器端的区别)
答案:因为背景音乐文件的路径其实仅是指明了文件在哪个服务器地址存放,并没有将文件发送到客户端,只有当浏览器执行到这一句时,才会自动到相应服务器的C:\inetpub\wwwroot\asptemp\chapter2目录下去寻找bgmusic.mp3文件,然后发送到客户端,如果服务器上没有找到这个文件,就不会播放出音乐来,但是因为我们此时指定的服务器和客户端机是同一台,因此就可以找到播放文件正常运行。
3. 实践题
(1)请开发一个网页,3秒后自动转到新浪网站,并且在页面上显示文字“3秒后将转到新浪网站……”。
答案:请参见asptemptj\chapter2\Auto_redirect.htm 文件,并在浏览器中输入http://localhost/asptemptj/chapter2/ Auto_redirect.htm即可访问。
清单Auto_redirect Auto_redirect.htm 3秒后自动转到新浪网站
3秒后将转到新浪网站……
程序(2)请开发一个网页,并在Internet中搜索找到一个MP3文件,作为该网页的背景音乐;然后再搜索找到一个图片文件,并将其插入到该页面中。(提示:请直接用URL)
答案:请参见asptemptj\chapter2\Insert_pic.htm文件,并在浏览器中输入http://localhost/asptemptj/chapter2/ Insert_pic.htm.htm即可访问。
清单Insert_pic Insert_pic.htm 插入图片和背景音乐
src="https://www.wendangku.net/doc/6a4299273.html,/video/site1/20071204/0019213dcb6e08bef45c12.MP3" loop="-1">
border="0" alt="鲜花" align="left" >
(3)请尝试将清单2-6中的提交按钮替换为图片按钮?
答案:将提交按钮语句替换为即可。见清单Pic_button,并在浏览器中输入http://localhost/asptemptj/chapter2/ Auto_redirect.htm即可访问。
清单Pic_button Pic_button.asp. 插入图片按钮码
以下内容请如实填写,其中带有*号的栏目是必须填写的
(4)请在2.4.2节框架网页示例的基础上制作自己的个人主页,并且要满足如下要求:
A. 在“个人简介”页面上方给出一段自我介绍的文字和一张照片。
B. 在“个人简介”页面下方利用表格说明自己的教育经历。
C. 在“我的照片”页面中添加一些照片的缩略图,点击缩略图自动打开原始照片。
D. 在“我的文章”页面中用排序列表的方式添加一些自己撰写或下载的文章标题,并为标题添加超链接,单击超链接在新窗口中打开对应的文章页面。
E. 在左侧框架中添加一个“给我留言”的超链接,然后在对应的页面中添加一个留言表单,其中应该包括留言主题、留言内容、留言人姓名、留言人E-mail等内容。单击“提交”按钮后,将留言发送到自己的信箱。
答案:程序详见chapter2/Myweb下,其中简单应用了样式的写法,请大家参考学习。
并在浏览器中输入http://localhost/asptemptj/chapter2/ Myweb/index.htm即可访问。
(5)(选做题)请为“C:\Inetpub\wwwroot\chapter2”添加虚拟目录temp2,然后分别用相对路径、绝对路径和URL改写2-2.htm。(提示:请参考附录A)
答案:改写为Rewrite2-2.htm,并在浏览器中输入http://localhost/asptemptj/chapter2/ Rewrite2-2.htm即可访问,清单如下:
清单Rewrite2-2 Rewrite2-2.htm 用不同路径方式改写2-2.htm
该页面用来演示文档头部
第3章VBScript基础知识
习题3
1. 选择题(可多选)
(1)下列哪一个变量名称是正确的?
A. 1_ab
B. ab_1
C. _ab
D. ab?
答案:B
(2)在一段程序中a是一个变量,那么"a"是:
A. 变量
B. 直接常量
C. 字面常量
D. 符号常量
答案:D
(3)下面哪条语句可以正确执行?(注:第四句我的主页两边是中文引号)
A. Response.Write "
B. Response.Write "
C. Response.Write "
D. Response.Write "
答案:BCD
解释:在两个双引号中再次用到双引号时,可以用单引号或两个双引号来代替。(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. 3
B. 5
C. 8
D. 出错
答案:C
解释:ASP中,冒号(:)是用来做语句分割的,也就是说可以将两行语句合成为一行来写。因此a=3: a=a+5就等价于a=3
a=a+5,结果自然就是8.
(9)已知x=120,那么执行语句y=x \10 Mod 10后,变量y的值是?
A. 0
B. 1
C. 2
D. 3
答案:C
解释:这是一个算术运算,运算顺序为从左至右,x\10表示x整除10后的值,为12,然后再计算12 Mod 10,表示12除以10的余数,结果为2.
(10)已知a= "ab",那么执行语句b="cd'" & a & " " & "ef"后,变量b的值是?
(提示:请注意题目和答案中的空格)
A. "cd'ab ef"
B. "cd'abef"
C. "cdabef"
D. "cdab ef"
答案: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. True
B. False
C. 9
D. 无法计算
答案:A
(13)请问Int(3.45)和Int(-3.45)的值分别是什么?
A. 4、-4
B. 3、-4
C. 3、3
D. 3、-3
答案:B
解释:Int:返回数的整数部分,且对于负数,将返回小于或等于number 的第一个负整数。(14)执行语句a=Int(10 * Rnd())后,则a的值不可能出现的有?
A. 0
B. 1
C. 10
D. 11
答案:CD
解释:Rnd()返回一个大于等于0且小于1的随机数。
(15)在取整时按四舍五入进行的函数是?
A. Int
B. Fix
C. Round
D. CInt
答案:C
(16)请问Mid("八千里路云和月",3,2)的返回值是什么?
A. "千里"
B. "里路"
C. "里"
D. "路云"
答案:B
解释:表示从第三个字符开始取两个字符。
(17)执行语句a=InStr(Trim(Replace(" abcdef ","c","")),"ef")后,变量a的值是?
A. 0
B. 1
C. 4
D. 5
答案:C
解释:注意Replace(" abcdef ","c","")是将字符c替换为空,而不是空格。
Instr()是返回第二子串在第一个串中第一次出现的位置。
(18)函数DateDiff("m",#2008-8-8#,#2008-10-1#)的返回值是?
A. 1
B. 2
C. 54
D. 5
答案:2
(19)对于数组a(3,4),函数UBound(a,2)的值是:
A. 1
B. 2
C. 3
D. 4
答案:D
解释:UBound()返回数组的指定维数的最大可用下标.
(20)假如变量a的值是"100",则IsNumeric(a)和V arType(a)的值分别是?
A. True、2
B. True、8
C. False、2
D. False、8
答案:B
解释:IsNumeric()会先转化变量a的类型为数值,如果能转化,就为True。而VarType函数只返回当前的类型,而"100"当前确实是字符串。
(21)假如变量a的值是"2008-8-8",则IsDate(a)和VarType(a)的值分别是?
A. True、2
B. True、8
C. False、2
D. False、8
答案:B
解释:同上题。
(22)执行语句a=Chr(Asc("ABC"))后,则a的值是:
A. "ABC"
B. "A"
C. 65
D. 出错
答案:B
解释:Asc()函数返回与字符串的第一个字母对应的ANSI 字符代码,而Chr函数返回该ANSI代码对应的字符,所以最后为"A"。
(23)退出Do循环的语句是?
A.Exit For B. Exit Do C. Exit Sub D. Exit Function
答案:B
(24)在示例3-11和3-12中,循环结束后,I的值分别是多少?
A. 100、100
B. 101、101
C. 100、101
D. 101、100
答案:B
(25)以下哪些语句可以嵌套使用?
A. For…Next
B. Do…Loop
C. Select Case
D. If…Then…Else
答案:ABCD
2. 问答题
(1)名词解释:单目运算符、双目运算符、操作数、函数、子程序、过程单目运算符——就是指该运算符只对一个操作数起作用。
双目运算符——指运算符对它左右两侧的操作数都起作用。
操作数——参与运算的数。
函数——就是由若干语句组成的程序模块,它可以实现一个特定的功能,并返回一个函数值。
子程序——就是只执行程序而不返回值的程序模块。
过程——就是自己定义的函数,过程有两种:一种是Sub子程序,一种是Function函数。两者的区别在于:Sub子程序只执行程序而不返回值,而Function函数执行程序后会返回值。
(2)脚本级变量和过程级变量有什么重要区别?
答案:脚本级变量在整个ASP文件内都可以被引用,而过程级变量,只能在过程内使用。(3)在页面A中定义的变量可以在页面B中引用吗?
答案:一般是不可以的,但是如果把A页面包含在B中,就是可以的。
(4)程序中的符号常量可以用变量来代替吗?
答案:可以。
(5)请简述四类运算符的优先级顺序。
答案:算术运算符>连接运算符>比较运算符>逻辑运算符
(6)不同过程中的变量名是否可以一样?
答案:可以,因为过程级变量,只在本过程中有效。但不推荐这样使用。
(7)Function函数中的形参和实参名称是否可以一样?
答案:可以,形参和实参名称可以一样,也可以不一样,因为两者是按位置对应的。
(8)在For…Next循环中,可以给计数器变量赋值吗?
答案:虽然也是可以的,但是不建议更改计数器变量,因为很容易引起变量值的混乱。(9)请以示例3-12为例简述Do…Loop循环的执行过程。
答案:略,请参考3.11.2节的讲解。
(10)如何将两个变量的值互换?(提示:用一个中间变量)
答案:首先定义一个中间变量,将第一个变量的值赋给中间变量,然后再将第二个变量的值赋给第一个变量,最后将中间变量的值赋给第二个变量,这样就实现了两个变量值的互换。
3. 实践题
(1)请在你的个人主页上添加时间显示信息,显示当天的日期、时间及星期几。
答案:参见asptemptj/chapter3/Time_list.asp,注意学习select case的写法, 并打开浏览器,在其中输入http://localhost/asptemptj/chapter3/ Time_list.asp即可访问,清单如下:
清单Time_list Time_list.asp. 显示时间信息代码
<%
Response.Write Date() & " " & Time()
Select Case Weekday(Date())
Case 1
Response.Write "星期日"
Case 2
Response.Write "星期一"
Case 3
Response.Write "星期二"
Case 4
Response.Write "星期三"
Case 5
Response.Write "星期四"
Case 6
Response.Write "星期五"
Case 7
Response.Write "星期六"
End Select
%>
head >
html >
(2)请编写程序段,判断当天日期,如果是25日,则显示“请注意,明天可能有病毒发作”。答案:参见asptemptj/chapter3/Date_meg.asp,并打开浏览器,在其中输入http://localhost/asptemptj/chapter3/ Date_meg.asp即可访问,清单如下:
清单Date_meg Date_meg.asp. 判断当天日期
<%
If Day(Date())=25 Then
Response.Write "请注意:明天可能有病毒发作。"
End If
%>
body >
html >
(3)请编写程序段,随机产生一个0到9的整数。如果是偶数,则在页面上输出“生成的是偶数”,否则输出“生成的是奇数”。
答案:参见asptemptj/chapter3/Random.asp,并打开浏览器,在其中输入http://localhost/asptemptj/chapter3/ Random.asp即可访问,清单如下:
清单Random.asp 判断奇偶数码
<%
Dim s
s=Int(10 * Rnd())
If (s Mod 2)=0 Then
Response.Write "生成的是偶数"
Else
Response.Write "生成的是奇数"
End if
%>
body >
html >
(4)S=12+32+52+…+992,请利用两种循环语句编写程序,计算S的值。
答案:参见asptemptj/chapter3/Cycle.asp,并打开浏览器,在其中输入http://localhost/asptemptj/chapter3/ Cycle.asp即可访问,清单如下:
清单Cycle Cycle.asp 计算平方和
<%
'第1种算法:
Dim I,Sum
Sum=0
For I=1 To 99 Step 2
Sum=Sum+I^2
Next
Response.Write "S=" & Sum
%>
<%
'第2种算法
I=1
Sum=0
Do While I<=99
Sum=Sum+I^2
I=I+2
Loop
Response.Write "S=" & Sum
%>
body >
html >
(5)请编写函数计算a到b的立方和,并举例调用,调用时a、b分别为3和6。
答案:参见asptemptj/chapter3/Cute_sum.asp,并打开浏览器,在其中输入http://localhost/asptemptj/chapter3/ Cute_sum.asp即可访问,清单如下:
清单Cute_sum.asp 计算立方和
<%
'下面是函数
Function lifanghe(a,b)
Dim Sum,I
Sum=0
For I=a To b
Sum=Sum+I^3
Next
lifanghe=Sum
End Function
'下面是主程序,用来调用
Dim S
S=lifanghe(3,6)
Response.Write "立方和=" & S
%>
body >
html >
(6)请编写函数能够随机产生从a到b之间的整数,并举例调用。
答案:参见asptemptj/chapter3/Rnd_ab.asp,注意产生a到b之间随机整数的写法为:Int((b-a+1)*Rnd)+a,并打开浏览器,在其中输入http://localhost/asptemptj/chapter3/ Rnd_ab.asp 即可访问,清单如下:
清单Rnd_ab Rnd_ab.asp 产生从a到b之间随机数
<%
'下面是函数
Function Rndab(a,b)
Rndab=Int((b-a+1)*Rnd)+a
End Function
'下面是主程序,用来调用
Dim S
S=Rndab(3,10)
Response.Write "产生3到10之间的一个随机整数为" & S
%>
body >
html >
(7)请结合示例3-13开发一个函数,使其能实现Join函数的功能。
答案:参见asptemptj/chapter3/Join.asp,并打开浏览器,在其中输入http://localhost/asptemptj/chapter3/Join.asp即可访问,清单如下:
清单Join Join.asp 构造Join函数
<% Option Explicit '强制声明变量%>
<%
'下面是将全部数组元素连接在一起的函数
Function join_string(S_temp)
Dim strSum,Item
For Each Item in S_temp '执行循环,取出每个元素
strSum=strSum & Item
Next
join_string=strSum
End Function
'下面是主程序,用来调用
Dim S(3) '定义一个数组
Dim Return_string
S(0)="a"
S(1)="b"
S(2)="c"
S(3)="--end--"
Return_string=join_string(S)
Response.Write "全部数组元素连接成的字符串为" & Return_string
%>
(8)请在示例3-14的基础上增加一段代码,从而可以计算所有数组元素的平方和。(提示:请用嵌套循环)
答案:参见asptemptj/chapter3/Pingfanghe.asp,并打开浏览器,在其中输入http://localhost/asptemptj/chapter3/ Pingfanghe.asp即可访问,清单如下:
清单Pingfanghe Pingfanghe.asp 计算所有数组元素的平方和
<% Option Explicit '强制声明变量%>
<%
Dim intA(9,9),intSum '声明一个10行10列的二维数组
Dim I,J 'I是外层循环计数器变量,J是内层循环计数器变量For I=0 To 9 '外层循环
For J=0 To 9 '内层循环
intA(I,J)=10 '给每一个元素赋初值10
Next
Next
For I=0 To 9 '外层循环
For J=0 To 9 '内层循环
intSum=intSum+intA(I,J)^2 '给每一个元素赋初值10
Next
Next
Response.write "该数组元素的平方和是"& intSum
%>
(9)(选做题)有100个人吃100个馒头,大人1人吃4个,孩子4人吃1个,问有多少个大人和多少个孩子?(提示:使用嵌套循环和条件语句)
答案:参见asptemptj/chapter3/Bread.asp,并打开浏览器,在其中输入http://localhost/asptemptj/chapter3/ Pingfanghe.asp即可访问,清单如下:
清单Bread Bread.asp 计算吃馒头的人数
<%
Dim I,J,ren,mantou
For I=1 To 100 '大和尚从1到100循环
For J=1 To 100 '小和尚从1到100循环
ren=I+J '计算总人数
mantou=I*4+J*0.25 '计算总馒头数
If ren=100 And mantou=100 Then
Response.write"
大和尚=" & I & " 小和尚=" & J
End If
Next
Next
%>
(10)(选做题)其实VBScript也可以在客户端运行的,请大家参考VBScript专门教程进行学习,尤其要注意其中的MsgBox函数。
答案:略。
第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. method
B. action
C. POST
D. 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)请问下面程序段执行完毕,页面上显示的内容是什么?
<%
="北京"
="上海"
%>
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. ac
B. cd
C. bd
D. ad
答案:A
解释:Flush方法会立即输出内容;Clear方法会清空缓冲区中的内容;End方法会结束输出。(9)Response对象的什么方法可以将缓冲区中的页面内容立即输出到客户端?
A. Write
B. End
C. Clear
D. Flush
答案:D
(10)下列哪个集合可以返回客户端IP地址?
A. Request("REMOTE_ADDR")
B. Request.ServerVariables("REMOTE_ADDR")
C. Request.ServerVariables("IP")
D. Request.ServerVariables("LOCAL_ADDR")
答案:AB
2. 问答题
(1)请问是否可以将4-1.asp的扩展名改为.htm?
答案:可以,因为4-1中只是将表单信息提交给4-2.asp,本身并没有动态代码,所以可以修改。
(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 可以辅助来判断一下返回值的数据子类型。
(5)请结合第1章讲的WWW的工作原理来讲述4-3.asp的运行过程?
答案:当用户在浏览器中输入网址第1次访问本文件时,服务器端就会从头到尾解释执行本文件。首先输出表单中的元素内容(文字、文本框、按钮),然后执行If判断语句,此时因为是第一次访问该文件,还没有提交表单,所以Request.Form("txtA")="",Request.Form("txtB")="",If语句中条件表达式的返回值为False,因此执行Else后面输出语句;接下来当用户输入两个数并提交表单后,此时就会第2次访问本文件,服务器端就会再次从头到尾解释执行本文件,先输出表单元素内容,然后再次执行If判断语句,此时因为已经提交了表单,所以Request.Form("txtA")=输入的值, Request.Form("txtB")=输入的值,If 语句中条件表达式的返回值为True,因此执行运算语句,最后输出两个数的和。
(6)请简述Response的Write方法的两种写法的区别及注意事项。
答案:两种写法分别为Response.write和<%=%>,前者多用于在VBScript代码中,用来向客户端输出服务器端的信息;后者则多用于大量HTML代码中嵌入少量VBScript代码的时候。(7)请简述Redirect方法的工作原理?
答案:Redirect是指将网页重新定向到另一个新的网址,该定向发生在客户端,当执行到该语句时,客户端浏览器就会向相应的服务器端发出一个请求,然后该服务器端就会返回这个新的页面给客户端。
(8)请问Redirect方法和超链接的区别是什么?
答案:两者都可以引导用户至另一个页面,但是超链接必须要用户单击超链接才行,而Redirect可以自动引导用户至另一个页面。
(9)请问当使用Redirect方法时,为什么有时要在文件开头加“Reponse.Buffer=True”语句?在Windows 2000以上系统中一般需要加吗?
答案:因为如果Response.Buffer=False,就表示将页面直接输出到客户端,那么如果已经输出了部分页面内容到客户端,又想重定向到另一个页面,这是不允许的。而令Buffer等于True后,将把页面先输出到缓冲区,在缓冲区中则可以随时重定向页面,Windows 2000以上操作系统中则默认为True,所以Windows 2000以上系统中一般不需要加。
(10)本章中都有哪些方法可以将一个变量从一个页面传递到另一个页面?
答案:可以利用表单提交和在URL地址后面加上变量进行传递,也可以使用Cookie传递变量。
3. 实践题
(1)请将4-4.asp和4-5.asp合并为一个页面。
答案:参见asptemptj/chapter4/Register.asp,注意其中判断表单是否提交的写法,并打开浏览器,在其中输入http://localhost/asptemptj/chapter4/ Register.asp即可访问,清单如下:
清单Register Register.asp 合并4-4.asp和4-5.asp为一个页面
<%
'下面的条件语句表示只有提交了表单才进行显示信息,请注意这个小技巧。
If Request.Form("page")=1 Then
Dim strName,strPwd,strSex,strLove,strCareer,strIntro '为了引用方便,声明变量
strName=Request.Form("txtName")
strPwd=Request.Form("txtPwd")
strSex=Request.Form("rdoSex")
strLove=Request.Form("chkLove")
strCareer=Request.Form("sltCareer")
strIntro=Request.Form("txtIntro")
Response.Write "
Response.Write "
姓名:" & strName
Response.Write "
密码:" & strPwd
Response.Write "
性别:" & strSex
Response.Write "
爱好:" & strLove
Response.Write "
职业:" & strCareer
Response.Write "
简介:" & strIntro
End if
Web考试复习资料 第一章 1.填空题 (1).NET Framework主要包括公共语言运行库(CLR) 和类库 (2)网站在编译时,首先将语言代码编译成MSIL ,微软中间语言 (3)一台 IIS Web服务器 IP 地址为,网站端口为 8000,则要访问 Web应用程序 User 中的 URL 为 (4)可以通过复制网站同步网站上的一个文件 3.选择题 (1)VSEW 2012 不支持( A) Ajax (2) 下面( D)网站在建立时要求安装Microsoft FrontPage服务器扩展 A. 文件系统 B. 本地 IIS 站点 D. 远程站点 (3) 以下选项不属于编程语言的是(A) Basic C# C++ 4. 简答题 (1)一个学校有多个分院,每个分院有各自的网站,如果提供一台WEB服务器,如何设置答:每个分院设置各自的虚拟目录。虚拟目录是服务器硬盘上通常不再主目录下的文件夹 的一个好记名称(别名),使用别名可以发布多个文件夹下的内容以供所有用户访问,并能 单独控制每个虚拟目录的读写权限。 (6)静态网页和动态网页的区别 答:静态页面是不能随时改动的,静态是一次性写好放在服务器上进行浏览的,如果想改 动,必须在页面上修改,然后再上传服务器覆盖原来的页面,这样才能更新信息,比较麻烦,使用者不能随时修改。 动态页面是可以随时改变内容的,有前后台之分,管理员可以在后台随时更新网站的内容, 前台页面的内容也会随之更新 第二章 1.填空题 (1)VSEW 2012 默认建立的XHTML文件类型是XHTML5 (2) 利用 XHTML建立一个链接到邮箱的元素是邮箱 (3)页面中的空格用   表示 (4)存放 Web窗体页 C#代码的模型有单文件页模型和代码隐藏页面模型 (5) 实现页面 3 秒自动刷新一次的元素是 (6) 在单文件页模型中,C#代码必须包含于之间 (7) 代码隐藏页模型通过CodeFile 属性和 Inherits 属性将 aspx 文件和对应的 .aspx 文 件联系起来 (8)外部样式表通过 元素链接到页面 (9)XML 主要用于处理与表达(跨平台交换)数据
-精品- 《基于WEB 程序设计》 期末考试试卷 考生注意:1.本试卷共有六道大题,满分100分。 2.考试时间90分钟。 3.卷面整洁,字迹工整。 4.填写内容不得超出密封线。 总分 题号 一 二 三 四 五 六 核分人 题分 10 10 20 10 30 20 复查人 得分 得分 评卷人 一、HTML 代码分析(每小题5分,共10分) (5分)
row 1, cell 1 | row 1, cell 2 | row 2, cell 1 2 > < 3 >row 2, cell 2 | 4 > 5 > 得分 评卷人 二、数据库基础代码分析 (每小题5分,共10分) (5分) INSERT INTO article ( title, writer, content ) VALUES (‘实验’, ‘学生’, ‘插入数据’); 2.解释代码:请解释下述代码的含义。(5分) DELETE * FROM article WHERE 编号=1; 得分 评卷人 三、标准控件代码分析(每小题10分,共20分) (10分) ButtonEx.aspx : <%@ Page Language="VB" AutoEventWireup="false" CodeFile=" ButtonEx.vb " Inherits="_Default" %>