C#作业
作业要求:交打印稿,简答题直接写出结果,编程题要求将程序运行结果进行截图并排版在程序旁边。
第一章:
1.计算机程序设计语言是如何分类的?
答:
按语言级别,有低级语言和高级语言之分。低级语言包括字位码、机器语言和汇编语言。它的特点是与特定的机器有关,功效高,但使用复杂、繁琐、费时、易出差错。其中,字位码是计算机唯一可直接理解的语言,但由于它是一连串的字位,复杂、繁琐、冗长,几乎无人直接使用。机器语言是表示成数码形式的机器基本指令集,或者是操作码经过符号化的基本指令集。汇编语言是机器语言中地址部分符号化的结果,或进一步包括宏构造。
高级语言的表示方法要比低级语言更接近于待解问题的表示方法,其特点是在一定程度上与具体机器无关,易学、易用、易维护。当高级语言程序翻译成相应的低级语言程序时,一般说来,一个高级语言程序单位要对应多条机器指令,相应的编译程序所产生的目标程序往往功效较低。
按照用户要求,有过程式语言和非过程式语言之分。过程式语言的主要特征是,用户可以指明一列可顺序执行的运算,以表示相应的计算过程。例如,FORTRAN,COBOL,ALGOL60等都是过程式语言。非过程式语言的含义是相对的,凡是用户无法指明表示计算过程的一列可顺序执行的运算的语言,都是非过程式语言。著名的例子是表格的生成程序(RPG)。它实质上不是语言,使用者只须指明输入和预期的输出,无须指明为了得到输出所需的过程。
按照应用范围,有通用语言和专用语言之分。目标非单一的语言称为通用语言,例如FORTRAN、COBOL、ALGOL60等都是通用语言。目标单一的语言称为专用语言,如APT等。
按照使用方式,有交互式语言和非交互式语言之分。具有反映人?机交互作用的语言成分的称为交互式语言,如BASIC语言就是交互式语言。语言成分不反映人-机交互作用的称非交互式语言,如FORTRAN、COBOL、ALGOL60、PASCAL等都是非交互式语言。
按照成分性质,有顺序语言、并发语言和分布语言之分。只含顺序成分的语言称为顺序语言,如FORTRAN、COBOL等都属顺序语言。含有并发成分的语言称为并发语言,如并发PASCAL、MODULA和ADA等都属并发语言。考虑到分布计算要求的语言称为分布语言,如MODULA*便属分布语言。
2.简述对象和类的的概念与区别,典型的对象之间的关系有哪几种?答:对象:客观世界中的事物都
是对象,包括有形的物理对象,可感知的逻辑实体,以及概念化的抽象实体。它有自己的属性,能够执行特定的操作。
类:具有相同属性和操作的一组对象的集合;它描述的不是单个对象,而是“一类”对象的共同特征。其重要性在于它是面向对象技术中最重要的结构,它支持信息隐藏和封装,进而支持对抽象数据类型(ADT)的实现。
区别:类描述的不是单个对象,而是“一类”对象的共同特征。
对象的关系可在类级别上进概括描述,典型的有以下几种:
1.聚合(aggregetion):一个对象由其他对象作为其构成部分,也叫整体-局部关系。
2.依赖(dependengcy):一个对象对另一个对象存在依赖关系,且对后者的改变可能会影响到前者。
3.泛化(generalization):对象所属类的直接的一般-特殊关系。
4.一般关联(association):对象之间在物理或逻辑上的更为一般的关联关系,主要是指一个对象使
用另一个对象的服务。
3.面向对象技术中的继承指什么?举例说明在日常生活中年到的继承的例子。
答:在泛化关系中,特殊类可自动具有一般类的属性和操作,这叫作继承;而且特殊类还可以定义
自己的属性和操作,从而对一般类的功能进行扩充。例如:“学生”类可以从“人”这个类继承,这样就继承了“人”的姓名、身高等属性,而学号、专业等则是学生类自己的特有属性。在类的继承结构中,一般类也叫做基类或父类,特殊类也叫做派生类或子类。
第二章:
1.C#程序的执行过程是怎样的?哪些方法会在程序中执行?
答:程序的功能一般通过方法代码来实现。每个方法都是从其第一行代码开始执行,直至最后一行
代码结束,期间可以通过代码来调用其他的方法,从而完成各式各样的操作。C#程序的起点是由Main方法定义的,程序总是从Main方法的第一行代码开始执行,在Main方法结束时停止运行。2.什么是命名空间?
答:命名空间是C#避免类名冲突的一种方式。例如,命名空间可以避免下述情况:定义一个类来
表示一个顾客,称此类为Customer,同时其他人也在做相同的事(这有一个类似的场景——顾客有相当多的业务)。
命名空间不过是数据类型的一种组合方式,但命名空间中所有数据类型的名称都会自动加上该命名空间的名字作为其前缀。命名空间还可以相互嵌套。例如,大多数用于一般目的的.NET基类位于命名空间System中,基类Array在这个命名空间中,所以其全名是System.Array。
.NET需要在命名空间中定义所有的类型,例如,可以把Customer类放在命名空间YourCompanyName中,则这个类的全名就是YourCompanyName.Customer。
3.VS集成开发环境包括哪些组成部分?各部分功能是什么?
答: 1.菜单栏:位于标题栏的下方,其中包括了用于开发、维护、编译、运行和调试程序以及配
置开发环境的各项命令。
2.工具栏:位于菜单栏的下方,提供了常用的命令的快捷操作方式。
3.代码编辑区:位于开发环境中央,是编辑代码或设计程序的主区域。
4.输出窗口:位于代码编辑区的下方,用于输出当前操作得到的结果。
5.解决方案资源管理器:位于开发环境的右侧,它通过树形视图对当前解决方案进行管理,解决方案是树的根节点,解决方案中的每个项目都是根节点的一个子节点,项目节点下则列出了该项目中使用的各种文件、引用和其他资源。
6.服务器资源管理器:位于开发环境的左侧,用于快速访问本地或网络上的各项服务器资源。
7.属性窗口:位于解决方案资源管理器的下方,用于查看或编辑当前所选元素的具体信息。
8.状态栏:位于开发环境的底部,用于对光标位置、编辑方式等当前状态给出提示。
第三章:
1.值类型与引用类型有哪些主要区别?
答: 1. 值类型的变量直接包含自身的所有数据,每创建一个变量,就在内存中开辟一块区域;只有通过变量才能修改它所包含的数据。而引用类型的变量只存储对目标数据的引用,每创建一个变量,就增加一个指向目标数据的指针;有可能出现多个引用类型的变量指向同一份数据的情况,这时修改一个变量就会影响到其它所有的变量。
2. 作为方法参数时,值类型变量传递的是数值,引用类型变量传递的是地址,因此如果方法的执行代码修改了变量,对值类型的变量不会有影响,但会改变引用类型的变量。
字符串是什么字段类型3. 装箱是将一个值类型转换为一个对象类型(object),而拆箱则是将一个对象类型显式转换为一个值类型。
2.简述引用类型之间的转换的基本原则?值类型和引用类型之间的转换方法?
答:引用类型之间的转换的基本原则是:从派生类的对象到基类的对象可以进行隐式转换;而从基类对象到派生对象只能进行显式转换,且不一定成功。
值类型和引用类型之间的转换,通过装箱、拆箱的方法进行转换,装箱是将一个值类型转换为一个对象类型(object),而拆箱则是将一个对象类型显式转换为一个值类型。
3.位操作符中的取反、与、或操作符和逻辑操作符中的逻辑与、逻辑或、逻辑非有什么相同和不同之处?
答:当两个操作数均为布尔类型时,与运算“&”和逻辑与运算“&&”的求值效果相同,或运算“|”和逻辑或运算“||”的求值效果相同。但异或运算“^”不存在对应的条件逻辑运算。
4.Foreach循环语句的功能是什么?
答:foreach就是遍历集合中的元素,并对每个元素执行一次循环操作。但是循环体内不允许修改集合的元素。
5.编程:分别使用while、do-while循环写出计算整数10的阶乘的代码。
运行结果:
6.编程:用for语句求1至100的和。
7. 用循环编程:计算等差数列之和2+6+10+...+102以及等比数列之和3+31+32+...+38
第四章:
1.C#的成员访问限制有哪几种?各是什么含义?
答:C#的成员访问有以下四种访问限制修饰符:
Private:用于成员访问限制,表示不允许外部对象访问该成员;
Public:用于类型和成员访问限制,修饰成员时,表示允许外部对象访问该成员,修饰类型时表示允许其他外部对象访问;
Protecte:用于成员访问限制,表示只允许当前的类及派生类的对象访问该成员;
Internal:用于类型和成员访问限制,表示不允许外部程序集使用该类或者访问该类。
2.比较静态字段、常量字段、只读字段和只读属性的相同点和不同点。答:静态字段是指某个类型的所有对象所共享的字段,程序会在首次该类型时为字段分配存储空间,所有对象都可以通过静态成员来读取或修改静态字段。
常量字段是特殊的静态字段,它使用关键字const来修饰,且只能在声明时赋值,之后不允许被修改。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论