ImageVerifierCode 换一换
格式:DOCX , 页数:121 ,大小:52.88KB ,
资源ID:27083904      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27083904.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(测绘《计算机高级语言C#》复习思考题.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

测绘《计算机高级语言C#》复习思考题.docx

1、测绘计算机高级语言C#复习思考题一 选择题(1)下面是关于标识符的描述,不正确的有哪些? (D)A 字母和下划线(a-Z、A-Z和)_)可以用在任何位置;B 数字不能放在首位,但可以在其他的任何地方;C 字符可以放在标识符的首位,但不能放在其他任何地方。虽然允许使用字符,但不推荐作为常用字符;D 标识符不区分大小写。(2) 下面是关于关键字和上下文关键字的描述,不正确的有哪些? (B)A 关键字不能被用作变量名或任何其他形式的标识符,除非以字符开始;B 所有C#关键字全部都由大写字母组成,但是NET类型名使用Pascal大小写约定;C上下文关键字是仅在特定的语言结构中充当关键字的标识符,在那些

2、位置,它们有特别的含意;D 但和关键字不同,关键字不能被用作标识符,而上下文关键字可以在其他部分代码中被用作标识符。(3) 下面是关于Main方法的描述,不正确的有哪些? (D)A 每个C#程序必须有一个类或者结构带有Main方法;B 每个C#程序的可执行起始点在Main中的第一条指令;C Main必须首字母大写;D Main的最简单形式如下: void Main() (4) 下面是关于空白的描述,不正确的有哪些? (D)A 程序中的空白指的是没有可视化输出的字符;B 源代码中的空白将被编译器忽略;C 程序员用空白使代码更清晰易读;D 空白字符包括:空格(Space)、制表符(Tab)、换行符

3、、回车符、¥。(5) 下面是关于语句块的描述,不正确的有哪些? (A)A 块是一个由成对大括号包围的一条或多条语句序列,它在语法上相当于一条语句;B 可以在任何语法上只需要一条语句而你需要的行为又要求一条以上的简单语句的情况下使用块;C 有些特定的程序结构只能使用块。在这些结构中,不能用简单语句替代块;D 简单语句以分号结束,但块后面不跟分号。(虽然编译器允许这样,但这不是好的风格。) (6) 下面是关于多个变量声明的描述,不正确的有哪些? (C)A 可以把多个变量声明在一条单独的声明语句中;B 多重变量声明中的变量必须类型相同;C 变量名必须用分号分隔;D 可以在变量名后包含初始化语句;E

4、初始化的变量可以和未初始化的变量混在一起。(7) 下面是关于类的描述,不正确的有哪些? (D)A 类是一个能存储数据并执行代码的数据结构;B 类的数据成员存储与类或类的实例相关的数据,它们通常模拟该类所表示的现实世界事物的特性;C 类的函数成员执行代码,它们通常模拟类所表示的现实世界事物的功能和操作;D 一个类可以有任意数目的数据成员和函数成员,即至少要有一个数据成员或者函数成员。(8) 下面是关于类声明的描述,不正确的有哪些? (B)A 类的声明定义新类的特征和成员;B 类的声明创建类的实例;C 类的声明提供下列内容:类的名称、类的成员和类的特征;D 大括号内包含了成员的声明,它们组成了类主

5、体;E 类成员可以在类主体内部以任何顺序声明,这意味着成员的声明完全可以引用在后面声明中才定义另一个的成员。(9) 下面是关于类中字段的描述,不正确的有哪些? (A)A 字段是类的函数成员;B 字段可以是任何类型,无论是预定义类型还是用户定义类型;C 和所有变量一样,字段用来保存数据;D 字段可以被写入和被读取。(10) 下面是关于类中方法的描述,不正确的有哪些? (D)A 方法是具有名称的可执行代码块;B 方法可以从程序的很多不同地方执行,甚至从其他程序中执行;C 当方法被调用时,它执行自己所含的代码,然后返回到调用它的代码位置;D 有些方法返回一个以上的值到它们被调用的位置。(11) 下面

6、是关于类中方法声明组成成分的描述,不正确的有哪些? (C)A 返回类型:它声明了方法返回值的类型。如果一个方法不返回值,那么返回类型被指定为void;B 名称:这是方法的名称;C 参数列表:它由至少一对空的方括号组成。如果有参数,它们被列在方括号中间;D 方法体:它由一对大括号组成,大括号内包含执行代码。 (12) 下面是关于类中私有成员的描述,不正确的有哪些? (A)A 私有成员不仅能从声明它的类的内部访问,还能在其他类的内部访问它们;B 私有访问是默认的访问级别,所以,如果一个成员在声明时不带访问修饰符,那它就是私有成员;C 还可以使用private访问修饰符显式地声明一个成员为私有;D

7、隐式地声明私有成员和显式地声明没有语义上的不同,两种形式是等价的。(13) 下面是关于var关键字的描述,不正确的有哪些? (B)A var关键字并不是某种特别类型的符号,它只是句法上的速记,表示任何可以从初始化的右边推断出的类型;B 能用于本地变量,也能用于字段;C 只能在变量声明中包含初始化时使用;D 一旦编译器推断出变量的类型,它就是固定且不能更改的。(14) 下面是关于本地常量的描述,不正确的有哪些? (A)A 常量在声明中可以初始化,也可以不初始化;B 常量在声明后不能改变;C关键字const不是一个修饰符,而是核心声明的一部分,它必须直接放在类型的前面;D 必须有初始化语句,初始化

8、值必须在编译期决定。(15) 下面是关于方法返回值的描述,不正确的有哪些? (A)A 方法可以向调用代码返回一个以上的值,返回的值被插入到调用代码中发起调用的表达式所在的位置;B 要返回值,方法必须在方法名前面声明一个返回类型;C 如果方法不返回值,它必须声明void返回类型;D 声明了返回类型的方法必须使用返回语句从方法中返回一个值,该返回语句包括关键字return及其后面的表达式。每一条穿过方法的路径都必须以一条这种形式的return语句结束。(16) 下面是关于方法形参的描述,不正确的有哪些? (C)A因为形参是变量,所以它们有类型和名称,并能被写入和读出;B和方法中的其他变量不同,形数

9、在方法体的外面定义并在方法开始之前初始化,但输出形例外,它在方法体的内定义;C参数列表中可以有任意数目的形参声明,而且声明必须用分号隔开;D形参在整个方法体内可用,在大部分地方就像其他本地变量一样。(17) 下面是关于方法实参的描述,不正确的有哪些? (E)A用于初始化形参的表达式或变量称为实参;B实参放在方法调用的参数列表中;C当方法被调用的时候,每个实参的值都被用于初始化相应的形参,方法体随后被执行;D实参的数目必须和形参的数目相同(参数数组是个例外);E每个实参必须和相应形参的类型必须完全相同。(18) 下面是关于值参数的描述,不正确的有哪些? (B)A参数的默认类型是值参数;B在堆中为

10、形参分配空间;C复制实参到形参;D一个值参数的实参不一定是变量。它可以是任何能计算成相应数据类型的表达式;E值参数是把实参的值复制到形参的参数。(19) 下面是关于引用参数的描述,不正确的有哪些? (B)A使用引用参数时,必须在方法的声明和调用中都使用ref修饰符;B实参必须是变量,在用作实参前可以不被赋值;C如果是引用类型变量,实参可以赋值为一个引用或者null值;D不在栈中为形参分配新的内存;E形参的名称相当于实参变量的别名,引用与实参相同的内存位置;F在方法执行期间对形参所做的任何改变在方法完成之后通过实参变量都是可见的。(20) 下面是关于输出参数的描述,不正确的有哪些? (C)A输出

11、参数用于从方法体内把数据传出到调用代码;B必须在方法的声明和调用中都使用out修饰符;C实参可以是变量,也可以是其他的表达式类型;D就像引用参数,输出参数的形参担当实参的别名,形参和实参都是同一内存位置的名称;E在方法内部,输出参数在被读取之前必须被赋值。这意味着输出参数无初始值,而且没有必要在方法调用之前为实参赋值;F每个输出参数在方法返回之前必须被赋值。(21) 下面是关于参数数组的描述,不正确的有哪些? (C)A在一个参数列表中只能有一个参数数组;B如果有,参数数组必须是列表中的最后一个;C在数据类型前使用params修饰符,在声明中需要该修饰符,在调用中也需要有该修饰符;D在数据类型后

12、放置一组空的方括号。(22) 下面是关于栈帧的描述,不正确的有哪些? (B)A当一个方法被调用时,在栈顶分配了一块内存用于保存一定数量与方法相关的数据项,这块内存叫方法的栈帧(stack flame);B方法被调用时,它的整个栈帧被压入堆中;C方法退出时,它的整个栈帧被从栈中弹出。弹出一个栈帧有时也称为释放栈;D栈帧存放了返回地址、参数、与方法调用相关的其他各种管理数据项。(23) 下面是关于递归的描述,不正确的有哪些? (C)A除了调用其他方法,方法还能调用自己,这称为递归(recursion);B方法调用自己的机制和调用其他方法完全相同。方法的每次调用都会有一个新的帧被压入栈中;C当递归越

13、来越深时,堆也越来越大;D设计递归方法时要避免无限递归。(24) 下面是关于方法签名的描述,不正确的有哪些? (A)A返回类型是签名的一部分;B形参的名称也不是签名的一部分;C方法的名称是签名的一部分;D参数的数目是签名的一部分;E参数的数据类型和顺序是签名的一部分;F参数修饰符是签名的一部分。 (25) 下面是关于静态字段的描述,不正确的有哪些? (C)A静态字段被类的所有实例共享,所有实例都访问同一内存位置;B如果静态字段的值被一个实例改变了,这种改变对所有的实例都可见;C没有使用static修饰符声明的字段为静态字段;D除了实例字段,类还可以拥有静态字段。(26) 下面是关于静态函数的描

14、述,不正确的有哪些? (D)A除了静态字段,还有静态函数成员;B如同静态字段,静态函数成员独立于任何类实例;C即使没有类的实例,仍然可以调用静态函数成员;D静态函数成员能访问实例成员,也能访问其他静态成员。(27) 下面是关于属性的描述,不正确的有哪些? (D)A它是命名的类成员;B它有类型;C它可以被赋值和读取;D它为数据存储分配内存;E它执行代码;F set访问器用于为属性赋值;G get访问器用于从属性获取值。(28) 下面是关于自动实现属性的描述,不正确的有哪些? (B)A允许只声明属性而不声明后备字段;B必须提供访问器的方法体;C get担当简单的内存读,set担当简单的写;D除非通

15、过访问器,否则不能访问后备字段;E只读和只写自动实现属性也就没有意义,因此它们不被允许。(29) 下面是关于实例构造函数的描述,不正确的有哪些? (D)A实例构造函数是一个特殊的方法,它在类的每个新实例创建的时候执行;实例构造函数用于初始化类实例的状态;B如果希望能从类的外部创建类的实例,需要声明实例构造函数为public;C构造函数的名称和类名相同;D构造函数能有返回值。(30) 下面是关于类中默认构造函数的描述,不正确的有哪些? (B)A如果在类的声明中没有显式地提供实例构造函数,那么编译器会提供一个隐式的默认构造函数;B默认构造函数带一个参数;C默认构造函数的方法体为空;D如果程序员定义

16、了一个或多个实例构造函数,那么编译器将不会为该类定义默认构造函数。(31) 下面是关于类中静态构造函数的描述,不正确的有哪些? (C)A实例构造函数初始化类的每个新实例,而static构造函数初始化类类型;B通常,静态构造函数初始化类的静态字段;C类只能有一个静态构造函数,而且能带参数;D静态构造函数不能有访问修饰符;E不能从程序中显式调用静态构造函数,它们被系统自动调用。(32) 下面是关于类继承的描述,不正确的有哪些? (D)A可以使用一个已经存在的类作为新类的基础。已存在的类称为基类(base class),新类称为派生类(derived class);B要声明一个派生类,需要在类名后加

17、入基类规格说明;C派生类被描述为扩展它的基类,因为它包含了基类的成员,加上在它自己的声明中的任何附加功能;D派生类能删除它所继承的任何成员。(33) 下面是关于类继承的描述,不正确的有哪些? (A)A一个类声明的基类规格说明中能有一个以上的类;B虽然类只能直接继承一个基类,但继承的层次没有限制,也就是说,作为基类的类可以派生自另外一个类,而它又派生自另外一个类,一直下去,直至最终到达object;C除了特殊的类0bject,所有的类都是派生类,即使它们没有基类规格说明,类object是唯一的非派生类,因为它是继承层次结构的基础;D没有基类规格说明的类隐式地直接派生自类object,不加基类规格

18、说明只是指定object为基类的简写。(34) 下面是关于隐藏基类成员的描述,不正确的有哪些? (E)A类中引入的常量、字段、属性、事件或类型会把所有同名的基类成员中的常量、字段、属性、事件隐藏起来;B类中引入的方法隐藏所有非方法同名的基类成员,以及所有具有相同签名(方法名称和参数个数、修饰符和类型)的基类方法; C类中引入的索引器隐藏所有具有相同签名(参数个数和类型)的基类索引器; D要让编译器知道你在故意隐藏继承的成员,使用new修饰符;E不可以隐藏静态成员。(35) 下面是关于使用基类引用调用派生类(derived class)的方法的描述,不正确的有哪些? (E)A派生类的方法和基类的

19、方法有相同的签名和返回类型;B基类的方法使用virtual标注;C派生类的方法使用override标注;D覆写和被覆写的方法必须有相同的可访问性;E能覆写static方法或非虚方法;F方法、属性和索引,以及事件都可以被声明为virtual和override。(36) 下面是关于构造函数初始化语句的描述,不正确的有哪些? (C)A第一种形式构造函数初始化语句使用关键字base并指明使用哪一个基类构造函数;B第二种形式构造函数初始化语句使用关键字this并指明应该使用当前类的哪一个另外的构造函数;C基类构造初始化语句放在逗号后面,逗号紧跟着类的构造函数声明的参数列表;D当声明一个不带构造函数初始化

20、语句的构造函数时,它只是带有“base()”的构造函数初始化语句的形式的简写。(37) 下面是关于类访问修饰符的描述,不正确的有哪些? (D)A标记为public的类可以被系统内任何程序集中的代码访问,要使一个类对其他程序集可见,必须使用public访问修饰符;B标记为internal的类只能被它自己所在的程序集内的类看到,这是默认的可访问级别;C除非在类的声明中显式地指定修饰符public,程序集外部的代码不能访问该类;D不可以使用internal访问修饰符显式地声明一个类为内部的。(38) 下面是关于类成员可访问性的描述,不正确的有哪些? (C)A所有在类中显式声明的成员都是互相可见的,无

21、论它们的访问性说明如何;B继承的成员不属于在类的显式声明成员,所以,继承的成员对派生类的成员可以是可见的,也可以是不可见的;C必须对每个成员指定成员访问级别。如果不指定某个成员的访问级别,它的隐式访问级别为public;D成员不能比它的类更可访问。(39) 下面是关于类成员访问修饰符的描述,不正确的有哪些? (F)A public访问级别是限制性最少的。所有的类,包括程序集内部的类和外部的类都可以自由地访问成员;B private类成员只能被它自己的类的成员访问。它不能被其他的类访问,包括继承它的类;C private成员能被嵌套在它的类中的类(即嵌套类)的成员访问;D protected访问

22、级别如同private访问级别,除了一点,它允许派生自该类的类的成员访问该成员,即使程序集外部的继承该类的类也能访问该成员;E 标记为internal的成员对程序集内部的所有类可见,但对程序集外部的类不可见;F 标记为protected internal的成员只能对程序集内部中所有继承该类的类可见。(40) 下面是关于抽象成员的描述,不正确的有哪些? (C)A抽象成员是一定要被覆写的函数成员,它有abstract修饰符、没有实现代码块;B抽象成员的代码块被分号代替;C因抽象方法必须在派生类中用相应的方法覆写,所以必须把virtual修饰符附加到抽象方法上;D就像虚方法,派生类中抽象方法的实现必

23、须指定override修饰符;E抽象成员只能被声明在抽象类中。(41) 下面是关于抽象类的描述,不正确的有哪些? (B)A抽象类只能被用作其他类的基类;B能创建抽象类的实例;C抽象类使用abstract修饰符声明;D抽象类可以包含抽象成员,但不是必须的;E抽象类自己可以派生自另一个抽象类。(42) 下面是关于静态类的描述,不正确的有哪些? (B)A静态类本身必须标记为static;B静态类的所有成员不一定都是静态的;C静态类可以有一个静态构造函数,但没有实例构造函数,不能创建该静态类的实例;D不能继承静态类,它们是密封的。(43) 下面是关于扩展方法的描述,不正确的有哪些? (D)A扩展方法必

24、须被声明为static;B扩展方法声明所在的类也必须被声明为static;C扩展方法必须包含关键字this作为它的第一个参数类型,并在后面跟着它所扩展的类的名称;D不能在所扩展类的实例上调用扩展方法。(44) 下面是关于可以担当操作数的描述,不正确的有哪些? (F)A字面量;B常量;C变量;D方法调用;E元素访问器,如数组访问器和索引;F关键字。(45) 下面是关于运算符的描述,不正确的有哪些? (C)A把操作数当作输入;B执行一个行为;C基于行为返回一个以上的值;D可以使用运算符连接表达式以创建新的表达式。(46) 下面是关于整数字面量的描述,不正确的有哪些? (D)A整数字面量是最常用的字

25、面量,它们常常被书写为十进制数字序列,并且没有小数点,带有可选的后缀,指明整数的类型;B如果整数字面量没有后缀,编译器会把数字字符串解释为能表示该值而不丢失数据的最小的类型;C整数类型字面量还可以被写成16进制(hex)形式,数字必须是16进制数(从0到F),而且字符串必须以0x或0X开始(数字0,字母x);D有8进制形式的整数类型字面量。(47) 下面是关于实数字面量的组成的描述,不正确的有哪些? (E)A 10进制数字;B 一个可选的小数点;C 一个可选的指数部分;D 一个可选的后缀;E无后缀的实数字面量是float类型,不是double类型。(48) 下面是关于字符字面量的描述,不正确的

26、有哪些? (B)A字符字面量由单引号内的字符表示组成,字符字面量可以是下面的任意一种:单个字符、一个简单转义序列、一个十六进制转义序列或一个Unicode转义序列;B字符字面量的类型是string;C简单转义序列是一个反斜杠后面跟着单个字符;D十六进制转义序列是一个反斜杠,后面跟着一个大写或小写的X,后面再跟着多至四个十六进制数字;E Unicode转义序列是一个反斜杠,后面跟着一个大写或小写的U,后面再跟着多至四个十六进制数字。(49) 下面是关于字符串字面量的描述,不正确的有哪些? (A)A字符串字面量使用单引号标记,有两种字符串字面量类型:规则字符串字面量和逐字字符串字面量;B规则字符串

27、字面量可以包含:字符、简单转义字符、十六进制和Unicode转义序列;C逐字字符串字面量的书写如同规则字符串字面量,但以一个字符为前缀;D逐字字面量与规则字符串字面量区别在于转义字符串不会被求值;E逐字字面量的唯一例外是相邻的双引号组,它们被解释为单个双引号字符。(50) 下面是关于运算符结合性的描述,不正确的有哪些? (C)A左结合运算符从左至右求值;B右结合运算符从右至左求值;C所有的二元运算符是左结合的;D赋值运算符和条件运算符是右结合的。(51) 下面是关于运算符重载的描述,不正确的有哪些? (A)A运算符重载只能用于类、枚举和结构;B为类或结构重载一个运算符X,可以声明一个名称为op

28、erator x的方法并实现它的行为;C运算符重载方法必须带static和public两个修饰符;D运算符重载方法是类或结构的成员,该类或结构是它的一个操作数。(52) 下面是关于运算符重载不能做的事情的描述,不正确的有哪些? (B)A创建新运算符;B改变运算符的行为;C重新定义运算符如何处理预定义类型;D改变运算符的优先级或结合性。(53) 下面是关于语句的描述,不正确的有哪些? (E)A语句是描述一个类型或告诉程序去执行一个动作的源代码指令;B声明类型或变量的语句称为声明语句;C执行动作或管理控制流的语句称为嵌入语句;D控制可以跳转到的语句称为标签语句;E简单语句由一个表达式和后面跟着的逗

29、号组成;F语句块是匹配的大括号括起来的语句序列,括起来的语句可以包括:声明语句、嵌入语句、标签语句、嵌套块;G空语句仅由一个分号组成,可以把空语句用在任何语言的语法需要一条嵌入语句而程序逻辑又不需要任何动作的地方。 (54) 下面是关于结构类型的描述,不正确的有哪些? (B)A结构类型变量含有它自己的数据;B结构类型的变量能为null;C两个结构变量不能引用同一对象;D结构类型是值类型。(55) 下面是关于结构的实例构造函数的描述,不正确的有哪些? (B)A语言隐式地为每个结构提供一个无参数的构造函数,这个构造函数把结构的每个成员设置为该类型的默认值,值成员被设置成它们的默认值,引用成员被设置

30、成null;B预定义的无参数构造函数对每个结构都存在,但能删除或重定义它;C可以创建另外的构造函数,只要它们有参数;D要调用一个构造函数,包括隐式无参数构造函数,要使用new运算符,即使不从堆中分配内存也使用new运算符;E也可以不使用new运算符创建结构的实例,这时该实例的所有数据成员都没有初始化。(56) 下面是关于结构类型的描述,不正确的有哪些? (D)A把一个结构赋值给另一个结构,就是从一个结构中把每个数据成员值复制到另一个结构中的相对应的数据成员,这和复制类变量不同,复制类变量时只有引用被复制;B不能使用结构实例的数据成员的值,直到显式地设置它;C不能调用结构实例的任何函数成员,直到

31、所有数据成员已经被赋值;D在结构中字段初始化是允许的;E结构可以有实例构造函数和静态构造函数,但不允许有析构函数。(57) 下面是关于结构类型的描述,不正确的有哪些? (A)A虽然结构总是隐式密封的,但是能从它们派生其他结构;B结构本身派生自System.ValueType,System.ValueType派生自object;C new和override修饰符可以用于结构成员,当创建一个和基类 SystemValueType的成员有相同名称的成员时使用它们;D当结构被作为返回值时,一个拷贝被创建并从函数成员返回;E当结构被用作值参时,一个实际参数的拷贝被创建,该拷贝被用在方法的执行中;F如果把一个结构用作ref或out参数,一个对该结构的引用被传入方法,这样其数据成员就能被传

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1