《C#程序设计基础教程与实训》习题答案.docx
《《C#程序设计基础教程与实训》习题答案.docx》由会员分享,可在线阅读,更多相关《《C#程序设计基础教程与实训》习题答案.docx(11页珍藏版)》请在冰豆网上搜索。
《C#程序设计基础教程与实训》习题答案
《C#程序设计基础教程与实训》习题答案
附录Ⅰ各章习题答案
第1章C#语言概述
一、判断题
1、√2、×3、√4、×5、√6、√7、×8、×
二、选择题
1、C2、B3、C4、A5、A6、B7、B8、B
三、填空题
1、最新的;面向对象2、C和C++;JAVA3、先进设计思想;安全性能
4、灵活性5、集成开发环境(IDE)——VisualStudio.NET
6、Microsoft.NETFramework(微软.NET框架体系)
7、最基本的通用语言运行时库CLR(CommonLanguageRuntime);一些提供了具体功能的类库
8、需要开发和设计的项目文件;应用程序或组件
四、简答题
一、填空题
1、-2,147,483,648到2,147,483,6472、单精度;双精度
3、164、15、996、2.27、false8、隐式转换;显式转换
二、判断题
1、√2、×3、×4、√5、×6、×7、×8、×
三、选择题
1、A2、C3、D4、A5、B6、B7、D8、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、03、1.14、25、2
6、27、188、true9、false10、2970
二、判断题
1、×2、√3、×4、√5、√6、×7、×8、×
三、选择题
1、B2、D3、B4、A5、C6、C7、D8、B
四、简答题
1.试阐述逻辑运算符&和条件运算符&&之间的区别。
&&运算符与&运算符的区别在于,&&运算符不能对整型进行计算。
另外,对于表达式x&&y如果x为false,则不计算y(因为不论y为何值,“与”操作的结果都为false)。
这被称作为“短路”计算。
也就是说使用&&运算符进行条件计算,比使用&运算符速度更快些。
2.请从高到低排列【&&和||】、【算术运算符】、【赋值运算符】、【!
(非)】、【关系运算符】的优先级顺序。
答:
由高到低的顺序为:
【!
(非)】→【算术运算符】→【关系运算符】→【&&和||】→【赋值运算符】
第5章条件判断语句
一、判断题
1、×2、√3、×4、√5、√6、×7、×8、√
二、选择题
1、A2、C3、A4、C5、B6、D7、A8、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...elseif...语句来表达。
它的表现形式为:
if(表达式1)
{
语句块1
}
elseif(表达式2)
{
语句块2
}
...
elseif(表达式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、-56、18
7、168、1
二、判断题
1、√2、×3、√4、√5、√6、√7、√8、×
三、选择题
1、C2、B3、C4、D5、B6、C7、D8、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、D2、B3、A4、C5、B6、A7、D8、C
二、填空题
1、类型2、零3、new4、大括号“{}”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、Graphics3、Pen,Brush4、Rectangle,RectangleF
5、Point6、DrawPolygon,FillPolygon7、椭圆8、Paint
二、判断题
1、√2、×3、×4、×5、√6、√7、×8、×
三、选择题
1、B2、B3、A4、D5、C6、A7、A8、D
四、简答题
1.试阐述Graphics图形对象的几种创建方法。
(1)用某控件或窗体的CreateGraphics方法来创建Graphic对象,该对象表示该控件或窗体的绘图表面。
如果想在已存在的窗体或控件上绘图,则可以使用此方法。
(2)接收对图形对象的引用,该对象为窗体或控件的Paint事件中PaintEventArgs的一部份。
在为控件创建绘制代码时,通常使用此方法来获取对图形对象的引用。
2.请简述使用虚拟画布绘图的步骤。
(1)在内存中建立一块“虚拟画布”如:
(2)获取这块内存画布的Graphics引用:
(3)在这块内存画布上绘图:
(4)将内存画布画到窗口中:
第9章方法
一、选择题
1、B2、D3、A4、C5、C6、A7、B8、D
二、填空题
1、return2、void3、值参数4、数组型5、重载6、形参,实参
7、成员变量8、递归
三、判断题
1、√2、√3、√4、√5、×6、√7、×8、×
四、简答题
1.请简述用方法构造代码的好处?
(1)方法允许将程序分为不连续的逻辑单元。
调试单独的单元与调试不包含方法的整个程序相比要容易的多。
(2)可以在其他程序中使用为某个程序开发的方法,而通常只需要进行少量修改,甚至不需修改。
2.请简述什么是递归?
答:
在方法中直接或间接地调用自己叫方法的递归调用。
树型关系问题的求解往往需要使用到递归算法。
3.请简述什么是方法的重载?
答:
当定义两种或多种具有相同名称的方法时,就称作重载。
在调用时,编译器会根据不同的方法签名调用相应的方法。
第10章窗体与控件
一、选择题
1、B2、C3、C4、D5、B6、A7、D8、C
二、填空题
1、窗体2、Maximized3、Load4、true5、CheckedChanged
6、ListBox7、Image8、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、C2、B3、C4、D5、C6、D7、A8、B
二、填空题
1、单文档(SDI)应用程序,多文档(MDI)应用程序
2、ShowIcon,ShowInTaskbar,FormBorderStyle
3、DialogResult4、非模式5、菜单栏,菜单标题,菜单项
6、MenuItem,ComboBox,Separator,TextBox7、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子窗体。
Form2f2=newForm2();
f2.MdiParent=this;
f2.Show();
第12章异常处理
一、选择题
1、B2、B3、D4、A5、C6、A7、D8、C
二、填空题
1、try,catch,finally2、try-catch3、一个,一个或多
4、Exception5、改变编译器的设置,使用校验(checked)语句
6、Theoperationoverflowsatcomplietimeincheckedmode
7、异常处理程序,清理代码
8、显式地标明了它所作用的语句块或表达式不需要进行溢出检查
三、判断题
1、×2、×3、√4、×5、√6、√7、√8、√
四、简答题
1.导致代码失败的具体原因有哪些?
答:
算术溢出、堆栈溢出、内存不足、参数越界、数组索引越界、试图访问已经释放的资源(例如访问一个已经关闭的文件)等。
2.在catch语句里可以使用哪几种方法处理异常来获得不同的执行路径?
a)不写任何跳转代码:
这种方法使得系统忽略异常,程序会继续往下执行。
b)使用return语句:
它使得程序直接跳出方法体,回到调用方法的地方。
c)使用throw语句:
它使得异常再次被抛出,表示当前异常处理代码无法处理此类异常,将异常转给更上一级的异常处理程序进行处理
d)使用System.Environment.Exit
(1)语句:
它将直接关闭应用程序,一般情况下不使用这样的方法