您现在的位置是:首页 >学无止境 >基于.NET的应用开发技术 作业三网站首页学无止境

基于.NET的应用开发技术 作业三

晓星一不小心 2023-05-19 20:00:02
简介基于.NET的应用开发技术 作业三

作业三20230412084042

题量: 72 满分: 100   作答时间:04-12 09:3204-19 17:33                     97.4

一. 单选题(共72题,100分)

1. (单选题)关于接口的使用,说法错误的是_____________。

  • A. 接口可以作为参数进行传递
  • B. 接口可以作为方法的返回值
  • C. 接口可以实例化
  • D. 同时实现多个接口是变相实现了多重继承

我的答案: C:接口可以实例化;正确答案: C:接口可以实例化;

1.3

2. (单选题)以下叙述正确的是________________。

  • A. do...while语句构成的循环不能用其他语句构成的循环来代替
  • B. do...while语句构成的循环只能用break语句退出
  • C. 用do...while语句构成的循环,在while后的表达式为true时结束循环
  • D. 用do...while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式

我的答案: D:用do...while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式;正确答案: D:用do...while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式;

1.3

3. (单选题)语句“Console.WriteLine(typeof(void));”的执行结果是______________。

  • A. System.Void
  • B. null
  • C. 0
  • D. false

我的答案: C:0;正确答案: A:System.Void;

0

4. (单选题)有以下C#程序:
using System;
{ class Program
{ static void Main()
{ int x=2,y=-1,z=2;
if(x<y)
if(y<0) z=0;
else z+=1;
Console.WriteLine("{0}",z);
}
}
}

  • A. 3
  • B. 2
  • C. 1
  • D. 0

我的答案: B:2;正确答案: B:2;

1.3

5. (单选题)以下关于常量的说法,不正确的是_____________。

  • A. 常量必须在声明时初始化
  • B. 指定了常量的值后,在程序中就不能再对其进行赋值修改
  • C. 常量总是静态的,所以在声明时必须包含修饰符static
  • D. 关键词const用于声明常量

我的答案: C:常量总是静态的,所以在声明时必须包含修饰符static;正确答案: C:常量总是静态的,所以在声明时必须包含修饰符static;

1.3

6. (单选题)在C#中,属性从读/写特性上进行分类,可以划分为3种,除了_____________。

  • A. 只读属性
  • B. 只写属性
  • C. 读/写属性
  • D. 不可读不可写的属性

我的答案: D:不可读不可写的属性;正确答案: D:不可读不可写的属性;

1.3

7. (单选题)

以下程序的输出结果是_______________。

using System;

namespace aaa

{     class Program

      {    static void Main()

           {    int i;

                int[ ] a=new int[10];

                for(i=9;i>=0;i--)

                     a[i]=10-i;

                Console.WriteLine("{0},{1},{2}",a[2],a[5],a[8]);

            }

      }

}

  • A. 2,5,8
  • B. 7,4,1
  • C. 8,5,2
  • D. 3,6,9

我的答案: C:8,5,2;正确答案: C:8,5,2;

1.3

8. (单选题)

有以下C#程序,在执行时从键盘输入9,则输出结果为_____________。

using System;

namespace aaa

{      class Program

       {      static void Main()

              {     int n;

                    n=int.Parse(Console.ReadLine());

                    if(n++<10)

                         Console.WriteLine("{0}",n);

                    else

                        Console.WriteLine("{0}",n--);

                }

        }

}

  • A. 11
  • B. 10
  • C. 9
  • D. 8

我的答案: B:10;正确答案: B:10;

1.3

9. (单选题)在C#中,以下关于属性的描述正确的是____________。

  • A. 属性是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性
  • B. 属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏
  • C. 要定义只读属性,只需在属性名前加上readonly关键字即可
  • D. 在C#的类中不能自定义属性

我的答案: B:属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏;正确答案: B:属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏;

1.3

10. (单选题)在C#中,_____________访问修饰符修饰的字段只能由当前程序集访问。

  • A. public
  • B. protected
  • C. internal
  • D. private

我的答案: C:internal;正确答案: C:internal;

1.3

11. (单选题)下面属于不合法的实数型常量的是____________。

  • A. 200M
  • B. 200D
  • C. 200F
  • D. 200R

