当前位置:文档之家› 网络程序设计课后答案

网络程序设计课后答案

网络程序设计课后答案

【篇一:网络程序设计—asp(第3版尚俊杰编著)课后习

题答案】

txt>1. 选择题(可多选)

(1)静态网页的扩展名一般是:

a.htm b .phpc.aspd.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. .cn/history/1998/intro.asp

b. .cn/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

答案: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没有什么区别。

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多平台支持,转换方便。

答案:asp文件是不能直接双击运行的,必须通过浏览器访问,由

服务器端来解释执行为标准的html代码,然后才可以显示在浏览器中。

(5)在1.4.3节中讲的是如何访问asp文件,如果希望访问html

网页文件,可以用类似的方法吗?

答案:可以。对于html文件,服务器端找到到该文件后,直接发送给客户端即可。

(6)想一想,把一个html网页文件直接更改扩展名为.asp行不行?答案:可以。相当于一个不含有任何动态代码的asp文件,运行时

服务器端也会对其进行解释执行,只不过实际上没有代码需要解释

执行而已。

(7)什么是应用程序?为什么要建立应用程序?

答案:简单的说,添加了虚拟目录的文件夹就可以称为应用程序。建立应用程序后,多个网站之间就可以独立了,一些公共变量就不会混淆。

3. 实践题

(1)请根据自己的实际情况搭建asp的运行环境。

答案:请按照教材中1.2节说明搭建,具体步骤略。

(2)请上网下载并安装editplus。

答案:从下载安装程序后,直接双击安装即可,具体步骤略。

清单date date.asp 显示来访日期 html

head

title一个简单的asp程序/title

/head

body

h1 align=center欢迎您光临我的主页/h1 % dim a声明一个变量给变量赋值,其中date是日期函数在页面上输出变量a的值 a=您来访的日期是: date() response.write a %

/body

/html

保存完毕后,打开浏览器,在其中输入

http://localhost/asptemptj/chapter1/tj1-1.asp即可。

答案:请参考教材1.5节进行,具体步骤略。

答案:其实可以在其他文件夹下,比如在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基础知识

1. 选择题(可多选)

(1)html文档包含的两个部分是指:

a. 文档头部

b. 标题

c. 注释

d. 文档主体

答案:a d

(2)html中的注释格式是:

a. !-- 注释内容 --!

b. !-- 注释内容 --

c. %-- 注释内容 --%

d. !-- 注释内容 --%

答案: b

(3)下列哪段语句将会以粗体、下划线显示?

a. bu欢迎大家/u/b

b. ub欢迎大家/b/u

c. ib欢迎大家/b/i

d. bi欢迎大家/i/b

答案: ab

(4)在html中,插入换行符用什么标记?

a. hr

b. br

c. p

d. enter键

答案: b

(5)在html中,下面哪一种方法可以在网页上显示“p”?

a. p

b. p

c. nbsp;pnbsp;

d. \p\

答案: b

(6)如果希望使用实心方块作为符号列表前面的符号,type属性的取值应该为:

a. circle

b. squire

c. disc

d.■

答案: b

(7)html中用什么标记表示表格的一行?

a. row和/row

b. tr和/tr

c. td和/td

d. table和/table

答案: b

(8)在表格中哪个属性用于设置文本水平对齐方式?

a. align

b. valign

c. top

d. bottom

答案: a

(9)关于网页中的图像,下列说法正确的是?

a. 图像标记是以img开始,以/img结束

b. href属性用于指定所要显示图像文件的路径

c. src 属性用于指定所要显示图像文件的路径

d. alt用于指定显示在图像上的文字

答案: c

解释:图像标记不需要/img标记。alt是当图片显示不出来时显示的替换文字,不是显示在图片上的文字。

(10)当前文件夹下有一个html文件a.htm和一个子文件夹b,文件夹b中有一个图片文件flower.jpg,请问下面哪种写法可以在a.htm中插入该图片?

a. img src=flower.jpg

b. img src=../flower.jpg

c. img src=b/flower.jpg

d. img src=/b/flower.jpg

答案: c

【篇二:《网络程序设计-asp》第2版习题答案】ass=txt>尚俊杰

说明:

(1)如大家发现问题,请给我提出,不胜感激。

(2)写着“请等待”的题目将在随后尽快予以补充完善。如果某位同学已经做出来了,可以发送给我,我会注明您的姓名及单位等,非常感谢。

习题1

1.名词解释

静态网页—p2页 1.2.2

动态网页—p3页 1.2.3

服务器端—p2页 1.2.1

客户端—p2页 1.2.1

2.搜狐是服务器端,小王是客户端

3.小王的计算机既是服务器端又是客户端

4.参见p2页1.2.2。

5.参见p3页1.2.3。

6.参见p3页1.3节。

习题2

1.问答题

(1) asp文件必须在浏览器中输入http://……的方式访问,这样其中的程序代码才能被

iis解释执行。

(2)可以,asp文件也可以不包含任何程序代码,只包含html标记。

(3)可以用类似的方法。

2.实践题

(1)

(2)

(3)

(4)

(5)略略略略可以在别的文件夹下开发asp文件,只要给该文件夹添加虚拟目录就可以了。其它

和本章讲授一样。比如为d:\temp添加虚拟目录asptemp,就可以在其中建立asp文件,比如为temp.asp,并通过

http://localhost/asptemp/temp.asp来访问了。

习题3

1.选择题

a b d b c b b

2.实践题

(1)

(2)

(3)

(4)

(5)参见answers\chapter3\3-2-1.asp 参见

answers\chapter3\3-2-2.asp 参见answers\chapter3\3-2-3.asp 参见answers\chapter3\3-2-4.asp 参见answers\chapter3\3-2-5.asp 习题4

1.选择题

bccda

2.问答题

(1)请参看 62页4.3.2节。简单写法必须要在输出的每一句两边加% %,而

response.write可以有多行语句。

(2) redirect方法可以自动引导客户至另一个网页。而超链接必须要靠客户单击才能到

另外一页。

(3)如果是windows98等系统,可能默认为false,这时如果已经向客户端输出了html

标记,而又想重定向到另外一个网页,就会发生错误。详情参看

p66页4.3.5。

3.实践题

(1)

(2)

(3)

(4)参见answers\chapter4\4-3-1.asp 参见

answers\chapter4\4-3-2.asp 参见answers\chapter4\4-3-3.asp 参见answers\chapter4\4-3-4.asp

习题5

1.选择题

cddbb

?请注意第4题,可以自己验证一下

2.问答题

(1)不支持

(2)都可以保存信息,session是每个客户的信息,application

是所有人的。session的有

效期默认为20分钟,application为从服务启动到服务结束。

(3)使用ubound函数,参见p29页最下一行。

(4)参见p84页5.3.2。

(5)错误,在global.asa不允许向客户端输出内容。

3.实践题

(1)参见清单5-8和5-9

(2)参见第12章12.2聊天室示例

(3)参见answers\chapter5\5-3-3.asp和answers\chapter5\5-

3-3b.asp

习题6

1.选择题

bcb

第1题解释:

该题有一些分歧,下面是相关解释:

微软的解释是这样的

a default scripttimeout can be set for a we

b service or web server by using the aspscripttimeout property in the metabase. the scripttimeout property cannot be set to a value less than

that specified in the metabase. for example, if numseconds is set to 10, and the metabase setting contains the default value

of 90 seconds, scripts will time out after 90 seconds. however,

if numseconds were set to 100, the scripts would time out after 100 seconds.the default value is 90 seconds

也就是说,scripttimeout的值不能低于元数据库(metabase)中

设置的值,如果低于了,仍然以元数据库(metabase)中设置的值

为准。

按照微软的解释,这道题目确实应该选择90,因为元数据库中的值,也就是iis中设置的默认值,确实是90。当然iis中默认的值也可以

修改。

不过我做了如下的实验:

%

server.scripttimeout=40

response.write 开始时间 now()

for i=1 to 100000000

next

response.write p

response.write 结束时间 now()

response.write p

%

该程序段运行大约40秒左右,设置scripttimeout为40,可以正确运行,而设置为30,则提示超出脚本运行时间。从这看来,似乎设置的30和40秒又是有效的。

这样看来,答案应该选择60。

总起来,我个人认为应该选择 b ,不过我会继续研究有关文档,争取有更完美的解释,也欢迎大家讨论。

第2题解释:

因为execute方法能够将环境变量传递过去,所以应该选c。

2.问答题

(1)请参考p93页6.2.6和p94页6.2.7。

(2) htmlencode方法。在向客户端输出时,可以用该方法转化,这样就不会执行其中的

html代码了。如:

%

response.write server.htmlencode(“发言字符串”)

%

3.实践题

(1)请参考answers\chapter6\6-3-1.asp

习题7

1.选择题

cdddc

2.问答题

(1)

(2)

(3)

(4)参见7.1.1节略不能,它由数据库自动赋值不能,就不会找到该数据库了,必须重新设置数据源

3.实践题

(1)参见answers\chapter7\usreinfo.mdb

(2)同上

习题8

1.选择题

bcba

2.问答题

(1)首先去掉数据库文件的只读属性。对于windows 2000或windows xp系统,如果安

装时采用了ntfs文件系统,一般可以设置该数据库为everyone (任何人)可以完全控制。

(2)查询若干条(0条到全部),添加1条,删除和修改若干条(0到全部)。

3.实践题

(1)

(2)

(3)

(4)参看answers\chapter8\link 参看answers\chapter8\link2 参看answers\chapter8\link3默认密码为123456 参见第12章12.1节

习题9

1.选择题

dbacab

2.问答题

(1)不会,立即报错误

(2)可能,如果设成sql所在服务器的ip地址,可以正确执行。如果sql数据库在本

机,也可以设成localhost 或127.0.0.1。不过设置了数据源后就不需要再设置该属性,多余。

(3)不能,因为数字类型字段值两边不用加引号。

3.实践题

(1)

(2)

(3)

(4)

(5)参看answers\chapter9\link 参看answers\chapter9\count 请等待参看answers\chapter9\address 参看

answers\chapter9\login

习题10

1.问答题

(1)不一定,可以为别的,如.htm

(2)文件权限原因。首先去掉文件num.txt的只读属性。对于windows 2000或windows xp

系统,如果安装时采用了ntfs文件系统,一般可以设置文件num.txt为everyone(任何人)可以完全控制。

(3)利用复制和删除,先复制为新的名字,然后删除旧的。

【篇三:网络编程试题-参考答案】

ss=txt>一、选择题(10题,每题2分,共20分)

1. 如果进程a调用fork函数,创建进程b,然后进程b再调用fork函数,创建进程c,进程c调用exec执行新的程序,那么各个进程将以什么顺序来执行:( d )。

[a] 以a、b、c的顺序执行

[b] 以c、b、a的顺序执行

[c] 以b、c、a的顺序执行

[d] 无固定执行顺序

2. 以下对早期arpanet的描述不正确的是 ( d )

[a] 使用ncp协议 [b] 不能互联不同类型的计算机

[c] 没有纠错功能 [d] 可以互联不同类型的操作系统

3. internet中的世界语是 ( c )

[a] tcp [b] ip [c] tcp/ip [d] http

4. 以下不属于socket的类型的是 ( d )。

[a] 流式套接字

[b] 数据报套接字

[c] 原始套接字

[d] 网络套接字

5. 以下关于socket的描述错误的是 ( c )

[a] 是一种文件描述符

[b] 是一个编程接口

[c] 仅限于tcp/ip

[d] 可用于一台主机内部不同进程间的通信

6. 路由器是根据哪一层的信息为数据包选择路由 ( c )

[a] 物理层 [b] 数据链路层 [c] 网络层 [d] 传输层

7. 为了解决在不同体系结构的主机之间进行数据传递可能会造成歧

义的问题,以下( a )函数常常用来

在发送端和接收端对双字节或者四字节数据类型进行字节序转换。

[a] htons()/htonl()/ntohs()/ntohl()

[b] inet_addr()/inet_aton()/inet_...

[c] gethostbyname()/gethostbyaddr()

[d] (struct sockaddr *)(struct sockaddr_in类型参数)

8. 在实现基于tcp的网络应用程序时,服务器端正确的处理流程是( c )

[a] socket() - bind() - listen() - connect() - read()/write() - close()

[b] socket() - bind() - listen() - read()/write() - close()

