《C#程序设计基础教程与实训》习题答案

时间:2019-05-12 04:09:38下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《《C#程序设计基础教程与实训》习题答案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《《C#程序设计基础教程与实训》习题答案》。

第一篇:《C#程序设计基础教程与实训》习题答案

附录Ⅰ 各章习题答案

第1章 C#语言概述

一、判断题

1、√

2、×

3、√

4、×

5、√

6、√

7、×

8、×

二、选择题

1、C

2、B

3、C

4、A

5、A

6、B

7、B

8、B

三、填空题

1、最新的;面向对象

2、C和C++;JAVA

3、先进设计思想;安全性能

4、灵活性

5、集成开发环境(IDE)——Visual Studio.NET

6、Microsoft.NET Framework(微软.NET框架体系)

7、最基本的通用语言运行时库CLR(Common Language Runtime);一些提供了具体功能的类库

8、需要开发和设计的项目文件;应用程序或组件

四、简答题

1、① 简洁易用的语法。② 自动的资源回收机制。③ 与Web的紧密结合。④ 完整的安全性与错误处理。⑤ 版本处理技术。⑥ 灵活性和兼容性。

2、C#程序必须包含一个Main方法,Main方法是程序的入口点,程序控制在该方法中开始和结束。该方法用来执行任务,并在任务完成后返回信息。

第2章 常用标准控件

一、判断题

1、×

2、×

3、√

4、×

5、√

6、×

7、√

8、√

二、选择题

1、A

2、C

3、B

4、D

5、A

6、B

7、B

8、D

三、填空题

1、输入/输出信息

2、属性

3、事件

4、TextAlign

5、Click

6、文本框(TextBox)

7、保证数据标准化

8、Show

四、简答题

1、简述生成控件的操作过程。

(1)单击工具箱中相应的工具按钮,这一按钮呈现被按下状态,表明被选定。

(2)移动鼠标到窗体上,这时鼠标的指针变成十字形,在需要放置控件的左上角位置按下鼠标左键。

(3)在窗体范围内向下向右拖动鼠标,这时窗体上会显示一个矩形框,当其大小合适时,松开鼠标左键,窗体上就会显示一个相应大小的这种控件。

另外一种快捷的方法是在工具箱中相应的工具按钮上双击此按钮,窗体上就会出现一个系统默认大小的所选按钮。

2、消息框有多少种Button参数设置? OK:只显示“确定”按钮

OKCancel:显示“确定”和“取消”按钮

AbortRetryIgnore:显示“终止”、“重试”和“忽略”按钮 YesNoCancel:显示“是”、“否”和“取消” YesNo:显示“是”和“否”

RetryCancel:显示“重试”和“取消”

第3章 数据类型

一、填空题

1、-2,147,483,648 到 2,147,483,647

2、单精度;双精度 3、16 4、1 5、99 6、2.2

7、false

8、隐式转换;显式转换

二、判断题

1、√

2、×

3、×

4、√

5、×

6、×

7、×

8、×

三、选择题

1、A

2、C

3、D

4、A

5、B

6、B

7、D

8、C

四、简答题

1.请说明C#标识符命名规则。

(1)不能跟系统关键字重名。(2)标识符由字母、下划线“_”、数字或中文组成。(3)标识符应以字母、中文或下划线开头。(4)标识符中间不能包含空格。(5)C#标识符大小写敏感。

2.请简单说明银行家舍入法。

银行家的舍法与四舍五入只有一点不同,对.5的舍入上,采用取偶数的方式。例:1.25最近的两个只有1位小数的数字为1.2和1.3,舍入的结果将选择最后一位为偶数的数字1.2。同理,也可以推断出1.35舍入后为1.4。

如果在求和计算中使用四舍五入,一直算下去,误差有可能会越来越大。机会均等才公平,也就是向上和向下各占一半才合理。在大量计算中,从统计角度来看,高一位分别是偶数和奇数的概率正好是50% : 50%。

第4章 运算符和表达式

一、填空题

1、?:

2、0 3、1.1 4、2 5、2 6、2 7、18

8、true

9、false 10、2970

二、判断题

1、×

2、√

3、×

4、√

5、√

6、×

7、×

8、×

三、选择题

1、B

2、D

3、B

4、A

5、C

6、C

7、D

8、B

四、简答题

1.试阐述逻辑运算符 & 和条件运算符 &&之间的区别。

&& 运算符与 & 运算符的区别在于,&& 运算符不能对整型进行计算。另外,对于表达式 x && y 如果 x 为 false,则不计算 y(因为不论 y 为何值,“与”操作的结果都为 false)。这被称作为“短路”计算。也就是说使用 && 运算符进行条件计算,比使用 & 运算符速度更快些。

