zoukankan      html  css  js  c++  java
  • C#试题

    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<T>和Dictionary<K,V>的说法,正确的是()(选择二项)

    A :List<T>和Dictionary<K,V>都有RemoveAt方法

    B :List<T>和Dictionary<K,V>都有Count属性

    C :获取元素时,List<T>需求类型转换,Dictionary<K,V>不需要类型装换

    D:List<T>通过索引访问集合元素,Dictionary<K,V>通过Key 访问集合元素。

    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<string,Student> dict=new Dictionary<string Student>();

    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<int> num=new List<int>();

         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<T>添加、读取元素时,不需要拆箱和装箱,这一点和ArrayList相同

    D.使用Dictionary<K,V>可以通过Key获取Value,这一点和HashTable相同

    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#语言中,以下关于文件处理描述错误的是()。(选择一项)

    1. 要对文件进行读写,需要在类中使用System.IO命名空间
    2. 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<T>添加、读取元素时,不需要拆箱和装箱,这一点和ArrayList相同

    D.使用Dictionary<K,V>可以通过Key获取Value,这一点和HashTable相同

    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#中的构造函数说法正确的是()。(选择一项)

    1. 构造函数可以有参数                        C 构造函数有返回值
    2. 一般情况下,构造函数总是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<string, Student> students = new Dictionary<string, Student>();

    下面集合操作的代码片段正确的是().(选择一项)

    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<T>和IComparer<T>的说法中错误的是()。(选择一项)

    a) IComparable<T>是泛型接口,实现该接口的类可以实现排序功能

    b) IComparable<T>包含一个未实现的方法CompareTo()

    c) IComparer<T>是一个比较器,它包含一个未实现的方法Compare(T x, T y)

    d) IComparer<T>可以作为Sort()方法的返回值类型,但不能作为参数类型

    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<K,V>的说法,正确的是()。(选择二项)

                       a)   List<T>和Dictionary<K,V>都有RemoveAt方法

                       b)   List<T>和Dictionary<K,V>都有Count属性

                       c)  获取元素时,List<T>需要类型转换,而Dictionary<K,V>不需要

                       d)   List<T>通过索引访问集合元素,Dictionary<K,V>通过Key访问集合元素  

     

    作者:罗敏贵
    邮箱:minguiluo@163.com
    QQ群:34178394 建群 主要是寻找志同道合的人士一起学习和讨论自己的所学所思
    出处:http://luomingui.cnblogs.com/
    说明:专注于微软平台项目架构、熟悉设计模式、架构设计、敏捷个人和项目管理。现主要从事WinForm、ASP.NET、等方面的项目开发、架构、管理工作。文章为作者平时里的思考和练习,可能有不当之处,请博客园的园友们多提宝贵意见。
    知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

  • 相关阅读:
    判断文件是否正在使用
    批量复制文件
    PAT 甲级 1116 Come on! Let's C (20 分)
    PAT 甲级 1116 Come on! Let's C (20 分)
    1123 Is It a Complete AVL Tree (30 分)
    1123 Is It a Complete AVL Tree (30 分)
    C++ sort()和is_sorted()的升序降序和自定义排序
    C++ sort()和is_sorted()的升序降序和自定义排序
    PAT 甲级 1103 Integer Factorization (30 分)
    PAT 甲级 1103 Integer Factorization (30 分)
  • 原文地址:https://www.cnblogs.com/luomingui/p/2038146.html
Copyright © 2011-2022 走看看