C#程序设计教程(第2版)课后习题 完全版_第1页
C#程序设计教程(第2版)课后习题 完全版_第2页
C#程序设计教程(第2版)课后习题 完全版_第3页
C#程序设计教程(第2版)课后习题 完全版_第4页
C#程序设计教程(第2版)课后习题 完全版_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#查看更完整的版本第一章。Net和C#一、选择题1.CLR是生产环境2.C#语言源代码文件的后缀为CS3.要构建桌面应用程序。NET提供的类库是WindowsForm4.添加到C#的类成员访问修饰符与c等语言相比是internal5.在C#中获取命名空间的关键字using6.C#中程序的入口方法名为Main.第二,简单的回答1.C#、CLR和。NET之间关系的简要说明A.NET是运行时平台,CLR是.NET框架的默认层次结构。C#表示。NET的核心开发语言简述C#语言的主要特征答:简单(没有指针);现代性(跨语言例外处理);面向对象(封装、继承和多态);类型安全版本处理技术兼容性灵活性.什么是NET框架?NET框架结构的简要说明P3图1-14.NET应用程序编译过程的简要说明。A.NET应用程序编译为中间语言(IL),并通过Just In Time(JIT)编译器重新编译IL以形成机器代码。5.哪些工具箱中有常用的命令按钮、标签、文本框等控件?答:“所有Windows表单”。6.C#可以开发哪些类型的应用程序?.7.概述了控制台方法和Windows应用程序方法调试器的优缺点。如果每个都合适答:控制台方法通常用于在dos状态下打印输出程序结果,其优点是程序执行效率高。windows应用程序通常用于开发表单应用程序或系统,其优点是功能更强大,代码执行效率相对较低。第二章C#编程基础一、选择题1.C#的值类型包括简单类型、枚举类型和结构类型。(c)2.枚举类型是一组已命名的常量集合,其中所有整数都可以是枚举类型的基本类型,如果类型被忽略,int将应用规则。(c)3.C#中的引用类型包括类、接口、数组、委派、对象和string。其中object(是所有值类型和引用类型的)根类。(d)4.浮点常量属于双精度类型,其格式为:0.618034、0.618034D、6.1834E-1浮点常量。(a)5.以下字符常量表示组(b)无效A t 、 u0027 、 x 0027 b n 、 t 、 037 只能是单一字元C a 、 u 0061 (char) 97 d x0030 、 0 、 0 6以下标识符显然正确(a)A _ int、int、 int busing、_ using、 usingNo1、no _ 1、No.1 da3、_ a3、 a37.如果表达式包含多个数据类型的混合,则C#会根据计算顺序自动转换为相同的类型。(float)类型和decimal类型在一个表达式中混合,不能自动升级到decimal。(a)8.说明语句intx=8。在以下表达式中,值2为(b)ax=x-=x;bx %=x-2;Cx8?X=0:xdx/=x x x;9.C#数组主要有三种形式。它们是(一维数组,多维数组,不规则数组)。(c)10说明语句double , tab=new double 2,3,4;以下叙述正确:(a)Tab是一个共有24个元素的三维数组第二,简单的回答1.说明以下标识符的正当性X.25无效的4foots无效的exam-1无效的using无效的main对Who_am_I对LargeSmall error _Years对val(7)错误2xy错误以下常数合法吗?如果是非法的话,请指出原因。指示数据类型(如果有效)。32767int 35uuint1.25e3.4无效3Llong0.0086e-32无效无效 87 true布尔 a 字符串 a 字符 96 45 无效5double5UL长度整数3.表示字符串的字符:它们不表示文字或字符串0x66 -无效的China -无效的 0x33-无效的(4个字符) r-(回车) 8.34-无效 0-字符(转义空字符)中文字符串 8.42 字符串56.34-错误 n t0x34-字符串 -(反斜杠字符) 0x33-字符串“ComputerSystem! n 字符串 doc share my1.doc-字符串 32;doc share my1 . doc -逐字字符串 Joe said hello tome-逐字字符串 Joe said hello tome-字符串4.将以下数字写入C#中的表达式(1)ax2 bx c(2)(x y)3(3)(a b)/(a-b)5.计算以下表达式的值(1)x y%4*(int)(x z)%3/2。其中x=3.5、y=13、z=2.5(2)(int)x%(int)y (float)(z*w),其中x=2.5,y=3.5,z=3,w=4。6.原来a都是101)a=a;20 2)a %=(7% 2);0?-嗯?3)a*=3 4;704)a/=a;0.5)a-=a;0 6)a=a-=a*=a;-80三、填空1.在C#中,可以将任何类型的值分配给object变量,如果将值类型分配给object类型变量,系统将执行打包操作。相反,如果将object类型变量指定给值类型变量,则系统必须执行开箱操作并加强系统类型转换2.C#独有的不规则数组是数组中的数组。也就是说,阵列元素是阵列,其中每个阵列的长度都不同3.请注意,阵列可以在建立时视需要初始化,而且在初始化时,必须实际初始化已初始化阵列的所有元素,无论阵列的维度为何4.程序运行的结果是_ _ _ 1 _ _ 2 _ _ 0 _ _ true _ _ _UsingSystemPublicclassExe1publicstic voidmain()intx、y、z;Boolsx=y=z=0;S=x!=0| y!=0 y!=0;Console.writeline (x=0,y=1,z=2,s=3,x,y,z,s);控制台。read();5程序运行结果为_ _ _ 0 5 _ _ _ _UsingSystemPublicclassExe2publicstic voidmain()inta,b;a=b=1;b=a/b;Console.write (a=0,b=1,a,b);b=-a b;Console.writeline (a=0,b=1,a,b);控制台。read();6.程序运行结果Hb IS 26。Lb is 52Using SystemPublic class Exe3Public static void Main()Int Hb、Lb、x;X=0x1af034HB=(x16)0x fffff;Lb=x0x00ffConsole.write (HB is 0 t ,HB);Console.writeline (lb is 0,lb);控制台。read();7.程序运行的结果是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _UsingSystem;PublicclassExe4publicstic voidmain()inta、b、c;a=2;b=7;c=5;交换机(a0) casetrue交换机(b10)case true:控制台. write( )Break;Casefalse:Console。Write(“!”);BreakBreakCasefalse:switch(c=5)case false :控制台. write( * );BreakCase true:控制台. write( # )Break;Break控制台。write();控制台。read();8程序运行结果1 3 5 9 11 13 15 17 19UsingSystemPublicclassExe5publicstic voidmain() intx;x=newint10;Inty=1,2,3,4,5,6,7,8,9,10 ;constz;z=newintSIZE;for(inti=0;I=0maj) aj 1=aj;j-;aj 1=m;for(I=0);I10I)控制台。WriteLine(0 ,aI);控制台。WriteLine();第三章面向对象编程基础1.C#语言的核心是面向对象的编程(OOP),它至少具有三个特性之一:包、继承和多态。(a)2.C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以初始化静态成员或非静态成员(c),静态构造函数只能初始化静态成员(a)。3.C#实现了完全面向对象的目的,因此没有全局变量、全局常量、全局方法(d),任何数据域和方法都必须封装在类体中。4.方法的值参数是由值传递的(a)参数。5.方法中REF和OUT参数的说明无效:REF和OUT传递实际地址,因此实际参数和几何参数的数据类型必须匹配(c)没错。像传递REF和OUT参数方法一样,将实际参数的内存地址传递给方法,实际参数只需要相同的内存存储,但在调用REF之前必须明确地为实际参数指定值REF将实际参数作为格式参数传递,OUT仅从方法传递值,而不是方法调用REF和OUT参数要求实际参数和形状参数的书类型或匹配,或者实际参数可以隐式转换为形状参数类型6.添加m类疲劳的方法签名有:public void max (out intmax,params int a),m1是一个m类对象,maxval是int类型值类型变量,arrayA是m1 .Max(out maxval,ref arrayA) (C)是无效的基于int的数组对象正确:m1。max(out max val);M1 .Max (outmaxval,4,5,3);M1 .Max (outmaxval,3,3.5)二、填空1.析构函数不能有程序显式调用,在对象发布时由系统自动调用。如果此对象是派生的类对象,则派生的类析构函数在调用析构函数时运行,顺序域构造函数相反运行的基类析构函数也运行2.C#实现了完全面向对象的功能,因此没有全局变量、全局常量、全局方法,所有数据域和方法都必须封装在类体中。3.如果类中的数据成员声明为static,则此类的所有实例都共享static数据库成员,此类外部的静态成员不能通过实例方法(继承)访问,必须通过静态方法(构造函数)访问4.以下程序运行的结果如下:UsingSystemPublicclassTestpublicvoidchange1(strings) s=s change1publicvoidchange2(refstrings) s=s change2Public void change3 (strings1,outstrings2) s1=s1 change3S2=s1PublicclassExe8publicstic voidmain()strings1,S2;S1=Hello,;testt1=new test();T1 .变更1(S1);console . writeline( S1 aftercalltochange 1 is 0 ,S1);t1 . change 2(ref S1);console . writeline( S1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论