C#习题集(4)

2019-06-02 13:18

{

const int SIZE=10;

int[] y={1,2,3,4,5,6,7,8,9,10}; int[] z=new int[SIZE];

for (int i = 0; i < z.Length; i++)

}

{ } z[i] = i * 2 + y[i];

Console.Write(\

Console.Read();

1 4 7 10 13 16 19 22 25 28

2.下面程序的运行结果是【 】。

static void Main(string[] args) { const int M = 5;

int[][] yhsj = new int[M][]; int i, j;

for (i = 0; i < M; i++) yhsj[i] = new int[i + 1];

for (i = 0; i < M; i++) { yhsj[i][0] = 1; yhsj[i][i] = 1; } for (i = 2; i < M; i++) for (j = 1; j < i; j++)

yhsj[i][j] = yhsj[i - 1][j - 1] + yhsj[i - 1][j];

for (i = 0; i < M; i++)

{ for (j = 0; j <= i; j++) Console.Write(\ \ }

Console.WriteLine();

Console.Read(); } 1

1 1 1 2 1

1 3 3 1

1 4 6 4 1

3.下面程序的运行结果是【 s=28 】。

static void Main(string[] args) { int s = 0;

int[][] a = new int[2][]; a[0] = new int[3] { 1, 2, 3 }; a[1] = new int[4] { 4, 5, 6, 7 }; for (int i = 0; i < a.Length; i++) for (int j = 0; j < a[i].Length; j++) s = s + a[i][j]; Console.Write(\ } 3.下面程序的运行结果是【 3 】。

static void Main(string[] args)

{ int[] num = { 1, 3, 5 };

ArrayList arr = new ArrayList();

- 15 -

for(int i=0;i

Console.WriteLine(\

} 4.下面程序的运行结果是【 9,7,5,3,1 】。

static void Main(string[] args) { int[] num = { 1,3,5,7,9 };

Array.Reverse(num);

foreach (int m in num) Console.Write(\

Console.Read();

}

5.下面程序的运行结果是【 】。

static void Main(string[] args)

{ ArrayList myarr = new ArrayList();

myarr.Add(\ myarr.Add(\

myarr.Add(\ myarr.Insert(0,\

myarr.Insert(1, \ myarr.Remove(\ foreach (String s in myarr) Console.Write(s+\ Console.WriteLine(); }

Welcome to Visual C#

四.编程题

1.设计一个控制台应用程序,假设10个整数用一个一维数组存放,求其最大值和次大值。 static void Main(string[] args)

{ int[] a = new int[10]{1,8,3,4,7,9,6,10,2,5}; int n=10,max1,max2,i;

max1=a[0]>a[1]?a[0]:a[1]; max2=a[0]>a[1]?a[1]:a[0]; for (i=2;i

if (max1

2.设计一个控制台应用程序,用两个二维数组分别存放5个学生4门功课的考试成绩,求每位考生

的平均成绩,并输出结果。

static void Main(string[] args)

{ const int Max = 5; int[] Ave = new int[Max];

//考生数

//定义一个一维数组存储考生的总成绩

int[,] grade={{88,75,62,84},{96,85,75,92}, {68,63,72,78},

{95,89,76,98}, {76,65,72,63}};

//定义二维数组存储考生成绩

for(int i=0; i

for (int k = 0; k < Max; k++)

Console.WriteLine(\考生{0}平均成绩={1} \}

- 16 -

3.设计一个控制台应用程序,用两个一维数组分别存放5个学生的学号和姓名,分别按学号和姓名

进行排序,并输出排序后的结果。

class Program

{ const int Max = 5;

static void disp(int[] no,string[] name, string str) { Console.WriteLine(str); Console.Write(\学号:\\t\ for (int i = 0; i < no.Length; i++) Console.WriteLine(); Console.Write(\姓名:\\t\

for (int i = 0; i < name.Length; i++)

Console.Write(\ Console.WriteLine(); }

static void Main(string[] args)

{ int[] no = new int[] { 2, 4, 5, 1, 3};

string[] name = new string[]

{\

disp(no, name,\排序前:\ Array.Sort(no, name);

disp(no, name,\按学号排序后:\ Array.Sort(name, no);

disp(no, name, \按姓名排序后:\

Console.Read();

} }

Console.Write(\

- 17 -

第6章 面向对象程序设计

一.选择题

1.下面有关类和对象的说法中,不正确的是【 】。

A) 类是系统提供的一种数据类型 B) 对象是类的实例

C) 类和对象的关系是抽象和具体的关系 2.面向对象的特点主要概括为【 】。 A) 可分解性、可组合型性和可分类性

D) 任何一个对象只能属于一个具体的类 B) 继承性、封装性和多态性

C) 封装性、易维护性、可扩展性和可通用性 D) 抽象性、继承性和封装性

3.要使一个类能被同一命名空间中的其他类访问,但不能被这个命名空间以外的类访问,该类可以【 】。

A) 不使用任何修饰符 B) 使用private修饰符 C) 使用public修饰符 D) 使用internal修饰符 4.在C#中,【 】访问修饰符修饰的字段只能由当前程序集访问。 A) private B) public 5.类的字段和方法的默认访问修饰符是【 】。

C) protected

D) internal D) internal

A) public B) private C) protected 6.下列关于构造函数的描述中,不正确的是【 】。

A) 构造函数中,不可以包含return语句

C) 实例构造函数在生成类实例时被自动调用 7.下列关于构造函数的描述中,【 】是正确的。

A) 构造函数名必须与类名相同 C) 构造函数不能带参数 A) 构造函数的函数名与类名相同 C) 构造函数可以带有参数

B) 一个类只能有一个构造函数 D) 用户可以定义无参构造函数 B) 构造函数不可以重载

