C#试题库(全)附 参考答案

发布时间 : 星期三 文章C#试题库(全)附 参考答案更新完毕开始阅读

38、“*=”运算符是计算右操作数的平方值,然后将结果存储在左操作数中 × 39、C#中,在进行隐式转换时,可以将一个整数类型隐式转换为char类型的变量。× 40、类只能继承一个类,但能继承多个接口。 √

41、抽象类中所有的方法必须被声明为abstract × 42、C#源代码的后缀名为.cs √

43、常量通过关键字const进行声明。 √ 44、构造函数和析构函数均可以被显式调用。×

45、修饰方法参数的关键字ref和out的区别在于ref修饰的参数在调用方法之前就需要进行初始化。√ 46、一个数组的元素可以是多种类型的数据。 × 47 z=x>y?x:y的含义是获取x和y中的较大值并且赋给z。√

48、在带有“||”操作符的语句中,如果其中一个或两个条件都为真,则语句为真√ 49、若想在标签中显示文字,则需设置标签的name属性。×

50、实例构造函数既可以对静态成员进行初始化,也可对实例成员初始化。√ 51、以下的代码执行后,string类型变量a的值仍然是“original value”。× string a=”original value”; Private void b(string c) {

c=”changed”; } b(a);

52、抽象方法在抽象类中被定义和实现,当派生类从抽象类中继承一个抽象方法时,派生类必须重写该抽象方法。×

53、C#中使用try-catch-finally异常处理机制捕捉和处理错误。(√) 54、类和对象的区别就是,类是对象的实例,而对象则是类的抽象。(×)

55、面向对象将数据和对数据的操作作为一个相互依赖,不可分割的整体,采用了数据抽象和信息隐蔽技术。√

56、 不能指定接口中方法的修饰符。√

57. DotNet包含两个部分,即公共语言运行库和框架类库。√ 58. 在同一行上可以书写多条语句,每条语句间用分号分隔。√ 59. 在数据类型转化时,只能通过类型转换关键字或Convert类实现。× 60. 在定义数组时不允许为数组中的元素赋值。×

61. 定义枚举时至少为其中的一个枚举成员赋值。×

62. 接口与类同样是面向对象程序设计的核心,是创建对象的模版。√

62. 委托是将方法作为参数传递给另一方法的一种数据类型。事件与委托没有关系。×

63. 如果要实现重写,在基类的方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字。× 64. 静态类和实例类的区别在于:静态类不需要初始化即可直接使用,实例类需要进行实例化,生成对象才可使用。√ 65. 用Interval属性设置Timer控件Tick事件发生的时间间隔单位为秒。× 66可以重写私有的虚方法。×

67. 在C#中,所有类都是直接或间接地继承System.Object类而得来的。√ 68.在C#中,子类不能继承父类中用private修饰的成员变量和成员方法。√ 69、c#面向对象的程序语言特点:代码好维护,安全,隐藏信息 √ 70、类和对象的区别在于万物都是对象,是个实体,而概念是个类上的描述 × 71、c#面向对象的程序语言有继承性和多态性还有封装性 √

72、接口不能通过方法来实现 √ 73、C#中的数据类型分为简单类型和引用类型 √ 74、C#是一种安全的、稳定的、简单的、优雅的,面向对象的编程语言。√ 75、C#不是由C和C++衍生出来的面向对象的编程语言。 × 76、C#源程序文件一般用.cs作为扩展名 √ 77、C#中所有的类型实质上都是从(object)类派生而来的。 √ 78、结构是值类型,而类是引用类型。 √ 79、静态方法访问类的attribute时,可以访问类的所有属性。× 80、静态方法不能被派生类重载。√

81、camel命名法是首字符大写,后续的每个词首字符大写,而其他字符则小写 × 82,在c#中,变量被声明时并同时被自动赋予初始值,在访问变量前,必须明确的为其赋值 × 83、c#是大小写不敏感的语言 ×

84、为了明确告诉c#编译器我们愿意接受精度损失,必须进行显示转换,把表达式值转换为括号里的目标类型 √ 85、方法头包括方法名称、可选的传入形式参数和方法的返回类型 √ 86、较好的编程习惯是在一个方法体中包含多个return语句 ×