我的答案: D:200R;正确答案: D:200R;

1.3

12. (单选题)以下叙述正确的是________________。

  • A. do...while语句构成的循环不能用其他语句构成的循环来代替
  • B. do...while语句构成的循环只能用break语句退出
  • C. 用do...while语句构成的循环,在while后的表达式为true时结束循环
  • D. 用do...while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式

我的答案: D:用do...while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式;正确答案: D:用do...while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式;

1.3

13. (单选题)在以下类型中,不属于值类型的是____________。

  • A. 整数类型
  • B. 布尔类型
  • C. 字符类型
  • D. 类类型

我的答案: D:类类型;正确答案: D:类类型;

1.3

14. (单选题)在类的定义中,类的______________描述了该类的对象的行为特征。

  • A. 类名
  • B. 方法
  • C. 所属的命名空间
  • D. 私有域

我的答案: B:方法;正确答案: B:方法;

1.3

15. (单选题)以下类MyClass的属性count属于______________属性。

class MyClass

{

    int i;

    int count

    {  get{  return;   }   }

}

  • A. 只写
  • B. 只读
  • C. 可读/写
  • D. 不可读不可写

我的答案: B:只读;正确答案: B:只读;

1.3

16. (单选题)以下关于C#中方法重载的说法,正确的是_________________。

  • A. 如果两个方法名称不同,而参数的个数不同,那么它们可以构成方法重载
  • B. 如果两个方法名称相同,而返回值的数据类型不同,那么它们可以构成方法重载
  • C. 如果两个方法名称相同,而参数的数据类型不同,那么它们可以构成方法重载
  • D. 如果两个方法名称相同,而参数的个数相同,那么它们一定不能构成方法重载

我的答案: C:如果两个方法名称相同,而参数的数据类型不同,那么它们可以构成方法重载;正确答案: C:如果两个方法名称相同,而参数的数据类型不同,那么它们可以构成方法重载;

1.3

17. (单选题)以下_____________不是构造函数的特征。

  • A. 构造函数的函数名和类名相同
  • B. 构造函数可以重载
  • C. 构造函数可以带有参数
  • D. 可以指定构造函数的返回值

我的答案: D:可以指定构造函数的返回值;正确答案: D:可以指定构造函数的返回值;

1.3

18. (单选题)在C#中,以下有关索引器的参数个数的说法正确的是_______________。

  • A. 索引可以没有参数
  • B. 索引器只能有一个参数
  • C. 索引器可以有多个参数
  • D. 索引器至少要有两个参数

我的答案: C:索引器可以有多个参数;正确答案: C:索引器可以有多个参数;

1.3

19. (单选题)在类MyClass中有下列方法定义:

public void testParams(params int[] arr)

{  Console.Write("使用Params参数!");  }

public void testParams(int x,int y)

{  Console.Write("使用两个整型参数!");  }

请问上述方法重载有无二义性?若没有,则下述语句的输出为____________。

MyClass x=new MyClass();

x.testParams(0);

x.testParams(0,1);

x.testParams(0,1,2);

Console.WriteLine();

  • A. 使用Params参数!使用两个整型参数!使用Params参数!
  • B. 使用Params参数!使用Params参数!使用Params参数!
  • C. 使用Params参数!使用两个整型参数!使用两个整型参数!
  • D. 有语义二义性

我的答案: A:使用Params参数!使用两个整型参数!使用Params参数!;正确答案: A:使用Params参数!使用两个整型参数!使用Params参数!;

1.3

20. (单选题)以下程序的输出结果是____________。

using System;

namespace aaa

{

     class Example1

     {

         static long sub(int x,int y)

         {

              return x*x+y*y;

         }

         public static void Main()

         {

             int a=30;

             sub(5,2);

             Console.WriteLine("{0}",a);

         }

     }

}

  • A. 0
  • B. 29
  • C. 30
  • D. 无定值

我的答案: C:30;正确答案: C:30;

1.3

21. (单选题)C#中的MyClass是一个自定义类,其方法定义为public void Hello(){  ...   }。然后创建该类的对象,并使用变量obj引用该对象,语句为“MyClass obj=new MyClass();”,那么可访问类MyClass的Hello方法的语句是___________。

  • A. obj.Hello();
  • B. obj::Hello();
  • C. MyClass::Hello();
  • D. MyClass.Hello();