[c] socket() - bind() - listen() - accept() - read()/write() - close()

[d] socket() - connect() - read()/write() - close()

9. 只用于同一主机内部进程间通信的socket应使用的协议族是

( b )

[a] af_inet [b] af_unix [c] af_ns [d] af_implink

10. 以下哪个协议不是用在网络层的 ( d )

[a] igmp [b] ip [c] icmp [d] smtp

二、

1.

2.

3.

4.

5.

6.

7.

8.

9.

10. 判断题(15题,每题1分) 信号是一种同步通讯方式 ( f ) 可以使用signal()来给同一进程组中的所有进程发送信号 ( f ) 从一个空

fifo中读取数据时会发生阻塞,但从一个空pipe中读取数据时不会

发生阻塞 ( f ) ip地址均为32位 ( f ) 大端序表示高位字节存储在

高地址 ( f ) bind()函数用于将套接字和某个地址绑定 ( t )

connect()函数既可以用于tcp,也可以用于udp ( t ) 每个套接字最多只能connect一次 ( f ) 为了区分一台主机接收到的网络数据包应该递交给哪个套接字来处理,要根据端口号 ( t ) 无论是tcp socket,

还是udp socket,它们的服务器端必须调用bind()函数来绑定一个

地址,这样

客户端才可以和服务器端通信 ( t )

11. 发送一个udp数据报,必须使用sendto()函数 ( f )

12. 当inet_addr(char *address)的参数address包含不合法的ip

地址时,函数返回0 ( f )

阅读以下程序,完成13-15题。

listenfd = socket(…);

bind(listenfd,…);

listen(listenfd,…);

for ( ; ; ) {

connfd = accept(listenfd, …);

if (( pid = fork( )) == 0)

{

}

else exit(0);

}

13. 这是一个并发服务器。(f )

14. 在任何时候,该服务器只能处理一个客户端的请求。( t )

15. 随着服务器端接受越来越多的请求,connfd的值变得越来越大。( t )

三、简答题(5题,每题5分,共25分)

1. 如何在并发程序中避免僵尸进程?(父进程不阻塞,不轮询,描

述思路或写出代码)

方式一:在父进程中忽略sigchld信号

方式二:在父进程中捕捉sigchld信号,并在信号处理函数中用waitpid回收子进程

2. 两个线程分别读写同一个缓冲区,初始时缓冲区中无数据。

( read()//读缓冲区 write() //写缓冲区 sem_t //信号量类型

void init_sem(sem_t *s, int value)// 初始化信号量s的值为value

void p(sem_t *s)// 对信号量s进行p操作

void v(sem_t *s)// 对信号量s进行v操作)

①定义需要的信号量并初始化

sem_t s_r, s_w;

init_sem(s_r, 0);

init_sem(s_w, 1);

②写线程写缓冲区的代码

p(sem_w);

write();

v(sem_r); recv(connfd,…); send(connfd,…);

③读线程读缓冲区的代码

p(sem_r);

read();

v(sem_w);

3. 简述tcp和 udp的异同点

4. 什么是高可靠性通信?

数据无错误、数据无丢失、数据无失序、数据无重复到达

5. 简述unix/linux下主要的四种io模型的特点

阻塞式io:最简单、最常用;效率低非阻塞式io :可以处理多路io;需要轮询,浪费cpu资源 io多路复用:同时出路多路io且不需要轮询信号驱动io :异步通知模式,需要底层驱动的支持

四、综合题(3题,共40分,编程题可省略头文件)

1. 什么是网络体系结构?画出osi和tcp/ip参考模型的对应关系图(包括每层常用的协议或应

2. 编写一个tcp并发服务器端程序,可以把客户端发来的消息回射给客户端 (15分)

3. 编写udp程序,通过多路io复用同时处理标准输入和套接字。当输入为quit时程序结束;当通

过套接字收到对方消息时回射给对方 (15分)

int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set

*exceptfds, struct timeval *timeval); void fd_clr(int fd, fd_set *set);

int fd_isset(int fd, fd_set *set);

void fd_set(int fd, fd_set *set);

void fd_zero(fd_set *set);

相关主题
文本预览
相关文档 最新文档