2.请从高到低排列【&& 和 ||】、【算术运算符】、【赋值运算符】、【!(非)】、【关系运算符】的优先级顺序。答:由高到低的顺序为:【!(非)】【算术运算符】【关系运算符】【&& 和 ||】【赋值运算符】 第5章 条件判断语句

一、判断题

1、×

2、√

3、×

4、√

5、√

6、×

7、×

8、√

二、选择题

1、A

2、C

3、A

4、C

5、B

6、D

7、A

8、C

三、填空题

1、条件判断语句、循环语句

2、关系表达式、逻辑表达式

3、bool

4、执行大括号里的语句块;跳过语句块,执行大括号后面的语句

5、都将会执行

6、只要找到为真的表达式就执行相应的语句块并跳出整个判断语句

7、if;switch

8、break

四、简答题

1、简单描述if语句的几种形式。(1)if语句的一般表示形式为: if(表达式){ 语句块 }(2)当一个判断语句只存在两种可能的结果时,可以使用if…else语句来表达。它的表现形式为:

if(表达式){ 语句块1 }else { 语句块2 }(3)当一个判断语句存在多种可能的结果时,可以使用if...else if...语句来表达。它的表现形式为:

if(表达式1){ 语句块1 } else if(表达式2){ 语句块2 }...else if(表达式n){ 语句块n }

2、在switch语句时需要注意什么?

(1)switch关键字后面的表达式,其值的类型必须是字符串或整数(char、int、long)都属于整数类型。

(2)case标签后面的值必须是常量表达式,不允许使用变量。(3)case和default标签以冒号而非分号结束。

(4)case标签后面的语句块,无论是单条语句还是多条语句,都无需用括号包围。

(5)default标签可以有,也可以没有。case子句的排放顺序是无关紧要的,甚至可以把default子句放在最前面。

第6章 循环控制语句

一、填空题

1、顺序结构;选择结构;循环结构

2、false

3、执行循环体;判断条件是否为真

4、循环的嵌套

5、-5 6、18 7、16 8、1

二、判断题

1、√

2、×

3、√

4、√

5、√

6、√

7、√

8、×

三、选择题

1、C

2、B

3、C

4、D

5、B

6、C

7、D

8、B

四、简答题

1、请说明do...while语句的表现形式。do { 语句块 } while(表达式);

当流程到达do后,立即执行语句块,然后再对表达式进行测试。若表达式的值为真,则返回do重复循环,否则退出执行后面的语句。这里特别需要注意的是跟while语句不同,do...while语句的表达式后面要加上分号。

2、for语句的一般表现形式为: for(表达式1;表达式2;表达式3){ 语句块 } for语句的执行顺序如图所示,其中,当表达式2的值为假时,则直接跳出循环。表达式1:一般情况下用于给循环变量赋初值。

表达式2:返回值必须是一个bool值,作为循环是否继续执行的条件。表达式3:一般情况下用于给循环变量增值。

第7章 数组

一、选择题

1、D

2、B

3、A

4、C

5、B

6、A

7、D

8、C

二、填空题

1、类型

2、零

3、new

4、大括号“{}”

5、动态数组

6、引用

7、地址

8、行,列

三、判断题

1、√

2、×

3、√

4、√

5、√

6、×

7、√

8、×

四、简答题

1.请简述什么是数组?

答:数组是具有相同类型的一组数据。数组按照数组名、数据元素的类型和维数来进行描述。当访问数组中的数据时,可以通过下标来指明。

2.请简述Array和ArrayList主要的区别?

(1)Array 的容量是固定的,而 ArrayList的容量可根据需要自动扩充。

(2)ArrayList提供添加、插入或移除某一范围元素的方法。在 Array 中,您只能一次获取或设置一个元素的值。

(3)Array 可以具有多个维度,而 ArrayList始终只是一维的。

第8章 GDI+图形

一、填空题

1、GDI+

2、Graphics

3、Pen,Brush

4、Rectangle,RectangleF

5、Point

6、DrawPolygon,FillPolygon

7、椭圆

8、Paint

二、判断题

1、√

2、×

3、×

4、×

5、√

6、√

7、×

8、×

三、选择题

1、B

2、B

3、A

4、D

5、C

6、A

7、A

8、D

四、简答题

1.试阐述Graphics图形对象的几种创建方法。

(1)用某控件或窗体的CreateGraphics方法来创建Graphic对象,该对象表示该控件或窗体的绘图表面。如果想在已存在的窗体或控件上绘图,则可以使用此方法。

(2)接收对图形对象的引用,该对象为窗体或控件的Paint事件中PaintEventArgs的一部份。在为控件创建绘制代码时,通常使用此方法来获取对图形对象的引用。

2.请简述使用虚拟画布绘图的步骤。(1)在内存中建立一块“虚拟画布”如:(2)获取这块内存画布的Graphics引用:(3)在这块内存画布上绘图:(4)将内存画布画到窗口中:

第9章 方法

一、选择题

1、B

2、D

3、A

4、C

5、C

6、A

7、B

8、D

二、填空题

1、return

2、void

3、值参数

4、数组型

5、重载

6、形参,实参

7、成员变量

8、递归

三、判断题

1、√

2、√

3、√

4、√

5、×

6、√

7、×

8、×

四、简答题

1.请简述用方法构造代码的好处?

(1)方法允许将程序分为不连续的逻辑单元。调试单独的单元与调试不包含方法的整个程序相比要容易的多。

(2)可以在其他程序中使用为某个程序开发的方法,而通常只需要进行少量修改,甚至不需修改。

2.请简述什么是递归?

答:在方法中直接或间接地调用自己叫方法的递归调用。树型关系问题的求解往往需要使用到递归算法。

3.请简述什么是方法的重载?

答:当定义两种或多种具有相同名称的方法时,就称作重载。在调用时,编译器会根据不同的方法签名调用相应的方法。

第10章 窗体与控件

一、选择题

1、B

2、C

3、C

4、D

5、B

6、A

7、D

8、C

二、填空题

1、窗体

2、Maximized

3、Load

4、true

5、CheckedChanged

6、ListBox

7、Image

8、Interval

三、判断题

1、√

2、×

3、√

4、√

5、×

6、×

7、√

8、×

四、简答题

1.请简述组合框的使用特点?

答:当需要用户在多个选项中选择一项时,除可以使用单选按钮外,还可以使用组合框(ComboBox)。组合框是TextBox与ListBox的组合,具有列表框和文本框的大部份属性。组合框在列表框中列出可供用户选择的项,另外还有一个文本框。当列表框中没有所需选项时,允许在文本框中用键盘输入用户自定义的内容。

2.请列出图片框(PictureBox)支持哪几种类型的图像?并进行简单的说明。a)位图(bitmap):是将图像定义为像素的图案,这种图像格式体积很大,未经压缩。位图文件的扩展名是.bmp或.dib。b)图标(icon):是特殊类型的位图。图标的最大尺寸为32×32像素。图标文件的扩展名是.ico。

c)Windows文件(metafile):将图形定义为编码的线段和图形。普通图元文件扩展名为.wmf,增强图元文件扩展名为.emf。

d)GIF:由CompuServe开发的一种压缩位图格式,是Internet上流行的一种文件格式。e)JPEG:是一种支持8位和24位颜色的压缩位图格式。也是Internet上流行的一种文件格式。

第11章 界面设计

一、选择题

1、C

2、B

3、C

4、D

5、C

6、D

7、A

8、B

二、填空题

1、单文档(SDI)应用程序,多文档(MDI)应用程序

2、ShowIcon,ShowInTaskbar,FormBorderStyle3、DialogResult4、非模式

5、菜单栏,菜单标题,菜单项

6、MenuItem,ComboBox,Separator,TextBox

7、MDI 子窗口

8、Cascade,TileHorizontal

三、判断题

1、×

2、√

3、√

4、×

5、√

6、×

7、×

8、√

四、简答题

1.请简述非模式窗体和模式窗体的区别。

(1)打开一个非模式窗体后,用户可以跟应用程序的其他部分交流,而模式窗体不行。这意味着,程序在执行到创建模式窗体的代码时,会停下来等待模式窗体关闭后再继续往下执行。而程序在打开非模式窗体的同时会继续往下执行后面的代码。(2)非模式窗体没有返回值,模式窗体有返回值。

(3)关闭非模式窗体会直接在内存中释放窗体,而模式窗体则不会。

(4)非模式窗体使用Show方法创建,模式窗体使用ShowDialog方法创建。

2.简述创建一个MDI应用程序的方法。

(1)把作为MDI父窗体的窗体的IsMDIContainer 属性设置为True。(2)新建一个窗体(假设窗体名为Form2)作为MDI子窗体。(3)在MDI父窗体中调用如下代码即可显示一个MDI子窗体。

Form2 f2 = new Form2();f2.MdiParent = this;f2.Show();第12章 异常处理

一、选择题

1、B

2、B

3、D

4、A

5、C

6、A

7、D

8、C

二、填空题

1、try,catch,finally

2、try-catch3、一个,一个或多

4、Exception

5、改变编译器的设置,使用校验(checked)语句

6、The operation overflows at complie time in checked mode

7、异常处理程序,清理代码

8、显式地标明了它所作用的语句块或表达式不需要进行溢出检查

三、判断题

1、×

2、×

3、√

4、×

5、√

6、√

7、√

8、√

四、简答题

1.导致代码失败的具体原因有哪些?

答:算术溢出、堆栈溢出、内存不足、参数越界、数组索引越界、试图访问已经释放的资源(例如访问一个已经关闭的文件)等。

2.在catch语句里可以使用哪几种方法处理异常来获得不同的执行路径? a)不写任何跳转代码:这种方法使得系统忽略异常,程序会继续往下执行。b)使用return语句:它使得程序直接跳出方法体,回到调用方法的地方。c)使用throw 语句:它使得异常再次被抛出,表示当前异常处理代码无法处理此类异常,将异常转给更上一级的异常处理程序进行处理

d)使用System.Environment.Exit(1)语句:它将直接关闭应用程序,一般情况下不使用这样的方法

第二篇:C#实训总结

C#实训总结

经过两周的课程实训,让我感触很深。虽然C#已经学了一个学期,但是到真正写代码的时候对以前所学的知识还是有点陌生,不知道该从哪里着手。还有以前总是以为写需求分析很浪费时间,可是经过这次的实训让我深刻认识到写需求分析的重要性。需求分析是做一个系统前的很关键的一步,需求分析做的好了,接下来写代码就容易了,需求分析是对一个系统设计思路的很好的总结与概括,需求分析能让我们的写作思路非常清晰,一个全面、完善的需求分析是设计一个完美的系统软件的必备条件。通过这次的实训我告诫自己以后不管做什么系统都不能急于去写代码,首先要做好需求分析,把系统所要实现的功能做一个全面分析,让自己有一个清晰的编程思路,这样便于接下来的代码编写。

这次实训我和陈梦诗我们俩几乎都是一起做的,从需求分析到数据库设计以及到写代码的过程我们俩都是商量这进行,如果有什么不同的意见我们会各自再进行仔细的考虑,如果合理就采用,这样在商量过程中不断完善我们的设计思想。我这个人最大的缺点就是对自己不自信,有时候虽然是有那个能力,但做起东西来总是思前想后有点担心,有时候甚至还有些慌乱,在这方面陈梦诗给了我很大的鼓励,让我对自己的能力有了自信,敢于想的同时也敢于去写。我感觉这次实训的分组合作在很大程度上增强了自信心,也很好的锻炼了自己的动手能力。

还有通过这次试训,最大的一个感悟就是自己有时候太急于求成,眼高手低,总在一些细节问题上犯错误,比如说写SQL语句select SalesID,AgencyID,StyleID,DateTime,(Price*SalesNum)as SumPrice from SalesInfo where AgencyID like '“ + this.textBox1.Text + ”-%' or AgencyID ='“ + this.textBox1.Text + ” '时,总是不注意一些值的类型,导致运行的时候出现错误:**值与数据库类型不匹配什么的,有时候为了这个小错误都要看好久才找到错误所在,这样也浪费了很多时间。这次课程实训做的系统可能不能很好的满足用户的需要,但是我们已经尽了自己最大的努力,希望随着今后的不断学习,不断的积累能做出符合用户需要的比较完善的系统。

总之这次课程试训让我学到了很多,从需求分析到程序的编写,让我们很好的把所学的知识转化到实际的应用当中,不仅让我对以前所学知识有了一个更深的了解,更重要的是锻炼了我的动手能力,分组合作也让我们学到了很多东西,团队的力量是无穷的,我们在合作的同时可以弥补相互间的不足,也可以相互促进、相互鼓励,学到更多的东西。

至于对老师您的意见,总体上感觉老师还是很不错的,在课程实训过程中很好的引导了我们,讲课方法也很不错,让学生处于主导地位,尽量去引导学生去思考,这点是让我印象最深的。不过希望有时候您能在技术上的疑问给我们一定的帮助..........班级:软工七班

姓名:张 倩

学号:068109284

第三篇:C#实训总结

C#实训总结

实训期间让我学到很多东西,不仅在理论上让我对it领域有了全新的认识,在实践能力上也得到了很大的提高,真正的学到了学以致用,更学到很多做人的道理,对我来说受益匪浅。特别是利用周六上午的时间山大为我们安排的讲座让我们了解it领域一些新的发展动态以及一些领先的技术,让我意识到自己知识的缺少,这激励我在以后的学习、工作、生活中要不断了解信息技术发展动态以及信息发展中出现的新的技术。

除此之外,我还学到了如何与人相处,如何和人跟好的交流,我们组成一个团队大家一起开发一个项目,大家的交流沟通显得尤为重要,如何将自己的想法清楚明白的告诉队友,如何提出自己想法的同时又不伤害其他的队友的面子,这些在我的实训生活中都有一些体会。可是说,第一次亲身体会理论与实际相结合,让我大开眼界。也是对以前学习的一个初审吧,相信这次实训多我以后的学习、工作也将会有很很大的影响,在短短的二十几天里这些宝贵的经验将会成为我以后工作的基石。

作为大二的学生,经过两年的在校学习,对程序设计有了一些基本的理性的认识和理解。在校期间一直忙于理论的学习,没有机会也没有经验来参与我们项目的开发,所以在实习之前软件按开发对我来说是非常抽象的,一个完整的项目要怎么来分工以及完成该项目所需要的基本步骤也不明确,经过这次实训让我明白一个完整项目的完成必须团队分工合作,并在每个阶段进行必要的总结和检查。在我们项目的开发过程中我们项目的步骤:详细设计、详细设计review、编码、编码review、单体测试。在项目开发过程中我也深刻的体会到详细设计对一个项目开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有具体的认识,并能减少在开发过程中出现不必要的脱节。

经过二十多天的obbligato信息安全管理的java开发,是我对C#软件开发平台有了更深一步的了解,也对nec公司的obbligato平台有了一定的了解。

这次实训是对我们两年学习的一个检验,虽然项目中很多知识我们在日常的学习中都没有遇到,这同时提醒我:要想成为一个合格的程序员就有具备一种自学能力,在工作中会遇到很多从未接触过的问题,当有了问题时要去解决,在你不断努力,寻找答案的过程中,自己的能力也在潜移默化的提升。有时遇到问题时可能有很多想法但却不知道那个正确,这就让我们不断地去探索,不断地尝试。

这次实训也让我深刻的了解到,不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的。做事首先要先做人,要明白做人的道理,如何与人相处是现代社会的做认得一个最基本的问题,对已自己这样一个即将步入社会的人来说,需要学习的东西很多。从一起做项目的同学身上我看到了谦虚谨慎、细心努力的态度,在以后我的生活中我还会留意身边同学的优点,从他们身上找寻我所缺少的品质,不断学习。从老师那里我看到了企业人的生活面貌,没有事情可以不劳而获,今天老师们能够领导我们是他们之前努力的结果,虽然老师没有和我们讲很多公司里的事情,可是他们的言行中所表现出来的都是比我们要严谨的多的对工作的态度。

第四篇:C#实训总结报告

贵州电子信息职业技术学院计算机科学系

实训总结报告

组名:IT全力蓝队

组员:文权、韩梅丽、杨进、潘杰珍、姚茂霞、康波姓名:文权班级:21001日期:2012年6月9日通过这三周的实训,给我感觉很充实,学到了比平时更多的东西,也觉得时间过的太快了,一下就过去了三周,回顾这三周,给我很大的启发。

这三周的实训,我把自己所学到的知识从理论上升到实践当中去了,但是我在实践中,知识不能够完全的运用出来。而且,我也发现自己所掌握的知识非常的不充足,而且我还发现了,一个简单的项目就需要设计者花费如此大的时间和精力,因此,我们要多多珍惜别人的劳动成果,在以后的学习生活中,还需要多多的汲取知识。

在这次实训中,我担任的是管理组长的工作。对于软件设计来说,一个程序只有通过不断的测试,修改,优化,才能更加的完善,更加的能让用户体验到这个软件的强大功能。我在设计中也遇到了不少的难题。

其实这个项目还有很多的不足地方,我们会在以后近一步的修改,比如说,可以在项目中添加设计一些条件、或者更多的控件,增加一下可以选择难度的功能等等。

这次实训中,我还体会到团队协作的强大。对于一个大工程来说,没有良好的团队,就不会取得良好的成绩,团队精神对于每个人来说都是非常重要不可缺少的。

总之这次课程试训让我学到了很多,从需求分析到程序的编写,让我们很好的把所学的知识转化到实际的应用当中,不仅让我对以前所学知识有了一个更深的了解,更重要的是锻炼了我的动手能力,分组合作也让我们学到了很多东西,团队的力量是无穷的,我们在合作的同时可以弥补相互间的不足,也可以相互促进、相互鼓励,学到更多的东西。

至于对老师您的意见,总体上感觉老师还是很不错的,在课程实训过程中很好的引导了我们,讲课方法也很不错,让学生处于主导地位,尽量去引导学生去思考,这点是让我印象最深的。不过希望有时候您能在技术上的疑问给我们一定的帮助..........足下软件有限公司企业级项目实训

贵州电子信息职业技术学院计算机科学系