87、Pascal命名方法是名称的第一个字母大写,后面的每个单词首字母大写,其他字母小写 √ 88、所有类和方法名都是用pascal命名方法 √ 89、接口实现类必须提供接口所申明的所有方法 √ 90、抽象类要比具体类更接近于抽象类型 √

91、通过提供对抽象类申明的所有抽象方法的非抽象实现,就能从抽象类派生出新类 √ 92、结对关系的概念只适用于关联,不适用于链接。√ 93、实现接口是一种“要么全要,要么不要”的事情。√ 94、Camel命名法是用于公共attribute的名称。 ×

95、参数是一个本地变量,在方法头中申明,当方法开始执行时出现。√ 96、聚合是一种特殊形式的关联。√

97、继承是一种强大的机制,他通过指出新旧类之间的不同之处,在旧类的基础上定义一个新类 √ 98、和用点符号向对象传递消息一样,我们也可以用点符号存取一个对象的attribute。 √ 99、在类间或对象间存在不同的结构关系 √

100、在所有情况下,存取作用范围,返回值和方法签名必须保持一致,这样覆盖才会起作用。√ 101、用foreach遍历群集时能够用break跳出循环。×

102、关于对象的访问,对象A向对象B传递消息的唯一途径是A能访问B的句柄。√ 103、构造器的名称,可以与所属类的名称不一样。× 104、C#支持多重继承。×

105、一切类的基类是object类,并且可以直接继承它。√ 106、C#中已经不包含指针。√

107、抽象类里的方法一定不能含有实现。× 108、精度最高的预定义类型是浮点类型。×

109、Object类的Equals方法可以用来判断两个整型值时候相等。×

110、一旦进入一个foreach代码块,就不能试图修改foreach引用变量的值。√ 111、C#群集,除Array外,都被设计成能持有一般对象。√

112、ArrayList能够包含任何类型的元素,但不能混合放置不同类型的对象。× 113、C#中一个类可以实现多个接口。√

114、接口的实现类必须提供接口所有声明的所有方法的具体版本,这样才能满足编译器的要求。√ 115、当一个类实现一个接口时,实现该接口的类通过覆载的手段实现接口。×

116、从抽象类派生的类不一定要覆载所有的抽象方法、提供具体版本;如果一个或多个抽象单发没有被

