第一篇:JSP程序设计习题解答
习题一
1.运行startup.bat启动Tomcat服务器的好处是什么?
答:确保Tomcat服务器使用的是Java_home环境变量设置的JDK。
2.请在C:下建立一个名字为book的目录,并将该目录设置成一个Web服务目录,然后编写一个简单的JSP页面,保存到该目录中,让用户使用虚拟目录red访问该JSP页面。答:属于操作题,解答略。
3.怎样访问Web服务目录子目录中的JSP页面?
答:Web服务目录的下的目录称为该Web服务目录下的相对Web服务目录。浏览器的地址栏中键入:http://IP:8080/Web目录名字/子目录名字/JSP页面。
4.如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80。答:修改Tomcat服务器安装目录中conf文件夹中的主配置文件:server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。
习题二
1.“<%!”和“%>”之间声明的变量与“<%”和“%>”之间声明的变量有何不同? 答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。
“<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。
2.如果有两个用户访问一个JSP页面,该页面中的Java程序片将被执行几次? 答:两次。
3.是否允许一个JSP页面同时含有如下两条page指令: <%@ page contentType=“text/html;charset=GB2312” %> <%@ page contentType=“application/msword” %> 是否允许JSP页面同时含有如下两条指令: <%@ page import=“java.util.*” %> <%@ page import=“java.sql.*” %> 答:第一个问题的答案是不允许;第二个问题的答案是允许。
4.假设有两个用户访问下列JSP页面hello.jsp,请问第一个访问和第二个访问hello.jsp页面的用户所看到的页面的效果有何不同?
Hello.jsp <%@ page contentType=“text/html;charset=GB2312” %> <%@ page isThreadSafe=“false” %>
<%!int sum=10;void add(int m){
sum=sum+m;} %> <% int n=600;
add(n);%>
<%=sum%>
第二篇:Windows程序设计案例教程习题解答
《Windows程序设计案例教程》习题解答
第1章
1.1 选择题
1..NET Framework是一种()。
A、编程语言 B、程序运行平台 C、操作系统 D、数据库管理系统 2.用Visual Studio.NET编写的程序被编译成中间语言(MSIL)后,运行时还要再一次被编译,这种编译被称为()。
A、CLR B、JIT C、GC D、GDI 3.using namespace的作用是表示()。
A、引入名字空间 B、使用数据库 C、使用一个文件 D、使用一段程序 4.要使程序运行,需要按()键。
A、F5 B、Ctrl+F5 C、F10 D、F11 5.C#中的数据类型有()和()两种。
A.值类型
B.调用类型
C.引用类型
D.关系类型 6.以下运算符中,()是三目运算符。
A.?:
B.――
C.=
D.<= 7.下列不能为类的成员的是()。
A、属性 B、方法 C、索引器 D、接口
8.下列哪一个不是类的成员的访问修饰符()
A、private B、base C、public D、protected 9.调用构造函数创建对象时,通常使用()关键字。
A.typeof B.new C.as D.is 10.关键字virtual只能用来修饰类的()成员。
A.字段 B.方法 C.属性 D.常量
11.用()关键字定义的方法,属于整个类而不属于类的某一个具体实例。
A.public B.static C.protected D.private 12.在属性的访问声明中,对属性的读操作用()关键字标出,表明属性的值是只读的,不能改写。
A.set B.get C.private D.public 13.声明了一个数组Array[13],则Array[3]表示第()个元素。
A.3 B.4 C.5 D.无法知道 14.在C#中,多继承通过()来实现
A.属性 B.接口 C.索引器 D.方法
15.采用异常处理格式编写程序的目的在于使程序()。
A.不会引发异常 B.顺利通过编译
C.减少异常 D.在出现异常后能够得到处理 16.窗体的标题条显示的标题由窗体的()属性决定。
A、BackColor B、Text C、ForeColor D、Opacity 17.关闭窗体需要调用窗体()方法。
A、Show B、Hide C、Activate D、Close 18.对文本文件写进一行,需要调用StreamWriter实例的()方法。
A.Write B.WriteLine C.Flush D.Close 参考答案
1.B 2.B 3.A 4.B 5.A、C 6.A 7.D 8.B 9.B 10.B 11.B 12.B 13.B 14.B 15.D 16.B 17.D 18.B
1.2 判断题
1.类是具有相同特征和行为的事物的抽象,对象是类的实例化。2.一个类只能有一个对象,它就是this。
3.因为结构与类十分相似,所以它们的存储形式是相同的。4.一个派生类只能有一个基类,但可以有多个接口。
5.当程序运行后有异常出现,该段程序就应该采用异常处理的格式来编写。6.类File与FileInfo的功能是相同的,其方法名相同,方法的参数也相同。参考答案
1.√ 2.╳ 3.╳ 4.√ 5.╳ 6.╳
第2章
2.1 选择题
1.窗体的标题条显示的文本由窗体的()属性决定。
A、BackColor B、Text C、ForeColor D、Opacity 2.下列控件在程序运行期间总不可见的是()。
A、TextBox B、Timer C、Label D、PictureBox 3.当鼠标移动到控件上时要改变鼠标光标形状需要修改控件的()属性。
A、Font B、Icon C、Cursor D、Dock 4.要使控件不可用(呈灰色显示)需要将()属性设置为False。
A、Enabled B、Visible C、Locked D、CausesValidation 5.要将焦点设置到某控件,需要调用该控件的()方法。
A、FindForm B、Refresh C、GetNextControl D、Focus 6.当输入焦点离开控件时调用的代码段应写在该控件的()事件中。
A、Enter B、Leave C、LostFocus D、Move 7.需要判明在控件上按下的是鼠标哪个键时需要利用该控件的()事件。
A、KeyDown B、KeyUp C、MouseDown D、MouseUp 8.当控件的文本(Text)属性发生改变时会引发控件的()事件。
A、TextChanged B、SizeChanged C、StyleChanged D、LocationChanged 参考答案
1.B 2.B 3.C 4.A 5.D 6.B 7.C 8.A
2.2 判断题
1.ComboBox控件中的Text既可以选择,也可以输入。
2.要使得在TextBox控件中输入的文本显示为一系列的“*”,必须将该控件的PasswordChar属性设置为’*’。
3.Button控件的Dock属性用来控制对象停靠在容器的哪边。
4.向ListBox控件中加入一个条目需要调用其CreateControl方法。5.Timer控件的Interval属性的单位是秒。
6.要使Label控件的大小适应所显示文本的大小,将其AutoSize属性设置为True即可。
7.一组CheckBox控件的Checked属性是互斥的。
8.在RadioButton控件上单击会使其Checked属性的值变得相反。
9.要使TextBox控件呈多行显示,需要将其Multiline属性设置为False。10.要使ListBox控件呈多列显示,需要将其MultiColumn属性设置为True。11.PictureBox控件既能显示图片又能显示文本。参考答案
1.√ 2.√ 3.√ 4.╳ 5.╳ 6.√ 7.╳ 8.╳ 9.╳ 10.√ 11.╳
第3章
3.1 选择题
1.要给“新建”菜单项设置助记符N,其属性Text的正确值是()。A、新建(*N)B、新建(&N)C、新建(Alt+N)D、新建(Contrl+N)2.要在一个控件上击右键弹出上下文菜单,需要利用控件的()事件。
A、Click B、KeyPress C、MouseDown D、MouseMove 3.当鼠标在某工具按钮上停顿时欲显示提示信息,需要设置它的()属性。
A、Text B、ToolTipText C、ImageIndex D、Enabled 4.要将通用对话框openFileDialog1显示出来,需调用其()方法。
A、Show B、ShowDialog C、OpenFile D、Display 5.要设置主菜单某菜单项的快捷键,需要设置其()属性。
A、Shortcut B、ShowShortcut C、Checked D、RadioCheck 6.要将状态栏停靠在容器的顶部,需要将其Dock属性设置为()。
A、Top B、Bottom C、Fill D、None 7.消息框MessageBox的Show方法的返回值是()类型。
A、DialogResult B、BorderStyle C、string D、int 参考答案
1.B 2.C 3.B 4.B 5.A 6.A 7.A
3.2 判断题
1.要使某主菜单显示在窗体上,必须将窗体的Menu属性指定到该主菜单。2.工具栏按钮的图片可以直接来自图片文件。
3.工具栏的ButtonSize属性的作用是根据按钮的大小自动调整自身的大小。
4.状态栏的ShowPanels属性的作用是确定状态栏是否显示窗格。5.要在工具栏上增加一个按钮,需要调用它的Insert方法。
6.打开文件和保存文件对话框的FileName属性是用户在对话框中指定文件的文件名,但不包括文件的位置信息。
7.字体对话框的Font属性包含了字体的颜色信息。
8.要显示一个消息框,必须先为MessegeBox类创建一个实例,然后调用其Show方法才能实现。参考答案
1.√ 2.╳ 3.╳ 4.√ 5.╳ 6.╳ 7.╳ 8.╳
第4章
4.1选择题
1.ADO.NET是一种()。
A、查询语言 B、数据库 C、数据库管理系统 D、用于数据访问的基类库 2.数据集DataSet与SQL数据源之间的桥梁是()。
A、SqlConnection B、SqlDataAdapter C、SqlCommand D、SqlTransaction 3.将数据集中的数据同步到数据源中去,必须调用DataAdapter的()方法。
A、Fill B、Dispose C、Update D、ToString 4.向数据源插入一条记录,需要将命令对象的CommandText属性设置为SQL语言的Insert命令后,再调用命令对象的()方法。A、ExecuteNonQuery B、ExecuteReader C、ExecuteScalar D、ExecuteXmlReader 5.若要使 DataGrid控件的标题条不可见,需要将控件的()属性值设置为felse。
A、Visible B、Enabled C、RowHeadersVisible D、CaptionVisible 6.当获取到DataGrid控件的CurrentRowIndex属性值为-1时,说明()。
A、控件中没有行 B、控件中的行太多已超出范围 C、用户选择了第一行 D、用户选择了最后一行 参考答案
1.D 2.B 3.C 4.A 5.D 6.A
4.2 判断题
1.数据集DataSet与数据源之间是离线访问方式,而数据读取器DataReader与数据源之间是连线访问方式。
2.数据集DataSet是通过数据适配器DataAdapter的Update()方法将数据源中某些特定数据填充到内存中的本地拷贝。
3.窗体的BindingContext.Position用于设置或获取当前绑定数据集中某个表的上下文的位置。
4.SqlConnection对象的连接字符串用来指明连接对象的数据服务器名、数据库名、数据用户名和用户口令。
5.SqlCommand对象的CommandText属性需要一个SQL语句或一个存储过程名。
6.数据集中的数据与数据源中的数据总是完全相同的。参考答案
1.√ 2.╳ 3.√ 4.√ 5.√ 6.╳
第5章
5.1选择题 1.以下代表了TabControl控件的选项卡数目的属性是()。
A、TabPages B、TabCount C、Multiline D、TabIndex 2.语句tabControl1.SelectedIndex=1;的作用是()。
A、选中第一个选项卡 B、选中第二个选项卡 C、使第一个选项卡可见 D、使第二个选项卡可见 3.文本框TextBox控件的数据验证代码一般写在()事件中。
A、Validated B、Validating C、DataBindings D、Disposed 4.要停用按钮button1的验证,需要将其()属性设为false。
A、Enabled B、Visible C、CausesValidation D、AllowDrop 5.Char.IsPunctuation(a)的值为true时,变量a是一个()。
A、字母 B、数字 C、字母或数字 D、标点符号
6.用户在DateTimePicker控件上选择的日期,被保存在()属性中。
A、Value B、Text C、MaxDate D、MinDate 参考答案
1.B 2.B 3.B 4.C 5.D 6.A
5.2判断题
1.用户在TabControl控件上的任何位置单击将引发控件的Click事件。2.向数据库插入记录时,只要采用异常处理格式编写插入代码,就能保证插入的数据是正确的。
3.DateTimePicker控件的Text属性是一个日期类型。
4.当光标到达TextBox控件时将引发控件的GotFocus事件。5.数据验证的目的是为了保证程序能够正常运行。
6.调用DataAdapter的Update方法也可以向数据库插入记录。参考答案
1.╳ 2.╳ 3.╳ 4.╳ 5.╳ 6.√
第6章
6.1选择题
1.窗体绑定上下文BindingContext中某元素的当前位置可以通过其()属性设置或获取。
A、Current B、Count C、Position D、Bindings 2.要使ListView控件以详细信息形式显示项目,必须将属性View设置为()。
A、SmallIcon B、LargeIcon C、List D、Details 3.要向ListView控件中插入一个项目,需要调用控件的()方法。
B、Items.Add B、Items.Insert C、Items.Remove D、Items.Clear 4.TreeView控件的节点集合保存在()属性之中。
A、Items B、Nodes C、Controls D、ImageList 5.当用户在TreeView控件上选择了一个节点,其处理程序代码应编写在()事件中。
A、BeforeExpand B、AfterSelect C、Click D、MouseDown 6.treeView1.Nodes[1].Nodes[0]代表了控件treeView1的()。A、第1个根节点的第1个子节点 B、第1个根节点的第2个子节点 C、第2个根节点的第1个子节点 D、第2个根节点的第2个子节点 参考答案
1.C 2.D 3.B 4.B 5.B 6.C
6.2判断题
1.当Panel控件的Enabled属性值设置为false时,其内的所有控件都不可用。
2.当Splitter控件的Enabled属性值设置为false时,用户不能够通过它拖动窗格的大小。
3.TreeView控件某个节点的Nodes.Count属性值为0,说明这个节点没有下级子节点。
4.当TextBox控件的Text属性绑定到数据集的某个字段后,移动数据集绑定上下文的位置到第一条记录,文本框将自动显示第一条记录对应字段的值。
5.ListView控件在显示项目列表时总带有一个图标。
6.C#的Windows应用程序设计中,可以使用基类PageDataSource进行分页处理。参考答案
1.√ 2.√ 3.√ 4.√ 5.╳ 6.╳
第7章
7.1选择题
1.C#的Windows应用程序的入口点是()。
A、某个窗体的Main()方法 B、某个窗体的Load()事件 C、某个窗体的Init事件 D、某个窗体的构造函数 2.窗体程序代码中的this代表了()。
A、当前窗体类 B、窗体的当前实例 C、代码所在的方法 D、代码所在的事件
3.若没有为窗体DialogResult属性赋值,该窗体ShowDialog()方法的返回值将是()。
C、DialogResult.OK B、DialogResult.Yes C、DialogResult.Cancel D、null 4.关于类的虚拟方法的说法中正确的是()。
A、虚拟方法就是没有实现的方法 B、不能在派生类中调用基类的虚方法 C、可以在派生类中重载基类的虚方法 D、基类中不能调用自己的虚方法 5.关于类的属性的说法中错误的是()。
A、定义类的属性必须指明它的类型 B、只有get块的属性称为只读属性 C、属性比方法的功能更强大 D、static属性可以通过类名访问 6.关于MDI窗体菜单的说法正确的是()。
A、MDI父窗体与其子窗体菜单合并后,父窗体菜单一定排在子窗体菜单的前面。
B、当有多个MDI子窗体显示后,所有子窗体菜单将一同合并显示在MDI父窗体上。
C、当MDI子窗体显示后,子窗体上不可能显示菜单。
D、MDI窗体菜单合并后,菜单项的数目等于父窗体菜单项与子窗体菜单项之和。
7.要将一个窗体设置为MDI父窗体,需要将该窗体的()属性设置为true。
A、IsHandleCreated B、MdiParent C、MdiChildren D、IsMdiContainer 参考答案
1.A 2.B 3.c 4.C 5.C 6.C 7.D
7.2判断题
1.窗体实例的Show()方法是以非模态方式显示窗体,该方法显示的窗体独占屏幕焦点。
2.窗体的Show()方法和ShowDialog()方法都有返回值,这些返回值是DialogResult类型的枚举量。
3.若窗体的FormBorderStyle属性被设置成FixedToolWindow,该窗体实例显示后将不能拖动它的位置。
4.当一个窗体的构造函数被重载后,它原来的那个构造函数将自动失效。5.派生窗体中的成员不能比基窗体中的少,也就是说不能在派生窗体中删除基窗体带过来的控件。
6.MDI子窗体显示在父窗体的工作区后,其工具栏将与父窗体的工具栏合并。
参考答案
1.╳ 2.╳ 3.╳ 4.╳ 5.√ 6.╳
第三篇:《JSP程序设计》职业技能训练大纲
曲靖师范学院计算机科学与工程学院 《JSP程序设计》学生职业技能训练大纲
(2013年5月 编写)
为了促进我院学生尽快熟悉和掌握JSP语言编程的基本知识和技能,特制定本职业技能训练大纲。大纲适合我院计算机科学与技术、信息管理与信息系统和软件工程三个专业的全体学生。通过JSP语言程序设计的职业技能训练,使学生掌握JSP运行环境的搭建、JSP页面元素、JSP内置对象、JSP数据库操作、文件操作、Web基础知识、JSP与JavaBean、Servlet编程技术等知识点。
由于《JSP程序设计》职业技能训练是在学习《JSP程序设计》课程时开展,故训练内容可参考这门课程的教学大纲要求。为了促进职业技能的训练效果,将设置3个评测项目,每个项目包含训练目标、训练内容、训练方法要求、训练实施安排及考核、参考资料等部分,学生根据要求熟练掌握各知识点。最后考核则选择其中某个项目,并参考其要求实施。
项目一:JSP学生成绩管理程序
一、训练目标
通过本项目的训练,使学生掌握JSP语言编写一个小型学生成绩程序的方法。该程序包括成绩录入、修改成绩、查询成绩、删除程序功能。通过该技能的训练,除了熟悉JSP语言语法外,为今后的动态网站的开发奠定良好的基础。
二、训练内容
1.JSP开发环境的搭建 2.数据表的创建 3.数据查询的方法 4.数据添加的方法 5.数据更新的方法
三、训练方法要求
使用MyEclipse工具编制实现训练目标及内容要求的JSP代码程序,要求学生独立完成程序代码的编制与调试。
四、训练实施安排及考核
1.时间安排: 与课程《JSP程序设计》同一学期开设,课余时间,短学期。2.训练方式: 除课堂上必要的训练外,课余对学生开放相关实验室进行操作训练。
3.考核形式: 开卷考核。学生使用MyEclipse编写JSP程序,实现训练目标及内容所要求功能,并对代码增加详细注释。最后提交可访问的成绩管理动态网站,并随机选取部分学生参与答辩,据此给出成绩评定。
五、说明
1.需要安装有MyEclipse的计算机,可使用学院机房的计算机,也可以使用学生自己的个人电脑完成实验项目。
2.参考资料
[1] 范芸,范慧霞.JSP动态网站开发基础与上机指导[M].北京:清华大学出版社, 2010.[2] 王小军,田中雨,刘跃军.JSP动态网站开发[M].北京:清华大学出版社, 2008.[3] 刘俊亮,王清华.JSP Web开发学习实录[M].北京:清华大学出版社, 2011 [4] 王永茂.JSP程序设计——用JSP开发Web应用[M].北京:清华大学出版社, 2012.[5] 向学哲.JSP程序设计教程[M].北京:人民邮电出版社, 2009.[6]清华大学计算机与信息管理中心.Servlet和JSP编程基础[M].北京:中国铁道出版社, 2010.项目二:简单的购物程序
一、训练目标
通过本项目的训练,使学生掌握JSP语言编写一个网上购物程序。该程序包括用户注册、登陆、购物车、商品列表分页显示功能。通过该技能的训练,除了熟悉JSP语言语法外,为今后的动态网站的开发奠定良好的基础。
二、训练内容
1.JSP页面的创建 2.JavaBean类的创建
3.JavaBean组建对数据库的访问
三、训练方法要求
使用MyEclipse工具编制实现训练目标及内容要求的JSP代码程序,要求学生独立完成程序代码的编制与调试。
四、训练实施安排及考核
1.时间安排: 与课程《JSP程序设计》同一学期开设,课余时间,短学期。2.训练方式: 除课堂上必要的训练外,课余对学生开放相关实验室进行操作训练。
3.考核形式: 开卷考核。学生使用MyEclipse编写JSP程序,实现训练目标及内容所要求功能,并对代码增加详细注释。最后提交可访问的简单购物动态网站,并随机选取部分学生参与答辩,据此给出成绩
评定。
五、说明
1.需要安装有MyEclipse的计算机,可使用学院机房的计算机,也可以使用学生自己的个人电脑完成实验项目。
2.参考资料
[1] 范芸,范慧霞.JSP动态网站开发基础与上机指导[M].北京:清华大学出版社, 2010.[2] 王小军,田中雨,刘跃军.JSP动态网站开发[M].北京:清华大学出版社, 2008.[3] 刘俊亮,王清华.JSP Web开发学习实录[M].北京:清华大学出版社, 2011 [4] 王永茂.JSP程序设计——用JSP开发Web应用[M].北京:清华大学出版社, 2012.[5] 向学哲.JSP程序设计教程[M].北京:人民邮电出版社, 2009.[6]清华大学计算机与信息管理中心.Servlet和JSP编程基础[M].北京:中国铁道出版社, 2010.项目三:JSP留言板程序设计
一、训练目标
通过本项目的训练,使学生掌握JSP语言编写一个综合实训程序的方法。要求单击“提交留言”按钮后,要将输入留言人输入的信息保存到数据库中。通过该技能的训练,除了熟悉JSP语言语法外,为今后的动态网站的开发奠定良好的基础。
二、训练内容
1.JSP页面的创建
2.JavaBean类、Servlet类的创建 3.Servlet程序Web.xml文件的配置 4.JSP+JavaBean+Servlet程序的运行
三、训练方法要求
使用JSP+JavaBean+Servlet开发模式编制实现训练目标及内容要求的JSP代码程序,要求学生独立完成程序代码的编制与调试。
四、训练实施安排及考核
1.时间安排: 与课程《JSP程序设计》同一学期开设,课余时间,短学期。2.训练方式: 除课堂上必要的训练外,课余对学生开放相关实验室进行操作训练。
3.考核形式: 开卷考核。学生使用MyEclipse编写JSP程序,实现训练目标及内容所要求功能,并对代码增加详细注释。最后提交可访问的留言板动态网站,并随机选取部分学生参与答辩,据此给出成绩评定。
五、说明
1.需要安装有MyEclipse的计算机,可使用学院机房的计算机,也可以使用学生自己的个人电脑完成实验项目。
2.参考资料
[1] 范芸,范慧霞.JSP动态网站开发基础与上机指导[M].北京:清华大学出版社, 2010.[2] 王小军,田中雨,刘跃军.JSP动态网站开发[M].北京:清华大学出版社, 2008.[3] 刘俊亮,王清华.JSP Web开发学习实录[M].北京:清华大学出版社, 2011 [4] 王永茂.JSP程序设计——用JSP开发Web应用[M].北京:清华大学出版社, 2012.[5] 向学哲.JSP程序设计教程[M].北京:人民邮电出版社, 2009.[6]清华大学计算机与信息管理中心.Servlet和JSP编程基础[M].北京:中国铁道出版社, 2010.
第四篇:c语言程序设计(科学出版社)课后习题解答
第3章习题解答
第1章
1.C 语言程序主要由预处理命令、函数、注释等组成。
2.填空
(1)分号
(2)main(3)stdio.h 3.源程序:
#include
printf(“*************************n”);printf(“Hello World!n”);
printf(“*************************”);} 4.源程序:
#include
int a, b, c;/* 定义变量 */
scanf(“%d”, &a);/* 输入第一个整数 */ scanf(“%d”, &b);/* 输入第二个整数 */ c=a-b;/*
计算差 */
printf(“%d-%d=%d”,a,b,c);/* 输出结果 */ } 5.(1)
(3)printf(“s=%dn”,s);
第2章
1.(1)c(2)a(3)b g(4)a d e(5)d
2.a.5 b.295
c.4 d.29 e.9 3.a.x=4,y=6
b.x=4,y=3 f.x=3,y=6 4.16 5.#include
int a,b,c;
scanf(“%d%d”,&a,&b);c=a*b;
printf(“%d*%d=%d”,a,b,c);}
第3章
1.(1)b(2)b(3)d(4)a(5)b 2.(1)&a,&b(2)l,s
3.printf(“x=%.2f,y=%.2fn”,x,y);
4.#include
int num1,num2,num3,sum;
float average;
scanf(“%d%d%d”,&num1,&num2,&num3);
sum=num1+num2+num3;
average=sum/3.0;
printf(“sum=%d,average=%.2fn”,sum,average);} 5.#include
int hour,minute,second,total;/* 定义变量代表时、分、秒和总秒数 */
scanf(“%d”,&total);
hour=total/3600;
minute=total%3600/60;
second=total%3600%60;
printf(“%dhours:%dminutes:%dsecondsn”,hour,minute,second);}
第4章
1.(1)a(2)b(3)b(4)b
(5)b 2.0 3.(1)6(2)4(3)1(4)1 4.#include
int x,y;
scanf(“%d”,&x);
if(x>-5 && x<0)
y=5*x;
if(x == 0)
y=-1;
if(x>0 && x<10)
y=2*x+1;
printf(“x=%d,y=%dn”,x,y);} 5.#include
int score,rank;/* score 表示成绩,rank 表示级别 */
printf(“Please input score:”);
scanf(“%d”,&score);
rank=score/10;
switch(rank)
{
case 10:
case 9: printf(“成绩等级为:An”);break;
case 8: printf(“成绩等级为:Bn”);break;
case 7: printf(“成绩等级为:Cn”);break;
case 6: printf(“成绩等级为:Dn”);break;
default:printf(“成绩等级为:En”);break;
} } 6.#include
int n;
printf(“Please input the digit:”);
scanf(“%d”,&n);
switch(n)
{
case 1:printf(“Jan n”);break;
case 2:printf(“Feb n”);break;
case 3:printf(“Mar n”);break;
case 4:printf(“Apr n”);break;
case 5:printf(“May n”);break;
case 6:printf(“Jun n”);break;
case 7:printf(“Jul n”);break;
case 8:printf(“Agu n”);break;
case 9:printf(“Sep n”);break;
case 10:printf(“Oct n”);break;
case 11:printf(“Nov n”);break;
case 12:printf(“Dec n”);break;
} }
第5章
1.(1)b(2)a(3)b(4)d(5)d 2.7,1 3.y=-1 4.m=6 5.10,14 6.3 7.5
8.ABABCDCD 9.# include
int i;
long int sum=0;
for(i=2;i<=200;i+=2)
sum+=i;
printf(“2+4+6+...+200=%ld”,sum);} 10.#include
long int n;
int sum = 0;
printf(“Please input the nber:”);
scanf(“%ld”,&n);
while(n!= 0)
{
sum += n % 10;
n /= 10;
}
printf(“%dn”, sum);}
第6章
1.(1)d(2)b(3)d(4)c
(5)a 2.11 3.3 4.5689 5.12,6
6.(1)i--(2)n
7.(1)char k;
(2)i
float a[10];
int i;
float sum=0,average;
for(i=0;i<10;i++)
{
printf(“a[%d]=?”,i);
scanf(“%f”,&a[i]);
sum+=a[i];
}
average=sum/10;
printf(“average is %.2fn”,average);} 9.#include
int a[N],i,target,found;
for(i=0;i scanf(“%d”,&a[i]); printf(“Please input a number:”); scanf(“%d”,&target); i=0; while(i i++; found = i printf(“%dn”,found);} 10.#include char str[N]; int len=0,i=0; printf(“Please input a string:”); gets(str); while(str[i++]!= 0)len++; printf(“the length of string is %d.n”,len);} 第7章 1.21 2.136 3.16 4.(1)func (2)m++ 5.9 6.1,6,3,2,3 7.2,5,1,2,3,-2 8.#include int a,b,c,max; printf(“Please input three numbers:”); scanf(“%d%d%d”,&a,&b,&c); max=fun(a,b,c); printf(“Max is %d.n”,max);} int fun(int a,int b,int c){ int max; max= a>b?(a>c?a:c):(b>c?b:c); return max;} 9.#include int n; printf(“n=?”); scanf(“%d”,&n); printf(“Sum=%ld.n”,sum(n));} long int sum(int n){ if(n = = 1)return 1; else return sum(n-1)+n;} 10.#include int n; printf(“n=?”); scanf(“%d”,&n); fun(n); } void fun(n){ if(n = = 0)return; else { fun(n/2); printf(“%-2d”,n%2); } } 第8章 1.(1)b(2)d(3)b(4)c(5)c 2.8 3.123456789 4.2 3 4 5 6 5.345 6.1 2 3 4 5 6 7.b[i] 8.bcdefgha 9.p=sum 10.#include { char str[80]; char *p1, *p2;gets(str);p1=str; p2=str+strlen(str)-1; while(p1 puts(p1 } 第9章 1.a.#define F(x)(x)*(x)*(x)b.#define F(x)(x)%4 c.#define F(x,y)(x)*(y)<100?1:0 2.a.4 b.4 c.#define DOUBLE(x)2*(x)3.d 4.-20 5.N is undefined 6.7.5 7.y=6 8.#include #define SWAP(a,b){int temp;temp=a;a=b;b=temp;} main(){ int x,y; printf(“x=?”); scanf(“%d”,&x); printf(“y=?”); scanf(“%d”,&y); SWAP(x,y) printf(“x=%d,y=%d.n”,x,y);} 第10章 1.struct student{ int sno; char sname[10]; char sex;}stu1,stu2;2.12 3.合法的有a,b,d c.改成 s.u.rectangle.length=25; e.改成 s.u.circle.radius=5; f.改成 s.u.circle.radius=5; 4.a,b,c,d(说明:变量 b 有确定的值之后,b++是合法的。)5.改为 typedef struct product { char name[10];float price;}PRODUCT; PRODUCT products[10]; 6.(1)struct employee(2)printemp(emp)7.2 4 3 9 8 8.#include int hour; int minute; int second;}; main(){ struct time_struct time; printf(“Input time?n(Example 18:28:38)n”); scanf(“%d:%d:%d”,&time.hour,&time.minute,&time.second); printf(“Time is %d:%d:%dn”,time.hour,time.minute,time.second);} 9.#include int hour; int minute; int second;}time; void enter_time();void display_time();main(){ enter_time(); display_time();} void enter_time(){ printf(“Enter the time(example 18:28:38)?”); scanf(“%d:%d:%d”,&time.hour,&time.minute,&time.second);} void display_time(){ printf(“Time is %d:%d:%d.n”,time.hour,time.minute,time.second);} 10.#include char name[31];/*旅馆名称*/ char address[31];/*旅馆地址*/ int grade;/*旅馆级别*/ float average_charge;/*平均房价*/ int number;/*房间数量*/ }h[N]={ {“h1”,“上海路”,5,500.00,80}, {“h2”,“北京大街”,5,480.00,70}, {“h3”,“南京大街”,3,300.50,100} }; main(){ int grade,i; printf(“请输入级别(3-5)?”); scanf(“%d”,&grade); for(i=0;i if(h[i].grade==grade) printf(“名称:%sn 地址:%sn 级别:%dn平均房价%.2fn 房间数量:%dn”,h[i].name,h[i].address,h[i].grade,h[i].average_charge,h[i].number);} 第11章 1.(1)c (2)d(3)b(4)b(5)b 2.Basican 3.fgetc(fp) 4.“record.dat”, “w” 5.#include typedef struct Employee { int id; char name[20]; char gender[20]; int age; char address[20];}Employee; int main(void){ FILE *fp; char another,choice; Employee emp; long int recsize; fp=fopen(“employee.dat”,“rb+”); if(fp==NULL) { fp=fopen(“employee.dat”,“wb+”); if(fp==NULL) { printf(“Can't Open File”); exit(0); } } recsize=sizeof(emp); while(1) { printf(“1.添加记录 2.显示男员工 3.退出n”); printf(“Enter your choice(1-3):”); fflush(stdin); scanf(“%c”,&choice); switch(choice) { case'1': fseek(fp,0,SEEK_END); another='Y'; while(another=='Y'|| another=='y') { printf(“输入信息(id 姓名 性别 年龄 住址):n”); scanf(“%d %s %s %d %s”,&emp.id,&emp.name,&emp.gender,&emp.age,&emp.address); fwrite(&emp,recsize,1,fp); printf(“是否继续(Y/N): ”); fflush(stdin); another=getchar(); } break; case '2': printf(“学号t 姓名t性别t 年龄t住址n”); rewind(fp); while(fread(&emp,recsize,1,fp)==1) if(strcmp(emp.gender,“男”)==0) printf(“%dt%st%st%dt%sn”,emp.id,emp.name,emp.gender,emp.age,emp.address); break; case '3': fclose(fp); exit(0); } } } 6.#include“stdio.h” #include“stdlib.h” #define M 2 #define stu struct student stu { int num; char name[20]; float s1; float s2; float s3; float avg;};main(){ stu st[M]; FILE *fp; int i; printf(“请输入 5 名同学生的成绩,按照学号,姓名,成绩 1,成绩2,成绩 3 的顺序,中间用空格隔 开:n”); for(i=0;i { scanf(“%d%s%f%f%f”,&st[i].num,st[i].name,&st[i].s1,&st[i].s2,&st[i].s3); st[i].avg=(st[i].s1+st[i].s2+st[i].s3)/3; } if((fp=fopen(“stud.rec”,“wb”))==NULL) { printf(“cannot open filen”); } for(i=0;i { if(fwrite(&st[i],sizeof(stu),1,fp)!=1) printf(“file write errorn”); } fclose(fp); fp=fopen(“stud.rec”,“rb”); printf(“numtnametscore1tscore2tscore3taveragen”); for(i=0;i { fread(&st[i],sizeof(stu),1,fp); printf(“%dt%st%.2ft%.2ft%.2ft%.2fn”,st[i].num,st[i].name,st[i].s1,st[i].s2,st[i].s3,st[i].avg); } fclose(fp);} 第12章 1.a.2 b.4 c.11 d.4 e.-15 f.28 g.-36 2.程序设计分析:先将整数x 右移4 位,将该整数机内码的第4 到7 位移至第0 到3 位,然后与0x000f(***1)进行位与运算,所保留的低4 位就是所要的结果 #include int x,y; scanf(“%d”,&x); y=x>>4;y=y&0x000f; printf(“4~7位的十六进制数:y=%#xn”,y);} 3.d 4.(1)p!=NULL (2)p=p->next 5.p=p->next 6.略 学习JSP程序设计和Servlet心得体会 JSP这门课是教我们怎么做网站的,学习了许多枯燥的语言知识,总算是可以自己做网站了 记得在第一节课上,我就跟学生们讲了“为什么学JSP?”,“JSP学什么?”,“学JSP有什么用?”还有“如何学JSP?”从我对这些问题的讲解中同学们确实体会到了学习JSP的重要性和如何去学。在课上还了解了这门课程我要讲述的主要内容以及需要具备的相关知识。 学生们在JAVA上是最欠缺的,之前也只是跟着老师学,自己在课下并没有下很多功夫。 在前阶段的学习中都感觉很轻松,因为我讲到的HTML学生已经在上个学期的差不多了,所以做一个静态的页面还是没有多大问题,但是后来学到后面要用到JAVA做一些动态的网页就感觉越来越吃力了,之前学过的很多JAVA知识也有很多都已经忘了。所以在第一次上课后完成任务时就用到了比较长的时间,最后才能勉强做到符合我的要求。还出现了很多小错误,有了第一次视频教学的教训,我在后面赶紧复习之前学习的JAVA知识,但是毕竟过了挺久了,有些东西需要重头再教,而且我也是以做项目的形式来完成教学,项目里包括了JSP呀Servlet等技术,所以学生们大概花了一个多月才将这学期JSP和Servlet课程中所掌握的一些关于JAVA的东西搞清楚。后来也就顺利的完成了我们要做的项目。 我想简单的谈谈我在JSP程序设计这门课中都学到了什么,JSP的全称是 Java Server Pages,它是一种动态网页技术。我们需要配置的坏境有JDK,Tomcat,还要用到Dreamweaver。最开始我们学习了HTML这种文本标记语言,用HTML可以做一些静态网站,看的出在学生第一次用HTML做出第一个网页时的兴奋,都觉得好神奇!后面我们学到做动态网站,其中就涉及到JSP内部对象及内部对象所对应的一些方法。再就是JSP与数据库的联系,怎么样引用数据库。通过以上所学到的知识我们可以基本上上做出一个比较实用的小网站,比如一个班级网站,在上面可以上传下载一些学习资料,以及存储班上同学的一些基本信息,给班上同学提供一个交流平台等等。 那 在以后的学习中学生该如何学呢?从这一次JSP程序设计课程的学习中我总结了以后学习的方法。首先要把基础打牢,不要只是注重技术开发,对于一些基本概念也要掌握;其次要多一些专业方面的书,多了解我们专业动向;再者就是要多上机实践,学到什么知识点要赶紧把它应用到实践当中;最后就是要加强自己团队协作的能力,争取在以后的学习中能够跟同学通过一些项目实战提高自己团队协作能力。第五篇:学习JSP和servlet程序设计心得体会