您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 《C2005程序设计》习题参考答案
《C#2005程序设计》习题参考答案第1章一、选择题1.D2.A3.B4.D5.D6.C二、填空题1.Form12.【选择项】3.【窗口】→【重置窗口布局】4.【文本编辑器】→【C#】、【常规】三、问答题1.VisualC#2005是VisualC#2003的升级版本,同时C#语言也已更新为2.0版,它在泛型、迭代器、局部类型、可空类型、匿名方法、命名空间别名限定符、静态类、外部程序集别名和属性访问器可访问性等方面具有新特性。2.略。3.VisualC#2005的开发环境包括菜单栏、工具栏、工具箱、窗体设计器、解决方案资源管理器窗口,通过【视图】菜单还可以打开代码窗口、属性窗口、类视图窗口、动态帮助窗口、调试输出窗口和错误列表窗口等组件。四、上机操作题1.略。2.略。第2章一、选择题1.B2.C3.A4.A二、填空题1.namespace2.命名空间2VisualC#2005程序设计基础与实例教程3..4.usingnamespace三、问答题1.API是ApplicationProgrammingInterface的缩写,即应用程序编程接口。2.控制台应用程序编程是指纯API(ApplicationProgrammingInterface,即应用程序编程接口)下的win32编程。3.使用VisualC#2005开发Windows应用程序主要包括以下4个步骤:(1)程序界面设计。(2)设置界面对象的属性。(3)编写程序代码。(4)测试与运行程序。4.C#中的类是利用命名空间组织起来的。命名空间提供了一种从逻辑上组织类的方式,防止命名冲突。四、上机操作题1.Console.WriteLine(helloworld!);2.参见2.2小节。第3章一、选择题1.D2.C3.A4.A5.B6.C7.B8.A二、填空题1.‘\\’2.隐式转换、显式转换3.%4.ToString、Parse5.8、5三、问答题1.在VisualC#2005中,常量、变量、函数、类等的命名必须遵循一定的规则,人们把符合这些规则的名称称为VisualC#2005的合法标识符,这些规则是:参考答案3(1)标识符必须由字母、十进制数字、下划线(_)或汉字组成,且只能以字母、下划线或汉字开头。(2)如果以下划线开头,则必须包括至少一个其他字符。(3)不能是VisualC#2005中的关键字(保留字)。(4)VisualC#2005的标识符区分大小写。2.转义字符是在程序中具有特殊意义的控制字符.3.VisualC#2005的逻辑运算符(也称布尔运算符)有:!(非)、&&(与)、||(或)。4.“=”是赋值运算符,用于将常量或表达式的值赋给变量,而“==”是关系运算符,用于比较其两边的值是否相等。两者是不等价的。5.(1)(sex==男&&(age=18&&age=20)&&high1.65)||(sex==女&&(age=16&&age=18)&&high=1.60)(2)(gl=15&&zhw==工人)&&(gl=10&&zhw==教师)四、上机操作题1.(1)VisualC#2005(2)true(3)true(4)true(5)11(6)202.(1)-124VisualC#2005程序设计基础与实例教程(2)11(3)1.6(4)27(5)1(6)93.(1)中华人民国(2)C#2005//前面3个空格(3)国华人民共和国万岁,国国共产党万岁第4章一、选择题1.B2.B3.B4.D二、填空题1.顺序结构、选择结构、循环结构2.if语句、switch语句三、问答题1.参见4.1.2小节2.switch语句的语法格式如下:switch(表达式){case常量表达式1:语句组1break;case常量表达式2:语句组2break;……case常量表达式n:语句组nbreak;参考答案5[default:语句组n+1break;]}switch语句的执行方式是:(1)首先计算表达式的值。(2)用表达式的值跟case后面的常量表达式去逐个匹配,若发现相等,则执行相应的语句组。(3)如果表达式的值跟任何一个常量表达式都不匹配,在具有default子句的情况下,则执行default后面的语句组n+1;若没有default子句,则跳出switch语句,执行switch语句后面的语句。3.按照4.1.2小节的办法引入VisualBasic的InputBox后,引入命名空间:usingMicrosoft.VisualBasic;然后再使用下面的语句创建输入对话框:Interaction.InputBox(请输入百分制成绩:,输入成绩,0,-1,-1);4.MessageBox.Show(该生的成绩等级为:优秀!,输出等级,MessageBoxButtons.YesNo,MessageBoxIcon.Information,MessageBoxDefaultButton.Button2);四、上机操作题1.参见4.1.4小节,编码时将原来的代码:volume=(float)(1.0/3.0*PI*radius*radius*high);改成:volume=(float)(PI*radius*radius*high);即可。2.引入VisualBasic的InputBox后,使用以下代码实现:inty;y=int.Parse(Interaction.InputBox(输入年号:,输入,,-1,-1));if((y%100!=0&&y%4==0)||(y%400==0))MessageBox.Show(闰年);elseMessageBox.Show(平年);第5章一、选择题1.D2.C3.B4.C6VisualC#2005程序设计基础与实例教程二、填空题1.for语句、while语句、do...while语句2.43.n%5==0&&n%9==04.21、10三、问答题1.for语句的执行过程为:(1)进入for语句后,首先执行表达式1,一般是给循环变量赋初值。(2)然后执行表达式2,即判断表达式2是否成立。如果成立,则执行循环体;否则跳出循环。(3)循环体执行完毕后,执行表达式3,即修改循环变量的值。(4)得到新的循环变量的值后,再执行表达式2,判断其是否成立,来决定是执行循环体还是跳出循环。(5)重复上述步骤,直到表达式2的值为false。2.循环次数=(int)((终值–初值-1)/步长+1)四、上机操作题1.inti,n;longp=1;n=int.Parse(Interaction.InputBox(请输n的值:,输入,,-1,-1));if(n1){MessageBox.Show(输入错误!);}else{for(i=1;i=2*n-1;i+=2){p*=i;}MessageBox.Show(p.ToString());}2.intx,n;x=int.Parse(Interaction.InputBox(请输纸的厚度(毫米):,输入,,-1,-1));参考答案7n=0;do{x*=2;n++;}while(x8848000);MessageBox.Show(需要对折+n.ToString()+次);3.intp,n;n=1;p=1;do{p*=(int)System.Math.Pow(n,n);n=n+1;}while(p=5000);MessageBox.Show(p不大于5000时最大的n值为:+(n-1));4.intn,a,b,c,x;n=0;x=100;do{a=x/100;b=(x%100)/10;c=x%10;if(a*a*a+b*b*b+c*c*c==x){n++;MessageBox.Show(第+n+个:+x);}x++;}while(x=999);第6章一、选择题1.A2.A二、填空题1.return2.“形实结合”三、问答题1.在VisualC#2005中,定义方法的一般形式如下:返回值类型方法名([参数列表]){[语句组][return[表达式];]}2.return语句用来给方法返回指定类型的值。3.声明方法时的参数,称为形式参数,简称“形参”;调用方法时的参数称为实际参数,简称“实8VisualC#2005程序设计基础与实例教程参”。4.ref和out主要的区别有:(1)ref在作为参数调用函数之前,变量一定要赋值,否则会得到一个常规编译错误:使用了未赋值的变量。(2)在被调用函数内,以ref引入的参数在返回前不必为它赋值。(3)out在作为参数调用函数之前,变量可以不被赋值。(4)在被调用函数内,以out引入的参数在返回前一定要至少赋值一次。从本质上讲,ref更适合理解为给被调用函数传递了一个与原参考相同内存地址的变量。而out则可以理解为在调用函数前,先给变量找个地方(内存区域),让被调用函数给指定的内存区域放置一个值。四、上机操作题1.maxNum方法代码如下:intmaxNum(intnum1,intnum2,intnum3){intn;if(num1num2){n=num1;}else{n=num2;}if(nnum3){n=num3;}returnn;}2.cube方法代码如下:longcube(intn){longp;p=(long)(n*n*n);returnp;}参考答案9第7章一、选择题1.B2.A3.B4.D二、填空题1.属性、方法、事件2.只具有get访问器的属性3.实例方法4.类的两个或两个以上方法的名字相同,只是使用的参数类型或者参数个数不同的情况,编译器则根据不同的情况调用不同的方法。三、问答题1.面向对象编程的特征有:(1)对象惟一性。对象惟一性是指每个对象都有自身惟一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期(生命期是指对象从创建到销毁的期间)中,它的标识都不会发生改变,不同的对象不能有相同的标识。(2)分类性。分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。例如:世界上所有的人(每一个人是一个对象)都具有类似属性(都有两只手、两只眼睛)和行为(都会说话、行走),人们就把这些对象抽象成一个类——人类。也就是说类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。(3)封装性。10VisualC#2005程序设计基础与实例教程封装性是保证软件部件具有优良的模块性的基础。面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰。本书将在第10章对封装性进行详细描述。(4)继承性。继承性是子类自动共享父类成员的一种机制,子类具有父类的所有特征,并可以增加与父类不同的成员。即在定义和实现一个类的时候,可以在一个已经存在的类(父类)的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容,形成一个新的类(子类)。继承性是面向对象程序设计语言不同于其他语言的最重要的特点,是其他语言所没有的。本书将在第10章对继承性进行详细描述。(5)多态性。多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息,增强了软件的灵活性和重用性。本书将在第10章对多态性进行详细描述。(6)共享性。面向对象技术在不同级别上促进了共享,共享不仅可以发生在同一类中,因为继承机制的存在,可以在同一应用中实现代码的共享,甚至还可以实现在不同应用中的共享,为未来目标的可重用设计准备了条件,它是通过类库这种机制和结构来实现的。
本文标题:《C2005程序设计》习题参考答案
链接地址:https://www.777doc.com/doc-2818790 .html