足下软件有限公司企业级项目实训 姓名:班级:日期:

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

第一章

1.判断题

(1)×(2)√(3)√(4)×(5)×

(6)√ 2.选择题

(1)C(2)B(3)B(4)C(5)D

(6)C 3.编程题

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace ConsoleApplication1 { class Program { static void Main(string[] args){ Console.WriteLine(“Hello C#”);} } }

第二章

1.判断下列符号哪些是合法的C#变量名称

北京 abc _xyz x_y 2.根据要求写出C#表达式(1)N%3==0 & N%5==0(2)(char)new Random().Next(67,74)(3)Math.Pow(x,3)*y/(x+y)(4)Math.Sqrt(b*b-4*a*c)3.判断题

(1)×(2)√(3)√(4)√(5)√

(6)×(7)√(8)√(9)√(10)×(11)√(12)× 4.选择题

(1)B(2)C(3)B(4)B

(5)C

(6)B(7)D(8)B(9)C(10)A 5.分析并写出下列程序运行结果(1)a=21,b=9,c=16

y=4(2)b=41(3)s=6(4)a[0]=28

a[1]=15

a[2]=39

a[3]=48

a[4]=39 6.程序填空

(1)① 3 ② a[i] ③ a[i] ④ a[5-i] ⑤ a[5-i](2)① i % 5 == 0 | i % 7 == 0 ② s+ i 7.编程题(1)static void Main(string[] args){ int s,i,j;for(i = 2;i < 1000;i++){ s = 0;for(j = 1;j < i;j++){ if(i % j == 0)s += j;} if(i == s)Console.WriteLine(“{0}”,i);} }(2)static void Main(string[] args){ int[,] a = {{2,5,18,4 },{3,4,9,2},{4,1,16,8},{5,2,14,6}};int i,j,k,max,maxj;for(i = 0;i < 4;i++){ max = a[i,0];maxj = 0;for(j = 1;j < 4;j++){ if(max < a[i,j]){max = a[i,j];maxj = j;} } for(k = 0;k < 4;k++){ if(a[k, maxj] < max)break;} if(k == 4)Console.WriteLine(“鞍点:第{0}行,第{1}列”,i+1,maxj+1);} }(3)

static void Main(string[] args){ int a = 20, b = 16,i=20;do { if(i % a == 0 & i % b == 0)break;i++;} while(true);Console.WriteLine(“最小公倍数:{0}”,i);i = 16;do { if(a % i == 0 & b % i == 0)break;i--;} while(true);Console.WriteLine(“最大公约数:{0}”,i);}(4)

static void Main(string[] args){ int i, j,k;float s = 1.0f;for(i = 2;i < 11;i++){ k=1;for(j = 2;j <= i;j++)k += j;s += 1.0f / k;} Console.WriteLine(“s={0}”,s);}(5)

static void Main(string[] args){ String s = “a,b2>4[AG6p(”;int i, n1=0,n2=0,n3=0,n4=0;for(i=0;i=65 & s[i]<=90)n1++;if(s[i]>=97 & s[i]<=122)n2++;if(s[i]>=48 & s[i]<=57)n3++;} n4=s.Length-n1-n2-n3;Console.WriteLine(“大写字母个数:{0};小写字母个数:{1};数字个数:{2};其余字符个数:{3}”,n1,n2,n3,n4);}(6)

static void Main(string[] args){ int i,s = 1;for(i = 0;i < 5;i++){ s = 2 *(s + 1);} Console.WriteLine(“小猴子第一天摘了{0}个桃子”,s);}

说明:由最后一天往前推算。后一天吃了前一天桃子数量的一半多1个,剩余桃子数量是前一天桃子数量的一半减1,则,前一天的桃子数量是后一天的桃子数量加1的2倍。

第三章

1.判断题

(1)√(2)×(3)√

(4)√(5)√(6)×(7)√(8)×(9)×

(10)√

(11)√(12)√(13)√(14)×(15)√(16)√(17)×(18)√(19)√(20)×(21)×(22)√(23)√(24)√(25)×(26)×(27)× 2.选择题

(1)C(2)B(3)C(4)D

(5)C

(6)B(7)D(8)C(9)A(10)A(11)B(12)A(13)D(14)B

(15)C

3.分析下列程序的运行结果(1)s=32,s1=32,s2=34

x=11,y=21(2)x1=3,x2=4

y1=1,y2=4 4.编程题(1)

class Student { public string studentid;public string studentname;private string birthplace;private DateTime birthdate;public Student(string id, string name){ studentid = id;studentname = name;} public string StudentId { get { return studentid;} set { studentid = value;} } public string StudentName { get { return studentname;} set { studentname = value;} } public string BirthPlace { get { return birthplace;} set { birthplace = value;} } public DateTime BirthDate { get { return birthdate;} set { birthdate = value;} } public int Age { get { return DateTime.Now.Year1, p1.yp1.x)*(p2.xp1.y)*(p2.yv2;if(radioButton3.Checked ==true)v = v1 * v2;if(radioButton4.Checked ==true){ if(v2!= 0)v = v1 / v2;} textBox3.Text = v.ToString();} 3.利用4.6节知识,参考图4-29设计具有菜单、工具栏和状态栏的Windows窗口应用程序。

第五章

1.判断题

(1)√(2)×(3)√(4)√(5)×

(6)√(7)×

2.选择题

(1)A(2)无答案,应该是TextReader(3)A(4)C

(5)A(6)C 3.编程题

创建Windows窗口用于程序,在窗口上放置一个Button控件,名称为button1,编写其Click事件处理方法:

private void button1_Click(object sender, EventArgs e){ int i, j;int[,] a=new int[3,3];int[,] b = new int[3, 3];int[,] c = new int[3, 3];string s1;string[] ss;FileStream fs = new FileStream(@“d:data1.txt”,FileMode.Open);StreamReader sr=new StreamReader(fs,Encoding.Default);StreamWriter sw;BinaryWriter bw;for(i = 0;i < 3;i++){ s1 = sr.ReadLine();ss = s1.Split(' ');for(j = 0;j < 3;j++){ a[i, j] = int.Parse(ss[j]);} } for(i = 0;i < 3;i++){ s1 = sr.ReadLine();ss = s1.Split(' ');for(j = 0;j < 3;j++){ b[i, j] = int.Parse(ss[j]);} } sr.Close();fs.Close();for(i = 0;i < 3;i++)for(j = 0;j < 3;j++)c[i, j] = a[i, j] + b[i, j];SaveFileDialog sfd = new SaveFileDialog();sfd.Filter = “文本文件(*.txt)|*.txt”;if(sfd.ShowDialog()== DialogResult.OK){ fs = new FileStream(sfd.FileName, FileMode.OpenOrCreate);sw = new StreamWriter(fs,Encoding.Default);for(i = 0;i < 3;i++){ for(j = 0;j < 3;j++){ sw.Write(c[i, j]);sw.Write(“ ”);} sw.Write(“n”);} sw.Close();fs.Close();} sfd.Filter = “二进制文件(*.bin)|*.bin”;if(sfd.ShowDialog()== DialogResult.OK){ fs = new FileStream(sfd.FileName, FileMode.OpenOrCreate);bw = new BinaryWriter(fs);for(i = 0;i < 3;i++)for(j = 0;j < 3;j++)bw.Write(c[i, j]);bw.Close();fs.Close();} } 说明:data1.txt文件中共9行整数,每行3个整数,每个数据之间以一个空格隔开。

第六章

1.判断题

(1)√(2)×(3)×(4)×(5)√

(6)√(7)√(8)×(9)×(10)√

2.选择题

(1)C(2)D(3)C(4)A

(5)B(6)C(7)B(8)D 3.编程题

创建Windows窗口应用程序,在窗口上放置一个toolStrip控件,并在其中添加两个组合框,名称分别为toolStripComboBox1和toolStripComboBox2,给toolStripComboBox1添加选项:短划线、点划线、双点划线、虚线、实线,给toolStripComboBox2添加选项:1、2、3、4。给窗口添加如下私有字段:

private Graphics g1;private DashStyle dashstyle=DashStyle.Solid;private float penwidth=1;private Pen pen1;private bool beDraw = false;private Point p1, p2;编写comboBox1和comboBox2的SelectedIndexChanged事件处理方法:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){ dashstyle =(DashStyle)comboBox1.SelectedIndex;}

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e){ penwidth =float.Parse(comboBox2.Text);} 编写Form3的Load、MouseDown、MouseMove和MouseUp以及工具栏上两个组合框的SelectedIndexChanged事件处理方法:

private void Form3_Load(object sender, EventArgs e){ toolStripComboBox1.SelectedIndex = toolStripComboBox1.Items.Count-1;toolStripComboBox2.SelectedIndex = 0;} private void Form3_MouseDown(object sender, MouseEventArgs e){ pen1 = new Pen(Color.Red, penwidth);pen1.DashStyle = dashstyle;beDraw = true;p1 = e.Location;g1 = this.CreateGraphics();} private void Form3_MouseMove(object sender, MouseEventArgs e){ if(beDraw == true){ p2 = e.Location;g1.DrawLine(pen1, p1, p2);p1 = p2;} } private void Form3_MouseUp(object sender, MouseEventArgs e){ beDraw = false;} private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e){ dashstyle =(DashStyle)toolStripComboBox1.SelectedIndex;} private void toolStripComboBox2_SelectedIndexChanged(object sender, EventArgs e){ penwidth = float.Parse(toolStripComboBox2.Text);}

第七章

1.判断题

(1)√(2)×(3)×(4)×(5)√

(6)×(7)√(8)×(9)√(10)×(11)√(12)×(13)√(14)√(15)√(16)√

2.选择题

(1)A(2)D(3)C(4)A

(5)D(6)B(7)C(8)D(9)B(10)C(11)C 12)C 13)A 14)B 15)D 16)D 3.编程题

(1)创建Windows窗口应用程序,在窗口上放置两个Button控件,名称分别为button1和button2,再放置一个ComboBox控件和DataGridView控件,名称分别为comboBox1和dataGridView1。

编写button1的Click事件处理方法:

private void button1_Click(object sender, EventArgs e){ OleDbConnection con = new OleDbConnection();OleDbCommand com = new OleDbCommand();con.ConnectionString =@“Provider=microsoft.jet.oledb.4.0;data source=d:aaa.mdb”;con.Open();com.CommandType = CommandType.Text;com.CommandText = “select * from Score where score>80”;com.Connection = con;OleDbDataReader dr = com.ExecuteReader();comboBox1.Items.Clear();while(dr.Read()== true){ if(dr.IsDBNull(dr.GetOrdinal(“StudentID”))== false)

comboBox1.Items.Add(dr[“StudentID”]);} } 说明:为了使用ADO.NET的OLEDB访问方式,需要添加下列引用:

using System.Data.OleDb;(2)界面与(1)相同。

编写button2的Click事件处理方法:

private void button2_Click(object sender, EventArgs e){ OleDbConnection con = new OleDbConnection();OleDbCommand com = new OleDbCommand();con.ConnectionString = @“Provider=microsoft.jet.oledb.4.0;data source=d:aaa.mdb”;con.Open();OleDbDataAdapter da = new OleDbDataAdapter(“select Class as 班级,avg(Score)as平均成绩 from Score group by Class”, con);DataSet ds = new DataSet();da.Fill(ds, “平均成绩表”);dataGridView1.DataSource =ds.Tables[“平均成绩表”];}(3)参考7.7节的学生信息管理程序,编写通讯录管理程序,细节略。

下载《C#程序设计基础教程与实训》习题答案word格式文档
下载《C#程序设计基础教程与实训》习题答案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


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

相关范文推荐

    经济法实训习题答案

    (单选题)因违法违纪行为被吊销会计从业资格证书的人员,自被吊销会计从业资格证书之日起不得重新取得会计从业资格证书的时间是(5年 )。 未完成 开始答题 2(单选题)从事会计工......

    C#实训日志1

    12月23日(星期一): (一)在今天我们学习了如何创建Windows应用程序: 单击“文件”——选择“新建”——选择“项目”——选择“Windows应用程序”,在此界面中可以设置项目名称、存储......

    C#实训个人小结

    经过4个礼拜的实训,让我受益匪浅,给我收获最大的是我觉得很多工作需要我去摸索和探讨,要不怕吃苦,勇于激流勇进,有的工作虽然单挑又重复,但这是磨练意志最有效的方法,我告诫自己要......

    C#实训日志7

    12月31日(星期二): (一)项目总结: 在之前的项目设计中,我们发现,虽然可以实现各个功能,但是对于某些细微的要求想要实现就很困难,比如在输入密码时要区分大小写等等细节功能的实现反而......

    C#实训总结(精选五篇)

    C#实训总结 系:计算机系实训班级: 学生姓名:实训地点 时间:指导教师: 一、通过本次实训,你有哪些收获? 对C#了解更深,从最初的理论知识升华到基本技能,运用到一定现实生活和学习中,领......

    C#实训日志3

    12月25日(星期三): (一)今天首先实现了“修改”按钮的功能: 在实现“修改”功能之前,首先我们需要做的是将右侧的数据显示到左侧的文本框中,然后我们才能方便进行修改和删除。我们希......

    C#实训课程总结

    *** C#程序设计实训总结姓名:*** 班级:12级*****1班 学号:*** 指导教师:***** 一 实训选题 学校图书管理系统的开发 二 实训设计作品内容 1、图书检索模块:是图书管理系统的重要......

    C#项目开发实训总结(精选合集)

    C#项目开发实训总结 设计人:张** 班级和班内序号: 项目选题意义: 选这个题目的原因:随着科学技术的进步,促进了管理水平的提高,人力资源管理系统(Human Resource Management,HRMS)作......