第 6 页 共27
d)
int age;
public Person(){
Conssole.WriteLine(name); } }
public class Person{ string name; int age;
public Person(string name){
Conssole.WriteLine(name); } }
14) 15) 16) 17) 18)
在C#中,下列关于构造函数的特点的说法,正确的是()。(选择一项) a) 一个类中,只能有一个构造函数 b) 构造函数的名称与类名称一样,并且没有返回类型 c) 构造函数在对象销毁时自动执行 d) 一个类中至少要有一个构造函数 C#程序可以依据()来进行方法重载。(选择一项) a) 不同的参数的个数 b) 不同的参数的名称 c) 不同的返回值 d) 不同的方法名称 C#中的方法重写使用关键字()。(选择一项)
override a)
overload b)
static c)
inherit d)
在C#中,通过调用Thread 类的Sleep(int x)方法来实现禁止线程运行,其中x代表
()。(选择一项) a) 禁止线程运行的微秒数 b) 禁止线程运行的豪秒数 c) 禁止线程运行的秒数 d) 禁止线程以内性的CPU时间数 在C#中,关于继承和接口,以下说法正确的是()。(选择一项) a) C#允许多接口实现,也允许多重继承 b) C#允许多接口实现,但不允许多重继承 c) C#不允许多接口实现,但允许多重继承
6
第 7 页 共27
19)
d) C#不允许多接口实现,也不允许多重继承
20)
以下的C#程序: using System:
public class A{}
public class B:A{}
public class Test {
public static void Main() {
A myA = new A (); B myB = new B (); A myC =myB;
Console.WriteLine(myC.GetType()); } }
运行时将输出()。(选择一项)
A a)
B b)
object c)
d) 将报告错误信息,提示无效的类型转换
在C#中,如果要在文件file1.txt中写入字母d(其ASCII码为100),则横线处可以填写的代码是()。 class Class1{ static void Main(string[] args){ string path=@\FileStream fs=new FileStream(path,FileMode.Create,FileAccess.Write); ________在此处填之代码 fs.Close(); }
}(选择一项)
fs.WriteLine(\a)
fs.Write(new byte[]{50,10,150},1,1); b)
fs.WriteByte(100); c)
fs.Write('d'); d)
7
第 8 页 共27
21)
22) 23)
在C#中,下列代码的运行结果是()。(选择一项) struct Student {
public int age; public string name;
public Student(int age,string name) {
this.sge=sge; this.name=name; } }
public class Test {
static void Main() {
Student stu1=new Student(18,\小芳\小燕\ Student stu2=new Student(24,\小刚\小芳\ stu2=stu1; stu1.age=30;
stu1.name=\小燕\
Console.WriteLine(stu2.age); Console.WriteLine(stu2.name); } }
18 a)
小芳 18 b)
小燕 c) 30 //如果改为CLASS,就选这一个
小燕 30 d)
小芳
在Net中,()接口定义了释放非托管资源的方法,Dispose方法与垃圾回收器一起使用来释放非托管资源。(选择一项)
IRelease a)
IDispose b)
IDisposable c)
IDispatch d)
C#中关于委托,下面说法正确的是()。(选择一项)
a) 委托是一种类的成员 b) 委托必须定义在类中 c) 定义委托需要使用delegate关键字
8
第 9 页 共27
24)
d) 委托是一种数据类型
在C#中,下列代码的运行结果是()。(选择一项) public class Teacher {
public int age;
publicTeacher(int age) {
this.age=age; }
public void ChangeAge(int age) {
age++;//如果是this.age++,则结果为19。因为int age与age++重名 }
public void ChangeAge(Teacher tea) {
tea.age ++ ; }
public static void Mian() {
Teacher tea=new Teacher(18); Console.WriteLine(tea.age);//18 tea.ChangeAge(tea.age); Console.WriteLine(tea.age);18 tea.ChangeAge(tea); Console.WriteLine(tea.age);19 } } 18 a)
18 18 18 b) 19 20 18 c)
18 19 18 d)
19 19 在C#中,下列关于抽象类和接口的说法,正确的是()(选择一项)
9
25)
第 10 页 共27
26)
a) b) c) d) 在抽象类中,所有的方法都是抽象方法
继承自抽象类的子类必须实现其父类(抽象类)中的所有抽象方法 在接口中,可以有方法实现,在抽象类中不能有方法实现 一个类可以从多个接口继承,也可以从多个抽像类继承
在C#中,某程序员定义了一个IDataBase接口,以及实现该接口的一个类CDataBase,下列关于该段代码说法正确的是()。(选择一项) public interface IDataBase{
void OpenTabele(string,tableName); void UpdateTable(string,tableName); }
publiec class CDataBase:IDataBase{
public void OpenTable(string tableName){ Console.Wrtieline(\打开数据表\}
public void UpdateTable(string,tableName){ Console.Wrtieline(\更新数据表\}
Public static void main(){
CDataBase db=new CDataBase(); db.OpenTable(\ } } a) 该段代码错误,因为在定义接口时,接口中的方法没有提供实现 b) 该段代码错误,因为接口中声明的方法不是公有的,因此在CDataBase类中不
能访问接口中的方法 c) 该段代码正确同时由于客户没有调用UpdataTable方法,可以把 CDataBase类
中的UpdateTable方法去掉,代码仍旧正确
d) 该段代码正确,但如果早IDataBase接口中声明一个方法\Execute(string
sql);\则必须在 CDataBase类中实现该方法
10