您现在的位置是:首页 >学无止境 >基于.NET的应用开发技术 作业三网站首页学无止境
基于.NET的应用开发技术 作业三
作业三20230412084042
题量: 72 满分: 100 作答时间:04-12 09:32至04-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:事件是接收(消费)者的类中的成员;正确答案: