《《C#程序设计基础教程与实训》习题答案.doc》由会员分享,可在线阅读,更多相关《《C#程序设计基础教程与实训》习题答案.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、附录 各章习题答案第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.NET6、Microsoft .NET Framework(微软.NET框架体系)7、最基本的通用语言运行时库CLR(Common Language Runtime);一些提供了具体功能的类库8、需要开发和设计的项目文件;应用程序或组件四、简答题1、 简洁易用的语法。 自动的资源回收机
2、制。 与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、TextAlign5、Click 6、文本框(TextBox) 7、保证数据标准化 8、Show四、简答题1、简述生成控件的操作过程。(1) 单击工具箱中相应的工具按钮,这
3、一按钮呈现被按下状态,表明被选定。(2) 移动鼠标到窗体上,这时鼠标的指针变成十字形,在需要放置控件的左上角位置按下鼠标左键。(3) 在窗体范围内向下向右拖动鼠标,这时窗体上会显示一个矩形框,当其大小合适时,松开鼠标左键,窗体上就会显示一个相应大小的这种控件。另外一种快捷的方法是在工具箱中相应的工具按钮上双击此按钮,窗体上就会出现一个系统默认大小的所选按钮。2、消息框有多少种Button参数设置?OK:只显示“确定”按钮OKCancel:显示“确定”和“取消”按钮AbortRetryIgnore:显示“终止”、“重试”和“忽略”按钮YesNoCancel:显示“是”、“否”和“取消”YesNo
4、:显示“是”和“否”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#标识符大
5、小写敏感。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、26、2 7、18 8、true 9、false 10、2970二、判断题1
6、、 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. 请从高到低排列【& 和 |】、【算术运算符】、【赋值运算符】、【! (非)】、【关系运算符】的优先级顺序。答:由高到低的顺序为
7、:【! (非)】【算术运算符】【关系运算符】【& 和 |】【赋值运算符】第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、bool4、执行大括号里的语句块;跳过语句块,执行大括号后面的语句5、都将会执行6、只要找到为真的表达式就执行相应的语句块并跳出整个判断语句7、if;switch8、break四、简答题1、简单描述if语句的几种形式。(1) if语句的一般表示形式为:if (表达式)语句块(2) 当一个判断语句只存在两种可能的结
8、果时,可以使用ifelse语句来表达。它的表现形式为:if (表达式)语句块1else语句块2(3) 当一个判断语句存在多种可能的结果时,可以使用if.else if.语句来表达。它的表现形式为:if (表达式1) 语句块1else if (表达式2) 语句块2.else if (表达式n) 语句块n2、在switch语句时需要注意什么?(1) switch关键字后面的表达式,其值的类型必须是字符串或整数(char、int、long)都属于整数类型。(2) case标签后面的值必须是常量表达式,不允许使用变量。(3) case和default标签以冒号而非分号结束。(4) case标签后面的语
9、句块,无论是单条语句还是多条语句,都无需用括号包围。(5) default标签可以有,也可以没有。case子句的排放顺序是无关紧要的,甚至可以把default子句放在最前面。第6章 循环控制语句一、填空题1、顺序结构;选择结构;循环结构 2、false3、执行循环体;判断条件是否为真 4、循环的嵌套 5、-5 6、187、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后,立即执行语句块,然后再对表达式
10、进行测试。若表达式的值为真,则返回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、大括号“”
11、 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
12、+图形一、填空题1、GDI+ 2、Graphics 3、Pen,Brush 4、Rectangle,RectangleF5、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) 接收对图形对象的引用,
13、该对象为窗体或控件的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. 请简述用
14、方法构造代码的好处?(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
15、、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)
16、 位图(bitmap):是将图像定义为像素的图案,这种图像格式体积很大,未经压缩。位图文件的扩展名是.bmp或.dib。b) 图标(icon):是特殊类型的位图。图标的最大尺寸为3232像素。图标文件的扩展名是.ico。c) Windows文件(metafile):将图形定义为编码的线段和图形。普通图元文件扩展名为.wmf,增强图元文件扩展名为.emf。d) GIF:由CompuServe开发的一种压缩位图格式,是Internet上流行的一种文件格式。e) JPEG:是一种支持8位和24位颜色的压缩位图格式。也是Internet上流行的一种文件格式。第11章 界面设计一、选择题1、C 2、B
17、3、C 4、D 5、C 6、D 7、A 8、B二、填空题1、单文档(SDI)应用程序,多文档(MDI)应用程序 2、ShowIcon , ShowInTaskbar , FormBorderStyle 3、DialogResult 4、非模式 5、菜单栏 ,菜单标题 ,菜单项 6、MenuItem,ComboBox,Separator,TextBox 7、MDI 子窗口 8、Cascade,TileHorizontal三、判断题1、 2、 3、 4、 5、 6、 7、 8、四、简答题1. 请简述非模式窗体和模式窗体的区别。(1)打开一个非模式窗体后,用户可以跟应用程序的其他部分交流,而模式窗体
18、不行。这意味着,程序在执行到创建模式窗体的代码时,会停下来等待模式窗体关闭后再继续往下执行。而程序在打开非模式窗体的同时会继续往下执行后面的代码。(2)非模式窗体没有返回值,模式窗体有返回值。(3)关闭非模式窗体会直接在内存中释放窗体,而模式窗体则不会。(4)非模式窗体使用Show方法创建,模式窗体使用ShowDialog方法创建。2. 简述创建一个MDI应用程序的方法。(1)把作为MDI父窗体的窗体的IsMDIContainer 属性设置为True。(2)新建一个窗体(假设窗体名为Form2)作为MDI子窗体。(3)在MDI父窗体中调用如下代码即可显示一个MDI子窗体。Form2 f2 =
19、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-catch 3、一个,一个或多 4、Exception 5、改变编译器的设置,使用校验(checked)语句 6、The operation overflows at complie time in checked mode7、异常处理程序,清理代码 8、显式地标明了它所作用的语句块或表达式不需要进行溢出检查三、判断题1、 2、 3、 4、 5、 6、 7
20、、 8、四、简答题1. 导致代码失败的具体原因有哪些?答:算术溢出、堆栈溢出、内存不足、参数越界、数组索引越界、试图访问已经释放的资源(例如访问一个已经关闭的文件)等。2. 在catch语句里可以使用哪几种方法处理异常来获得不同的执行路径?a) 不写任何跳转代码:这种方法使得系统忽略异常,程序会继续往下执行。b) 使用return语句:它使得程序直接跳出方法体,回到调用方法的地方。c) 使用throw 语句:它使得异常再次被抛出,表示当前异常处理代码无法处理此类异常,将异常转给更上一级的异常处理程序进行处理d) 使用System.Environment.Exit(1)语句:它将直接关闭应用程序,一般情况下不使用这样的方法