D) 构造函数可以声明返回类型 B) 构造函数可以重载

D) 可以指定构造函数的返回值类型

8.下列的【 】不是构造函数的特征。

9.类ClassA有一个名为M1的方法,在程序中有如下一段代码,假设该段代码是可以执行的,则声明M1方法时一定使用了【 】修饰符。

ClassA Aobj=new ClassA(); ClassA.M1();

A) public B) public static C) private D) virtual

10.在C#中,从属性的读写特性上来进行分类,可以划分为以下3种,除了【 】。

A) 只读属性 B) 只写属性 C) 读写属性 D) 不可读不可写属性 11.在C#中,以下关于属性的描述中正确的是【 】。

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

12.以下类MyClass的属性count属于【 】属性。

A)

class MyClass

{ int i; int count { get { return i; } } 只读 B) 只写属性

}

C) 读写

- 18 -

D) 不可读不可写

13.C#中的TestClass为一自定义类,其中有如下属性定义:

public int Property{ …… }

使用以下语句创建了该类的对象,并让变量obj引用该对象。 TestClass obj=new TestClass();

那么,可通过【 】方式访问类TestClass的Property属性。 A) MyClass. Property B) obj. Property C) TestClass. Property D) obj. Property() 14.关于C#语言的方法,下列叙述正确的是【 】。

A) 方法的定义不能嵌套,但方法的调用可以嵌套 B) 方法的定义可以嵌套,但方法的调用不能嵌套 C) 方法的定义和调用都不能嵌套 D) 方法的定义和调用都可以嵌套

15.以下所列的各方法头部中,正确的是【 】。 A) void play(var a:Integer, var b:Integer) C) void play(int a, int b) 16.在类A中定义了属性y:

class A

{ public int y

{ get { return 1; }

}

}

并试图通过下列代码来实现对属性y的访问:

A b=new A();

b.y=2; int x=b.y;

对此,下列说法正确的是【 】。

A) 属性y可读可写,因此变量x的值为2

B) 属性y可读,但不可写,因此语句“b.y=2;”是错误的 C) 属性y可写,但不可读,因此语句“int x=b.y;”是错误的 D) 属性y可读可写,变量x的值为1 17.有以下类声明:

public class Class1

{ private string _sData=\ privare string sData { }

set { _sData = value;}

}

set { }

B) void play(int a, b)

D) Sub play(a as integer, b as integer)

在Main函数中,在成功创建该类的对象obj后,以下【 】语句是合法的。 A) obj. _sData=\ B) obj. set(obj.sData); C) obj. sData=\ D) Console.WriteLine(obj. sData); 18.在类的定义中,类的【 】描述了该类的对象的行为特征。

A) 字段 B) 方法 C) 属性 D) 类名 19.调用重载方法时,系统根据【 】来选择具体的方法。 A) 参数的类型 B) 参数的个数和类型 C) 参数个数 D) 方法的返回值类型 20.下列关于方法重载的说法中,完全正确的是【 】。

- 19 -


C#习题集(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大兴区招标投标管理办法(试行)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: