Web程序设计沈士根版课后习题答案

时间:2019-05-14 01:05:21下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Web程序设计沈士根版课后习题答案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Web程序设计沈士根版课后习题答案》。

第一篇:Web程序设计沈士根版课后习题答案

Web考试复习资料

第一章

1.填空题

(1).NET Framework主要包括 公共语言运行库(CLR)和 类库

(2)ASP.NET网站在编译时,首先将语言代码编译成 MSIL,微软中间语言

(3)一台IIS Web服务器IP地址为211.78.60.19,网站端口为8000,则要访问Web应用程序User中Default.aspx的URL为 http://211.78.60.19:8000/Default.aspx(4)可以通过 复制网站 同步网站上的一个文件 3.选择题

(1)VSEW 2012不支持(A)

A.Java B.JavaScript C.LINQ D.Microsoft Ajax(2)下面(D)网站在建立时要求安装Microsoft FrontPage服务器扩展 A.文件系统 B.本地IIS C.FTP站点 D.远程站点(3)以下选项不属于编程语言的是(A)

A.ASP.NET B.Visual Basic C.Visual C# D.Visual C++ 4.简答题(1)一个学校有多个分院,每个分院有各自的网站,如果提供一台WEB服务器,如何设置? 答:每个分院设置各自的虚拟目录。虚拟目录是服务器硬盘上通常不再主目录下的文件夹的一个好记名称(别名),使用别名可以发布多个文件夹下的内容以供所有用户访问,并能单独控制每个虚拟目录的读写权限。(6)静态网页和动态网页的区别?

答:静态页面是不能随时改动的,静态是一次性写好放在服务器上进行浏览的,如果想改动,必须在页面上修改,然后再上传服务器覆盖原来的页面,这样才能更新信息,比较麻烦,使用者不能随时修改。

动态页面是可以随时改变内容的,有前后台之分,管理员可以在后台随时更新网站的内容,前台页面的内容也会随之更新

第二章

1.填空题

(1)VSEW 2012默认建立的XHTML文件类型是 XHTML5(2)利用XHTML建立一个链接到jxst@126.com邮箱的元素是 邮箱(3)页面中的空格用  表示

(4)存放Web窗体页C#代码的模型有 单文件页模型 和 代码隐藏页面模型

(5)实现页面3秒自动刷新一次的元素是 (6)在单文件页模型中,C#代码必须包含于 之间

(7)代码隐藏页模型通过 CodeFile属性 和 Inherits属性 将aspx文件和对应的.aspx文件联系起来

(8)外部样式表通过 元素链接到页面

(9)XML主要用于 处理与表达(跨平台交换)数据

(10)Global.asax文件用于包含响 应用程序 级别和 会话 级别事件的代码

3.选择题

(1)CSS选择器不包括(D)

A.元素选择器 B.属性选择器 C.id选择器 D.文件选择器(2)下面(B)是静态页面文件的扩展名

A..asp B..html C..aspx D..jsp(3)App_Code文件夹用来存储(C)

A.数据库文件 B.共享文件 C.代码文件 D.主题文件(4)Web.config文件不能用于(A)

A.Application事件处理代码的定义 B.数据库连接字符串的定义 C.对文件夹的访问授权 D.基于角色的安全性控制

4.简答题

(5)简述Web.config文件特点及作用

答:此文件是一个基于 XML 的配置文件。其作用是对应用程序进行配置,比如规定客户的认证 方法,基于角色的安全技术的策略,数据绑定的方法,运程处理对象等(Web.config 文件是一个 XML 文本文件它用来储存 ASP.NET Web 应用程序的配置信息,它 可以出现在应用程序的每一个目录中。)(7)Page类的生命周期

答:当浏览器发页面请求时,首先响应的是与aspx页面相关联的Page类对象,并按顺序调用这个对象的某些方法(如OnLoad方法),同时又会自动调用页面控件的相应方法,依次执行一些程序。Page类在生命周期内执行的方法先后顺序如下:

1.OnPreInit方法(触发PreInit事件),在页面初始化之前发生,执行该方法后,程序已经能够访问页面中的控件了,控件属性值为aspx中定义的初始值;

2.OnInit方法(触发Init事件),在页面初始化时发生。执行该方法后,页面会跟踪viewstate的值;

3.OnInitComplete方法(触发InitComplete事件),页面初始化完成时发生。如果当面页面请求是被控件PostBack回来的,则页面还要完成两项工作:一是解析相关参数,把回传事件映射到服务器端事件。二是加载回传数据,将解析出来的viewstate的值赋给相应控件的相应属性。

4.OnPreLoad方法(触发PreLoad事件),页面载入之前发生; 5.OnLoad方法(触发Load事件),此方法开始,所有控件已经初始化,且加载了回传数据;这时页面能够安全的访问页面中的其他控件。

6.OnloadComplete方法(触发loadComplete事件),在OnLoad方法执行之后触发事件。如果postback为true,则触发控件的服务端事件,因为第三步已经加载的回传事件;

7.OnPrerender方法与OnPrerenderComplete方法,为页面和控件的html生成之前所先后执行的方法。

8.OnSaveStateComplete方法(触发SaveStateComplete事件),viewstate值,生成表单中name和id均成“_VIEWSTATE”的隐藏域的值。

9.Render方法,没有触发事件,通过该方法生成页面和控件HTML代码。10.OnUnload方法(触发Unload事件),page类运行结束,释放内存,整个生命 周期结束。

第三章

1.填空题

(1)C#使用的类库就是.net framework 提供的类库

(2)要在一个类中包含System.Data命名空间的语句是 using System.Data(3)使用 static 修饰符能调用未实例化的类中的方法(4)C#中的数据类型包括值类型和引用类型(5)枚举类型 是由一组命名常量组成的类型

(6)在C#统一类型系统中,所有类型都是直接或间接地从 System.Object 类继承(7)装箱实质是把 值类型 转化为 对象类型

(8)至少会执行一次循环的循环语句是 do„while语句(9)较适用于已知循环次数的循环语句是 for语句

(10)如果类名为UserInfo,那么它的构造函数名为 UserInfo(11)继承 可以重用现有类的数据和行为,并扩展新的功能 3.选择题

(1)下列数据类型属于值类型的是(A)

A.struct B.class C.interface D.delegate(2)下列数据类型属于引用类型的是(C)

A.bool B.char C.string D.enum(3)下列运算符中(D)具有三个操作数

A.>>= B.&& C.++ D.?(4)下面有关数据类型的描述中不正确的是(B)

A.两个引用类型变量可能引用同一个对象 B.bool类型中可以用数字1表示true C.byte类型的取值范围是0~255 D.可以通过转义符方式输入字符(5)下面对protected修饰符说法正确的是(D)

A.只能在派生类中访问 B.只能在所属的类中访问

C.能在当前应用程序中访问 D.能在所属的类或派生类中访问(6)以下有关属性的说法错误的是(B)

A.通过属性能获取类中private字段的数据

B.当定义属性时,若仅包含set访问器,则表示该属性为只读属性 C.属性的访问形式是“对象名.属性名” D.属性体现类对象的封装性 4.简答题

(1)说明修饰符public、internal、protected、protected internal、private的区别? 答:public:对任何类和成员都公开,无限制访问:

Protected:仅仅对该类以及该类的派生类公开 Private:仅仅对该类公开; Internal:只能值包含该类的程序集中访问该类(只是单独的项目,而不是整个方案); Protected internal:只能在本类,派生类或者包含该类的程序集中访问。

第四章

1.填空题

(1)若在TextBox控件中输入内容并当焦点离开时能触发TextChanged事件,则应设置

AutoPostBack=”true”

(2)通过 IsPostBack 属性可判断页面是否第一次载入

(3)ASP.NET4.5的服务器控件包括 HTML服务器控件 和 Web服务器控件(4)添加 runat=”server” 属性可将XHTML元素转化为HTML服务器控件(5)设置 Enabled 属性可决定Web服务器控件是否可用

(6)当需要将TextBox控件作为密码输入框时,应设置 TextMode=”password” 属性

(7)对使用数据源显示信息的Web服务器控件,当设置完控件的DataSource属性后,需要DataBind()方法才能显示信息

(8)如果需要将多个单独的RadioButton控件形成一组具有RadioButtonList控件的功能,可以通过将 GroupName 属性设置成相同的值实现

(9)设置 SelectionMode=”Multiple” 可以实现ListBox控件中选择多项的功能 3.选择题

(1)Web服务器控件不包括(B)

A.Table B.Input C.AdRotator D.Calendar(2)下面的控件中不能响应鼠标单击事件的是(C)

A.ImageButton B.ImageMap C.Image D.LinkButton(3)单击Button类型控件后能执行客户端脚本的属性是(A)

A.OnClientClick B.OnClick C.OnCommandClick D.OnClientCommand(4)当需要用控件输入性别时,应选择的控件是(D)

A.CheckBox B.CheckBoxList C.Lable D.RadioButtonList(5)下面不属于容器控件的是(B)

A.Panel B.CheckBox C.Table D.PlaceHolder 4.简答题

(1)说明Image、ImageButton、ImageMap控件的区别

答:Image控件用于在Web窗体上显示图片,图片源文件可以使用ImageUrl属性在界面设计时确定也可以在编程时确定。Image不包含click事件,要Click事件处理,则可使用ImageButton;ImageMap除可以用来显示图片外,还可以实现图片链接

第五章

1.填空题

(1)窗体验证包括 服务器端 和 客户端 两种形式

(2)判断页面的 Page.IsValid 属性值可确定整个页面的验证是否通过

(3)若页面中包含验证控件,可设置按钮的 CausesValidation 属性,使得单击该按钮后不会引发验证过程

(4)若要对页面中包含的控件分成不同的组进行验证,则应将这些控件的ValidationGroup属性设置为相同值

(5)通过正则表达式定义验证规则的控件是 RegularExpressionValidator(6)设置 ControlToValidate 属性指定被验证控件的ID 3.选择题

(1)下面对ASP.NET4.5验证控件说法正确的是(A)

A.可以在客户端直接验证用户输入的信息并显示错误信息 B.对一个下拉列表控件不能使用验证控件

C.服务器验证控件在执行验证时必定在服务器端执行

D.对验证控件,不能自定义规则

(2)下面对CustomValidator控件说法错误的是(D)A.能使用自定义的验证函数

B.可以同时添加客户端验证函数和服务器验证函数

C.指定客户端验证的属性是ClientValidationFunction D.runat属性用来指定服务器端验证函数

(3)使用ValidationSummary控件需要以对话框形式显示错误信息,则应(B)

A.设置ShowSummary属性值为True B.设置ShowMessageBox属性值为True C.设置ShowSummary属性值为False D.设置ShowMessageBox属性值为False(4)如果需要确保用户输入大于100的值,应该使用(B)验证控件 A.RequiredFieldValidator B.RangValidator C.CompareValidator D.RegularExpressionValidator

第6章

1.填空题

(1)从http://10.200.1.23/Custom.aspx?ID=4703 中获取ID的值的方法Request.Querystring[“ID”](2)要获取客户端IP地址,可以使用 Request.ServerVariables[“REMOTE_ADDR”](3)终止ASP.NET4.5页面执行可以使用 End()(4)要获取Default.aspx页面的物理路径可以使用 Server.MapPath()(5)状态管理具有 客户端 和 服务器端 两种方式

(6)设置Button类型控件的 PostBackUrl 属性值可在单击按钮后跳转到相应页面(7)Session对象启动时会自动执行 Session_Start()方法代码(8)设置会话有效时间为10分钟的语句是 timeout=”10”(9)若浏览器已禁用Cookie,要有效的识别用户可以在Web.config文件的 中加入 (10)要对Application状态变量值修改之前应使用 Application.Lock()3.选择题

(1)要重定向页面,不能使用(C)

A.LinkButton控件 B.HttpResponse.Redirect()方法

C.Image控件 D.HttpServerUtility.Transfer()方法(2)下面(A)对象可以获取从客户端浏览器提交的信息。

A.HttpRequest B.HttpResponse C.HttpSessionState D.HttpApplication(3)Session状态和Cookie状态的最大区别是(A)

A.存储的位置不同 B.类型不同 C.生命周期不同 D.容量不同(4)默认情况下,Session状态的有效时间是(C)

A.30秒 B.10分钟 C.20分钟 D.30分钟

(5)若某页面已添加一个Label控件lbMsg,执行“lbMsg.Txt=”微软””语句后,页面上显示的内容是(C)

A.微软 B.微软

C.以超链接形式展示“微软” D.程序出错 4.简答题

(1)简述Session状态和Application状态的异同

答:Session产生在服务器,只能为当前访问的用户服务,而Application应用于所有的用户。可以将Application状态理解为公用全局变量,网站中的每一个访问则均可访问。

第7章

1.填空题

(1)SQL Server 数据库的验证方式包括 windows验证 和 SQLServer验证

(2)连接数据库的信息通常保存在Web.config文件的 元素中(3)VSEW 2012中,若要访问LocalDB数据库实例,则需要将Data Source属性值设置为(LocalDB)v11.0(4)连接字符串中常使用 |DataDirectory| 表示网站的App_Data文件夹

(5)ASP.NET 4.5提供的数据源控件包括 EntityDataSource、LinqDataSourc、SqlDataSource、SiteMapDataSource、XmlDataSourec(6)根据要访问的不同数据源,LINQ类型可分为LINQ to Objects、LINQ to XML、LINQ to DataSet、LINQ to SQL、LINQ to Entities(7)在LINQ to SQL中,将SQL Server数据库映射为 DataContext 类,表映射为 数据定义文件的具体表,存储过程映射为 映射后的方法 3.选择题

(1)在VSEW 2012中建立数据库的描述错误的是(A)

A.数据库的默认排序规则是Chinese_PRC_CI_AS B.数据库默认属于LocalDB数据库实例 C.数据库默认不支持中文输入

D.能将数据库附加到SQLEXPRESS数据库服务器中(2)下面有关LINQ to SQL的描述中错误的是(A)

A.LINQ to SQL查询返回的结果是一个集合 B.LINQ to SQL 可处理任何类型数据

C.利用LINQ to SQL要调用SQL Server中定义的存储过程只需要调用映射后的方法 D.LINQ to SQL中聚合方法的参数常使用Lambda表达式(3)下面有关LINQ to XML的描述中错误的是(C)

A.可插入、修改、删除、查询元素 B.可读取整个XML文档 C.不能创建XML文档

D.需要导入System.Xml.Linq命名空间

第10章

1.填空题

(1)主题可以包括 外观文件、样式表文件 和 图片文件

(2)母版页由特殊的 @Master 指令识别,该指令替换了用于普通.aspx页面的@page指令(3)母版页中可以包含一个或多个可替换内容占位符 ContentPlaceHolder

(4)如果用户想要在网站运行时动态地添加或删除Webpart控件,则需要添加 WebPartZone(5)内容也通过 MasterPageFile 和母版页建立联系(6)主题必须存放在ASP.NET文件夹 APP_Themes 中 3.选择题

(1)主题不包括(D)

A.skin文件 B.css文件 C.图片文件 D.config文件(2)一个主题必须包含(A)

A.skin文件 B.css文件 C.图片文件 D.config文件(3)母版页文件的扩展名是(B)

A..aspx B..master C..cs D..skin(4)在(D)模式下,允许重新启用被用户关闭的WebPart控件 A.BrowseDisplayMode B.DesignDisplayMode C.EditDisplayMode D.CatalogDisplayMode 4.简答题

(2)如何将单文件页和代码隐藏页转换为用户控件?

答:若ASP.NET页面使用单文件页模型,则将其转换为一个用户控件的步骤如下: a.重命名.aspx文件扩展名.ascx b.从页面中删除、和

元素;将@page指令更改为@Control指令;删除@Control指令中除Language、AutoEventWireup、CodeFile和Inherits之外的所有属性。

若ASP.NET页面使用代码隐藏页模型,则将其转换为一个用户控件的步骤如下: a.重命名.aspx文件扩展名为.ascx b.重命名.aspx.cs文件扩展名为.ascx.cs c.打开.ascx.cs文件并将继承的类从Page更改为UserControl d.在.ascx文件中,删除、和元素;将@page指令更改为@Control指令;删除@Control指令中除Language、AutoEventWireup、CodeFile和Inherits之外的所有属性;在@Control指令中,将CodeFile属性值更改为重命名后的代码隐藏文件名。

(3)简述包含ASP.NET母版页的页面运行时的显示原理。答:母版页为网页定义所需的外观和标准行为,然后在母版页基础上创建要包含显示内容的各个内容页。当用户请求内容页时,这些内容页将与母版页合并,这样,母版页的布局与内容页的内容就可以组合在一起输出。

第11章

1.填空题

(1)网站地图文件的扩展名为.sitemap(2)元素的url属性表示 超链接目标页的URL地址

(3)若要使用网站导航控件,必须在 网站地图文件 中描述网站的页面结构

(4)SiteMapPath控件的PathDirection属性的功能是 设置导航路径节点的呈现顺序(5)Menu控件的Orientation属性的功能是 设置菜单节点的排列形式 3.选择题

(1)关于嵌套网站地图文件的说法中,(B)是正确的。

A.网站地图文件必须存放在App_Data文件夹下

B.网站地图文件Web.sitemap必须存放在根文件夹下

C.网站地图文件必须和引用的页面存放在同一个文件夹中 D.对存放位置没特殊要求

(2)网站导航控件(A)不需要添加数据源控件。

A.SiteMapPath B.TreeView C.Menu D.SiteMapDataSource(3)母版页中使用导航控件,要求(D)A.母版页必须存放在根文件夹下 B.母版页名必须为Web.master C.和普通页一样使用,浏览母版页时就可以查看效果 D.必须有内容页才能查看效果 4.简答题

(2)举例说明如何利用嵌套方式解决复杂的网站导航问题

答:首先将描述products和services的信息分散到文件product.sitemap和services.sitemap中,然后在web.sitemap中利用元素的siteMapFile属性链接包含的.sitemap文件。其中products.sitemap和services.sitemap存放在相应的文件夹下,web1.sitemap存放在网站根文件夹下。

第二篇:WEB 课后习题答案

课后习题答案 第1章

1.什么是静态网页?什么是动态网页?两者的区别是什么?试举例说明。

答:在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。你编的是什么它显示的就是什么、不会有任何改变。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。静态网页的网址形式通常为:页、Flash、JavaScript、VBScript等等,它们是永远不变的。

2.什么是B/S模式?什么是C/S模式?试举例说明。(我加的:B/S 结构(Browser/Server 结构)结构即浏览器和服务器结构)

答:即浏览器服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。

这种模式,我们通常将其成为瘦客户端模式。典型的系统:网上银行、网上书店、Blog等等 客户机/服务器(Client/Server,C/S)模式

即客户机和服务器结构。这种体系结构模式是以数据库服务器为中心、以客户机为网络基础、在信息系统软件支持下的两层结构模型。这种体系结构中,用户操作模块布置在客户机上,数据存储在服务器上的数据库中。客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。目前大多数信息系统是采用Client/Server结构。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。

这种模式我们也通常成为胖客户端模式。典型的系统:QQ、MSN 3.什么是JSP?与ASP、PHP、ASP.NET相比,JSP(我加的:动态页面)有哪些优点?? 答:JSP(Java Server Pages)是由Sun Microsystems公司倡导的、许多公司参与一起建立的一种动态网页技术标准。JSP技术是用Java语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。

JSP不像CGI,ISAPI和NSAPI那样难于编写和维护,不像PHP那样只能适应中小流量的网站,也不像ASP那样受到跨平台的限制(只能运行于Microsoft公司开发的IIS和PWS上)。JSP体现了当今最先进的网站开发思想,和其他Web开发工具相比,JSP有着它自己强大的优势。

程序可以跨台平执行。JSP可以让开发人员在任意环境中进行开发,在任意环境中进行系统部署,在任意环境中扩展应用程序。

多样化和功能强大的开发工具支持。Java有许多非常优秀的开发工具,而且有许多可以免费得到,并且其中的许多已经可以顺利地运行于多种平台之下。

强大的可伸缩性。从只有一个小的jar文件就可以运行servlet/jsp到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,一台服务器到无数台服务器,Java显示了巨大的生命力。

4.JSP、Java和JavaScript有什么区别与联系??

答:JAVASCRIPT从其名称含义是JAVA脚本,是在浏览器中运行的脚本语言,由于其大部分语法规范取自于JAVA语法规范,所以取名为JAVASCRIPT。JAVASCRIPT是一门基于对象的弱类型脚本编程语言,主要用来制作网页前台的技术。并且是现在比较热门的AJAX技术的核心。

JSP是JAVA SERVER PAGE的首字母缩写,顾名思义,是JAVA的服务端页面,其动态语法部分完全是JAVA规范。JSP是基于Java的技术,用于创建可支持跨平台及Web服务器的动态网页。从构成情况上来看,JSP页面代码一般由普通的HTML语句和特殊的基于Java语言的嵌入标记组成,所以它具有了Web和Java功能的双重特性。JSP是和ASP,PHP一样的服务器端语言,主要用来制作网站后台的技术。

JAVA是和C/C++一个等级的强类型编程语言,是纯面向对象的.比起JSP和JAVASCRIPT要复杂的多。一般学好JAVA就能很容易转向其他两门语言。

总结:JSP是JAVA技术的其中之一,所以学好了JAVA过渡到JSP从编程角度来讲比较容易,学好JSP以后要想学好JAVA,就还要学习更多的JAVA方面的东西,比如JAVABEAN,企业级应用等等。

JAVASCRIPT严格来讲,除了语法参照了JAVA语法规范外,和JAVA毫无关系,所以两者之间只是语法规范类似,相互之间的过渡就只有语法能够参照,其他的都得分别去了解,JAVASCRIPT是过程式语言,JAVA则是面向对象的。第2章

1.什么是 HTML 语言? HTML文件有什么特征?

答:HTML是超文本标记语言(Hypertext Mark-up Language)的缩写,主要用来创建与系统平台无关的网页文档。它是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言,它不是编程语言,而是一种描述性的标记(标签)语言。

HTML文件是纯文本文件,是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML文件能用任意的文本编辑器编辑,如:记事本、写字板、Word等,也可以使用所见即所得的编辑器来编辑HTML文件,如Dreamweaver等。

2.什么是JavaScript?

答:JavaScript是由Netscape公司开发的一种网页的脚本编程语言,它支持客户端与服务器端的应用程序以及构件的开发。JavaScript是一种解释性的语言,它的基本结构形式与其他编程语言相似,需要先编译后执行。JavaScript是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。在HTML基础上,使用Javascript可以开发交互式Web网页。JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。3.简述HTML和JavaScript在JSP动态网页中所扮演的角色。

答:要使用JSP开发出专业的动态网站,首先必须熟练掌握静态网站的制作技术。HTML是在学习JSP之前必须了解的基础知识,很多JSP语法的使用都是建立在HTML文档的基础上。实际开发中,一般都是使用现成的HTML文档来添加JSP的动态脚本并做适当修改,除了特殊的应用,很少从零开始写一个JSP页面,所以读懂HTML文档并了解HMTL语言中的技巧为更快地上手JSP提供了很大的帮助。

JavaScript是JSP知识体系中一个可选的知识模块。也就是说不了解JavaScript知识也不会影响JSP的应用开发,但是如果掌握了JavaScript的知识,将可以更加方便地解决网页开发中的某些特定问题,例如经常使用JavaScript判断用户在表单中输入数据的合法性。第3章 无 第4章

1.如何在HTML网页中嵌入JSP程序代码?怎样来定义JSP中的声明区与程序区? 答:在JSP网页中必须于<%与%>符号间嵌入程序代码。JSP声明的语法格式为: <%!declaration;[ declaration;]...%> 或<%!声明;[声明;]...%> 脚本代码的语法格式如下:

<% code fragment %> 或<% 代码 %> 2.请说明JSP中有哪3个指令元素,以及这3个指令的主要用途。

答:page指令:可用来设置JSP网页的特性,如编码方式、引用类、缓冲区等。include指令:可用来将HTML、文本文件或者JSP程序加载当前的JSP网页。taglib指令:可用来引用一个自定义的标签库。3.JSP中include指令与include动作的区别?

答:include指令是指把其它页面的Java代码(源码)加进来,跟本页面的代码合并在一起,相当于把源码从那个页面复制到本页面中来,然后再编译。并且由于本页面编译时已经包含了别的文件的源码,所以以后其它页面更改时,本页面并不理会,因为已经编译过了。

动作是指两个页面的代码运行完以后,再把包含的那个页面运行后的HTML结果页面加到本页面运行后的HTML结果页面中来。所以是运行时包含,并且还可以传递参数给被包含的页面。

4.JSP网页可以使用的特殊操作元素有哪些?其中操作元素各有什么功能? 答:可使用的操作元素有:可将当前浏览器显示网页的网址,重新导向新的网址。:主要用来传递参数给JSP程序,而由程序取得参数值。第5章

1.JSP中的内建对象包含哪些?试简述这些对象在JSP中的主要功能。答:request:取得客户端数据与系统的信息。response:响应客户端信息。

application:记录与处理上线者共享的数据。session:记录与处理上线者的个别数据。out:控制数据输出的操作。

config:取得JSP编译后Servlet的信息。

pageContext:存取与处理系统运行时期的各项信息。page:表示当前的JSP网页。

2.response重定向方法sendRedirect和动作元素的区别是什么?(1)response.sendredirect()会在客户端呈现跳转后的URL地址;这种跳转称为客户端跳转。使用response.sendredirect()将重定向的URL发送到客户端,浏览器再根据这个URL重新发起请求。所以用这个方法时,你在浏览器地址栏上会看到新的请求资源的地址。并且这个时候的request,response都和第一次的不一样了。这时是重新产生了新的request,response。

(2)使用完全是在服务器上进行,浏览器地址栏中的地址保持不变;这种跳转称为服务器端跳转。所以使用这个方法时没有产生新的用request,response。因为request没有变,在同一个请求内,可以用request来转递参数。

(3)response.sendRedirect()想带参数的话,自己在地址中写成 xxx.jsp?param1=aaa&...这种形式传递参数。能够使用标签向目标文件传送参数和值,目标文件必须是一个动态的文件,能够处理参数。

(4)后面的语句不会被执行也不会继续发送到客户端(我:这句话怎么回事?),response.sendRedirect()后面的语句会继续执行,除非语句前面有return。(5)是在服务器的内部进行转换,只发送给客户端最后转到的页面,速度会比较快;response.sendRedirect()需要服务器与客户端之间的往返,可以转到任何页面,包括网络有效域名。但速度比较慢。

3.application与session存储数据变量的方式有何区别?

答:application:记录联机用户共享的数据。session:记录联机用户的个别数据。4.请说明session对象的生命周期在哪些状况下会结束。

答:当以下四种情形之一发生时,session与其中的数据便会消失:(1)用户关闭当前正在使用的浏览器程序。(2)关闭网页服务器。

(3)用户未向服务器提出请求超过预设的时间,Tomcat服务器预设为30分钟。(4)运行程序结束session。第6章

1.请简述Cookie的概念与使用方式。

答:Cookie为浏览器提供的功能,是一种可将联机用户的数据存储在客户端计算机上的技术,要运用Cookie必须先建立一个Cookie对象来存储字符串数据,再将此Cookie对象传送到客户端。

2.查看自己计算机上Cookie文件的保存位置。浏览网页,运行书上的例子,看是否会把信息记录在此位置?文件是如何命名的?文件的内容是什么?

答:在默认情况下,Cookie是随着用户关闭浏览器而自动消失的。所以书上例子不会保存Cookie。如果在例2中我们在usingCookie.jsp中使用setMaxAge()方法,设置Cookie对象的存在期限。这样Cookie对象就会保存在硬盘中的Cookies文件夹中如“C:Documents and SettingsAdministratorCookies”如文件“administrator@ch06[1].txt”。内容是如下代码 “name d localhost/ch06/ 1024 1524104704 30118001 4117789296 30117999 *”

3.Cookie的常见用途有哪些?(1)网站浏览人数管理

由于代理服务器、缓存等的使用,唯一能帮助网站精确统计来访人数的方法就是为每个访问者建立一个唯一的ID。使用Cookie,网站可以完成以下工作:测定多少人访问过;测定 访问者中有多少是新用户(即第一次来访),多少是老用户;测定一个用户多久访问一次网站。

通常情况下,网站设计者是借助后台数据库来实现以上目的的。当用户第一次访问该网站时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数或判断用户是新用户还是老用户。

(2)按照用户的喜好定制网页外观

有的网站设计者,为用户提供了改变网页内容、布局和颜色的权力,允许用户输入自己的信息,然后通过这些信息对网站的一些参数进行修改,以定制网页的外观。(3)在电子商务站点中实现诸如“购物篮”等功能

可以使用Cookie记录用户的ID,这样当你往“购物篮”中放了新东西时,网站就能记录下来,并在网站的数据库里对应着你的ID记录当你“买单”时,网站通过ID检索数据库中你的所有选择就能知道你的“购物篮”里有些什么。(这里不懂)4.Cookie与session有何不同?

session与Cookie同样是用来记录上线用户的个别数据的,两者的差异在于session是存在于服务器端,而Cookie则是存在于客户端。

第7章

1.试说明什么是JavaBean。

答:JavaBean是一种特殊的Java程序,是用于包装特定功能的程序代码,可以被JSP网页重复使用,其本身无法独立运行,是JSP网页程序组件化的核心。2.请说出如何在JSP网页中载入JavaBean。

A: 3.JavaBean对象可声明哪些不同的生命周期? 答:request、session、page及applaction。(我加的:JavaBean的生命周期的有效范围 Page范围:JavaBean的有效范围是当前JSP页面 request范围:JavaBean的有效范围是客户请求期间 session范围:JavaBean的有效范围是客户的会话期间

applaction范围:JavaBean的有效范围是JavaBean被实例化后就一直存在,与JSP引擎相当)

4.JavaBean程序除了必须要有一个无传入值的建构式之外,还有哪些特色?

答:除了必须要有一个无传入值的建构式之外,还必须是一个公开的类,并以set及get开头的方法来设置与取得属性。

5.试说明Get和Post方法之间的差异?

答:Post和Get这两种设置方式主要的差异在于数据的传送方式,前者将所要传送的数据包含在HTTP文件头中,后者则是将数据直接串接在网址栏的后端,两者都可使用GetParameter取得传送的数据内容。

第8章

1.import=“java.io.*” 2.试说明如何利用File类进行文件目录的操作? 答:利用File类进行文件目录的操作首先必需建立一个File对象,将所要操作文件或是目录完整路径当作参数传入,当File对象建立之后,JSP网页便可以利用这个对象调用File类的所有方法,以进行各种文件目录的操作。3.简述文件存取操作的操作过程。

答:首先利用File类建立一个参照指定文件的目录的File实体对象,接下来利用FileWriter和FileReader这两个类,进行指定文件的读写,其中的FileWriter的write方法,负责将数据写入文件,而FileReader的read则用来读取文件中的数据。

第9章

1)创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话

create table student(学号 int,姓名 varchar(10), 年龄 int, 性别 varchar(4), 家庭住址 varchar(50), 联系电话 varchar(11));

------2)修改学生表的结构,添加一列信息,学历

alter table student add column 学历 varchar(6);------3)修改学生表的结构,删除一列信息,家庭住址

alter table student drop column 家庭住址;//注意此处用drop而非delete------4)向学生表添加如下信息:

学号 姓名年龄性别联系电话学历

1A22男123456小学

2B21男119中学

3C23男110高中

4D18女114大学

insert into student(学号,姓名,年龄,性别,联系电话,学历)values(1,“A”,22,“男”,“123456”,“小学”);