覆载,则该派生类也是一个抽象类。(√

117、如果一个类实现的两个或多个接口中的方法拥有同样的方法签名,则在实现列中只需要实现其中一

个。√

118、接口中可以定义方法,还可以定义属性。√ 119、静态方法不能被声明为抽象方法。√

120、在C# 编程环境中,常量的值可以在代码中被修改。× 121、C#程序的执行是从第一个方法开始,到Main方法结束。× 122、Main方法的返回值类型必须是void 的类型。× 123、else语句总是与离他最近的一个if语句相匹配。× 124、C# 程序中使用0表示逻辑非 ×

125、C# 关于switch 小括号中表达式可以是字符串类型 × 126、在一个类中,可以有多于一个的构造函数。√

127、在一个类中,静态构造函数在运行时仅能被引用一次。√ 128、一个类不能有多于一个的派生类。×

129、继承通过添加另外的特征给派生类,从而增加了基类的功能。× 130、不能指定接口中方法的修饰符。 √

131、DotNet包含两个部分,即公共语言运行时和框架类库。 √ 132、在定义数组时不允许为数组中的元素赋值。 × 133、定义枚举时至少为其中的一个枚举成员赋值。 ×

134、如果要实现重写,在基类的方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字。 × 135、静态类和实例类的区别在于:静态类不需要初始化即可直接使用,实例类需要进行实例化,生成对象才可使用。√136、可以重写私有的虚方法。 ×

137、在C#中,所有类都是直接或间接地继承System.Object类而得来的。 √ 138、在C#中,子类不能继承父类中用private修饰的成员变量和成员方法。 √ 139、可以阻止某一个类被其他类继承。 √ 140、一个类可以有多个基类和多个基接口。 × 141、在接口的成员中,可以包含常量。× 142、构造函数名必须和类名相同。√ 143、构造函数可以声明返回值类型。× 144、构造函数不能带参数。√ 145、构造函数不可以重载×

146、方法重载可以扩充现有类的功能√

147、方法ConsoleW(int _value)是方法ConsoleW(string _value)的重载√ 148、方法重载即“同样的方法名但传递的参数不同” √

149、try、catch、finally三个字句必须同时出现,才能正确处理异常× 150、catch字句能且只能出现一次×

151、try字句中所抛出的异常一定能被catch字句捕获× 152、无论异常是否抛出,finally子句中的内容都会被执行。√ 153、子类可以从父类中继承其所有的成员。×

154、无论是否声明,子类都继承自object(System.object)类√

155、假如,类M继承自类N,而类N又继承自类P,则类M也继承自类P。√

156子类应是对基类的扩展。子类可以添加新的成员,但不能出去已经继承的成员的定义√ 157、switch语句可以出现default标签,也可以不出现default标签√ 158、switch语句的控制表达式可以是任何数据类型×

159、switch语句中case标签结束可以有跳转语句,也可以没有。×

160、switch中可以有两个或两个以上的case标签的常量与控制表达式的值相同× 161、for 循环只能用于循环次数已经确定的情况× 162、for 循环是先判定表达式,后执行循环体语句√ 163、for 循环中,可以用 break语句跳出循环体√

164、for 循环体语句中,可以包含多条语句,但要用花括号括起来√ 165、结构属于引用类型,字符串属于值类型×

166、所有内置的数据类型都是值类型,所有用户定义的数据类型都是引用类型× 167、值类型变量直接存放真正的数据,引用类型变量存放的是指向真正数据的内存地址√ 168、允许有多个不相同名称的构造函数× 169、允许有多个相同名称的构造函数√ 170、在C#类中至少要有一个构造函数× 171、 要求构造函数至少有两个参数× 172、构造函数的名称与类名称一样√ 173、构造函数在对象销毁时自动执行× 174、一个类中,只能有一个构造函数×

175、foreach语句能使你不用索引就可以遍历整个数组√ 176、foreach语句总是从索引1遍历到索引Length× 177、foreach总是遍历整个数组√

178、如果需要修改数组元素就必须使用for语句√

179、枚举型是值类型,它是一组称为枚举数列表的命名常量组成的独特类型√

180、枚举型的默认基础类型为int,第一个枚举数的值必须为0,后面每个枚举型的值依次递增1×181、重写虚方法时可以为虚方法指定别称×

182、虚方法是实现多态的唯一手段×

183、多态性是指以相似的手段来处理各不相同的派生类。√ 184、定义一个接口,接口名必须使用大写字母I开头√ 185、接口可以被类继承,本身也可以继承其他接口。√ 186、接口像类一样,可以定义并实现方法× 187、类可以继承多个接口,接口只能继承一个接口× 188、派生类可以继承多个基类的方法和属性。× 189、参数数组所对应的实参的个数是不固定的√ 190、参数数组的声明同普通数组一样× 191、参数数组必须是一维数组√

192、参数数组必须是函数的最后一个参数?√ 193、对象之间通过消息进行信息传递√ 194、面向对象方法的核心是继承 195、构造函数不可以用private修饰× 196、构造函数可以设置缺省参数√

197、派生类对象可以不受限制地访问所有的基类对象 × 198、异常类对象均为System.Exception类或其子类的对象

199、实现接口的类必须实现接口中定义的所有方法。

200、返回值类型、参数个数和类型都相同的函数也可以重载。×

201、使用关键字sealed声明的类不能是基类。Sealed是密封类,不能改写还有继承 √ 202、在抽象类中不能包含非抽象成员。

×

203、具有抽象方法的类必须声明为abstract。 √

204、类的静态数据成员需要在定义每个类的对象时进行初始化。×

205、基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。×206、类的保护成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。 × 207、不同的命名空间中不能有同名的方法。

×

208、在C#中,int[][]是定义一个int型的二维数组. × 209、C#中标识符内的大小写字母是没有区别的。(×)

210、在C#中可使用 new 修饰符显式隐藏从基类继承的成员。√ 211、Office2007属于系统软件(×) 212、Vista是系统软件(√)

213、计算机软件系统一般包括管理软件和应用软件(×) 214、Web购物系统属于系统软件(×)

215、派生类重写基类的虚方法时,可改变方法的参数个数。 × 216、抽象类不能实例化且不能用sealed关键字修饰。

217、类的static成员可以通过该类的实例来引用。 × 218、类的属性成员必须是可读写。 × 219、抽象类和接口都不能被实例化(√) 220、基类的构造函数不能被派生类继承(√) 221、构造函数可以声明为虚函数。(×)

222、计算机软件是指令、数据和代码的集合(√)

223、当程序中只需要进行两个选择,一般采用if…else…语句。(√)

224、当程序中有两个以上的选择要选时,可以采用switch…case…语句。(√) 225、在程序中switch…case…语句可以代替if…else…语句。(×)

226、“解决方案管理器”窗口可以用来浏览当前项目中所有的文件、名字空间和类。(×) 227、C#中声明变量规则不能用“@#!$%”等除了“_”以外的符号作为变量名。(√) 228、“>>”运算符是位移操作符。(√)

229、在C#中,声明一个变量 int abc,不给abc付值直接使用abc,它将获得默认值1。(×) 230、const字段的值是在编译时确定的(√) 231、const字段的值是在运行时才确定的(×) 232、static字段的值是在运行时才确定的(√)

233、面向对象中类的定义是具有相同或相似性质的对象的抽象(√) 234、readonly字段只能在初始化期间或是在构造函数中赋值(√)

235、面向对象的程序设计是以要解决的问题中所涉及的各种对象为主要矛盾的(√) 236、C、C++、C#这三个语言都是面向对象的程序设计语言(×)

237、计算机编程中主要有两种抽象型式:过程抽象和数据抽象,面对对象的编程主要采用过程抽象的方法。(×)

238、派生类可以同时继承一个基类和多个接口,代码可以如下编写: public class EditBox: Control ; IControl ; IDataBound {…}(×)

239、基类的派生类中必须为基类中的抽象方法提供实现。(√) 240、abstract方法的声明必须同时实现(×)

241、接口像类一样,可以定义并实现方法(×)

242、派生类是基类的扩展,派生类可以添加新的成员,也可去掉已经继承的成员(×) 243、继承是指派生类可以获取其基类特征的能力(√) 244、在派生类中重写基类方法必须使用 override 关键字(√)

245、抽象类可以作为基类,所以不能直接实例化,也不可以被密封(√)

246、C#的异常处理机制中try块和catch块都是必不可少的,finally块是可以省略的。×

247、在派生于System.Exception异常类层次结构中, 用来派生出自己定义的异常类是ApplicatonException。(√) 248、在派生于System.Exception异常类层次结构中, 用来派生出自己定义的异常类是System.SystemException。(×)249、数组在创建实例时已经被编译器初始化了默认值,因此可以直接访问;(×) 250、可以不使用new关键字来对数组进行初始化(√) 251、允许创建大小为0的数组(√) 252、数组在访问之前必须初始化。(√)

253、数组元素的访问是从1开始,到Length结束;(×)

254、如果使用的整数索引小于0,或者大于数组的大小,编译器将抛出一个IndexOutOfRangeException异常;(√)255、对数组元素的所有访问都要进行边界检查(√)

256、开发人员不需要创建MessageBox类的实例,只需调用Show()方法既可显示消息框√ 257、ListBox控件用于显示一个选项列表,用户每次只能从中间选择一项(×)

258、如果实现重写,在基类的方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字。(×)259、用Interval属性设置Timer控件Tick事件发生的时间间隔单位为秒。(×) 260、一个窗体可以有多个弹出式菜单。(√)

261、在C#中,装箱操作是将引用类型转化成值类型。(×) 262、.NET包含两个部分:公共语言运行库和类库。(√) 263、在定义数组时不允许为数组中的元素赋值。(×) 264、定义枚举时至少为其中的一个枚举成员赋值(×)。

265、接口和类相同是面向对象程序设计的核心,是创建对象的模板。(√)

266、委托是将方法作为参数传递给另一方法的一种数据类型,事件与委托没有联系。(×) 267、如果不带修饰符,C#中类成员被默认声明成public。(×) 268、构造函数和方法都可以进行重载。√ 269、任何运算符都可以进行重载 (×) 270、重载是继承的形式之一(×)

271、在面向对象编程的思想中,类是相同或者相似对象的抽象。√

联系合同范文客服:xxxxx#qq.com(#替换为@)