VS C# 里:gta5新建人物继承等级类: A,继承自 B 怎么操作

在 SegmentFault,解决技术问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
一线的工程师、著名开源项目的作者们,都在这里:
获取验证码
已有账号?
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
1、问题描述如果类A继承了一个抽象类B(抽象类B已经实现了接口C),为什么还要实现接口C呢?
2、举例抽象类AbstractMap已经实现了接口Map,HashMap继承了AbstractMap为什么也还要实现接口Map?
public abstract class AbstractMap&K,V& implements Map&K,V& {
public class HashMap&K,V&
extends AbstractMap&K,V&
implements Map&K,V&, Cloneable, Serializable {
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
虽然抽象类B implements C.但是,有可能B中的并没有真正实现C接口中的方法--因为B是抽象类,抽象类可以不实现接口中的方法,而是直接用 abstract 修饰。如 abstract void method();那么,由于A extends B, 而 A不是抽象类,那么A就得完全实现 method()方法了。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
首先语法上,这么写是没什么问题;可能作者为了代码阅读方便,直接打开HashMap的定义就能看到其实现了Map接口,而无需要再到AbstractMap里去确认。另外,即便HashMap又声明一次implements Map,如果有些方法已在AbstractMap里实现,HashMap也无需再重新实现的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
基类实现了接口后,子类也就相当于实现了这个接口。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
看了 牧曦之晨 给出的链接,感觉上面的回答也没有讲清楚这个问题,不过我基本同意这样写是为了清晰这个观点。但是在这里我想补充一点我的想法。
首先,在语法上,无论写不写implements Map&K, V&都是没有问题的,而且效果是一样的。所以剩下的可能性只有2个:
为了代码上和语义上更加清晰
HashMap的程序员一不小心多加了这么一句
先说结论:我以为,这两种可能性都有,但是(1)的可能性更大一些。
首先来看看(1)。为什么加了这一句才清晰?继承了AbstractMap还不够清晰吗?毕竟后者本身就是实现了Map的啊!
先来看看AbstractMap的文档,在该类文档的第一句就说:
此类提供 Map 接口的骨干实现,以最大限度地减少实现此接口所需的工作。
也就是说,这个类是一个便捷类,它的存在主要是为了方便使用者,以减少必须的编码工作的。类似的例子还有java.awt.event中的几个XXXAdapter类,但是它们更加纯粹——AbstractMap多少还有点语义,但XXXAdapter仅仅只是为了方便程序员而已(其的方法都是空的)。
另一方面,实现了Map以及Map的子接口的类有很多,包括HashMap、TreeMap、WeakHashMap、ConcurrentHashMap、LinkedHashMap等等,它们基本上都继承自AbstractMap或其子类,但同时却具有不同的特性。而这些决定了它们的应用场景和适用范围的特性主要并不是来自于AbstractMap,而是来自于它们实现的接口,以及自身的具体实现。
例如HashMap实现的是Map,配合它的名字,我们可以知道这是一个利用哈希表实现的Map;TreeMap实现的是NavigableMap,配合它的名字,我们可以知道这是一个利用树实现的可导航的(可遍历的)Map,等等。所以对于这些Map类,我们只需要看它的名字,再看看它们实现的接口,就能大概知道它们采用的数据结构和主要特性。而继承AbstractMap这件事在这种情况下则可以忽略,仅仅将其作为一种减少繁复劳动的手段即可。
再来看看(2)。
前面也说了,java.util包下面各种XXXMap类有很多,它们中绝大部分都继承自AbstractMap,同时又实现了Map接口的某个子接口。因此它们大部分都有如下这种共通的格式:
public class XXXMap&K,V&
extends AbstractMap&K,V&
implements YYYMap&K,V&, Cloneable, Serializable
作为程序员应该最能理解遇到这种情况时会如何处理了吧:C&P大法好啊!拷贝一下,改改类名和实现接口,多方便,呵呵。
当然前面也说了,这种猜测的可能性是比较小的,至少我是这么认为的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
在 Java 中接口最大的作用是表意,表示这个类拥有哪些方法可以被其他类调用,其次才是接口方法的实现。这里通过显示的标记 Map 接口,其实是为了方便大家了解 HashMap 拥有 Map 接口中所定义的方法,这些明确的标记有时候是通过继承链很难直观体现的。
举个例子,Object 类中就 clone 方法,也就是说 clone 并不需要其他接口来实现,但是所有可以克隆的对象又必须实现 Cloneable 接口,这个接口在定义和实现上来说没有任何必要性,就仅仅是为了表意这个类的对象可以被克隆。与之相似的还有 Serializable 等接口,他们都是没有任何需要实现的方法,仅仅是为了表示类拥有一个特别的属性而已。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
这个是我很久之前提得问题,和题主的类似。和 的解释(1)差不多
PS:被采纳的答案里面的链接
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
如果 hashmap 不自己实现 map 接口
abstractmap 因为是抽象类,即使不实现 map接口内的方法 编译也过的去。那么问题来了,如果hashmap 不实现 map接口 , map 接口中的 方法 有可能是不被实现的
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:c# 有2个类A、B,都有方法test(),如下怎样实现 if(条件) A c=new A(); else B c=ne
c# 有2个类A、B,都有方法test(),如下怎样实现 if(条件) A c=new A(); else B c=new B(); c.test();程序中A、B不止2个类,还有很多,类里的方法和属性都一样,也很多,大虫说的方法以前用过,类多了感觉还是麻烦.
public interface AB{void test();}public class A:AB{public void test(){Console.WriteLine("A");}}public class B:AB{public void test(){Console.WriteLine("B");}}class Program{static void Main(string[] args){ABif (true){c = new A();}else{c = new B();}c.test();Console.ReadKey(true); }}
与《c# 有2个类A、B,都有方法test(),如下怎样实现 if(条件) A c=new A(); else B c=ne》相关的作业问题
用全拼智能ABC不能,不知道最新版可以不可以冏jiǒng(象形.本作“囧”.象窗口通明.本义:光明)同本义 [bright].如:冏冏(光明的样子);冏彻(明亮而通彻);冏寺(即太仆寺.古代官署名.掌舆马及马政);冏牧(冏卿.太仆寺卿)鸟飞的样子 [(bird) flying].如:冏然(鸟飞的样子) 现在
waffles 鸡蛋饼
inspiration 灵感
提纲:1.时间比金钱更可贵.2.应当珍惜每寸光阴.3.要养成节约时间的好习惯.时间的宝贵(The Value of Time)A proverb says,"Time is money." But in my opinion,time is even more precious than money.Why?Becau
寒假的课程有很多的,主要有国内外考试、综合能力的培训.建议你进入“天津新东方”官网看一下具体的课程安排,上面时间、费用、地点都有的.如果有不清楚的可以电话咨询一下.寒假班已经开始了,所以抓紧时间哦.
开怀大笑 捧腹大笑 哄堂大笑
杂志类:中小学数学报,学习周报(北师大版),小学数学教育,小学数学大眼界,小学数学老师,总过多媒体教学学报小学版,学知报小学数学,学习周报,中小学数学教学报,学习周报(苏教版),快乐学数学(小学版),少年智力开发报.其中教学版的通常是给老师提供教学方法的,我小的时候数学用的就是学习周报和快乐学数学,你可以看看自己的孩子
不正确!有用它省力特点的也有用它够方便特点的,很多地方用得费力杠杆!如剪刀,菜刀……
雅思就是做剑桥,除了剑桥没有真题了,我把3-6做了一个半月就去考了,7分够用了.剑桥要做透.
说下我对圆系的理解,在这道题目里圆系是所有过已知两圆的交点的圆构成的集合.下面说明这样假设的道理何在?我们假设的圆系方程为:x^2+y^2-1+λ(x^2+y^2+2x)=0 (1)假设两圆交点A(x1,y1),B(x2,y2)则(1)式必定经过A,B两点理由如下:因为A,B为两圆交点,故A,B满足两圆方程.就拿点A来
如果你是指语言类的大学,那么主要有三所:北京外国语大学、北京第二外国语大学、北京语言大学.北外应该是语种最多的,在全国也是最多的两三所之一,学术性较强;北二外则偏重实际应用多一些;北语主要的专业特色是对外汉语,也就是教外国人学中国话.如果你是指大专院校的外语系,那就很多了,据我所知,清华、北大、北师大、北航、北邮、林大
解题思路: 运动学公式的综合应用。学会列方程组进行计算。解题过程:
坚果一般分两类:一是树坚果,包括杏仁、腰果、棒子、核桃、松子、板栗、白果(银杏)、开心果等;二是种子,包括花生、葵花子、南瓜子等.板栗当然是坚果.
保留前两项,分组求和.解析:1+2不动,后面还有98个数,即49组,每两项的和为1,所以总和为1+2+49×1=52 以后这种题目都可以分组求和
都是人类的因素 在加上亚欧板块和太平洋板块的挤压就地震了
因为它们通人性,也可以说它们的性格属于慢热性,就是很老实的一种,所以……
是这样的.一般来说,表示人的情感的形容词都可以这样用.比如说高兴happy,sad,excited等等 be 形容词 about sth 是说,一个人多某件东西或动物 有什么样的感觉 而be 形容词 to do sth.是说,做某件事情,这个人有什么样的感受.举例:1.I'm excited about the parC#题库(选择判断)-海文库
全站搜索:
您现在的位置:&>&&>&金融考试
C#题库(选择判断)
C#试题库1、单项选择1、装箱是把值类型转换到(
)类型。a)数组
d)string2、静态构造函数只能对( a )数据成员进行初始化。a)
静态和实例3、关于如下程序结构的描述中,哪一项是正确的?(
}a) 不执行循环体
b) 一直执行循环体,即死循环c) 执行循环体一次
d) 程序不符合语法要求4、下列哪个类型的对象是ADO.NET在非连接模式下处理数据内容的主要对象?( d
a) Command
b) Connection
DataAdapter
d) DataSet5、下列哪一个不是类成员的成员的是(
d)while循环结构6、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为(
)。a) int
ulong7、下列关于数组访问的描述中,哪些选项是错误的? (
d )。a) 数组元素索引是从0开始的
b) 对数组元素的所有访问都要进行边界检查 c)如果使用的索引小于0,或大于数组的大小,编译器将抛出一个IndexOutOfRangeException异常;d) 数组元素的访问是从1开始,到Length结束;8、下列结构图对应于哪种结构(
A是程序段,P是条件)?(
while 循环结构
b) do?while 循环结构c) if?else? 选择结构
d) switch?case?选择结构9、C#数组主要有三种形式,它们是( c )。a)
一维数组 、二维数组、三维数组
整型数组、浮点型数组、字符型数组 c)
一维数组、多维数组、不规则数组
一维数组、二维数组、多维数组10、下列标识符命名正确的是( d
)。a) X.25
d)_Years11、面向对象编程中的“继承”的概念是指(
)a) 对象之间通过消息进行交互
b)派生自同一个基类的不同类的对象具有一些共同特征 c)对象的内部细节被隐藏
d) 派生类对象可以不受限制地访问所有的基类对象12、下列语句在控制台上的输出是什么?(
)if(true)System.Console.WriteLine(“FirstMessage”);System.Console.WriteLine(“SecondMessage”);a)
b)FirstMessage
c)SecondMessage
d)FirstMessageSecondMessage13、在C#的类结构中,class关键字前面的关键字是表示访问级别,下面哪个关键字表示该类只能被这个类的成员或派生类成员访问? (
d )。a) public
b) private
c) internal
d) protected14、下列类型中, 哪些不属于引用类型?( b )。a) String
d) Delegate15、 数组pins的定义如下:int[] pins=new int[4]{9,2,3,1};则pins[1]=( b
d) 916、创建数据库连接使用的对象是(
a )。a) Connection
b) Command
c) DataReader
d) DataSet17、调用方法时,如果想给方法传递任意个数的参数时,应选用哪个关键字(
d) 无特殊要求18、C#中TestClass为一自定义类,其中有以下属性定义public void Property{…}使用以下语句创建了该类的对象,并使变量obj引用该对象:TestClass obj = new TestClass();那么,可通过什么方式访问类TestClass的Property属性? (
MyClass.Pc)
obj.Property ();19. 在C#中,表示一个字符串的变量应使用以下哪条语句定义?(
c) Dim str as string
d) char *20、下列关于C#面向对象应用的描述中,哪项是正确的?( c )。a) 派生类是基类的扩展,派生类可以添加新的成员,也可去掉已经继承的成员
b) abstract方法的声明必须同时实现c) 声明为sealed的类不能被继承d) 接口像类一样,可以定义并实现方法21、C#中导入某一命名空间的关键字是(
)。a) using
d) include22、一般情况下,异常类存放在什么命名空间中?( b )。a) 生成异常类所在的命名空间
System.Exception命名空间 c) System.Diagnostics命名空间
d) System命名空间23、以下程序的输出结果是( b)。enum Color{ Red, Green = 2, Blue }static void Main(string[] args){Color c = 0;Color c1 = (Color )2;Console.WriteLine(&{0},{1}&, c,c1 );Console .Read ();}a)
d) Green,Blue24、若将数据库中的数据填充到数据集,应调用SqlDataAdapter的( c )方法。
Update25、下列标识符命名正确的是( a
)。a) X_25
d)val(7)26、若将数据集中所作更改更新回数据库,应调用SqlAdapter的( a )方法。
a) Update b) Close
Open27、C#中MyClass 为一自定义类,其中有以下方法定义public void Hello(){??}使用以下语句创建了该类的对象,并使变量obj 引用该对象:MyClass obj = new MyClass(); 那么,可如何访问类MyClass 的Hello 方法?( a
obj.Hello();
obj::Hello();
c) MyClass.Hello();
d)MyClass::Hello();28、如果左操作数大于右操作数,( d )运算符返回false。a)=
d)以上都是29、下面哪个关键字不是用来修饰方法的参数?( d )。a)
d) in30、在使用FileStream 打开一个文件时,通过使用FileMode 枚举类型的(
)成员,来指定操作系统打开一个现有文件并把文件读写指针定位在文件尾部。a)
c) CreateNew
d) Truncate31、有说明语句double[,] tab=new double[2,3];那么下面叙述正确的是( c )。a)
tab是一个数组维数不确定的数组,使用时可以任意调整b)
tab是一个有两个元素的一维数组,它的元素初始值分别是2,3c)
tab是一个二维数组,它的元素个数一共有6个d)
tab是一个不规则数组,数组元素的个数可以变化32、在菜单项File中,为将F设为助记符,应将该菜单项的Text属性设置为(
d)_File33、下列关于“方法重载”的描述中,哪些选项是不正确的?(
方法重载可以扩充现有类的功能b) 构造函数不可以重载c)
方法ConsoleW(int
_value)是方法ConsoleW(string
_value)的重载 d) 方法重载即“同样的方法名但传递的参数不同”34、以下程序的输出结果是( a )。class Program{
static void Main(string[] args){MyStruct s1 = new MyStruct(1, 2);s1.x = 2;s1.Sum();Console.ReadLine();}}struct MyStruct{public MyStruct(int i, int j){x =y =}public void Sum(){int sum = x +Console.WriteLine(&the sum is {0}&,sum );}}a) the sum is 4
the sum is 3
the sum is
2 d) the sum is 035、指定操作系统读取文件方式中的FileMode .Create的含义是( d )。a) 打开现有文件b) 指定操作系统应创建文件,如果文件存在,将出现异常c) 打开现有文件,若文件不存在,出现异常d) 指定操作系统应创建文件,如果文件存在,将被改写36、以下说法正确的是( b )。a) 虚方法必须在派生类中重写,抽象方法不需要重写b) 虚方法可以在派生类中重写,抽象方法必须重写c) 虚方法必须在派生类中重写,抽象方法必须重写d) 虚方法可以在派生类中重写,抽象方法也不需要重写37、下列标识符命名正确的是(
c )。a) exam-1
c)_months
d)X.2538、下列关于数组的描述中,哪些选项是不正确的?( d
String类中的许多方法都能用在数组中b)
System.Array类是所有数组的基类c)
String类本身可以被看做是一个System.Char对象的数组d)
数组可以用来处理数据类型不同的批量数据39、在类的定义中,类的(
)描述了该类的对象的行为特征。a)
c)所属的命名空间
d)私有域40、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为(
)。a) uint
d) int41、在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成(
sealed方法
b)public方法
c)vitual方法
d)override方法42、面向对象三个基本原则是(
)。a) 抽象,继承,派生
类,对象,方法c)继承,封装,多态
d) 对象,属性,方法43、分析下列代码段,运行结果是什么?(
)。Static void Main(string [] args){string[] words = new string[] {“a”,“b”,“c”};foreach (int word in words){word =“abc”;Console.WriteLine(word);}Console.ReadKey ();}a)
abc abc abc
d)不能正确编译44、在数组中对于for 和 foreach 语句,下列那些选项中的说法不正确?(
foreach语句能使你不用索引就可以遍历整个数组b) foreach语句总是从索引1遍历到索引Lengthc) foreach总是遍历整个数组d) 如果需要修改数组元素就必须使用for语句45、在C#的类结构中,class关键字前面的关键字是表示访问级别,下面哪个关键字的访问级别是表示只有在同一个程序集内,且内部类型或成员才是可访问的? ( d )。
b) private
c) protected
d) internal46、c#的引用类型包括类、接口、数组、委托、object和string.其中object( d
)根类。a)
只是引用类型的
b) 只是值类型的c) 只是string 类型的
d) 是所有值类型和引用类型的47、C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对( b )进行初始化,静态构造函数只能对静态成员进行初始化。a) 静态成员
b) 静态成员和非静态成员
c) 非静态成员
d)动态成员48、在C#中,(
)表示 “” 。a) 空字符
d) 以上都不是49、当( d
)时,条件“expression1 XOR expression2”的值为真。a) expression1为真而expression2为假
b) expression1为假而expression2为真c) expression1和 expression2均为真
d) a和b都对50、在C#中无需编写任何代码就能将int型数值转换为double型数值,称为( b
)。 a) 显式转换
b)隐式转换
c) 数据类型转换
d) 变换51、下面属于合法变量名的是( A
)。 a) P_qr
d) x-y52、表达式12/4-2+5*8、4%5/2的值为(
d) 1053、当运行程序时,系统自动执行启动窗体的(
C )事件。a) Click
b)DoubleClick
d) Activated54、若要使命令按钮不可操作,要对(
B )属性进行设置。a) Visible
b)Enabled
c) BackColor
d) Text55、若要使TextBox中的文字不能被修改,应对(
B )属性进行设置。a) Locked
b)Visible
c) Enabled
d) ReadOnly56、在设计窗口,可以通过(
A )属性向列表框控件如ListBox的列表添加项。 a) Items
b)Items.Count
d) SelectedIndex57、在VS集成开发环境中有两类窗口,分别为浮动窗口和固定窗口,下面不属于浮动窗口的是(
D )a) 工具箱
d)窗体58、引用ListBox(列表框)最后一个数据项应使用(
C )语句a) ListBox1.Items[ListBox1.Items.Count]b)ListBox1.Items[ListBox1.SelectedIndex]c) ListBox1.Items[ListBox1.Items.Count-1]d) ListBox1.Items[ListBox1.SelectedIndex-1]59、引用ListBox(列表框)当前被选中的数据项应使用(
B )语句a) ListBox1.Items[ListBox1.Items.Count]b)ListBox1.Items[ListBox1.SelectedIndex]c) ListBox1.Items[ListBox1.Items.Count-1]d) ListBox1.Items[ListBox1.SelectedIndex-1]60、下面代码的输出结果是(d)。int x = 5;int y = x++;Console.WriteLine(y);y = ++x;Console.WriteLine(y);a)5
761、当month 等于6时,下面代码的输出结果是(c)。int days = 0;switch (month){case 2:days = 28;case 4:case 6:case 9:case 11:days = 30;default:days = 31;}a) 0
d)3162、如果 x=35, y=80,下面代码的输出结果是(b)。if (x & -10 || x & 30){if (y &= 100){Console.WriteLine(&危险 &);}else{Console.WriteLine(&报警 &);}}else{Console.WriteLine(&安全 &);}a) 危险
d)危险 安全63、下面代码运行后,s 的值是(B)。int s = 0;for (int i = 1; i & 100;i++){if (s & 10){}if (i % 2 == 0){s +=}}a) 20
d)664、下面代码实现数组array的冒泡排序,画线处应填入(d)。 int[ ] array = { 20, 56, 38, 45 };for (int i = 0; i & 3; i++){for (int j = 0; j & _____; j++){if (a[j] & a[j + 1]){temp = a[j];array[j] = a[j + 1];array[j + 1] =}}}a) 4-i
d)3-i65、下面代码的输出结果是(c)。static void Main(string[ ] args){int radius = 2;double area = GetArea(radius);Console.WriteLine(area);Console.ReadLine();}private static double GetArea(int r){return 3.14 * r *}a)2
d)6.2866、下面代码的运行结果是(D)static void Main(string[ ] args){int num1 = 34;int num2 = 55;Increase(ref num1, num2);Console.WriteLine(&{0}和{1}&, num1, num2);Console.ReadLine();}private static void Increase (ref int num1, int num2){num1++;num2++;}a)35和56
d) 35和5567、窗体中有一个年龄文本框 txtAge,下面(d)代码可以获得文本框中的年龄值。a)int age = txtAb)int age = txtAge.Tc)int age = Convert.ToInt32(txtAge);d)int age = int.Parse(txtAge.Text);68、 下面(b)代码可以显示一个消息框。a)Dialog.Show();b)MessageBox.Show();c)Form.Show(); d)Form.ShowDialog();69、在C# 编程中,访问修饰符控制程序对类中成员的访问,如果不写访问修饰符,类的默认访问类型是(c)。A
C internal
D protected70、在C#中创建类的实例需要使用的关键字是(C)A : this
D : as71、在下列C# 代码中,(A)是类Teacher 的属性。Public class Teacher{int age=13;private string Name{get{}set{name=}}public void SaySomething(){//?}}A : Name
SaySomething72、在C# 语言中,方法重载的主要方式有两种,包括( D )和参数类型不同的重载。
A:参数名称不同的重载
B : 返回类型不同的重载C: 方法名不同的重载
D :参数个数不同的重载73、下列关于继承说法中,哪个选项是正确的(d)A。派生类可以继承多个基类的方法和属性。B。派生类必须通过base关键字调用基类的构造函数C。继承最主要的优点是提高代码性能D。继承是指派生类可以获取其基类特征的能力。74、当你需要使用一种数据类型表达同一类事物的不同状态,比如:男人、女人、小孩、老人或者春夏秋冬时,C#中最可靠和直观的解决方案是什么?(B)A。使用struct结构B。使用enum枚举C。使用int类型,用不同的数值{0,1,2??}表示D。C#中无法通过一种数据类型实现同一事务的不同状态。75、下列选项中,不属于值类型的是(A)A。struct
D.string76、声明下列哪个选项中的表达式能够正确的进行类型转换?(B)A. a=(decimal)b;
C. a=(int)
D. b=a;77、下列哪个语句不是C#2005提供的循环语句(a)A。do?loop while?语句B。foreach 语句C。do?while语句D。while语句78、在C# 中,可以避免使用枚举变量来避免不合理的赋值,一下枚举定义中正确的是(A)A : public enum Sex{male,femal}B :public enum Sex{male,}C :public Sex enum {male,}D :public Sex enum {male,femal}79、在C# 中,使用( B)访问修饰符修饰的方法被称之为抽象方法。A: this
B :abstract
D :virtual80、在C# 中创造一个对象是,系统最先执行的是(B)中的语句。A :main方法
B:构造函数
C :初始化函数
D :字符串函数81、C#代码如下,代码的输出结果是(B)。class Program{static void Main(string[] args){Student s=new Student();s.sayHi();Console.ReadLine();}}class Person{public virtual void sayHi(){Console.WriteLine(“你好”);}}Class Student:Person{Public override void sayHi(){Console.WriteLine(“你好,我是一名学生”);}}A :学生
B:你好,我是一名学生C:你好!你好,我是一名学生D: 空82、分析一下C#片段中的属性,该属性是(C)属性。Public string Name{get{}}A:可读可写
D: 静态83、.NET框架是.NET战略的基础,是一种新的便捷的开发平台,它具有两个主要的组件,分别是(A )和类库。A:公共语言运行库
B:Web服务C:命名空间
D:Main()函数84、在以下代码中,(D)是类Teacher的方法。public class Teacher{int age=33;public string Name
}public void SaySomething{//?..}A : Name
SaySomething85、构建Windows窗体以及其所使用空间的所有类的命名空间是下列哪个选项(D)A。System.IO
B。System.DataC。System.Text
D。System.Windows.Forms86、C#程序设计语言属于什么类型的编程语言(B)A。机器语言
B。高级语言 C。汇编语言
D。自然语言87、请问经过表达式a = 3 + 1 &5 ? 0 : 1的运算,变量a的最终值是什么?(c)A。4
D。388、以下选项中,哪个选项中的变量命名是合法的(B)A。**z
C。tc@caac
D。89、下列关于多态的说法中,哪个选项是正确的(D)A。重写虚方法时可以为虚方法指定别称B。抽象类中不可以包含虚方法C。虚方法是实现多态的唯一手段D。多态性是指以相似的手段来处理各不相同的派生类。90、下列关于接口的说法,哪项是正确的(A)A。接口可以被类继承,本身也可以继承其他接口。B。定义一个接口,接口名必须使用大写字母I开头C。接口像类一样,可以定义并实现方法D。类可以继承多个接口,接口只能继承一个接口91、程序运行可能会出现两种错误:可预料的错误和不可预料的错误,对于不可预料的错误,可以通过C#语言提供的哪个方法来处理这种情形(D)A。中断调试
B。逻辑判断
C。跳过异常
D。异常处理92、下列哪个选项能正确的创建数组?(B)A.int[,] array=int[4,5];B.int size=int.Parse(Console.ReadLine());int[] pins=new int [size];C. string[] str=new string[];D. int pins[] = new int[2];93、在C#中,下列数据类型属于引用类型的是(C)。A.整型(int)
B.结构(struct)
C.接口(interface)
D.枚举(enum)94、在C#中,下列关于属性的使用正确的是(B)。A.public string Num{ {
set{name=} }get{}set{num=}}B.public int Num{get{}set{num=}}C.public int Num{get{ num=}set{}}D.private int Num{get{}set{num=}}95、 在C#语言中,以下关于继承的说法错误的是(B)。A.一个子类不能同时继承多个父类
B任何类都是可以被继承的C.子类继承父类,也可以说父类派生了一个子类D.Object类是所有类的基类96、 以下关于C#中的构造函数说法正确的是(A)。A.构造函数可以有参数
B.构造函数有返回值C.一般情况下,构造函数总是private类型的D.构造函数可以通过类的实例调用97、在C#中,如果类C继承自类B,类B继承自类A,则以下描述正确的是(A)。a)
C不仅继承了B中的成员,同样也继承了A中的成员b) C只继承了B中的成员c) C只继承了A中的成员d) C 不能继承了A或B中的成员98、在C#程序中,定义如下方法,下面选项中(A )错误的实现对该方法的方法重载。 public string Do(int value,string s){//省略代码}A.public int Do(int value,string s){//省略代码}B.public string Do(string s,int value){//省略代码}C.public void Do(string s,int value) {//省略代码}D.public void Do(){{//省略代码}}99、以下关于结构的说法,正确的是(B)A.结构不可以通过ref或out形参以引用 方式传递给函数成员B.结构是值类型,类是引用类型C.结构和类一样,均支持继承D.结构允许声明无形参的实例构造函数100、以下关于密封类的说法,正确的是(C)A.密封类可以用作基类
B. 密封类可以是抽象类C.密封类永远不会有任何派生类
D.密封类或密封方法可以重写或继承101、以下关于接口的说法,不正确的是(C)A.接口不能实例化
B. 接口中声明的所有成员隐式地为public和abstractC.接口默认的访问修饰符是private
D.继承接口的任何非抽象类型都必须实现接口的所有成员。102、派生类访问基类的成员,可使用(A)关键字A.base
D. external103、能作为C#程序的基本单位是( B )。A. 字符
D. 源程序文件104、可用作C#程序用户标识符的一组标识符是( B )。A. void
sizeof105、改变窗体的标题,需修改的窗体属性是( A )。A.
Index106、在C#中定义接口时,使用的关键字是( A )。A.interface
D.overrides107、在C#中,定义派生类时,指定其基类应使用的语句是( B )。A.Inherits
D.Overrides108、类的以下特性中,可以用于方便地重用已有的代码和数据的是( C ).A.多态
D.抽象109、将变量从字符串类型转换为整型可以使用的类型转换方法是( D )。A.Str()
D.int.Parse();110、字符串连接运算符包括&和( A )。A. +
D. /111、先判断条件的当循环语句是( B )。A.
do...while
C. while...do
D. do ...loop112、假定一个10行20列的二维整型数组,下列哪个定义语句是正确的( C )。A. int[]arr = new int[10,20]B. int[]arr = int new[10,20]C. int[,]arr = new int[10,20]D. int[,]arr = new int[20;10]113、以下正确的描述是( B )。A. 函数的定义可以嵌套,函数的调用不可以嵌套B. 函数的定义不可以嵌套,函数的调用可以嵌套C. 函数的定义和函数的调用均可以嵌套D. 函数的定义和函数的调用均不可以嵌套114、属于C#语言的关键字( A )。A. abstract
D. Employ115、C#语言中,值类型包括:基本值类型、结构类型和( D )。.小数类型
B.整数类型 C.类类型 D.枚举类型116、下列关于抽象类的说法错误的是( A )。A. 抽象类可以实例化
B. 抽象类可以包含抽象方法C. 抽象类可以包含抽象属性
D. 抽象类可以引用派生类的实例117、下列关于重载的说法,错误的是( D )。A. 方法可以通过指定不同的参数个数重载B. 方法可以通过指定不同的参数类型重载C. 方法可以通过指定不同的参数传递方式重载D. 方法可以通过指定不同的返回值类型重载118、以下关于继承的说法错误的是( D )。A. .NET框架类库中,object类是所有类的基类B. 派生类不能直接访问基类的私有成员C. protected修饰符既有公有成员的特点,又有私有成员的特点D. 基类对象不能引用派生类对象119、继承具有( B ),即当基类本身也是某一类的派生类时,派生类会自动继承间接
类的成员。A. 规律性
D. 多样性120、下列说法中,正确的是( A )。A. 派生类对象可以强制转换为基类对象B. 在任何情况下,基类对象都不能转换为派生类对象C. 接口不可以实例化,也不可以引用实现该接口的类的对象D. 基类对象可以访问派生类的成员121、关于base关键字,下列使用方法错误的是:(C)A. 在子类中,base可以调用父类的构造函数B、 在子类中,base关键字可以访问父类的公共属性C、 在子类中,base关键字不可以调用父类的protected成员D、 在子类中,base关键字不可以调用父类的private成员122、下面关于抽象类的说法正确的是 :(B)A. 抽象类可以被实例化
B. 含有抽象方法的类一定是抽象类C抽象类可以是静态类和密封类
D.抽象类中的抽象方法可以在其它类中重写 123、下面关于虚方法说法错误的是:(B)A 使用virtual关键字修饰虚方法
B. 虚方法必须被其子类重写C虚方法可以有自己的方法体
D.虚方法和抽象方法都可以实现多态性 124、在C#中,关于接口下面说法错误的是 :(D)A. 接口是一组规范和标准
B.接口可以约束类的行为C. 接口中只能含有未实现的方法D 接口中的方法可以指定具体实现,也可以不指定具体实现125、使用(C)关键字可以再次引发捕获到的异常?A.
D. Exception126、异常捕获发生在(B)块中?A. try
C. finally
D. throw127、下面关于抽象类的说法正确的是?(C)A. 抽象类只能做子类
B. 抽象类可以被实例化C 抽象类不能被实例化
D. 一个抽象类只能有一个子类128、C#源程序文件的拓展名是(D)A、vb
D、cs129、有两个double类型的变量x和y,分别取值为8.8和4.4,则表达式(int)x-y/y的值是(A)A、7
D、8.0130、运行int a=20,b=5,c=10,d=3;bool s,e=false;则表达式(s=a&c)&&(e=b-d&0)运算后,e的值是(D)A、0
D、false131、以下程序的输出结果是(D)string str=”b856ef10”;string result=””;for(int i=0;str[i]&=’a’&&str[i]&=’z’;i+=3){result =str[i]+Console.WriteLine(result);}A、10fe658b
D、b132、和C#中的所有对象一样,窗体也是对象,是(C)类的实例A、Label
B、Controls
D、System 133、(A)控件组合了TextBox控件和ListBox控件的功能。A、ComboBox
C、ListView
D、DomainUpDown 134、下列语句创建了(D)个string 对象string [,]
new string[3,4]A.0
D.12135、c#程序中,可使用try???catch 机制来处理程序出现的(B)错误A. 语法
D. 拼写136、在定义类时,如果希望类的某个方法能够在派生类中进一步改进,已处理不同的派生类的需要,则该将方法声明成(C)A.sealed 方法
B.public 方法
C.virtual 方法
D.override 方法 137、在类的定义中,类的(B)描述了该类的对象的行为特征A.类名
C.所属的命名空间
D.私有域138、在类作用域中能够通过直接使用该类的(
D )成员名进行访问。A. 私有
D. 任何139、在下面循环语句中循环体执行的次数为(
B )。for(int i=0; i&n; i++)if(i&n/2)A. n/2
D. n-1140、27.在C#语言中,下列异常处理结构中有错误的是(a)a)catch{}finally{}
b) try{}finally{}
c) try{}catch{}finally{}d) try{}catch{}141、在C#程序中,使用(a)关键字来创建数组a)
this142、在C#语言的循环结构中,首先执行一次,然后再判断条件的循环结构是( b)a)
do?while循环
foreach循环143、在C#中,下列代码的运行结果是(a)using Sclass Test{static void Main(string[] args){string[] strings={“a”,”b”,”c”};foreach(string info in strings){Console.Write(info);}}}a)abc
d)C144、在C#中,下列代码的运行结果是(c)int[]age=new int[]{16,18,20,14,22};foreach(int i in age){if(i&18)Console.Write(i.ToString()+” ”);}a)16,18,20,14,22
b)16,18,14,22
c)16,18,14
d)16,18 145、以下关于C#代码的说法正确的是(a)for(int i=l;i&=3;i++){switch(i){case 1:Console.Write{i.ToString());case 2:Console.Write((i*2).ToString());case 3:Console.Write((i*3).ToString());}}a)有编译错误,提示case标签不能贯穿到另一个标签,不能运行 b)
正确运行,但没有输出146、在c#中,下列代码的运行结果是(c)using Sclass Test{static Void Main(string [] args){int a=10,b=20;int c=a&b?a++:--b;Console.WriteLine(c);}}a)10
d)20147、在c#的条件判断语句switch case结构中,(d)子句用于指定在找不到匹配项时执行的动作a) continue
d)default148、Console是C#语言中的控制台类,它负责向控制台输出不同格式的字符串,在格式字符串中,可以使用(b)来实现水平制表输出。a)\r
d)\d149、C#程序的(a)方法被成为程序的大门,应用程序从这里开始运行a) Main()
b) Begin()
c) Start()
d) main()150、在以下C#类中,(b)是控制台类,利用它我们可以方便的进行控制台的输入输出。a) Control
b) Console
d) Write151、关于C#中的switch case 语句,以下说法正确的是(c)a)switch判断的表达式可以是整型或者字符型,但不能是字符串型b)在该语句中最多不能超过5个case子句c)在该语句中只能有一个default子句d)在该句中只能有一个break语句152、以下的C#程序代码,程序运行时在控制台打印输出值为(c)int count=3;while(count&1){Console.Write(- -count);}a) 32
d) 2153、C#语言中的类Console包含两个输入方法:Write()和WriteLine()。它们之间的唯一区别是(a )。a) WriteLine()方法输出后换行,Write()方法输出后不换行b) WriteLine()方法可以格式化输出,Write()方法不可以c) Write()方法输出后换行,WriteLine()方法输出后不换行d) Write()方法可以格式化输出,WriteLine()方法不可以154、在下列C#代码中,程序的命名空间是(a)using Snamespace Test{class Program{static void Main(string[]args){Console.Write(“Hello World!”);}}}a)Test
c)namespace
d)Program155、在C#中,下列代码的运行结果是(b )using Sclass Test{Public static void Main(string[] args){int a=21,b=22,c=23;if(a&b)Console.WriteLine(b);elseConsole.WriteLine(a+b+c);}}a)21
d)66156、C#语言与Java语言一样,也是一种面向对象的语言,C#语言中声明类的关键字是(b)。a)
Main157、C#程序设计语言属于什么类型的编程语言?(
D 自然语言158、请问经过表达式 a=3+1&5?0:1 的运算,变量a的最终值是什么? (
D 4159、设int型变量x的值为9,那么表达式x-- + x-- + x--的值为(A)
D .18160、下列属于合法C#变量名的有(A)A、x_123
D 3x161、以下数组声明中,不正确的有(B)A
B int a[]=new int[2];C
int [] a={1,3}
D int [] a=int []{1,3}162、下列语句执行后y的值为(C)int x=0,y=0;while(x&10){y+=(x+=2);}A
D 55163、C#中每个char类型变量占用( B )字节内存A
D 4164、在C#中,表示一个字符串变量应使用下面哪条语句定义(
D、char *165、下列语句在控制台上的输入是什么?(B)if(true)System.Console.WriteLine(&FirstMessage&);System.Console.WriteLine(&SecondMessage&);A、无输出
B、FirstMessageSecondMessageC、SecondMessage
D、FirstMessage166、以下数据类型中不可以使用算术运算运算的是(A)A. bool
C. decimal
D. sbyte167、以下数据类型不能表示负数范围的是(D)A. sbyte
B. decimal
D. uint168、C#中下列变量标识符定义不正确的是(C)A. m_n
D. udouble169、以下语句不可以在屏幕上输出Hello,World语句是(C)A. Console.WriteLine(“Hello”+”,World”);B. Console.Write(“Hello{0}”,”World”);C. Console.WriteLine(“{0},{1}”,”Hello,World”);D. Console.Write(“Hello,World”);170、在C#语言中,运算符&=&和&==&的功能分别是( B )A.关系运算和赋值运算
B.赋值运算和关系运算C.都是关系运算
D.都是赋值运算171、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(
int x;x=int.Parse(Console.ReadLine());if(x++&5)Console.WriteLine(x);elseConsole.WriteLine(x - -);A. 7和5
D. 6和4172、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与(C )组成配对关系。A. 缩排位置相同的if
B. 在其之前未配对的if
C. 在其之前未配对的最近的if
D. 同一行上的if173、关于循环语句下列错误的是(AB )A. for语句while语句与do while语句可以相互替换。B. while(5){Console.WriteLine(“Hello!”);}将无限输出字符串Hello。C.for(int i=5;i&13;i++){} 这个语句将运行8次D.while语句中的条件必须是布尔类型的结果174、下列选项中属于字符串常量的是
?a?175、下列代码的运行结果是:(
)int a = 30;int b = 20;b =a = 10;Console.WriteLine(a);Console.WriteLine(a/b);A、10
1.5176、设int a=9, b=6, c
执行语句c=a/b+0. 8
后c 的值是(
B. 1. 8C. 2
D. 2. 3177、已知如下程序,下列选项放在空白处不能输出***的是(D)void main(){int x=6;do{Console.WriteLine(“*”);x--;--x;}while(_____)-----空白处}A. x&=1;
D. x&3;178、在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句(
)A.decimal EM
B.int EMC.string EM
D.Dim EM179、设int x=10, a=0, b=25
则条件表达式x&1?a+10:b 的值是( D
D.25180、在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了( D
)。A.只读属性
B.只写属性
C.读写属性
D.不可读不可写的属性181、在C#中,一个类(
).A.可以继承多个类
B.可以实现多个接口C.在一个程序中只能有一个子类
D.只能实现一个接口182、以下的C#代码:static void Main(string[] args){Console.WriteLine(&运行结果: {0}&,Console.ReadLine());Console.ReadLine();}代码运行结果为( D
)。A.在控制台窗口显示“运行结果:”B.在控制台窗口显示“运行结果:{0}”C.在控制台窗口显示“运行结果:,Console.ReadLine”D.如果用户在控制台输入“ A”,那么程序将在控制台显示“运行结果:A”183、在C#中定义一个数组,正确的代码为( B
)。A.int arraya = new int[5];
B.int[] arraya = new int[5];C.int arraya = new int[];
D.int[5] arraya =184、在C#语言中,下列关于属性的描述正确的是( B
).A.属性系是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性B.属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏C.要定义只读属性只需在属性名前加上readonly关键字D.在C#的类中不能自定义属性185、程序运行过程中发生的错误,叫作( C
).A.版本
D.属性186、.NET中,程序中的错误可以划分为以下三类,除了( D
)。A.逻辑错误
B.运行时错误
C.语法错误
D.自定义错误187、在.NET中,一些数据类型为引用类型,当引用类型的值为( B )时,表明没有引用任何对象。A.Empty
D.0188、WinForms程序中,如果复选框控件的 Checked属性值设置为 True,表示( A
)。A.该复选框被选中
B.该复选框不被选中C.不显示该复选框的文本信息
D.显示该复选框的文本信息189、在C#中,(B
)访问修饰符修饰的变量只能由当前程序集访问。A.public
B.protected
C.internal
D.private190、在C#中,关于continue和break,以下说法正确的是(
)A break是中断本次循环
B continue是中断本次循环,进入一下次的循环C break是中断本次循环,进入一下次的循环
D continue是中断整个循环191、在C#中,关于while和do?while,以下说法正确的是(
)A while先执行然后判断条件是否成立
B while最少的循环次数是1次C do?while先执行然后判断条件是否成立
D do?while最少的循环次数是0次 192、在.NET中,程序员在代码中漏写了一个大括号,这属于(
)A 逻辑错误
B 运行时错误
C 语法错误
D 自定义错误193、以下说法正确的是(
)A.构造函数名不必和类名相同
B.一个类可以声明多个构造函数C.构造函数可以有返回值
D.编译器可以提供一个默认的带一个参数的构造函数 194、以下说法不正确的是(
)A.一个类可以实现多个接口
B.一个派生类可以继承多个基类C.在C#中实现多态,派生类中重写基类的虚函数必须在前面加overrideD.子类能添加新方法195、C#的数据类型有( B
)A 值类型和调用类型
B 值类型和引用类型C 引用类型和关系类型
D 关系类型和调用类型196、C#程序中的类myClass中的成员变量var1如下:public class myClass{private int var1;}则可以访问var1的有( A )。a) 在myClass类中
b) myClass的继承类c) myClass的父类
d) 和myClass在同一命名空间下的类197、下列关于.net中枚举型的描述正确的是(
)。a) 枚举型是引用类型 b) 枚举型是值类型,它是一组称为枚举数列表的命名常量组成的独特类型c) 指定分配给每个枚举数的存储大小的基础类型是可以为int,也可以为char类型,还可以为long类型 d) 枚举型的默认基础类型为int,第一个枚举数的值必须为0,后面每个枚举型的值依次递增1
198、以下(
)是用于声明枚举类型的关键字。
a) static b) struct c) enum d) delegate 199、下列关于异常的描述正确的是( b
a) 在C#中一个try块只能有一个catch块
b) 一个try块可能产生多个异常
c) 可以使用throws回避方法中的异常
d) finally块是异常处理所必需的 200、在C#中,下列代码的运行结果是( d )。 int []age1 = new int[]{10,20}; int []age2 = age1; age2[1] = 30; Console.WriteLine(age1[1]);
A) 0 B) 10 C) 20D) 30 201、public abstract class Animal{ public abstract void Eat(); public void Sleep(){
} }以下关于C#代码地描述正确的是( a)。
A) 该段代码正确
B) 代码错误,因为类中存在非抽象方法
C) 代码错误,因为类中方法没有实现
D) 通过代码Animal an = new A可以创建一个Animal对象 202、for(int i=1;i&=3;i++){ switch(i){ case 1:Console.write(i.ToString()); case 2:Console.write((i * 2).ToString()); case 1:Console.write((i * 3).ToString()); } }上述关于C#代码的描述正确的是( a)。
A) 程序将报告编译错误,提示Case标签不能贯穿到 一个标签,不能运行
B) 运行时输出149
C) 运行时输出
D) 运行时在屏幕上没有输出 203、C#程序中,使用关键字(A)来声明自定义的名称空间。
A)namespaceB)new C)import D)try 204、在C#程序中,下列用来处理异常的结构,错误的是(A)。
A)catch{ }finally{ } C)try{ }catch{ }finally{ }
B)try{ }finally{ } D)try{ }catch{ } 205、在C# 中,程序使用(B)语句抛出系统异常或自定义异常。
A)run B)throwC)catch D)finally206、class A{static void Main(){int[] b = new int[10];for(int i=1;i&=10;i++)_________ //(1)此处填写代码foreach(int C in b)Console.writeLine(C);}}要在控制台输出1到10的数字,(1)处应该填写的正确的代码为(C)。A) b[i] = i+1; B) b[i] = C) b[i-1] = iD) b[i+1] = i 207、在C#类中,(B)允许相同名称、不同参数个数或者参数类型的方法存在。A)方法重写 B)方法重载
C)方法取消 D)方法覆盖208、用户单击”消息框”按钮时返回(D)值。A)DialogValue
B)DialogBox C)DialogCommand D)DialogResult209、在C#中,某程序在一个类中编写了两个同名的方法,该段代码的运行结果是(C)。 public class Musician{public void Song(){Console.WriteLine(“忘记你我做不到”);}public void Song(string musicName){Console.WriteLine(musicName);}static void Main(){Musician musician = new Musician ();string musicName = ”还是觉得你最好”;musician.Song(“分手总要在雨天”);}}A)忘记你我做不到 B)还是觉得你最好 C)分手总要在雨天 D)没有输出 210、请仔细阅读有如下C#代码:int A = 3;int B = 4Console.WriteLine(A + B);因为第二行代码少写了一个分号,程序运行时将(A)。A) 产生语法错误 B) 产生语义错误 C) 中断 D) 211、在Visusl Studio.Net 开发环境中,在代码编辑器内输入对象的名称后将自动显示出对应的属性、方法、时间列表,以方便选择和避免书写错误,这种技术被称之为( D )。A) 自动访问 B) 动态帮助 C) 协助编码 D) 智能感知 212、在C#的语言特性中,关于抽象类,以下描述正确的是( D)。A)在抽象类包含全部已经实现的方法的时候,抽象类可以实例化B)子类可以同时实现多个抽象类C)使用void关键字标注一个抽象类D)抽象基类可以包含己经实现的方法213、在C#中,下列代码的运行结果是(B)。int a = 30 , b = 20;b =a = 10;Console.WriteLine(a);Console.WriteLine(b); 正常运行A) 10
20214、Visual Studio.Net开发平台是(B)公司提供的.NET应用程序集成开发工具。A) Borland B) Microsoft C) Intel D) IBM 215、在C#中,下列代码的运行结果是(A)。string[] names = {“ACCP”,”BENET”,”BETEST”};foreach(string name in names)Console.WriteLine(name);A) ACCP
D) “ACCP”BENET
“BENET”BETEST m
“BETEST”es216、在C#程序中,使用关键字(D)来定义静态成员。A)malloc B)class
C)private D)static217、以下都是C#提供的循环结构,除了(C)。A)while语句 B)for语句
C) if语句
D)foreach语句 218、在C#程序中,一个类(B)。A) 可以继承多个类 B) 可以实现多个接口C) 在一个程序中只能有一个子类D) 只能实现一个接口219、在C#程序中,声明一个整数类型变量A,正确的代码为(A)A) int
A; B) Dim A As I C) new A D) 220、在.NET中,(D)类提供了操作字符串的方法。A) System.Threading C) System.CollectionsB) System.IO D) System.String221、在C#类中,使用(A)关键字来设置只读属性。A) getB) let C) set D) is222、在C#程序中,如果类B要继承类A,类B正确的定义为(B)。A) public class B inherit A C) public class B :: AB) public class B : A D) public class
A 223、在C#类中,(A)。A)允许有多个相同名称的构造函数C)至少要有一个构造函数B)允许有多个不相同名称的构造函数 D)只能有一个构造函数224、C#类中的构造函数的特点是(B)。A) 一个类中,只能有一个构造函数 C) 构造函数在对象销毁时自动执行B) 构造函数的名称与类名称一样D) 要求构造函数至少有两个参数 225、下面关于C#中值类型和引用类型的描述正确的是(D)。A) 结构属于引用类型
B) 字符串属于值类型C) 所有内置的数据类型都是值类型,所有用户定义的数据类型都是引用类型D) 值类型变量直接存放真正的数据,引用类型变量存放的是指向真正数据的内存地址226、在C#中,下列代码运行后,变量Max的值是(C)。(选择一项)int a = 5,b = 10,c = 15,Max = 0;Max = a & b ? a :Max = c & Max ? c : M AA) 0 B) 5 C) 10D) 15 227、class Student{string type = ”学员”;internal string name = ”李明”;}public class Test{static void Main(){Student stu = new Student();//1Console.WriteLine(stu.type);//2Console.WriteLine(stu.name);//3}}在C#中,关于以上C#代码的描述正确的是(B)。A)代码1错误
B)代码2错误
C)代码3错误 D) 代码都正确 228、运行如下的C#代码段将(D)。(选择一项)int a = 10;string b = “10”;Console.WriteLine (a + b);A)输出:20 B)输出:1010C)输出:10+10 D) 编译报错,提示数据类型不匹配229、 数据类型转换有隐式转换和(C)转换。a)强制
d)非隐式230、 在C#中,下列代码的运行结果是(B)(单选)static void Main(){string name=”bird”;foreach(char c in name){Console.Write(c);}}a)输出name
b)输出bird
c)输出cccc
d)编译出错,存在语法错误 231、Switch的语法结构不正确的是(B)a)Switch条件判断接收int,char,string三种类型b)Switch的case块,必须要加上c)Switch的case块,可以没有breakd)Switch的default块,在条件都不满足的情况下执行232、下列语句在控制台上的输出是多少? (
)string msg = @”Hello\nWorld!”;System.Console.WriteLine(msg);a)Hello\nWorld!
b)@”Hello\nWorld!”
c)Hello World!
d)HelloWorld!233、C#中每个int 类型的变量占用个字节的内存(
d)8234、下面代码输入的结果是:(
B )static void TrunCate(int[] nums){nums[1] = 99;}static void Main(string[] args){int[] nums = {1, 2, 3, 4};TrunCate(nums);Console.WriteLine(nums[1]);Console.ReadLine();}a)2
d)编译出现语法错误,不能运行235、下列代码输出的结果是:(
B )int i = 0;i = ++i + 8;Console.WriteLine(i++);a)8
d)编译出现语法错误,不能运行236、C#程序中,可使用try..catch 机制来处理程序出现的___B___错误a) 语法
d) 拼写237、当开发者不希望自己编写的类被继承,或者有的类已经没有再被继承的必要时,我们通常对class使用哪一个关键字?(A)a.sealed
c.abstract
d.override238、下列哪种类型是引用类型的数据类型?(d)a. int
d. array239、声明方法时,如果有参数,则必须写在方法名后面的小括号内,并且必须指明它的类型和名称,若有多个参数,需要用(A )隔开。A. 逗号 B. 分号 C. 冒号 D. 不能定义多个参数240、小数类型(decimal)和浮点类型都可以表示小数,正确说法:( C
)A. 两者没有任何区别
B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高
D. 小数类型比浮点类型精度低241、.类的以下特性中,可以用于方便地重用已有的代码和数据的是( C
D.抽象242、将变量从字符串类型转换为数值类型可以使用的类型转换方法是( D
)。A.Str()
D.int.Parse();243、下列关于抽象类的说法错误的是( A
)。A. 抽象类可以实例化
B. 抽象类可以包含抽象方法C. 抽象类可以包含抽象属性
D. 抽象类可以引用派生类的实例244、以下关于继承的说法错误的是( D
)。A. .NET框架类库中,object类是所有类的基类B. 派生类不能直接访问基类的私有成员C. protected修饰符既有公有成员的特点,又有私有成员的特点D. 基类对象不能引用派生类对象245、继承具有(
),即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。A. 规律性
D. 多样性246、在C#.Net中,用来创建主菜单的对象是(
C )。A. Menu
B.MenuItem
C.MenuStrip
D.Item247、面向对象的语言具有继承性、多态性和性。A)
逻辑248、当整数a赋值给一个object对象时,整数a将会被。A)拆箱
D)出错249、在c#中new关键字的作用是___A__A)新建对象实例
B)定义命名空间
D)引入命名空间250、在c#中利用sealed修饰的类__A___。A)密封,不能继承
B)密封,可以继承
C)表示基类
D)表示抽象类 251、C#中每个 int 类型的变量占用___ C ____个字节的内存?A.1
D.8252、在 C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句? (A)A.decimal theM
B.int theMC.string theM
D.Dim theMoney as double253、分析下列程序:public class class4{private string _sData = &&;public string sData{set{_sData =}}}在 Main 函数中,在成功创建该类的对象 obj 后,下列哪些语句是合法的? (A)A.obj.sData = &It is funny!&;
B.Console.WriteLine(obj.sData);C.obj._sData = 100;
D.obj.set(obj.sData);254、在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成___ C _?A.sealed 方法
B.public 方法
C.virtual 方法
D.override 方法255、C#中,在方法 MyFunc 内部的 try..catch 语句中,如果在 try 代码块中发生异常,并且在当前的所有 catch 块中都没有找到合适的 catch 块,则(D)A.NET 运行时忽略该异常
B.NET 运行时马上强制退出该程序C.NET 运行时继续在 MyFunc 的调用堆栈中查找提供该异常处理的过程D.NET 抛出一个新的“异常处理未找到”的异常256、列语句创建了多少个 string 对象? (D)string[,] strArray = new string[3][4];A.0
D.12257、以下类 MyClass 的属性 count 属于__A___属性. (A)class MyClass{int count{get{}}}A.只读
D.不可读不可写258、为了将字符串 str=“123,456”转换成整数 123456,应该使用以下哪条语句? (A)A.int Num = int.Parse(str);B.int Num = str.Parse(int);C.int Num = (int)D.int Num = int.Parse(str,Globalization.NumberStyles.AllowThousands);259、关于 C#程序的书写,下列不正确的说法是?A.区分大小写
B.一行可以写多条语句C.一条语句可写成多行D.一个类中只能有一个 Main()方法,因此多个类中可以有多个 Main()方法260、在 C#语言中,下列能够作为变量名的是?A.if
D.a-bc261、以下程序的输出结果是__(C)__? UClass Example1{Public Static void main() {Int a=5,b=4,c=6,d;Console.Writeline(“{0}”,d=a&b?(a&c?a:c):b);}}A.5
D.不确定262、if语句后面的表达式应该是__(A)__?A.逻辑表达式
B.条件表达式
C.算术表达式
D.任意表达式263、以下关于 for 循环的说法不正确的是__(A)__?A.for 循环只能用于循环次数已经确定的情况B.for 循环是先判定表达式,后执行循环体语句C.for 循环中,可以用 break语句跳出循环体D.for 循环体语句中,可以包含多条语句,但要用花括号括起来264、枚举型常量的值不可以是__(D)__类型A.int
D.doule265、调用重载方法时,系统根据___(B)_____来选择具体的方法?A.方法名
B.参数的个数和类型C.参数名及参数个数
D.方法的返回值类型266、下列的____ D ___不是构造函数的特征?A.构造函数的函数名和类名相同B.构造函数可以重载C.构造函数可以带有参数D.可以指定构造函数的返回值267、为了能够在程序中捕获所有的异常,在 catch语句的括号中使用的类名为____ A ___A.Exception
B.DivideByZeroExceptionC.FormatException
D.以上三个均可268、在设计菜单时,若希望某个菜单项前面有一个“√”号,应把该菜单项的____A___ 属性设置为 true?A.Checked
B.RadioCheck
C.ShowShortcut
D.Enabled269、以下类型中,不属于值类型的是__ D __?A.整数类型
B.布尔类型
C.字符类型
D.类类型270、结构化的程序设计的 3 种基本结构是___?A.顺序结构,If结构,for 结构
B.if 结构,if…..else结构 else if结构C.while结构,do….while结构,foreach结构D.顺序结构,分支结构,循环结构271、下列参数类型中_D__是 C#中不允许使用的。A.值参数
B.引用参数
C.输出参数
D.指针参数272、关于参数数组,下列说法错误的是A.参数数组必须是函数的最后一个参数?B.参数数组必须是一维数组C.参数数组的声明同普通数组一样D.参数数组所对应的实参的个数是不固定的273、103.在下列程序空格处填入正确的选项能够实现调用函数 show().class Class1{static void show(ref int i){i*=15;Console.WriteLine(“i={0}”,i);}static void Main(string[] args){int test=10;Console.WriteLine(“调用函数 show前,test={0}”,test);show(______);Console.WriteLine(“调用函数 show后,test={0}”,test);}}A.test
B.out test
C.ref test
D.params test274、下面对异常说法不正确的是___(D)A.try/catch块为基本引发异常的组合
B.在捕获异常时,可以有多个 catch块C.无论异常是否发生,finally块总会执行
D.try块和 finally 不能连用275、在Visual Studio.NET窗口,( B )窗口显示了当前Visual Studio解决方案的树型结构。A.类视图
B. 解决方案资源管理器
C. 资源视图
D. 属性276、在C#中设计类时,如何将一个可读可写的公有属性Name修改为只读属性?( A )A.将Name的set块删除
B.将Name的set块置空C. 将Name的set块前加修饰符private
D. 将Name添加readonly修饰符277、在下面的类定义中,缺省构造函数的作用是(
)Public class MyClass{private MyClass() {
}publipublic static int increnentCounter(){return ++return ++}}A. 在创建类的实例时初始化类的域B. 因为是private的,因此不起任何作用C. 防止创建类的实例278、下列语句是类myclass的一部分,obj是myclass的一个对象。Void change(int i){i++}public void test(){int a=100;Change(a);Console.Writeline(a);}则调用obj.test后,控制台输出(
C. 101279、下列语句是类myclass的一部分,obj是myclass的一个对象。Void change(int i){i++}public void test(){int a=100;Change(ref
a);Console.Writeline(a);}则调用obj.test后,控制台输出(
C. 0280、下列类的定义中哪些是合法的抽象类?(
D )A. sealed abstract class c1{abstract public void test()
{}B. abstract sealed public viud test();C. abstract class c1 { abstract void test();
//test()默认为私有,不合法D. abstract class c1 {abstract public void test(); }√281、在C#中,将路径名”C:\Documents\”存入字符串变量path中的正确语句是(A. path=’C:\\Documents\\’’; √
B. path=”C://Documents//”;C. path=”C:\Documents\”;
D. path=”C:\/Documents\/”; 282、C#中执行下列语句整形变量x和y的值是多少?(D)int x=100;int y=++x; A )A. x=100
y=101√ 283、通过继承( C
)类,用户可以创建自己的异常类。A. System.Exception
B. System.SystemExceptionC. System.ApplicationException√
D. System.UserException284、C#类MyClass下列函数重载是否合法?(B)Public void showInfo(int i){…}public bool showInfo(int i) {…}
//重载必须是参数不同A.合法
B. 不合法√285、C#中,回车字符对应的转义字符串为( C
D. \a286、设置openfiledialog1引用一个openfiledialog对象,则打开该对话框的正确代码是( B )A. openfiledialog1.show();
B. openfiledialog1.showdialog();√C. openfiledialog1.open();
D. openfiledialog1.openandshow();287、创建菜单后,为了实现菜单项的命令功能,应为菜单项添加(
C )事件处理方法。A. DrawItem
C. Click√
D. Select288、在C#程序中,显示一个信息为“This is a test!”,标题为“Hello”的消息框,正确的语句是(
)A. MessageBox(“this is a test!”,”Hello”);B. MessageBox.Show(“this is a test!”,”Hello”); √C. MessageBox(”Hello” , “this is a test!”);D. MessageBox.Show (”Hello” , “this is a test!”);289、在C#中,引用命名空间System的正确语句是(
)A. using SB. # import &System&;C. uses SD. # include &System&;290、显示消息时,MessageBoxTcon枚举中的Error成员可以消息框中添加一个图标,该图标的形状是(
D. 叉号291、下列说法中不正确的是(D)?A C#中以“;”作为一条语句的结束B C#中注视是不参与编译的C C#有三种不同的注释类型D swith语言中case标签结束可是有跳转语句,也可以没有。292、判断下列语句中哪个存在语法错误(B)。bool a=true
bool b=false
bool c=true
int i=0A if(a||b)
C if(i!=3)
D if((i==3)==false)293、下列关于switch语句的表述中哪个是正确的(B)?Aswitch语句的控制表达式可以是任何数据类型B switch语句可以出现default标签,也可以不出现default标签C switch中可以有两个或两个以上的case标签的常量与控制表达式的值相同D switch语句中case标签结束可以有跳转语句,也可以没有。294、下列关于异常处理的表述中哪些是正确的(D)?A try、catch、finally三个字句必须同时出现,才能正确处理异常B catch字句能且只能出现一次C try字句中所抛出的异常一定能被catch字句捕获D无论异常是否抛出,finally子句中的内容都会被执行。295、下列关键字中哪些不能作为修饰类(C)A:sealed
B:abstract
C:override
D:public296、下列关于继承机制的描述中不正确的是(D)A提供继承机制有利于提高软件模块的可重用性及可扩充性。B继承机制使面向对象的开发语言能够更准确的描述客观世界,使软件开发方式变简单。C继承机制使得软件开发过程效率更高。D继承机制使得软件开发的难度相对增加。297、下列关于继承的理解,错误的是(A)A子类可以从父类中继承其所有的成员。B无论是否声明,子类都继承自object(System.object)类。C假如,类M继承自类N,而类N又继承自类P,则类M也继承自类P。D子类应是对基类的扩展。子类可以添加新的成员,但不能出去已经继承的成员的定义。298、开发基于C#的Windows应用程序需要引用哪个名空间(B)?A System
B System.Forms
C System.Collections
D System.Data299、消息对话框不是放置到窗体上的,是使用MessageBox .(B)方法显示出来的。A.Move
C.Control
D.Load300、下列选项中,( C)是引用类型。A.enum类型
B.struct类型
C.string类型
D.int类型2、判断1、在使用变量之前必须先声明类型。
√2、if语句后面的表达式可以是任意表达式。
×3、switch语句中必须有default标签。
×4、基类的派生类中必须为基类中的抽象方法提供实现。√5、在结构化异常处理语句try
finally中,finally块的内容可以执行也可以不执行。×6、由static修饰的成员必须由类来访问而不能通过对象访问。√7、在C#中,一个类可以继承于多个类、多个接口。×8、抽象类中所有的方法必须被声明为abstract ×9、若方法的名字相同、参数相同,而方法的返回值类型不同,则可以实现方法的重载。×10、继承能够实现代码的复用。√11、布尔型变量可以赋值为0或1。
×12、当有多个异常要捕获时,应先捕获特殊(具体)异常,再捕获普通(一般)异常。√13、在控制台应用程序中,若想从键盘上输入数据,可以使用Console.Read()和Console.ReadLine()方法。√14、显式接口成员只能通过接口来调用√15、下列语句是否正确:for(int i=0 , i&10 , i++)
Console.WriteLine(i);
×16、Windows应用程序和Web应用程序都是通过事件触发的。
√17、类的static成员可以通过该类的实例来引用
×18、有定义:int [ ] a=new int[5]{2,3,5,7,8}; 则a[5]的值为8。×19、对象是人们要进行研究的任何事物在面向对象程序设计中的抽象。×20、结构和类均为引用类型×21、接口的成员默认为公有的,不允许加上修饰符
√22、类只能继承一个类,但能继承多个接口。√23、静态构造函数只能对静态成员初始化,不能对实例成员初始化。√24、当方法的修饰符设为proteced时,表示该方法可以被处于同一个工程的文件访问。×25、填充数据集应使用SqlDataAdapter的Update()方法×26、foreach语句既可以用来遍历数组中的元素,又可以改变数据元素的值。×27、命令对象的ExecuteScalar()方法是在获取单值的时候使用。√28、定义类成员时,访问修饰符在默认情况下为public. ×29、ReadOnly类型的变量只能在定义时初始化。
×30、在有继承关系的类中,当创建派生类的对象时,先调用派生类的构造函数,再调用基类构造函数。×31、被sealed关键字修饰的方法不能被继承。√32、属性必须同时定义get块和set块。
×33、有定义:int [ ] a=new int[5]{1,3,5,7,9}; 则a[3]的值为7。√34、隐式枚举转换允许将十进制的整数转换为枚举类型的变量。×35、类是对象的抽象,对象是类的实例。√36、若想在派生类中重写某一方法,则应将该方法用sealed修饰。×37、派生类可以同时继承一个基类和多个接口,代码可以如下编写:public class EditBox: C IC IDataBound{?}
×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: C IC 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#中类成员被默认声明

我要回帖

更多关于 wpf继承自定义控件 的文章

 

随机推荐