当前位置:文档之家› S2_CSharp前五章

S2_CSharp前五章

试卷名: S2_CSharp前五章

________________________________________

一、单项选择题

1. CLR为.NET提供以下方面的功能或者服务,除了()。(选择一项)

A. 垃圾回收

B. 代码验证和类型安全

C. 代码访问安全

D. 自动消除程序中语法错误

________________________________________

2. 在C#中,下列符合帕斯卡命名规范的类定义是()。(选择一项)

A. public class T1{}

B. public class teacher{}

C. public class_Teacher{}

D. private class Teacher{}

________________________________________

3. 在C#中,下列代码的运行结果是()。(选择一项)

static void Main(string[] args) {

Console.WriteLine(“运行结果是:{0}”,”运行结果”);

}

A. 运行结果

B. 运行结果是:{0}

C. 运行结果是:运行结果

D. 运行结果是运行结果

________________________________________

4. 在C#中,()正确定义了一个数组。(选择一项)

A. int iArray=new int[10];

B. int[] iArray=new int;

C. int[] iArray=new int[10];

D. int[] iArray=new int(10);

正确答案: C

指导点评: 暂无点评

________________________________________

5. 在C#中,已知下列代码的运行结果是“老虎吃动物”,请问在空白处1和空白处2分别应该填写的代码是()。(选择一项)

public class Animal {

public 空白处1 void Eat() {

Console.WriteLine(“我要吃”);

}

}

public class Tiger:Animal {

public 空白处2 void Eat(){

Console.WriteLine(“老虎吃动物”);

}

}

public class Test {

State void Main(){

Animal an =new Tiger();

an.Eat();

}

}

A. virtual,new

B. override,virtual

C. virrual,override

D. new,virtual

________________________________________

6. (在C#中,下列关于抽象类和接口的说法,正确的是()。(选择一项)

A. 在抽象类中,所有的方法都是抽象方法

B. 继承自抽象类的子类必须实现其父类(抽象类)中所有抽象方法

C. 在接口中,可以有方法实现,在抽象类中不能有方法实现

D. 一个类可以从多个接口继承,也可以从多个抽象类继承________________________________________

7. 在.NET中,.NET Framework 由()组成。(选择一项)

A. FCL和CLR

B. CLS和CTS

C. https://www.doczj.com/doc/0d10257494.html,和https://www.doczj.com/doc/0d10257494.html,

D. WinForm和https://www.doczj.com/doc/0d10257494.html,

________________________________________

8. 在C#中,下列代码的运行结果是()。(选择一项)

int[]age=new int[]{16,18,20,14,22};

foreach(int I in age)

{

if(i>18)

continue;

Console.Write(i.ToString()+ “ ”);

}

A. 16 18 20 14 22

B. 16 18 14 22

C. 16 18 14

D. 16 18

________________________________________

9. )在C#中,下列代码的输出结果是( )。(选择一项)

class Test

{

public enum WeekDays

{

Mon,Tue,Wed,Thur, Fri, Sta,Sun

}

static void Main()

{

WeekDays week =(WeekDays)2;

Console.WriteLine(week);

}

}

A. 2

B. Tue

C. Wed

D. 编译错误

________________________________________

10. 在C#中,可以通过装箱和拆箱实现值类型与引用类型之间的相互转换,在下列代码中,有( )处实现了装箱。

int age = 5;

object o =age ;

o =10;

age =(int )o;

object oAge = age;

A. 1

B. 2

C. 3

D. 4

________________________________________

11. 分析如下的C#代码段,运行后将输出()。

public class Teacher{

public Teacher(string name){

Console.WriteLine("老师的名字叫"+name);

}

}

public class Test :Teacher{

public Test (string name)

Console.WriteLine("学生的名字叫"+name);

}

static void Main(){

Test stu=new Test("李明");

Console.ReadLine();

}

}

A. 学生的名字叫李明

B. 老师的名字叫李明

C. 老师的名字叫李明

学生的名字叫李明

D. 编译报错

________________________________________

12. 在C#中,某程序在一个类中编写了两个同名的方法,代码如下,请问该段代码的运行结果是().

piblc class Musician{

public void Song(){

Console .WriteLine("忘记你我做不到"');

}

public void Song (string musicName){

Console.WriteLine(musicName);

}

static void Main(){

Musican musician = new Musician();

string musicName="还是觉得你最好";

musician.Song ("分手总要在雨天");

}

}

A. 忘记你我做不到

B. 还是觉得你最好

C. 分手总要在雨天

D. 没有输出

________________________________________

13. 阅读以下C#代码片断,在程序编译过程中,下面说法正确的是()。(选择一项)

int val=100;

object obj=val;

int num =(int)obj;

Console.WriteLine(“num:{0}“,num);

A. 第1行执行装箱操作

B. 第2行执行装箱操作

C. 第2行执行取消装箱操作

D. 第3行执行装箱操作

________________________________________

14. 在C#中,下列代码的运行结果是()。(选择一项)using System;

class Test{

static void Main(){

try{

int a=10;

int b=0;

int c=a/b;

Console.WriteLine(c);

}

catch{

Console.WriteLine(“出现错误“);

}

finally{

Console.WriteLine(“运行结束“);

}

}

}

A. 0 运行结束

B. 10 运行结束

C. 出现错误运行结束

D. 出现错误

________________________________________

15. )在C#中,下列代码的运行结果是()。

string[]names={“ACCP“,“BENET“,“BETEST“};

foreach(string name in names)

{

Console.WriteLines(name);

} (选择一项)

A. ACCP BENET BETEST

B. n a m e s

C. name name name

D. “ACCP“ “BENET“ “BETEST“

________________________________________

16. 在C#中,某程序员定义了一个IDataBase接口,以及实现该接口的一个类CDataBase,下列关于该段代码说法正确的是()。(选择一项)

public interface IDataBase{

void OpenTable(string tableName);

void UpdateTable(string tableName);

}

public class CDataBase:IDataBase{

public void OpenTable(string tableName){

console. WriteLine(“打开数据表”);

}

public void UpdateTable(string tableName){

console. WriteLine(“更新数据表”);

}

static void Main(){

CDataBase db = new CDataBase();

db.OpenTable(“Customers”);

}

}

A. 该段代码错误,因为在定义接口时,接口中的方法没有提供实现

B. 该段代码错误,因为接口中声明的方法不是公有的,因此在CDataBase类中不能访问接口中的方法

C. 该段代码正确,同时由于客户没有调用UpdateTable方法,可以把CDataBase类中UpdateTable方法去掉,代码仍旧正确

D. 该段代码正确,但如果在IDataBase接口中声明一个方法“voidExecute(stringsql);",则必须在CDataBase 类中实现该方法

________________________________________

17. 在C#类中,()允许相同名称、不同参数个数或者参数类型的方法存在。(选择一项)

A. 方法重写

B. 方法重载

C. 方法取消

D. 方法覆盖

________________________________________

18. (在C#中,下列方法定义正确的是()。(选择一项)

A. int showInfo(string message){ return; }

B. public showInfo(string message){ Console.WriteLine(message); }

C. int showInfo(string message){ return 1; }

D. public showInfo(string message){ Console.WriteLine(message); return message; }

________________________________________

19. 在.NET中,一些数据类型为引用类型,当引用类型的值为()时,表明没有引用任何对象。(选择一项)

A. Empty

B. null

C. Nothing

D. 0

________________________________________

20. 在C#中,()访问修饰符修饰的变量只能由当前程序集访问。(选择一项)

A. public

B. protected

C. internal

D. private

________________________________________

21. 在C#中,下列代码运行后,变量Max的值是()

int a=5,b=10,c=15,Max=0;

Max=a>b?a:b

Max=c

A. 0

B. 5

C. 10

D. 15

________________________________________

22. 在.NET中,程序员在代码中漏写了一个大括号,这属于()。(选择一项)

A. 逻辑错误

B. 运行时错误

C. 语法错误

D. 自定义错误

________________________________________

23. 在C#中,关于以下代码的说法正确的是()。

namespace Microsoft{

class Student{

string type=“北大青鸟学员”;

internal string name=“李明”;

}

public class Test{

static void Main(){

Student stu = new Student(); //1

Console.WriterLine(stu.type); //2

Console.WriterLine(https://www.doczj.com/doc/0d10257494.html,); //3

}

}

} (选择一项)

A. 代码1错误

B. 代码2错误

C. 代码3错误

D. 代码都正确

________________________________________

24. )在C#中,通过调用Thread类的Sleep(int x)方法来实现禁止线程运行,其中x代表()。

(选择一项)

A. 禁止线程运行的微秒数

B. 禁止线程运行的毫秒数

C. 禁止线程运行的秒数

D. 禁止线程运行的CPU的时间数

________________________________________

25. 在C#中,下列关于构造函数的特点的说法,正确的是()。(选择一项)

A. 一个类中,只能由一个构造函数

B. 构造函数的名称与类名称一样,并且没有返回类型

C. 构造函数在对象销毁时自动执行

D. 一个类中至少要有一个构造函数

________________________________________

26. 在C#中,下列变量定义与赋值正确的是()。(选择一项)

A. int age=12.5

B. string name=ACCP;

C. double money=100.0;

D. char level=A;//C#中没有char类型

________________________________________

27. 以下的C#程序代码,程序运行时在控制台打印输出值为()。(选择一项)int count =3;

while(count>1){

Console.WriteLine(--count);

}

A. 3

2

B. 3

2

1

C. 2

1

D. 2

________________________________________

28. 关于以下C#代码说法正确的是()。(选择一项)

public abstract class Animal{

public abstract void Eat();

}

public class Tiger:Animal{

public override void Eat(){

Console.WriteLine(“老虎吃动物“);

}

}

public class Tigress:Tiger{

static void main(){

Tigress tiger=new Tigress();

tiger.Eat();

}

}

}

A. 代码正确,但没有输出

B. 代码正确,并且输出“老虎吃动物”

C. 代码错误,因为Tigress类没有实现抽象基类Animal中抽象方法

D. 代码错误,因为抽象基类Animal中的Eat方法没有实现

________________________________________

29. )在C#中,下列()关键字用于重写基类的虚拟方法。(选择一项)

A. override

B. new

C. base

D. virtual

________________________________________

30. 在C#中,下列代码的运行结果是()。(选择一项)int[] names = new int[]{4,3,2,1};

Array.Sort(names,1,3);

foreach(int name in names){

Console.Write(name);

}

A. 4321

B. 1234

C. 4123

D. 3214

________________________________________

31. 在.NET框架中,CLS是指()。(选择一项)

A. 即时编译

B. 垃圾回收

C. 公共语言规范

D. 公共类型系统

________________________________________

32. 在C#程序中,一个类()。(选择一项)

A. 可以继承多个类

B. 可以实现多个接口

C. 只能被一个子类继承

D. 只能实现一个接口

________________________________________

33. 在C#中,下列常量定义正确的是()。(选择一项)

A. const double PI 3.1415926;

B. const doublee=2.7;

C. define double PI 3.1415926;

D. define double e=2.7

________________________________________

34. 以下代码段体现了C#中的()概念,该概念使得对象模型变得简单易懂。(选择一项)int val=10;

object obj=val;

A. 继承

B. 重载

C. 装箱

D. 委托

________________________________________

35. 在C#中可用程序变量名的一组标识符是

A. void namespace +word

B. a3_b3 _123 YounName

C. for -abc case

D. 2a good ref

________________________________________

36. 当month等于6时,下面代码的输出结果是()

int days=0;

switch(month)

{

case 2:

days=28;

break;

case 4:

case 6:

case 9:

case 11:

days=30;

break;

default:

days=31;

break;

}

Console.WriteLine(days);

A. 0

B. 28

C. 30

D. 31

________________________________________ 37. 关于结构和类的说法,下列错误的是:

A. 结构是值类型,类是引用类型