insert into student(学号,姓名,年龄,性别,联系电话,学历)values(1,“B”,21,“男”,“119”,“中学”);insert into student(学号,姓名,年龄,性别,联系电话,学历)values(1,“C”,23,“男”,“123456”,“高中”);

insert into student(学号,姓名,年龄,性别,联系电话,学历)values(1,“D”,23,“女”,“114”,“大学”);

------

5)修改学生表的数据,将电话号码以11开头的学员的学历改为“大专” update student set 学历=“大专” where 联系电话 like “11%”;------

6)删除学生表的数据,姓名以C开头,性别为„男'的记录删除

delete from student where 姓名 like “C” and 性别=“男”;------

7)查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来

select 姓名,学号 from student where 年龄<22 and 学历=“大专”;------8)查询学生表的数据,查询所有信息,列出前25%的记录

select top 25 percent * from student;select * from student limit 25%;

这条有问题,在sql 2000中应该是select top 25 percent * from student;------9)查询出所有学生的姓名,性别,年龄降序排列

select 姓名,性别,年龄 from student order by 年龄 desc;------10)按照性别分组查询所有的平均年龄

select avg(年龄)as平均年龄 from student group by 性别;select avg(年龄)from student group by 性别;

select avg(年龄)平均年龄 from student group by 性别;

第10章

1.说明Statement与ResultSet接口的意义,以及这两个生成的对象在JSP程序处理数据库时,分别扮演着什么样的角色?

答:Statement:Statement接口中主要是提供了一些SQL运行的方法,以及设置运行SQL后所返回ResultSet类型对象的属性。由此接口所生成的对象在JSP中同样是用来运行各种SQL指令与设置Resultset对象的属性。

ResultSet:ResultSet接口下所定义的方法大都是用来控制ResultSet对象中指针的移动的,以取得其中的数据元素。

2.试列举说明Statement运行SQL指令的3种方法成员。

答:execute():运行一般SQL指令,例如建立数据库、修改数据表等等。

executeQuery():运行以SELECT语句开头的描述,这个方法同时返回一个包含查看结果的ResultSet对象。

executeUpdate():修改数据表内容,例如新增、删除与修改数据等。3.说明如何一次运行多段SQL语句。

答:首先建立一个Statement对象,将多个想要运行的SQL指令以addBatch()方法加到批处理文档中,最后引用executeBacth()方法运行。

(外加的:)JSP中连接MS SQL Server 数据库

两种方法都需要先导入包:java.sql.* <%@ page import=“java.sql.*” %>

1、通过JDBC-ODBC桥 1)创建ODBC数据源 2)加载驱动

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);3)连接数据库

Connection con = DriverManager.getConnection(“jdbc:odbc:数据源名称”,“用户名”,“密码”);4)创建Statement实例向数据库发送SQL指令 Statement stmt=con.createStatement();5)返回结果一般存放在记录集(ResultSet)中 a)查询

ResultSet rs=stmt.executeQuery(“SELECT * FROM TB_CustomersInfo”);b)更新

stmt.executeUpdate(“update tb_customersinfo set ci_gender=1 where ci_name='张三'”);6)关闭记录集、关闭Statement实例对象、关闭数据库连接 rs.close();stmt.close();con.close();

2、通过Java数据库驱动连接

1)安装相应的数据库驱动,安装方法参见:

http://localhost/forum/Course.aspx?id=201102 2)加载驱动

Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);3)连接数据库

String uri= “jdbc:sqlserver://127.0.0.1;DatabaseName=zywebsitedb”;String user=“zysa”;String password=“qwer!@#$”;Connection con=DriverManager.getConnection(uri,user,password);4)创建Statement实例向数据库发送SQL指令 Statement stmt=con.createStatement();5)返回结果一般存放在记录集(ResultSet)中 a)查询

ResultSet rs=stmt.executeQuery(“SELECT * FROM TB_CustomersInfo”);b)更新

stmt.executeUpdate(“update tb_customersinfo set ci_gender=1 where ci_name='张三'”);6)关闭记录集、关闭Statement实例对象、关闭数据库连接

rs.close();stmt.close();con.close();

第12章 Servlet基础

1.简述Servlet和JSP的关系。答:

Servlet是服务器端运行的一种Java应用程序。当浏览器端有请求则将其结果传递给浏览器。在JSP中使用到的所有对象都将被转换为Servlet或者非Servlet的Java对象,然后被执行,所以执行JSP实际上与执行Servlet是一样的。

2.简述Servlet的生命周期。答:

Servlet的生命周期可分为下面几个阶段:(1)装载Servlet。(2)实例化一个Servlet实例对象。(3)调用Servlet的init()方法进行初始化。(4)服务。(5)卸载。

3.简述HttpSession接口的功能和使用方法。答:.HttpSession接口是Servlet提供会话追踪解决方案。HttpSession对象存放在服务器端,只是对cookie和url重写技术的封装应用。使用HttpSession进行会话控制的过程:(1)获得一个HttpSession实例对象;

(2)访问和设置与会话相关联信息,维护会话的状态;(3)废弃会话数据。

4.简述开发一个Servlet所需要的步骤。答:

第一步:编写Servlet实例

第二步:在web.xml文件中配置该Servlet 第三步:编写其它文件

5.编写一个html页面和一个Servelt,实现利用Servelt的doPost方法读取html文件中Form表单内容。答:

参考12.6.2 6.写一个利用HttpSession接口的用户登录的Servlet,当用户已经登录时,返回欢迎信息;否则转向登录页面。答:

第一步:编写Servlet实例SessionServlet.java所示。package com;

import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;/** *

* 使用HttpSession管理会话的登录Servlet */ public class LoginServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { doPost(request, response);}

protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { response.setContentType(“text/html;charset=GB2312”);PrintWriter out = response.getWriter();

out.println(“”);out.println(“”);out.println(“”);out.println(“使用HttpSession管理会话的登录页面”);out.println(“”);out.println(“”);

// 获取会话对象

HttpSession session = request.getSession();// 从会话对象中读取数据

Boolean isLogin =(Boolean)session.getAttribute(“isLogin”);

if(isLogin == null){ isLogin = Boolean.FALSE;}

String user = request.getParameter(“user”);String password = request.getParameter(“pass”);if(isLogin.booleanValue()){ // 从会话对象中读取数据

user =(String)session.getAttribute(“user”);Date loginTime = new Date(session.getCreationTime());

out.println(“

欢迎您,” + user + “!

”);out.println(“

您的登录时间是:” + loginTime + “!

”);} else if((user!= null)&&(password!= null)){ // 在会话对象中保存数据

session.setAttribute(“user”, user);session.setAttribute(“isLogin”, Boolean.TRUE);Date loginTime = new Date(session.getCreationTime());

out.println(“

欢迎您,” + user + “!

”);out.println(“

您的登录时间是:” + loginTime + “!

”);} else { out.println(“

请在下面输入登录信息

”);out.println(“”);out.println(“”);

out.println(“

”);out.println(“”);out.println(“”);out.println(“”);

out.println(“

”);out.println(“”);out.println(“”);out.println(“”);

out.println(“

”);out.println(“”);out.println(“”);out.println(“”);

out.println(“

用户名:
密码:
”);out.println(“
”);out.println(“
”);}

out.println("

第三篇:ASPNET沈士根实验报告(一)

《Web编程基础》实验报告

班级 计专141 学号14501111姓名 黄跃翔 完成日期 2015.4.20 实验室 __理工楼320_ 指导老师 沈士根、叶晓彤 成绩__________

实验题目[请根据实际填写,参照《实验教学授课计划表》]

(一)实验目的

(1)熟悉常用的XHTML5元素

(2)掌握利用table、div和CSS实现页面布局的方法(3)掌握CSS控制页面样式的方法(4)了解JavaScript常识(5)熟悉JQuery的使用方法

(6)理解XML文件结构,掌握XML文件建立的方法(7)了解c#语言规范

(8)掌握c#基础语法、流程控制和异常处理等

(9)掌握创建c#类并应用于ASP.NET 4.5页面中的方法(10)掌握ASP.NET 4.5页面的调试方法

(二)实验内容及步骤

实验二部分

1.浏览教材提供的综合实例MyPetShop,完成首页布局

首先对页面的总体布局,然后在分割后的各个模块上添加相应的控件,对控件进行命名和修改相应的属性。完成首页的布局,代码如下:

《Web编程基础》实验报告

第四篇:C语言程序设计教程课后习题答案

C语言程序设计教程课后习题答案

第一章 C语言程序设计概述 -习题答案 算法的描述有哪些基本方法?

1、自然语言

2、专用工具C语言程序的基本结构是怎样的?举一个例子说明。

1、C语言程序由函数构成;

2、“/*”与“*/”之间的内容构成C语言程序的注释部分;

3、用预处理命令#include、#define可以包含有关文件或预定义信息;

4、大小写字母在C语言中是有区别的;

5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。C语言有什么特点?

1、具有结构语言的特点,程序之间很容易实现段的共享;

2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;

3、运算符丰富,包含的范围很广;

4、数据类型丰富;

5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;

6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;

7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。★指出合法与不合法的标识符命名。

AB12--√ leed_3--a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2--√ AVE#XY--× _762--√ #_DT5--× C.D--×说明下列Turbo C热键的功能。

F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序)Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。

①main()

{printf(“********************n”);printf(“ welcome you n”);printf(“ very good n);printf(”********************n“);} ②main()

{ int a,b,c,t;printf(”please input three numbers;“);scanf(”%d,%d,%d“,&a,&b,&c);/*教材S是错误的*/ t=max(max(a,b),c);printf(”max number is:%dn“,t);} int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);} 答

运行结果:

******************** welcome you very good ******************** 运行结果:

please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/ max number is:4 7 一个C程序是由若干个函数构成的,其中有且只能有一个___函数。

main()8 在Turbo C环境下进行程序调试时,可以使用Run下拉菜单的___命令或按___键转到用户屏幕查看程序运行结果。

1、User screen

2、Alt+F5 9 ★C语言对标识符与关键字有些什么规定?

1、标识符用来表示函数、类型及变量的名称,它是由字母、下划线和数字组成,但必须用字母或下划线开头。

2、关键字是一种语言中规定具有特定含义的标识符,其不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。C源程序输入后是如何进行保存的?

是以C为扩展名保存的纯文本文件。

第二章 C语言程序的基本数据类型与表达式 -习题答案 ★指出下列常数中哪些是符合C语法规定的。

''--× '101'--× ”“--× e3--× 019--√ 0x1e--√ ”abn“--√ 1.e5--×(2+3)e(4-2)--× 5.2e2.5--×请找出下列程序中的错误,改正后写出程序运行结果。

①void main(){int x,y=z=5,aver;x=7 AVER=(x+y+z)/3 printf(”AVER=%dn“,aver);} ②void main()

{ char c1='a';c2='b';c3='c';int a=3.5,b='A' printf(”a=%db='“endn”,a,b);printf(“a%cb%cbc%ctabcn”,c1,c2,c3);} 答

main(){int x,y=5,z=5,aver;x=7;aver=(x+y+z)/3;printf(“AVER=%dn”,aver);}

运行结果:AVER=5 ②main()

{ char c1='a', c2='b', c3='c';int a=3,b='A';printf(“a=%d,b='%c'”end“n”,a,b);printf(“a%cb%cbc%ctabcn”,c1,c2,c3);}

运行结果:a=3,b='A'“end”

aabcc abc 3 写出下列赋值的结果,表格中写了数值的是要将它赋给其他类型的变量,将所有的空格填上赋值后的数据(实数保留到小数点后两位)。int 99

-1 char 'h'

unsigned int

float

55.78

long int

答 int 99 104 66 55 68-1 char 'c' 'h' 'B' '7' 'D'

unsigned int 99 104 66 55 68 65535

float 99.00 104.00 66.00 55.78 68.00-1.00

long int 99 104 66 55 68-1

★写出程序运行结果。

①void main(){int i,j;i=8,j=10;printf(“%d,%d,%d,%dn”,i,j,++i,j++);} ②main()

{ int a=1,b=2,c=30;;printf(“%d,%d,%d,%dn”,a=b=c,a=b==c,a==(b=c),a==(b==c));} 注意:a=b=c,a=b==c之间应为逗号,教材有误 答

运行结果: 9,11,9,10 运行结果: 30,1,0,0

③void main()

{int a=10,b=20,c=30,d;d=++a<=10||b-->=20||c++;printf(“%d,%d,%d,%dn”,a,b,c,d);}

运行结果: 11,19,30,1

★写出下面表达式的值(设a=10,b=4,c=5,d=1,x=2.5,y=3.5)。⑴a%=(b%=3)

⑵n++,a+=a-=a*=a ⑶(float)(a+c)/2+(int)x%(int)y ⑷a*=b+c ⑸++a-c+b++ ⑹++a-c+++b ⑺a

⑼a+b,18+(b=4)*3,(a/b,a%b)

⑽x+a%3*(int)(x+y)%2/4+sizeof(int)⑾a

⑴0 ⑵0 ⑶9.500000 ⑷90 ⑸10 ⑹10 ⑺'A' ⑻2 ⑼4.5 ⑽1 ⑾0 ⑿20 ⒀0 下列每组表达式中,被执行后结果完全等价的是哪些(设a、b、m是已被赋值的整型变量)?

①m=(a=4,4*5)与m=a=4,4*5 ②(float)(a/b)与(float)a/b ③(int)a+b与(int)(a+b)④m%=2+a*3与m=m%2+a*3 ⑤m=1+(a=2)+(b=3)与a=2,b=3,m=1+a+b 答

①前面是赋值表达式,而后面的是一个逗号表达式,所以一定不同;

②前面的表达式中a/b结果为一整数,结果已经取整,精度可能受到影响,之后强制float后才为浮点型,后面的是先将a转换为float后再与b相除,其值保证了精度,所以不同。

③因为a、b均为整数,其前后两个表达式的计算结果是一致的。

④前一表达式是一算术表达式,而后者为一赋值表达式,此为一点不同;另外,前一表达式的m只被赋过一次值,后一表达式中的m曾两次被赋值,第一次赋值时与第一表达式中的值一致,第二次赋值后即不再相同。⑤前后表达式的计算结果应该是一致的:a=2, b=3, m=6 7 条件表达式x>0?x:-x的功能是什么?

如果x的值是一正数,则表达式的值为x值;如果x的值是一非正数,则表达式的值为-x。其实该表达式的值即为x的绝对值,C语言中提供了一个函数fabs(x)即可完成此功能,该函数包含在math.h头文件中。用一个条件表达式描述从a、b、c中找出最大都赋给max.答

max=a>(b>c?b:c)?a:(b>c?b:c);9 ★若x为int型变量,则执行以下语句后x的值为()。x=6;x+=x-=x*x;A.36 B.-60 C.60 D.-24 答 B.10 ★若有以下类型说明语句: char w;int x;float y;double z;则表达式w*x+z-y的结果为()类型。A.float B.char C.int D.double 答 D.第三章 顺序结构程序设计 -习题答案 变量k为float类型,调用函数scanf(“%d”,&k),不能使变量k得到正确数值的原因是___。

格式修饰符与变量类型不一致。因为%d输入的数据类型应该为十进制整数,而&k为占用4个字节的float类型变量的地址。★a=1234,b=12,c=34,则执行“printf(“|%3d%3d%-3d|n”,a,b,c);”后的输出是___。

|1234 1234 |

分析如下:

①%3d为右对齐输出变量,且指定输出变量的值宽度为3个字符位,如果变量实际位数小于3,则左端补空格,如果变量实际位数大于3,则按实际长度输出,不受限制。

②%-3d为左对齐输出变量,在输出变量时,如是变量实际位数小于3,则在右端补空格,否则按实际输出。★设有“int a=255,b=8;”,则“printf(“%x,%on”,a,b);”输出是___。答 ff,10 ①如果“printf(“%X,%on”,a,b);”则输出为FF,10。说明在输出十六进制字母时,其大小写受格式修饰符的限制,如果是“%x”则输出小写,如果是“%X”则输出大写。

②如果希望在输出十六进制时输出前导符0x或0X,则以上输出语句应改“printf(“%#x,%on”,a,b);”为或“printf(“%#X,%on”,a,b);”。本条解释不必须掌握。★以下程序输出的结果是___。main(){ int a1=1,a2=0,a3=2;printf(“%d,%d,%dn”,a1,a1+a2+a3,a3-a1);} 答 1,3,1 5 printf函数中用到格式符%5s,其中5表示输出字符占用5列。如果字符串长度大于5,则按___输出;如果字符串长度小于5,则按___输出。

①实际 ②左端补空格 6 ★已定义变量如下: int a1,a2;char c1,c2;若要求输入a1、a2、c1和c2的值,正确的输入函数调用语句是___。

scanf(“%d,%d,%c,%c”,&a1,&a2,&c1,&c2);7 输入两个整型变量a、b的值,输出下列算式以及运算结果___。a+b、a-b、a*b、a/b、(float)a/b、a%b 每个算式占一行。如a=10,b=5,a+b输出为:10+5=15 答

设int a=10,b=5;以下为输出语句及结果: ①printf(“%d+%d=%dn”,a,b,a+b);10+5=15 ②printf(“%d-%d=%dn”,a,b,a-b);10-5=5 ③printf(“%d*%d=%dn”,a,b,a*b);10*5=50 ④printf(“%d/%d=%dn”,a,b,a/b);10/5=2 ⑤printf(“%(float)d/%d=%fn”,a,b,(float)a/b);(float)10/5=2.000000 ⑥printf(“%d%%%d=%dn”,a,b,a%b);10%5=0 8 ★输入一个非负数,计算以这个数为半径的圆周长和面积。答

#define PI 3.1415926 main(){ float r,l,area;printf(“Input a positive:”);scanf(“%f”,&r);l=2*PI*r;area=PI*r*r;printf(“l=%ftarea=%fn”,l,area);} 9 输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。

main(){ int x,y;printf(“Input a number(100-999):”);scanf(“%d”,&x);y=100*(x%10)+10*(x/10%10)+x/100;/*注意分析此处算法*/

第五篇:完整的delphi程序设计教程课后习题答案

1.239页1题小时钟 procedure TForm1.Timer1Timer(Sender: TObject);var xt,yt:integer;h,m,s,ms:word;begin decodetime(time,h,m,s,ms);xt:=paintbox1.clientwidth div 2;yt:=paintbox1.clientheight div 2;paintbox1.refresh;paintbox1.canvas.moveto(xt,yt);paintbox1.canvas.pen.width:=3;paintbox1.canvas.lineto(xt+round(sin((60*h+m)/(12*60)*2*pi)*100), yt-round(cos((60*h+m)/(12*60)*2*pi)*100));paintbox1.canvas.moveto(xt,yt);paintbox1.canvas.pen.width:=2;paintbox1.canvas.lineto(xt+round(sin(m/60*2*pi)*140), yt-round(cos(m/60*2*pi)*140));paintbox1.canvas.moveto(xt,yt);paintbox1.canvas.pen.width:=1;paintbox1.canvas.lineto(xt+round(sin(s/60*2*pi)*180), yt-round(cos(s/60*2*pi)*180));end;end.2.239页3题求两点间的距离 procedure TForm1.Button1Click(Sender: TObject);begin paintbox1.Refresh;formpaint(sender);end;procedure TForm1.FormPaint(Sender: TObject);var xt,yt:integer;ax,ay,bx,by:integer;begin xt:=paintbox1.ClientWidth div 2;yt:=paintbox1.Clientheight div 2;paintbox1.canvas.MoveTo(xt,0);paintbox1.canvas.lineTo(xt,2*yt);paintbox1.canvas.MoveTo(0,yt);paintbox1.canvas.lineTo(2*xt,yt);ax:=strtoint(edit1.text);ay:=strtoint(edit2.text);bx:=strtoint(edit3.text);by:=strtoint(edit4.text);

edit5.Text:=floattostr(sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)));

paintbox1.canvas.MoveTo(xt+ax*10,yt-ay*10);

paintbox1.canvas.lineTo(xt+bx*10,yt-by*10);end;end.3.226页5题输入学生成绩 var

Form1: TForm1;type

studentrecord=record xh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;

implementation {$R *.dfm} procedure

TForm1.Button1Click(Sender: TObject);

var t:studentrecord;

f,f1:file of studentrecord;p1,p2:boolean;begin

assignfile(f,'c:my documentsstu.dat');reset(f);

assignfile(f1,'c:my documentsstu1.dat');rewrite(f1);

while not eof(f)do begin read(f,t);

p1:=(t.sx>=85)and(t.yy>=85)and(t.dz>=85);

p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 then write(f1,t);end;

closefile(f);closefile(f1);end;

procedure

TForm1.FormCreate(Sender: TObject);

var t:studentrecord;f:file of studentrecord;xingbie:string;begin

assignfile(f,'c:my documentsstu.dat');reset(f);

while not eof(f)do begin read(f,t);if t.xb then xingbie:='男' else

xingbie:='女';

listbox1.Items.Add(t.xh+' '+t.xm+' '+xingbie+' '+inttostr(t.sx)+

' '+inttostr(t.yy)+' '+inttostr(t.dz));end;

closefile(f);end;

procedure

TForm1.Button2Click(Sender: TObject);begin close;end;end.4.226页8题保存获得奖学金者 var

Form1: TForm1;type

studentrecord=record xh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;

implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);var t:studentrecord;f,f1:file of studentrecord;p1,p2:boolean;begin assignfile(f,'c:my documentsstu.dat');reset(f);assignfile(f1,'c:my documentsstu1.dat');rewrite(f1);while not eof(f)do begin read(f,t);p1:=(t.sx>=85)and(t.yy>=85)and(t.dz>=85);p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 then write(f1,t);end;closefile(f);closefile(f1);end;procedure TForm1.FormCreate(Sender: TObject);var t:studentrecord;f:file of studentrecord;xingbie:string;begin assignfile(f,'c:my documentsstu1.dat');reset(f);while not eof(f)do begin read(f,t);if t.xb then xingbie:='男' else xingbie:='女';listbox1.Items.Add(t.xh+' '+t.xm+' '+xingbie+' '+inttostr(t.sx)+ ' '+inttostr(t.yy)+' '+inttostr(t.dz));end;closefile(f);end;procedure TForm1.Button2Click(Sender: TObject);begin close;end;end.5.166页22题素数 procedure

TForm1.Button1Click(Sender: TObject);type

sushuset=set of byte;var

sushu:sushuset;i,j,n,m,k:longword;s,s0:string;begin

n:=strtoint(edit1.text);m:=strtoint(edit2.text);if n mod 2=0 then n:=n+1;k:=m-n;

if k>255 then

showmessage('范围太大,请重新输入区间端点!')else begin

sushu:=[0..k];for i:=2 to n-1 do for j:=n to m do

if j mod i =0 then sushu:=sushu-[j-n];for i:=n to m div 2 do for j:= i+1 to m do

if j mod i =0 then sushu:=sushu-[j-n];s:='';s0:='';

for i:=n to m do if i-n in sushu then begin

if length(s0+' '+inttostr(i))>60 then begin

s:=s+s0+chr(13);s0:='' end;

s0:=s0+' '+inttostr(i);end;s:=s+s0;label1.caption:=s;

groupbox1.Top:=(panel1.Top-groupbox1.height)div 2;end;end;

procedure

TForm1.FormCreate(Sender: TObject);begin

groupbox1.Top:=(panel1.Top-groupbox1.height)div 2;end;

procedure

TForm1.Edit1KeyPress(Sender: TObject;var Key: Char);var j:set of char;begin

j:=['0'..'9',#8];

if not(key in j)then key:=#0;end;end.6.148页12题整除的数 implementation {$R *.dfm}

function d7(x:integer):boolean;begin

if x mod 7=0 then d7:=true else d7:=false;end;

function d17(x:integer):boolean;begin

if x mod 17=0 then d17:=true else d17:=false;end;

procedure

TForm1.FormActivate(Sender: TObject);var

n:integer;begin

for n:=1000 to 4000 do if d7(n)and d17(n)then memo1.Lines.Add(inttostr(n));end;end.7.148页17题求斐波那契数列问题 implementation {$R *.dfm} function fib(n:integer):int64;begin case n of 1,2:fib:=1;else fib:=fib(n-1)+fib(n-2);end;end;procedure TForm1.Button1Click(Sender: TObject);var k:integer;begin memo1.lines.clear;for k:=1 to strtoint(edit1.text)do memo1.lines.add(format('%2d %3d',[k,fib(k)]));end;end.8.120页10题,判断是否是闰年 procedure TForm1.Button1Click(Sender: TObject);var y,m:integer;begin y:=strtoint(edit1.text);m:=strtoint(edit2.text);label3.Caption:='';if((y mod 4 = 0)and(y mod 100 <> 0))or(y mod 400=0)then label3.Caption:=edit1.text+'年是闰年,' else label3.Caption:=edit1.text+'年不是闰年,';case m of 3,4,5:Label3.Caption:=Label3.Caption+edit2.Text+'月份是春天,';6,7,8:Label3.Caption:=Label3.Caption+edit2.Text+'月份是夏天,';9,10,11:Label3.Caption:=Label3.Caption+edit2.Text+'月份是秋天,';else Label3.Caption:=Label3.Caption+edit2.Text+'月份是冬天,';end;

case m of

1,3,5,7,8,10,12:Label3.Caption:=Label3.Caption+'共有31天,';

4,6,9,11:Label3.Caption:=Label3.Caption+'共有30天,';else

if((y mod 4 = 0)and(y mod 100 <> 0)or(y mod 400=0))then Label3.Caption:=Label3.Caption+'共有29天,' else

Label3.Caption:=Label3.Caption+'共有28天,';end;end;end.9.120页11题求和的 procedure

TForm1.Button1Click(Sender: TObject);var

n,k,j:integer;s:int64;begin

n:=strtoint(edit1.text);j:=0;s:=0;

for k:=1 to n do begin j:=j+k;s:=s+j;end;

panel2.Caption:=format('s = %d',[s]);edit1.setfocus;end;

procedure

TForm1.Edit1KeyPress(Sender: TObject;var Key: Char);var b:boolean;begin

b:=(key<>#8)and(key<#48)or(key>#57);

if b then key:=#0;end;end.10.120页12题男人,女人,小孩各有多少人 procedure

TForm1.Button1Click(Sender: TObject);var

x,y,z:integer;p:string;begin

memo1.clear;for x:=0 to 16 do for y:=0 to 24 do begin

z:=30-x-y;

if 3*x+2*y+z/1=50 then begin

p:=format('%3d %3d %3d',[x,y,z]);

memo1.lines.add(p);end;end;end;end.11.98页2题求长方体的表面积 procedure

TForm1.Button1Click(Sender: TObject);var

s,l,k,h:double;begin

l:=strtofloat(edit1.text);k:=strtofloat(edit2.text);h:=strtofloat(edit3.text);s:=2*l*k+2*k*h+2*l*h;label1.Caption:=floattostr(s);end;end.12.98页5题计算圆的面积和周长 procedure

TForm1.Edit1KeyPress(Sender: TObject;var Key: Char);var r:real;b:boolean;begin b:=(key<>#8)and(key<>'.')and(key<>#13)and(key<#48)or(key>#57);if b then key:=#0;if key =#13 then begin if edit1.text='' then edit1.text:='0';r:=strtofloat(edit1.text);if radiobutton1.Checked then label1.Caption:=format('圆的面积为: %f',[pi*r*r]);if radiobutton2.Checked then label1.Caption:=format('圆的周长为: %f',[2*pi*r]);if radiobutton3.Checked then label1.Caption:=format('圆的面积为: %f'+chr(13)+ '周长为: %f',[pi*r*r,2*pi*r]);edit1.SelectAll;end;end;procedure TForm1.RadioButton1Click(Sender: TObject);var sender0:tobject;key:char;begin sender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;procedure TForm1.RadioButton2Click(Sender: TObject);var sender0:tobject;key:char;begin sender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;procedure TForm1.RadioButton3Click(Sender: TObject);var sender0:tobject;key:char;begin

sender0:=edit1;key:=#13;

form1.edit1keypress(sender0,key);end;end.13.98页6题统计奇数和偶数的个数

procedure

TForm1.Button1Click(Sender: TObject);var

k,j,n:word;begin k:=0;

n:=combobox1.items.count;for j:=1to n do

if strtoint(combobox1.items[j-1])mod 2 = 0 then k:=k+1;

label1.caption:=format('共有: '+#13+'%d个偶数,'+#13+'%d个奇数。',[k,n-k]);end;

procedure

TForm1.Button2Click(Sender: TObject);begin

combobox1.items.clear;end;

procedure

TForm1.ComboBox1KeyPress(Sender: TObject;var Key: Char);begin if(key =#13)and(combobox1.text<>'')then

//按键后接收输入的选项 begin

combobox1.items.insert(0,combobox1.text);

//按键后移去选项

combobox1.selstart:=0;combobox1.text:='';end;

if key = #27 then

if combobox1.itemindex<>-1 then

combobox1.items.Delete(combobox1.itemindex);end;end.14.98页8题设置倒计时的时间,并进行倒计时 procedure

TForm1.Timer1Timer(Sender: TObject);var

m,n,s,h:integer;begin

timer1.Tag:=timer1.Tag-1;m:=timer1.Tag;if m<0 then begin

timer1.enabled:=false;

showmessage('预定的时间到了!');edit1.Text:='0';end else begin s:=m;

n:=s div 60;s:=s mod 60;h:=n div 60;n:=n mod 60;

maskedit1.text:=format('%d:%d:%d',[h,n,s]);

if n <> strtoint(edit1.text)then edit1.Text:=inttostr(n);end;end;

procedure

TForm1.Button1Click(Sender: TObject);begin

timer1.enabled:=True;

timer1.Tag:=strtoint(edit1.Text)*60;end;end.

下载Web程序设计沈士根版课后习题答案word格式文档
下载Web程序设计沈士根版课后习题答案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    微生物学课后习题(沈萍)(精选)

    微生物习题集 第一章绪论 选择题(4个答案选1) 1.当今,一种新的瘟疫正在全球蔓延,它是由病毒引起的( )。 A 鼠疫 B 天花 C 艾滋病(AIDS) D 霍乱 2.微生物在整个生物界的分类......

    自考Java语言程序设计(一)课后习题及答案

    更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你......... 自考Java语言程序设计(一)课后习......

    c语言程序设计课后习题答案 第7章

    /*练习7-1*/ #include main { int a[10],n,sum=0,i; float ave; printf("enter n:n"); scanf("%d",&n); printf("enter %d ge zheng shu:n",n); for(i=0;i......

    微生物学课后习题答案_沈萍_陈向东

    微生物习题集 第一章 绪论 一、术语或名词 1.微生物(microorganism) 因太小,一般用肉眼看不清楚的生物。这些微小生物包括:无细胞结构不能独立生活的病毒、亚病毒(类病毒、拟病......

    《C语言程序设计》课后习题参考答案

    高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案 ――武汉大学出版社习题1参考答案 一、选择题 1. A 2. D 二、填空题 1. BASIC、FORTRAN、AL_GOL60和CO......

    C#应用程序设计教程 第二版+课后习题答案

    第一章 1.判断题 (1)× √ √ × ×(6) √ 2.选择题 (1)C B B C D(6) C 3.编程题 using System; using System.Collections.Generic; using......

    C语言程序设计(郑莉)课后习题答案(大全五篇)

    C++语言程序设计(清华大学郑莉)课后习题答案 第 一 章 概述1-1 简述计算机程序设计语言的发展历程。 解: 迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级......

    物理化学核心教程(沈文霞)课后习题答案

    物理化学核心教程--沈殿霞课后习题答案第一章气体一.基本要求1.了解低压下气体的几个经验定律;2.掌握理想气体的微观模型,能熟练使用理想气体的状态方程;3.掌握理想气体混合物组成......