C#程序设计案例教程习题解答 下载本文

第1章 绪 论

Console.WriteLine(\和数={0},\,sum); }

3-9. 计算1+3+3+…+3的值。

static void Main(string[] args)

{

int i,sum=1,k=1;

for (i = 1; i <= 10; i++) {

k *= 3; sum += k; }

Console.Write(\,sum); }

210

3-10.已知6≤a≤30,15≤b≤36,求满足不定方程2a+5b=126的所有整数解。

static void Main(string[] args)

{

int a,b;

for (a = 6; a <= 30; a++) for (b = 15; b <= 36; b++) {

if (2 * a + 5 * b == 126)

Console.WriteLine(\, a, b); } }

3-11.编写一个控制台程序,分别输出1~100之间的平方、平方根、自然对数,e指数的数学用表。

第4章 课堂实训

4-1.用一维数组计算Fibonacci数列的前20项。 Fibonacci数列,按如下递归定义: F(1)=1;

F(2)=1

F(n)=F(n-1)+F(n-2) n>2

4-2.用冒泡排序法对输入的20个数进行降序排序并存入数组中,然后输入一个数,查找该数是否在数组中存在,若存在,打印出数组中对应的下标值。

4-3.试定义一结构,用来描述日期,具体地说,该结构共有三个成员变量,分别描述年、月、日信息。然后再定义该结构类型的一个变量,要求从键盘输入数据,并输出结果。

5

第1章 绪 论

习题四

4-1.选择题

(1) 下面是几条定义并初始化一维数组的语句,指出其中正确的是( C ) A. int arr1[ ] = {1,3,4,5,77}; B. int arr1 = new int[ ]; C. int [ ] arr1 = new int[ ]{1,3,4,5,77}; D. int arr1 = { 1,3,4,5,77} (2) 下面是几条定义并初始化二维数组的语句,指出其中正确的是(D ) A. int arr2[ ][ ] = new int[2,3]; B. int [ ][ ]arr2 = new int[ 2,3]; C. int arr2[ , ] = new int[2,3];

D. int [ , ] a = new int [2, 3]{ {1,2,4}, {6,7,8} };

4-2. 建立一个一维数组,使用该数组列出所学习的课程名称。

static void Main(string[] args)

{ string [ ] arr1 = new string []{\高等数学\,\语言程序设计\,\面向对象程序设计\,\英语\};

foreach (string a in arr1) Console.WriteLine(a); }

4-3.编写一个包含学生基本信息的结构类型数据,要求包括姓名、性别、年龄、身高、体重信息。

struct student {

public string Name; public string Sex; public int Age; public int Height; public float Weight; }

class Program {

static void Main(string[] args) { student stuXinXi; stuXinXi.Name = \张三\; stuXinXi.Sex = \男\; stuXinXi.Age = 21; stuXinXi.Height = 175; stuXinXi.Weight = 55.6f;

Console.WriteLine(\学生的基本信息:\);

Console.WriteLine(\姓名: {0}\, stuXinXi.Name); Console.WriteLine(\性别: {0}\, stuXinXi.Sex); Console.WriteLine(\年龄: {0}\, stuXinXi.Age); Console.WriteLine(\身高: {0}\, stuXinXi.Height); Console.WriteLine(\体重: {0}\, stuXinXi.Weight); } }

6

第1章 绪 论

4-4. 编写程序,将一年中的12个月,建立一个枚举类型数据,并对其进行调用。

第5章 课堂实训

5-1.设计一个表示猫的类,包括猫的颜色,体重,年龄等数据,具有设置猫的颜色,修改和显示猫的体重,年龄等操作。

5-2.设计一个表示学习成绩的类,至少包括3门课程的成绩,可以设置,显示每门课程的成绩,可以计算,显示平均成绩

5-3.使用方法重载设计一个求面积的类,包括圆、三角形和梯形。并设计一个输入成员方法和输出成员方法。 5-4.编写程序,用来判断学生能否通过某个级别的考试,全部操作在来Grade中实现。要求:

(1) 在定义对象时指定学生的姓名和分数。 4个学生的姓名和分数分别为: Wang l00 Zhang 90 Li 52

Zhao 0 (2) 编写一个私有成员方法idPass,判断能否通过。

(3) 编写一个成员方法PrintData输出结果,包含学生姓名、分数、是否能通过。

习题五

5-1. 选择题

(1) 下面选项中属于类的数据成员是( A,C )。

A. 字段 B. 方法 C. 属性 D.构造函数 态成员

(2). 方法中的值参数是____A_________的参数。 A. 按值传递 B. 按引用传递 C. 按地址传递 D. 不传递任何值

5-2. 添空题

(1) C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对__B__进行初始化,静态构造函数只能__A____进行初始化。

A. 静态成员 B. 非静态成员

C. 静态成员或非静态成员 D. 静态成员和非静

(2) 面向对象编程的重要特征有__抽象____,_封装_____,_继承和多态_____等。

(3) 对象是__类____的实例化,它除了具有正常的状态外,其初始化阶段称为__构造____,被删除时清理其占用资源时的阶段称为__析构____。

(4) 类相当于创建对象的模板,定义该类所创建对象的数据和功能,包括__成员变量____和_成员函数_____两类成员。

(5) 类的数据成员主要包括__字段______和__常数____。

7

第1章 绪 论

(6) 类的函数成员包括_方法,属性,事件,构造函数,析构函数__等。

(7) 在C# 中,方法使用__对象____来调动,方法中的参数在传递时一般使用__形式参数____传递类型。

5-3. 阅读下列程序,分析程序运行结果。

namespace Ex

{

class Myclass

{

public void MyFuction(ref int x,ref int y,ref int z) {

x += y; y-= x; z *= y;

Console.WriteLine(\ } }

class Program

{

static void Main(string[] args) { Myclass m = new Myclass(); int a, b, c;

a = 20; b = 10; c = 5;

m.MyFuction(ref a, ref b, ref c);

Console.WriteLine(\ } } }

程序运行结果: a=30, b=-20, c=-100 a=30, b=-20, c=-100

第6章

课堂实训

6-1. 编写一个类Cal1,实现加、减两种运算,然后,编写另一个派生类Cal2。实现乘、除两种运算。

6-2. 建立三个类:居民、成人和官员。其中,居民:包含身份证,姓名,出身日期;成人:成人继承居民,多包含学历,职业两项数据;官员:官员则继承成认,多包含党派,职物,两项数据。要求每个类中都提供数据输入和输出的功能。

6-3.分别使用抽象类,虚方法和接口技术实现第1题。

8