我的答案: A:obj.Hello();;正确答案: A:obj.Hello();;

1.3

22. (单选题)分析以下C#语句,注意类MyClass没有显示地指定访问修饰符:

namespace aaa

{

     class MyClass

     {

         public class subclass

         {    int i;       }

     }

}

类MyClass的默认访问修饰符是_____________。

  • A. public
  • B. protected
  • C. private
  • D. internal

我的答案: D:internal;正确答案: D:internal;

1.3

23. (单选题)分析下列程序:

public class MyClass

{

     private string _sData="";

     public string sData

     {

           set{    _sData=value;   }

     }

}

在Main函数中成功创建该类的对象obj后,以下___________语句是合法的。

  • A. obj.sData="It is funny!";
  • B. Console.WriteLine(obj.sData);
  • C. obj._sData=100;
  • D. obj.set(obj.sData)

我的答案: A:obj.sData="It is funny!";;正确答案: A:obj.sData="It is funny!";;

1.3

24. (单选题)以下_________________关键词用于委托类型。

  • A. event
  • B. this
  • C. delegate
  • D. value

我的答案: C:delegate;正确答案: C:delegate;

1.3

25. (单选题)以下关于委托和委托类型的叙述正确的是__________________。

  • A. 委托不是一种类的成员
  • B. 委托必须在类中定义
  • C. 定义委托需要使用delegate关键词
  • D. 委托类型是一种数据类型

我的答案: C:定义委托需要使用delegate关键词;正确答案: C:定义委托需要使用delegate关键词;

1.3

26. (单选题)分析下列语句:

namespace NS

{

     public delegate void Hello(string target);

}

该语句的作用是_______________。

  • A. 在NS命名空间中定义了一个名为Hello的全局方法
  • B. 在NS命名空间中函数Hello的原型
  • C. 在NS命名空间中定义了一个名为Hello的函数指针
  • D. 在NS命名空间中定义了一个名为Hello的委托类型

我的答案: D:在NS命名空间中定义了一个名为Hello的委托类型;正确答案: D:在NS命名空间中定义了一个名为Hello的委托类型;

1.3

27. (单选题)有以下C#代码:

class App

{

    public static void Main()

    {

        mydelegate p = new mydelegate(CheckStatus);

        p("string...");

        ...

    }

    static void CheckStatus(string state)

    {

        Console.WriteLine(state);

    }

}

其中mydelegate是一个___________。

  • A. 结构类型
  • B. 委托类型
  • C. 函数
  • D. 类名

我的答案: B:委托类型;正确答案: B:委托类型;

1.3

28. (单选题)在C#中,以下关于命名空间的叙述正确的是___________。

  • A. 在一个.cs文件中只能存在一个命名空间
  • B. 命名空间不可以嵌套
  • C. 使用private修饰的命名空间,其内部的类不允许访问
  • D. 命名空间使得代码更加有条理、结构更清晰

我的答案: D:命名空间使得代码更加有条理、结构更清晰;正确答案: D:命名空间使得代码更加有条理、结构更清晰;

1.3

29. (单选题)以下_____________关键字用于定义事件。

  • A. delegate
  • B. event
  • C. this
  • D. value

我的答案: B:event;正确答案: B:event;

1.3

30. (单选题)将发生的事件通知其他对象(订阅者)的对象称为事件的_____________。

  • A. 广播者
  • B. 通知者
  • C. 发行者
  • D. 订阅者

我的答案: C:发行者;正确答案: C:发行者;

1.3

31. (单选题)在C#中,一个类____________。

  • A. 可以继承多个类
  • B. 可以实现多个接口
  • C. 在一个程序中只能有一个子类
  • D. 只能实现一个接口

我的答案: B:可以实现多个接口;正确答案: B:可以实现多个接口;

1.3

32. (单选题)以下关于继承机制的叙述正确的是____________。

  • A. 在C#中任何类都可以被继承
  • B. 一个子类可以继承多个父类
  • C. object类是所有类的基类
  • D. 继承有传递性,如果A类继承B类,B类又继承C类,那么A类也继承C类

我的答案: C:object类是所有类的基类;正确答案: C:object类是所有类的基类;

1.3

