1. 关于C# 中的结构,一下说法中错误的是()。(选择一项)
A :结构可以有构造函数 B :结构体内可以有字段
C :结构体内可以有方法 D :结构体内可以被继承
2. 在C# 编程中,访问修饰符控制程序对类中成员的访问,如果不写访问修饰符,类的默认访问类型是(b)。
A public B private C internal D protected
3.在C#中,下面关于结构使用正确的是()。(选择一项)
A :class Person{} Struct Teacher : Person{//…}
B :struct Person{} Struct Teacher:Person{//….}
C :struct Teacher{string name;int age;
public Teacher(string name,int age){this.name=name;this.age=age;}}
D :struct Teacher{string name;int age;public Teacher(){}}
4.在C#中类的实例需要使用的关键字是(C)(选择一项)
A : this B: base C new D : as
5.索引器允许按照自定义的访问方式访问类或结构的实体组成的数组,以下所引器定义正确的是(A)。
A :public Teach this[string index]{get {//..}}
B :public Teach this[index]{get{//..}}
C :publci string Teach[index]{get{//..}}
D :public Teach[index]{get{//…}}
6 . 在C# 代码中,(A)是类Teacher 的属性。(选择一项)
Public class Teacher{Int age=13;Private string Name{get{return name;}set{name=value;}}
Public void SaySomething(){//…} }
A : Name B name C age D SaySomething
7.在C# 语言中方法重载的主要方式有两种,包括(D)和参数类型不同的重载。(选择一项)
A: 参数名称不同的重载 B : 返回类型不同的重载C: 方法名不同的重载 D :参数个数不同的参数
8.在一下C# 代码的下划线处填入(),该C#语句表示打开一个文件,如果该文件不存在则发生异常。
FileStream fs=new FileStream(“D:\\music.txt”,______________);
A :FileMode.Create B :FileMode.Open C :FileMode.Close D:FileMode.CreateNew
9.分析一下C#代码,根据面向对象的多态行,代码的运行结果是()(选择一项)
class A{public void F(){Console.Write(“A”); }
Public void F(string chr){Console .Write(“B”);}}
class B:A{Public void F(){Console.write(“B”);} Static void Main(){B objB=new B();objB.F();} }
A : A B : B C : C D : D
10 .在C#中下面关于接口正确的是()(选择一项)
A :public interface IStudentService{public string addStudent()}
B public interface IStudentService{string addStudent(){//…..}}
C :public class Student(){} public interface IStudentService:Student{string addStudent()}
D :public interface IStudentService{ string addStudent()}
11.在C# 中,可以避免使用枚举变量来避免不合理的赋值,一下枚举定义中正确的是()(选择一项)
A : public enum Sex{male,femal}
B :public enum Sex{male,femal;}
C :public Sex enum {male,femal;}
C :public Sex enum {male,femal}
12.在C# 中提供了一种集合类型的哈希表(HashTable),哈希表的数据是通过键(key)和()来组织的
A : 项(Item) B :记录(Record) C :表(table) D :值(Value)
13.在C# 中,使用()访问修饰符修饰的方法被称之为抽象方法。
A: this B :abstract C :new D :virtual
14.在C# 中创造一个对象是,系统最先执行的是()中的语句。
A :main方法 B:构造方法 C :初始化函数 D :字符串函数
15.在C#中,关于List
A :List
B :List
C :获取元素时,List
D:List
16.在C# 语言中,方法重载的主要方式有两种,包括()和()。(选择二项)
A:参数类型不同的重载 B :返回值类型不同的重载
C:方法名称不同的重载 D :参数个数的不同重载
17.在一下C#中的数据类型中,()属于值类型(选择两项)
A:bool B:struct C:class D:string
18.某些学员用C#写了一段代码,代码的输出结果是()。(选择一项)
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: 空
19.在C#代码中,关于抽象方法和虚方法使用正确的是:()(选择一项)
A :public abstract class Animal{public Animal(){}public abstract void Run();}
public class Cat:Animal{public Cat(){}public void Run(){}}
B :public class Animal{Public Animal(){}Public abstract void Run(){}}
Public class Cat:Animal{Public Cat(){}Pulblic void Run(){}}
C :public abstract class Animal{Public Animal(){}Public abstract void Run(){}}
Public class Cat:Animal{Public Cat(){}Pulblic override void Run(){}}
D :public virtual class Animal{Public Animal(){}Public virtual void Run(){}}
Public class Cat:Animal{Public Cat(){}Pulblic void Run(){} }
20.某学员用C#写了如下代码段,该代码的输出结果是()。(选择一项)
static void Main(string[] args){ ArrayList list=new ArrayList();
list.Add(“ACCP”);list.Add(“ BENET”);
Console.WritteLine(list[1]);Console.Read();}
A:ACCP B:BENET C:下标溢出错误 D:1
21.分析一下C#片段中的属性,该属性是()属性。(选择一项)
private string name; Public string Name{Get{return name;} }
A:可读可写 B:只写 C:只读 D: 静态
22..NET框架是.NET战略的基础,是一种新的便捷的开发平台,它具有两个主要的组件,分别是()和框架类库。(选择一项)
A:公共语言运行时 B:Web服务 C:命名空间 D:Main()函数
23.在C# 代码中,下面关于结构描述错误的是()。(选择一项)
A:结果是值类型 B:结构不能被继承 C:结构中可以有属性,也可以有方法
D:可以给结构添加无参的构造函数
24.分析如下所示的C#代码段,在该段代码中一共进行了()次装箱。(选择一项)
static void Main(string[]args){
int age=18; object refage=(object)age; int valage=(int)refage;
Test(valage);Console.ReadLine();}
public void Test (int number){Console.WriteLine(number);}
A:0 B: 1 C:2 D:3
25.在.NET中,接口是一中规范和标准,它可以月约束类的行为,下列接口定义正确的是()(选择一项)
A:public interface IBicycle{void ride();}
B:public interface IBicycle{void ride(){} ;}
C:public interface IBicycle{String Type(){get();set();}}
D:public interface IBicycle{string color;}
26.在C#中有如下范型集合代码,项该范型集合中添加一个键为“李四”的学员对象,一下选项中该范型集合不同操作,其中正确的是()。(选择二项)
Dictionary
A:dict.RemoveAt(0);
B:Student stu=dict[“李四”];
C:foreach(Student stu in dict.Keys){…}
D:foreach(Student stu in dict.Values){….}
27.下列代码中使用了抽象类的概念,这段代码中发生错误的代码行是()。
abstract class WashingMachine{public WashingMachine(){}abstract public void Wash(); }
class MyWashingMachine:WashMachine{override public void Wash(){}static void Main(){
washingMachine wm=new WashingMachine();wm.Wash();} }
A:1 B:2 C:3 D:4
28.在C# 中,下列关于密封类使用正确的是()(选择一项)
A:sealed class Persong{//…} class Student:Person{//…}
B: class Persong{//…} sealed class Student:Person{//…}
C:sealed class Persong{Public int addStudent();}
D:sealed class Persong{Public int addStudent();}
29.以下关于C#中构造函数说法正确的是()
A:在访问一个类时,系统最先执行类的构造函数。 B:构造函数有返回值
C:一般情况先,构造函数总是private类型的。 D:可以为枚举类型中的元素赋整数值。
30.在以下代码中,()是类Teacher的方法。
public class Teacher{int age=33;private string name;
public string Name{get{return name;}set{name=value;}}} public void SaySomething{//…..}
A : Name B name C age D SaySomething
31.在使用C# 语言开发程序过程中,有时需要按照使用类图说明类与类之间的关系,在类图中使用()符号表示共有成员。
A.+ B:- C :* D:#
32.以下C#代码运行的结果是()
List
for (int i=1;i<6;i++){num.Add(i);}
for(int i=1;i<3;i++){num.Remove(i);}
foreach(int i in num){Console.Write(i.ToString());}
A:运行出错
B:345
C: 145
D 135
33.假设我们要使用C#设计一个日志系统,要求程序运行是,检查system.log文件是否存在,如果已经存在则直接打开,如果 不存在则创建一个,为了实现这个目的,我们应该以FileMode的()方式创建文件流。(选择一项)
A:CreateNe B Open C OpenOrCreate D Create
34.关于C# 中的结构,以下说法中正确的是();
A 结构可以有构造函数 B 结构体内可以有字段,但不能有方法
C 结构体内可以有方法,但不能有字段 D 结果可以被继承
35,关于C# 中的虚方法,以下说法中正确的是();
A 使用static 修饰 B 可以有方法体 C 可以被子类重写 D 使用abstract 修饰
37.分析如下C# 代码,根据类的继承关系,运行后的输出结果是()(选择一项)
public class Person{private int age=0;public int Age{ get{return age;}set{
If(value>=18)Console.WriteLine(“成年人”);Else Console.WrteLine(“未成年人”);}}}
public class People:Person{public People(){Console.Write(“不得入内”);}}
class Test{static void Main (string[]args){people shang=new People(); shang.Age=17} }
A 未成年人 不得入内 B 成年人 不得入内 C 不得入内 D 不得入内 未成年人
38.在C# 中,数据类型包括值类型和引用类型,以下属于值类型的有()。(选择两项)
A System.Object B int C 类 D 结构
39.在C#语言开发的程序中,以下关于反射的说法中错误的是()。(选择一项)
A.反射提供了封装程序集,模块和类型对象 B.使用反射可以动态的创建类型的实例
C.使用反射时必须提供解决方案
D.使用反射可以获得已加载的程序集和在其中定义的类型信息,也可以调用类型的方法或访问字段和属性
40.在C#语言开发的程序中,以下对于方法重载的定义错误的是()。(选择二项)
A.public int Sub(int a,int b)和public int Sub(int c,int d)
B.public int Modify(int a ,int b)和public int Modify(string a,int b,string c)
C.public void SayHi(string a,int b)和public void SayHi(string a,string b)
D.public void Multiply(int a,int b)和public int Multiply(int a,int b)
41.在C#中,下列数据类型属于引用类型的是()。(选择一项)
A.整型(int) B.结构(struct) C.接口(interface) D.枚举(enum)
42.在C#程序中,下面关于枚举的说法不正确的是()。(选择一项)
A.使用枚举可以避免不合理赋值 B.枚举属于值类型
C.MessageBox的返回结果DialogResult是枚举类型
D.System.Drawing.Color类型是枚举类型
43.在C#语言中,以下关于文件处理描述错误的是()。(选择一项)
A.要对文件进行读书,需要在类中使用System.IO命名空间
B.Stream Writer写入器创建方法可以为new Stream Writer(String FilePath)
C.Stream Writer写入器创建方法也可以为new Stream Writer(FileStream myfs)
D.StreamReader读取器读取文件流中从当前位置到末尾的所有字符的方法为ReaderLine()
44.在C#语言中,以下关于集合的说法错误的是()。(选择一项)
A.ArrayList 只能通过索引来访问和删除值 B.HashTable可以直接通过键名来获取值
C.使用List
D.使用Dictionary
45.在C#总,下列关于属性的使用正确的是()。(选择一项)
A. private int num; public string Num{ get{retuen num;} set{num=value;} }
B. private int num;public int Num{get{retuen num;}set{num=value;}}
C. private int num;public int Num{get{ num=value;}set{ retuen num;}}
D. private int num;private int Num{get{retuen num;}set{num=value;}}
47.在C#语言中,以下关于Trainer类中构造函数的说法错误的是()。(选择二项)
A.此构造函数一般命名为Trainer B.此构造函数可以返回int或stirng型
C.此构造函数一般为public类型 D.此构造函数一般被显示调用
48.在C#程序中,下面关于接口的说法错误的是()。(选择一项)
A.接口中更可以包含属性、方法等,但是都不能实现
B.接口和类有重要的区别,前者可以被多重继承,而后者不可以
C.接口可以实例化,但实例化时必须实现所有未实现的方法
D.实现接口的类必须实现接口中未实现的方法
49.在C#语言中,若类a的命名空间为“b.c”,类d的命名空间为“e.f”,则下列说法中错误的是()。
A.若在d 中使用a中的方法,可以通过“using b.c”引入命名空间
B.命名空间“e.f”中不可能出现名为a的类
C.若在d中使用a中的方法,可以通过“b.c.a”全名的方式使用
D.a和d虽在不同的命名空间下,但仍可存在继承关系
51.在C#语言开发的程序中,以下关于反射的说法中错误的是()。(选择一项)
A.反射提供了封装程序集,模块和类型对象 B.使用反射可以动态地创建类型的实例
C.使用反射时必须提供解决方案
D.使用反射可以获取已加载的程序集和在其中定义的类型信息,也可以调用类型的方法或访问字段和属性
52.在C#语言开发的程序中,以下对于方法重载的定义错误的是()。(选择二项)
A.public int Sub(int a,int b)和public int Sub(int c,int d)
B.public int Modify(int a ,int b)和public int Modify(string a,int b,string c)
C.public void SayHi(string a,int b)和public void SayHi(string a,string b)
D.public void Multiply(int a,int b)和public int Multiply(int a,int b)
53.在C#中,下列数据类型属于引用类型的是()。(选择一项)
A.整型(int) B.结构(struct) C.接口(interface) D.枚举(enum)
54.在C#程序中,下面关于枚举的说法不正确的是()。(选择一项)
A.使用枚举可以避免不合理赋值 B.枚举属于值类型
C.MessageBox的返回结果DialogResult是枚举类型
D.System.Drawing.Color类型是枚举类型
55.在C#语言中,以下关于文件处理描述错误的是()。(选择一项)
- 要对文件进行读写,需要在类中使用System.IO命名空间
- Stream Writer 写入器创建方法可以为new StreamWriter(String FilePath)
C.Stream Writer写入器创建方法也可以为new Stream Writer(FileStream myfs)
D.StreamReader读取器读取文件流中从当前位置到末尾的所有字符的方法为ReaderLine()
56.在C#语言中,以下关于集合的说法错误的是()。(选择一项)
A.ArrayList 只能通过索引来访问和删除值
B.HashTable可以直接通过键名来获取值
C.使用List
D.使用Dictionary
57.在C#总,下列关于属性的使用正确的是()。(选择一项)
A. private int num;public string Num{get{retuen num;}set{num=value;}}
B. private int num;public int Num{get{retuen num;}set{num=value;}}
C. private int num;public int Num{get{ num=value;}set{ retuen num;}}
D. private int num;private int Num{get{retuen num;}set{num=value;}}
59.在C#语言中,以下关于Trainer类中构造函数的说法错误的是()。(选择二项)
A.此构造函数一般命名为Trainer B.此构造函数可以返回int或stirng型
C.此构造函数一般为public类型 D.此构造函数一般被显示调用
60. 在C#程序中,下面关于接口的说法错误的是()。(选择一项)
A.接口中更可以包含属性、方法等,但是都不能实现
B.接口和类有重要的区别,前者可以被多重继承,而后者不可以
C.接口可以实例化但实例化时必须实现所有未实现的方法D.实现接口的类必须实现接口中未实现的方法
61.在C#语言中,若类a的命名空间为“b.c”,类d的命名空间为“e.f”,则下列说法中错误的是()。
A.若在d 中使用a中的方法,可以通过“using b.c”引入命名空间
B.命名空间“e.f”中不可能出现名为a的类
C.若在d中使用a中的方法,可以通过“b.c.a”全名的方式使用
D.a和d虽在不同的命名空间下,但仍可存在继承关系
63.分析以下C#片段中的属性,该属性是()属性。(选择一项)
private string name;public string Name{get{return name;}}
A可读可写 B只写 C只读 D 静态
64.在C#中,以下使用键值对存储数据的是()。(选择一项)
A ArrayList B Array C 字符型数组 D HashTable
65.在C#语言中,以下关于继承的说法错误的是()。(选择一项)
A. 一个子类不能同时继承多个父类 B 任何类都是可以被继承的
C 子类继承父类,也可以说父类派生了一个子类 D Object类是所有类的基类
67.分析如下C#chengxu,运行输出的结果是()。(选择一项)
public struct Size{public int x;public int y;public Size(int x,int y){this.x=x;this.y=y;}}
class Test{ static void Main(){ Size size1=new Size(8,10); Size size2=size1; Size1.y=200;
Console.WriteLine(“{0}|{1}”,size1.y,size2.y);} }
A. 200|200 B 200|10 C 10|10 D 10|200
68.在开发C#程序过程中,我们会大量的使用对象和类,以下关于类和对象说法正确的是()。(选择一项)
A 类的实例被称为对象 B对象可以被继承 C 类可以归纳为对象
D在对象的基础上,将状态和行为实体化为类的过程称为实例化
69.以下关于C#中的构造函数说法正确的是()。(选择一项)
- 构造函数可以有参数 C 构造函数有返回值
- 一般情况下,构造函数总是private类型的 D 构造函数可以通过类的实例调用
74.在C#中,如果类C继承自类B,类B继承自类A,则以下描述正确的是()。(选择一项)
A C不仅继承了B中的成员,同样也继承了A中的成员 B C只继承了B中的成员
C C只继承了A中的成员 D C 不能继承了A或B中的成员
75.在C#程序中,()类的对象在插入和删除时可以提供更好的性能(选择一项)
a )类和结构都是引用数据类型 b)类和结构都可以被继承
c)类可以实现接口,但是结构不可以实现接口
d)类可以具有默认无参的构造函数,而结构中只能具有带参数的构造函数
76. 在C#中创建一个类对象时,系统最先执行的时()中的语句。(选择一项)
a)main方法 b)构造函数 c)初始化函数 d)字符串函数
79.在C#程序中定义一个泛型集合对象students的代码是:
Dictionary
下面集合操作的代码片段正确的是().(选择一项)
a) Student stu=students[“Jimmy”]; c) students.Add(“Jimmy”);
b) students.Remove(4); d) foreach(Student stu in students.Keys){}
80在C#程序语言中,下列关于序列化和反序列化的说法中错误的是()。(选择二项)
a)要实现序列化操作,需要引入的命名空间是:System.Runtime.Serialization.Formatters.Binary
b)序列化和反序列化是可逆的过程,序列化是将对象状态储存到特定介质,反序列化是从储存介质中将数据重新构建为对象
c)要实现对象的序列化和反序列化操作,首先需要使用{Seriazation}标识类具有可序列化特性
d)如果Computer类是Laptop类的父类,要实现Laptop对象的序列化操作,只需要在Laptop类头部标记可序列化特性
81在C#语言开发程序中,以下关于IComparable
a) IComparable
b) IComparable
c) IComparer
d) IComparer
89. 以下关于c#中的构造函数说法正确的是()。
a) 构造函数可以有参数
b) 构造函数有返回值
c) 一般情况下,构造函数总是Private类型的
d) 构造函数可以通过类的实例调用
90.在同一个c#程序中,对于下面的这段代码,描述正确的是()。
Class Person{ Public int age; Protected string name; Private int salary; }
Class Teacher:Person{Public void Teach(){ Int studentNum;}
Public int GetSalary(){ //…} } (选择一项)
a) Teach方法可以访问变量salary c) GetSalary方法可以访问变量salary
b) Teach方法可以访问变量name d) GetSalary方法可以访问变量studentNum
92. 在c#语言中,若类a 的命名空间为“b.c”,类d的命名空间为“e.f”,则下列说法中错误的是()。 a) 若在d 中使用a中的方法,可以通过“using b.c”引入命名空间
b) 命名空间“e.f”中不可能出现名为a的类
c) 若在d中使用a 中的方法,可以通过“b.c.a”全名的方式使用
d) a和d虽在不同的命名空间下,但仍可存在继承关系
104.在c#中,关于List<>和Dictionary
a) List
b) List
c) 获取元素时,List
d) List