B. 结构可以不用new初始化,类需要new初始化

C. 类和结构都有默认的构造函数

D. 结构不能继承,类可以被继承

________________________________________ 38. 下面代码运行后,s的值是()

int s=0;

for(int i=1;i<100;i++)

{

if(s>10)

{

break;

}

if(i%2==0)

{

s+=i;

}

}

A. 20

B. 12

C. 10

D. 6

________________________________________

39. 下面关于继承,说法正确的是:

A. 在C#中,静态类不能够被继承

B. 一个子类可以继承多个父类

C. 子类可以继承父类的所有成员

D. Objcet类是所有类的基类

________________________________________

40. 关于base关键字,下列使用方法错误的是:

A. 在子类中,base可以调用父类的构造函数

B. 在子类中,base关键字可以访问父类的公共属性

C. 在子类中,base关键字不可以调用父类的protected成员

D. 在子类中,base关键字不可以调用父类的private成员

________________________________________

41. 在一个类中,关于public、private、protected、internal说法错误的是:

A. public修饰的成员,可以被任何对象访问

B. private修饰的成员,可以在它的子类中被访问

C. protected修饰的成员,可以在它的子类中访问

D. internal修饰的成员,可以被任何对象访问

________________________________________

42. 若打印如下图案,画线处应填入()。

如图:

* * * * *

* * * *

* * *

* *

*

for (int i = 1; i <= 5; i++)

for (int j =____; j <= 5; j++)

{

Console.Write("*");

}

Console.WriteLine();

}

A. 1

B. i

C. i+1

D. 0

________________________________________ 43. 下面关于抽象类的说法正确的是:

A. 抽象类可以被实例化

B. 含有抽象方法的类一定是抽象类

C. 抽象类可以是静态类和密封类

D. 抽象类中的抽象方法可以在其它类中重写________________________________________ 44. 下面关于虚方法说法错误的是:

A. 使用virtual关键字修饰虚方法

B. 虚方法必须被其子类重写

C. 虚方法可以有自己的方法体

D. 虚方法和抽象方法都可以实现多态性

________________________________________ 45. 在C#中,关于接口下面说法错误的是:

A. 接口是一组规范和标准

B. 接口可以约束类的行为

C. 接口中只能含有未实现的方法

D. 接口中的方法可以指定具体实现,也可以不指定具体实现________________________________________

46. A和B两个程序集,下列说法错误的是:

A. A中public修饰的成员,不能被B访问

B. A中private修饰的成员,不能被B访问

C. A中internal修饰的成员,不能被B访问

D. A中protected修饰的成员,不能被B访问

________________________________________

47. 下面代码实现数组array的冒泡排序,画线处应填入()。int[ ] array = { 20, 56, 38, 45 };

int temp;

for (int i = 0; i < 3; i++)

{

for (int j = 0; j < _____; j++)

{

if (a[j] < a[j + 1])

{

temp = a[j];

array[j] = a[j + 1];

array[j + 1] = temp;

}

}

}

A. 4-i

B. i

C. i+1

D. 3-i

________________________________________

48. 下面代码的运行结果是()。

static void Main(string[ ] args)

{

int num1 = 34;

int num2 = 55;

Increase(ref num1, num2);

Console.WriteLine("{0}和{1}", num1, num2);

Console.ReadLine();

}

private static void Increase (ref int num1, int num2)

{

num1++;

num2++;

}

A. 35 56

B. 34 55

C. 34 56

D. 35 55

________________________________________

49. 下面()代码可以显示一个消息框。

A. Dialog.Show();

B. MessageBox.Show();

C. Form.Show();

D. Form.ShowDialog();

________________________________________

50. 在C#中,下面关于静态方法和实例方法描述错误的是:

A. 静态方法使用类名调用,实例方法需要使用类的实例来调用。

B. 静态方法可以直接调用实例方法

C. 实例方法可以直接调用静态方法

D. 静态方法调用前初始化,实例方法实例化对象时初始化

相关主题
文本预览
相关文档 最新文档