33. (单选题)____________关键字用于在C#中从派生类中访问基类的成员。

  • A. new
  • B. super
  • C. this
  • D. base

我的答案: D:base;正确答案: D:base;

1.3

34. (单选题)在C#中,在派生类中对基类的虚函数进行重写,要求在派生类的声明中使用__________。

  • A. override
  • B. new
  • C. static
  • D. virtual

我的答案: A:override;正确答案: A:override;

1.3

35. (单选题)

有以下程序:

using System;

namespace aaa

{

     class A

     {

         public A()

         {

              Console.Write("A");

         }

     }

     class B:A

     {

         public B():base()

         {

               Console.WriteLine("B");

         }

     }

     class Program

     {

          public static void Main()

          {

               B b=new B();

          }

     }

}

上述代码运行后将在控制台窗口输出__________。

  • A. A
  • B. B
  • C. A B
  • D. B A

我的答案: C:A B;正确答案: C:A B;

1.3

36. (单选题)以下关于抽象类的叙述中,错误的是____________。

  • A. 抽象类中可以包含非抽象方法
  • B. 含有抽象方法的类一定是抽象类
  • C. 抽象类不能被实例化
  • D. 抽象类可以是密封类

我的答案: D:抽象类可以是密封类;正确答案: D:抽象类可以是密封类;

1.3

37. (单选题)在C#中,接口与抽象基类的区别在于____________。

  • A. 抽象类中可以包含非抽象方法,而接口不包含任何方法的实现
  • B. 抽象类可以被实例化,而接口不能被实例化
  • C. 抽象类不能被实例化,而接口可以被实例化
  • D. 抽象类能够被继承,而接口不能被继承

我的答案: A:抽象类中可以包含非抽象方法,而接口不包含任何方法的实现;正确答案: A:抽象类中可以包含非抽象方法,而接口不包含任何方法的实现;

1.3

38. (单选题)以下关于抽象类和接口的叙述中,正确的是_____________。

  • A. 在抽象类中所有的方法都是抽象方法
  • B. 继承自抽象类的子类必须实现其父类(抽象类)中的所有抽象方法
  • C. 在接口中可以有方法实现,在抽象类中不能有方法实现
  • D. 一个类可以从多个接口继承,也可以从多个抽象类继承

我的答案: B:继承自抽象类的子类必须实现其父类(抽象类)中的所有抽象方法;正确答案: B:继承自抽象类的子类必须实现其父类(抽象类)中的所有抽象方法;

1.3

39. (单选题)在以下类MyClass的定义中,_____________是合法的抽象类。

  • A. abstract class MyClass{  public abstract int getCount();    }
  • B. abstract class MyClass{  abstract int getCount();    }
  • C. private abstract class MyClass{  abstract int getCount();    }
  • D. sealed abstract class MyClass{   abstract int getCount();    }

我的答案: A:abstract class MyClass{ public abstract int getCount(); };正确答案: A:abstract class MyClass{ public abstract int getCount(); };

1.3

40. (单选题)多态是指两个或多个不同对象对于同一个消息做出不同响应的方式。C#中的多态不能通过___________实现。

  • A. 接口
  • B. 抽象类
  • C. 虚方法
  • D. 密封类

我的答案: D:密封类;正确答案: D:密封类;

1.3

41. (单选题)分析下列程序中类MyClass的定义:

class BaseClass

    {

        public int i;

    }

    class MyClass:BaseClass

    {

        public new int i;

    }

则下列语句在Console上的输出为_______________。

MyClass y = new MyClass();

BaseClass x = new BaseClass();

 x.i = 100;

 Console.WriteLine("x.i={0},y.i={1}",x.i,y.i);

  • A. 0,0
  • B. 100,100
  • C. 0,100
  • D. 100,0

我的答案: D:100,0;正确答案: D:100,0;

1.3

42. (单选题)在接口和类的区别中,正确的是________________。

  • A. 类可以继承,而接口不可以
  • B. 类不可以继承,而接口可以
  • C. 类可以多继承,而接口不可以
  • D. 类不可以多继承,而接口可以

我的答案: D:类不可以多继承,而接口可以;正确答案: D:类不可以多继承,而接口可以;

1.3

43. (单选题)已知接口IHello和类Base、Drived的声明如下:

interface IHello

{

      void Hello();

}

class Base:IHello

{

    public void Hello()

    {

       System.Console.WriteLine("Hello in Base!");

    }

}

class Derived:Base

{

     public void Hello()

     {

         System.Console.WriteLine("Hello in Derived!");

     }

}

则下列语句在控制台中的输出结果为____________。

IHello x=new Derived();

x.Hello();

  • A. Hello in Base!
  • B. Hello in Derived!
  • C. Hello in Base!Hello in Derived!
  • D. Hello in Derived!Hello in Base!

我的答案: B:Hello in Derived!;正确答案: A:Hello in Base!;

0

44. (单选题)

在C#中定义以下IPlay接口,实现此接口的代码正确的是___________。

interface IPlay

{

    void Play();

    void Show();

}

  • A.

    class Teacher:IPlay

    {

        void Play(){   //省略部分代码    }

        void Show(){  //省略部分代码    }

    }

  • B.

    class Teacher:IPlay

    {

        public string Play(){   //省略部分代码    }

        public  void  Show(){    //省略部分代码   }

    }

  • C.

    class Teacher:IPlay

    {

        public void Play();

        public void Show(){  //省略部分代码    }

    }

  • D.

    class Teacher:IPlay

    {

        public void Play(){   //省略部分代码    }

        public void Show(){  //省略部分代码    }

    }

我的答案: D:class Teacher:IPlay { public void Play(){ //省略部分代码 } public void Show(){ //省略部分代码 } };正确答案: D:class Teacher:IPlay { public void Play(){ //省略部分代码 } public void Show(){ //省略部分代码 } };

1.3

45. (单选题)

以下程序的输出结果是____________。

using System;

namespace aaa

{

    public class Vehicle

    {

         private int speed=10;

         public int Speed

         {

              get{  return speed;    }

              set

              {

                   speed=value;

                   Console.WriteLine("禁止驶入");

              }

         }

    }

    public class NewVehicle:Vehicle

    {    public NewVehicle()

         {

                if(this.Speed>=20)     Console.Write("机动车!");

                else  Console.Write("非机动车!");

          }

    }

    public class Program

    {

        public static void Main()

        {

             NewVehicle tong=new NewVehicle();

             tong.Speed=30;

        }

    }

}

  • A. 禁止驶入非机动车!
  • B. 非机动车!禁止驶入
  • C. 禁止驶入机动车!
  • D. 机动车!禁止驶入

我的答案: B:非机动车!禁止驶入;正确答案: B:非机动车!禁止驶入;

1.3

46. (单选题)以下程序的输出结果是____________。

using System;

namespace aaa

{

    public class Person

    {

        private int age=0;

        public int Age

        {

             get{    return age;   }

             set

             {     if(value>=18)    Console.WriteLine("成年人");

                   else    Console.WriteLine("非成年人");

                   age=value;

             }

        }

    }

    public class People:Person

    {

         public People()

         {

              Console.Write("不得入内");

         }

    }

    public class Program

    {

         public static void Main()

         {

              People wang=new People();

              wang.Age=25;

         }

    }

}

  • A. 非成年人不得入内
  • B. 成年人不得入内
  • C. 不得入内非成年人
  • D. 不得入内成年人

我的答案: D:不得入内成年人;正确答案: D:不得入内成年人;

1.3

47. (单选题)以下关于索引器的说法中,不正确的是_____________。

  • A. 索引器可以重载
  • B. 只有当类中具有内部集合或数组时,才可以设计索引器
  • C. 索引器的名称固定为this
  • D. 索引器可以为静态的,也可以为实例的

我的答案: D:索引器可以为静态的,也可以为实例的;正确答案: D:索引器可以为静态的,也可以为实例的;

1.3

48. (单选题)以下关于常量字段的说法,正确的是________________。

  • A. 任何引用类型的对象都可以是常量
  • B. 常量是静态成员,所以声明常量时必须使用static修饰符
  • C. 常量必须在编译时设置其值
  • D. 程序运行时可以根据需要更改常量的值

我的答案: C:常量必须在编译时设置其值;正确答案: C:常量必须在编译时设置其值;

1.3

49. (单选题)以下关于静态方法的说法,不正确的是______________。

  • A. 静态方法不对特定实例进行操作
  • B. 静态方法只能直接访问静态成员
  • C. 在静态方法在引用this会导致编译时错误
  • D. 静态方法通过类的实例来访问

我的答案: D:静态方法通过类的实例来访问;正确答案: D:静态方法通过类的实例来访问;

1.3

50. (单选题)以下关于实例方法的说法,不正确的是__________________。

  • A. 实例方法通过类来访问
  • B. 实例方法对类的某个给定的实例进行操作
  • C. 实例方法能够访问静态成员和实例成员
  • D. 在调用实例方法的实例上,可以通过this显式地访问该实例

我的答案: A:实例方法通过类来访问;正确答案: A:实例方法通过类来访问;

1.3

51. (单选题)静态方法不能访问___________________。

  • A. 同类的静态字段
  • B. 同类的实例字段
  • C. 另一个类中的静态字段
  • D. 另一个类中的实例字段,但必须先创建一个该类的对象,再通过对象名调用

我的答案: B:同类的实例字段;正确答案: B:同类的实例字段;

1.3

52. (单选题)以下关于构造函数的说法,不正确的是________________。

  • A. 构造函数的名称与类名相同
  • B. 构造函数不能声明返回类型(也不能使用void),也不能返回值
  • C. 构造函数只能声明为public类型
  • D. 创建对象时不能显式地调用构造函数

我的答案: C:构造函数只能声明为public类型;正确答案: C:构造函数只能声明为public类型;

1.3

53. (单选题)以下关于静态构造函数的说法,不正确的是___________。

  • A. 静态构造函数用于实现初始化实例或对象所需的操作
  • B. 静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作
  • C. 类的静态构造函数在给定程序中至多执行一次
  • D. 静态构造函数既没有访问修饰符,也没有参数

我的答案: A:静态构造函数用于实现初始化实例或对象所需的操作;正确答案: A:静态构造函数用于实现初始化实例或对象所需的操作;

1.3

54. (单选题)以下关于析构函数的说法,正确的是________________。

  • A. 析构函数没有修饰符,没有返回值类型,但是可以有参数
  • B. 无法继承析构函数,但是可以重载析构函数
  • C. 一个类只能有一个析构函数
  • D. 必须显式调用析构函数来销毁类的实例

我的答案: C:一个类只能有一个析构函数;正确答案: C:一个类只能有一个析构函数;

1.3

55. (单选题)以下关于静态成员的说法,不正确的是________________。

  • A. 静态成员属于类,被这个类的所有实例所共享
  • B. 静态成员必须通过类名来引用
  • C. 静态函数代码体内既可以直接引用实例成员,也可以直接引用类的静态成员
  • D. 创建了一个类的多个实例时,其静态字段在内存中占用同一存储区域,即永远只有一个副本

我的答案: C:静态函数代码体内既可以直接引用实例成员,也可以直接引用类的静态成员;正确答案: C:静态函数代码体内既可以直接引用实例成员,也可以直接引用类的静态成员;

1.3

56. (单选题)调用方法结束后,_____________不再存在。

  • A. 值传递的形式参数及其值
  • B. 引用传递的实际参数及其值
  • C. 用ref修饰的参数及其值
  • D. 用out修饰的参数及其值

我的答案: A:值传递的形式参数及其值;正确答案: A:值传递的形式参数及其值;

1.3

57. (单选题)在静态方法中不能直接使用________________。

  • A. 静态字段
  • B. 实例字段
  • C. 值传递参数
  • D. 引用传递的参数

我的答案: B:实例字段;正确答案: B:实例字段;

1.3

58. (单选题)调用方法传递参数时,形式参数和实际参数的_____________必须匹配。

  • A. 类型
  • B. 名称
  • C. 地址
  • D. 访问修饰符

我的答案: A:类型;正确答案: A:类型;

1.3

59. (单选题)以下关于params参数的说法,不正确的是_____________。

  • A. 形参数组必须位于该列表的最后
  • B. 形参数组必须是一维数组类型
  • C. params修饰符可以用out修饰
  • D. params一定是引用传递的参数

我的答案: C:params修饰符可以用out修饰;正确答案: C:params修饰符可以用out修饰;

1.3

60. (单选题)已知类MyOwnClass,下面_____________是合法的构造函数的函数头。

  • A. public static MyOwnClass(){  }
  • B. public void MyOwnClass(){  }
  • C. public int MyOwnClass(){  }
  • D. public  MyOwnClass(){  }

我的答案: D:public MyOwnClass(){ };正确答案: D:public MyOwnClass(){ };

1.3

61. (单选题)当没有定义访问修饰符时,类的成员的默认访问修饰符为_________________。

  • A. private
  • B. public
  • C. protected
  • D. internal

我的答案: A:private;正确答案: A:private;

1.3

62. (单选题)访问修饰符protected internal的可访问性是___________。

  • A. 访问不受限制
  • B. 程序集的派生类
  • C. 程序集和所有本类的派生类
  • D. 仅限于本类

我的答案: C:程序集和所有本类的派生类;正确答案: C:程序集和所有本类的派生类;

1.3

63. (单选题)以下关于继承的说法,正确的是_____________。

  • A. 继承可以避免代码复制和相关的代码维护等问题
  • B. C#语言一个子类可以继承多个基类(多重继承)
  • C. C#语言不允许实现多个接口
  • D. 子类可以继承父类的方法,但不能重新改写父类的方法

我的答案: A:继承可以避免代码复制和相关的代码维护等问题;正确答案: A:继承可以避免代码复制和相关的代码维护等问题;

1.3

64. (单选题)以下关于密封类的说法,正确的是________________。

  • A. 密封类可以用作基类
  • B. 密封类可以是抽象类
  • C. 密封类永远不会有任何派生类
  • D. 密封类或密封方法可以重写或继承

我的答案: C:密封类永远不会有任何派生类;正确答案: C:密封类永远不会有任何派生类;

1.3

65. (单选题)以下关于this 关键字和base关键字的说法,不正确的是____________。

  • A. this 关键字用于引用类的当前实例
  • B. base关键字用于从派生类中访问基类的成员
  • C. 静态成员函数中不能使用this关键字
  • D. 静态成员函数中可以使用base关键字

我的答案: D:静态成员函数中可以使用base关键字;正确答案: D:静态成员函数中可以使用base关键字;

1.3

66. (单选题)以下关于接口的说法,不正确的是__________________。

  • A. 接口不能实例化
  • B. 接口中声明的所有成员隐式地为public和abstract
  • C. 接口默认的访问修饰符是private
  • D. 继承接口的任何非抽象类型都必须实现接口的所有成员

我的答案: C:接口默认的访问修饰符是private;正确答案: C:接口默认的访问修饰符是private;

1.3

67. (单选题)派生类要访问基类的成员,可以使用关键字____________。

  • A. base
  • B. this
  • C. out
  • D. external

我的答案: A:base;正确答案: A:base;

1.3

68. (单选题)virtual关键字不可以修饰__________________。

  • A. 静态字段
  • B. 属性
  • C. 索引器
  • D. 事件

我的答案: A:静态字段;正确答案: A:静态字段;

1.3

69. (单选题)以下关于虚方法的说法,不正确的是_______________。

  • A. 默认情况下,C#方法不是虚方法
  • B. 不能重写非虚方法
  • C. 虚拟成员的实现可在派生类中使用关键字override来重写;或使用关键字new来覆盖
  • D. virtual修饰符可以与static、abstract、private或override修饰符一起使用

我的答案: D:virtual修饰符可以与static、abstract、private或override修饰符一起使用;正确答案: D:virtual修饰符可以与static、abstract、private或override修饰符一起使用;

1.3

70. (单选题)虚方法可以使用如下________________修饰符。

  • A. public virtual
  • B. public abstract virtual
  • C. virtual abstract
  • D. virtual override

我的答案: A:public virtual;正确答案: A:public virtual;

1.3

71. (单选题)以下_____________可以成为接口成员。

  • A. 索引器
  • B. 常量
  • C. 字段
  • D. 析构函数

我的答案: A:索引器;正确答案: A:索引器;

1.3

72. (单选题)下列关于事件的说法中,不正确的是________________。

  • A. 事件是发送(生产)者的类中的成员
  • B. 事件是接收(消费)者的类中的成员
  • C. 事件可以是实例的,也可以是静态的
  • D. 事件是一种类的对象,可以包含多个成员

我的答案: B:事件是接收(消费)者的类中的成员;正确答案: 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。