C#课后参考答案.docx

上传人:b****5 文档编号:28308750 上传时间:2023-07-10 格式:DOCX 页数:46 大小:30.97KB
下载 相关 举报
C#课后参考答案.docx_第1页
第1页 / 共46页
C#课后参考答案.docx_第2页
第2页 / 共46页
C#课后参考答案.docx_第3页
第3页 / 共46页
C#课后参考答案.docx_第4页
第4页 / 共46页
C#课后参考答案.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

C#课后参考答案.docx

《C#课后参考答案.docx》由会员分享,可在线阅读,更多相关《C#课后参考答案.docx(46页珍藏版)》请在冰豆网上搜索。

C#课后参考答案.docx

C#课后参考答案

C#教程习题参考答案

第一章

(1).NETFramework是平台,VisualStudio.NET是集成开发环境,C#是一种.NET平台下的开发语言

(2)易于掌握、支持跨平台、面向对象、与XML相融合

(3)组织资源、避免命名冲突

(4)…

(5)…

第二章

上机练习

(1)输出结果为:

(2)…..

(3)使用Checked运算符可以抛出运算异常

(4)Result:

5050

(5)程序为:

//*****************************

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceConsoleApplication1

{

classProgram

{

staticvoidMain(string[]args)

{

stringstr=Console.ReadLine();

char[]ch=str.ToCharArray();//字符串转换为字符数组

//输出转换结果

foreach(charcinch)

{

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

}

//实现反转

char[]chtemp=str.ToCharArray();

intlongs=ch.GetLength(0);

for(inti=0;i<=longs-1;i++)

{

chtemp[i]=ch[longs-i-1];

}

////使用修改后的字符数组构造新字符串

stringstr2=newstring(chtemp);

Console.WriteLine(str2);

 

Console.ReadLine();

}

}

}

//***********************

习题

1、选择题

(1)BD

(2)D(3)ADE(4)ABC(5)ABD

2、填空题

(1)-123

(2)delegate(3)装箱(4)\n(5)堆内存(6)隐式转换和显式转换

(7)ToCharArray

(8)编译错误:

运算符“&&”无法应用于“int”和“bool”类型的操作数;

True;

(9)()

3、简答题

(1)数据存放的位置与使用方式不同。

(2)装箱的过程首先创建一个引用类型的实例,然后将值类型变量的内容复制给该引用类型实例.

(3)

●变量名必须以字母开头;

●变量名只能由字母、数字和下划线组成,而不能包含空格、标点符号、运算符等其他符号;

●变量名不能与C#中的关键字名称相同;

●变量名不能与C#的库函数名称相同。

(4)小数类型较浮点类型而言,具有更大的精确度,但是数值范围相对小了很多。

将浮点类型的数向小数类型的数转化时会产生溢出错误,将小数类型的数向浮点类型的数转化时会造成精确度的损失。

因此,两种类型不存在隐式或显式转换。

(5)在需要实例化出一个引用类型的对象时使用。

第三章

上机练习

(1)...

(2)六行杨辉三角

(3)五行杨辉三角

(4)

usingSystem;

classTest

{

publicstaticintmax(inta,intb,intc,intd)

{

inttempmax=a;

if(tempmax

tempmax=b;

if(tempmax

tempmax=c;

if(tempmax

tempmax=d;

returntempmax;

}

publicstaticintmin(inta,intb,intc,intd)

{

inttempmin=a;

if(tempmin>b)

tempmin=b;

if(tempmin>c)

tempmin=c;

if(tempmin>d)

tempmin=d;

returntempmin;

}

publicstaticvoidMain()

{

Console.WriteLine("Pleaseinputfournumber:

");

intx1=Convert.ToInt32(Console.ReadLine());

intx2=Convert.ToInt32(Console.ReadLine());

intx3=Convert.ToInt32(Console.ReadLine());

intx4=Convert.ToInt32(Console.ReadLine());

Console.WriteLine("TheMaxNumberis:

{0}",max(x1,x2,x3,x4));

Console.WriteLine("TheMinNumberis:

{0}",min(x1,x2,x3,x4));

Console.ReadLine();

}

}

(5)usingSystem;

classTest

{

publicstaticintaddfor()

{

intsum=0;

for(inti=0;i<=50;i++)

sum+=i;

returnsum;

}

publicstaticintadddo()

{

intsum=0;

inti=0;

do

{

sum+=i;

i++;

}

while(i<=50);

returnsum;

}

publicstaticintaddwhile()

{

intsum=0;

inti=0;

while(i<=50)

{

sum+=i;

i++;

}

returnsum;

}

publicstaticvoidMain()

{

Console.WriteLine("TheSumforis:

{0}",addwhile());

Console.WriteLine("TheSumdois:

{0}",addwhile());

Console.WriteLine("TheSumwhileis:

{0}",addwhile());

Console.ReadLine();

}

}

习题

1、选择题

(1)B

(2)ACD(3)D(4)D(5)A

2、填空题

(1)顺序、分支、循环

(2)break;reuturn;goto;continue

(3)3

(4)集合中元素的类型

(5)在C#语句和表达式的处理过程中激发了某个异常的条件,使得操作无法正常结束,引发异常、抛出异常

3、简答题

(1)判断表达式一定要合法

(2)计算表达式的值;与分支进行匹配;执行分支语句;结束。

(3)提高程序的可读性和健壮性

(4)

Try块的代码是程序中可能出现错误的操作部分。

Catch块的代码是用来处理各种错误的部分(可以有多个)。

必须正确排列捕获异常的catch子句,范围小的Exception放在前面的catch。

即如果Exception之间存在继承关系,就应把子类的Exception放在前面的catch子句中。

Finally块的代码用来清理资源或执行要在try块末尾执行的其他操作(可以省略)。

且无论是否产生异常,Finally块都会执行

第四章

上机练习

(1)…

(2)

usingSystem;

classMainClass

{

publicstaticvoidMain(string[]args)

{

intsum=0;

int[,,]Score={{{1,2},{3,4}},{{5,6},{7,8}}};

for(inti=0;i<2;i++)

{

for(intj=0;j<2;j++)

{

for(intk=0;k<2;k++)

{

sum+=Score[i,j,k];

}

}

}

Console.WriteLine("Thesumis:

{0}",sum);

Console.ReadLine();

}

}

(3)

usingSystem;

classMainClass

{

publicstaticvoidMain(string[]args)

{

int[,]arr=newint[3,3];

inti,j,t,m=0,k=0,flag=0;

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

for(j=0;j<3;j++)

{

arr[i,j]=Convert.ToInt32(Console.ReadLine());

}

/*求出每一行的最大值,并判断它是否为所在列的最小值*/

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

{

t=arr[i,0];

for(j=0;j<3;j++)

{

if(t<=arr[i,j])

{

t=arr[i,j];

m=i;

k=j;

}

}

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

{

if(arr[m,k]>arr[i,k])

flag=1;

}

/*鞍点存在,查找是否有多个鞍点*/

if(flag==0)

{

/*找出鞍点个数并打印出来*/

for(j=0;j<3;j++)

if(arr[m,j]==arr[m,k])

//printf("thesaddlepointa[%d][%d]=%d\n",m,j,a[m][j]);

Console.WriteLine("Thesaddlepointa[{0}][{1}]={2}\n",m,j,arr[m,j]);

}

else

Console.WriteLine("therearenosaddlepoint");

}

 

Console.ReadLine();

}

}

(4)

usingSystem;

classMainClass

{

publicstaticvoidMain(string[]args)

{

int[,]arr=newint[3,3];

intsum=0;

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

{

for(intj=0;j<3;j++)

{

arr[i,j]=Convert.ToInt32(Console.ReadLine());

if(i==j||i+j==2)

{

sum+=arr[i,j];

}

}

}

Console.WriteLine("对角线元素之和为:

{0}",sum);

 

Console.ReadLine();

}

}

(5)

usingSystem;

usingSystem.Collections;

usingSystem.Collections.Generic;

classMainClass

{

publicstaticvoidMain(string[]args)

{

int[]a=newint[100];

intb=0,n=0,i=0,j=0,k=0;

n=Convert.ToInt32(Console.ReadLine());

b=n;

while(b>0)

{

a[i]=b%2;

b/=2;

i++;

j++;

}

Console.WriteLine("Theresultis:

");

for(k=j-1;k>=0;k--)

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

Console.ReadLine();

}

}

(6)

usingSystem;

usingSystem.Collections;

usingSystem.Collections.Generic;

classfriend

{

stringname="";

stringtelephone="";

stringgroup="";

publicstringName

{

get

{

returnname;

}

set

{

name=value;

}

}

publicstringTelephone

{

get

{

returntelephone;

}

set

{

telephone=value;

}

}

publicstringGroup

{

get

{

returngroup;

}

set

{

group=value;

}

}

publicfriend(stringn,stringt,stringg)

{

name=n;

telephone=t;

group=g;

}

publicfriend(stringn)

{

name=n;

telephone="";

group="";

}

publicvoidDisplay()

{

Console.WriteLine("-----------------------------");

Console.WriteLine("姓名:

{0}\n",this.Name);

Console.WriteLine("电话:

{0}\n",this.telephone);

Console.WriteLine("组:

{0}\n",this.group);

}

}

classtelephonebook

{

privateArrayListtele;

publictelephonebook()

{

this.tele=newArrayList();

}

publicvoidAdd(friendf)

{

this.tele.Add(f);

}

publicvoidDelete(stringna)

{

friendtemp=null;

foreach(friendfinthis.tele)

{

if(((friend)f).Name==na)

temp=f;

}

if(temp!

=null)

this.tele.Remove(temp);

}

publicvoidEdit(stringna)

{

stringname,tele,group;

Console.WriteLine("请输入修改后的名称:

");

name=Console.ReadLine();

Console.WriteLine("请输入修改后的电话:

");

tele=Console.ReadLine();

Console.WriteLine("请输入修改后的组:

");

group=Console.ReadLine();

this.Delete(na);

friendtemp=newfriend(name,tele,group);

this.tele.Add(temp);

}

publicfriendSearchByName(stringna)

{

foreach(friendfinthis.tele)

{

if(f.Name==na)

returnf;

}

returnnull;

}

publicfriendSearchByTele(stringtel)

{

foreach(friendfinthis.tele)

{

if(f.Telephone==tel)

returnf;

}

returnnull;

}

publicvoiddisplay()

{

foreach(friendfinthis.tele)

{

f.Display();

}

}

}

classMainClass

{

publicstaticvoidMain(string[]args)

{

telephonebooktb=newtelephonebook();

friendzangsan=newfriend("zs","123","jiaren");

zangsan.Display();

tb.Add(zangsan);

friendtemp=tb.SearchByTele("123");

if(temp!

=null)

temp.Display();

else

Console.WriteLine("查无此人!

");

tb.display();

Console.ReadLine();

}

}

习题

1、选择题

(1)D

(2)C(3)A(4)ABC(5)C

2、填空题

(1)Sort()

(2)抛出异常、集合已修改;可能无法执行枚举操作。

(3)获取头部元素数据

(4)Peek方法仅获取栈顶元素数据,Pop方法删除栈顶元素

(5)实现System.IEnumerable接口或实现集合模式

(6)名值对

(7)SortedList中的Key数组排好序的

第五章

上机练习

(1)……

(2)

classstudent

{

publicstringname;

privateintage;

privateintheigh;

privatestringgrade;

publicstudent()

{

this.name="";

this.age=18;

this.heigh=180;

this.grade="0604";

}

publicstudent(stringna,inta,inth,stringg)

{

this.grade=g;

this.name=na;

this.heigh=h;

this.age=a;

}

~student()

{

}

}

(3)

usingSystem;

usingSystem.Collections.Generic;

classEmployee

{

privatestringname;

privatestringID;

publicstaticfloatTotalSalary;

//定义实例构造函数,用来初始化实例中成员

publicEmployee()

{

this.name="";

this.price="0000";

}

publicEmployee(stringn,stringi)

{

this.name=n;

this.ID=i;

}

//定义静态构造函数

staticEmployee()

{

TotalSalary=0;

}

//定义析构函数

~Employee()

{

}

publicvoidprintName()

{

Console.WriteLine(this.name);

}

}

(4)

usingSystem;

usingSystem.Collections.Generic;

classEmployee

{

privatestringname;

privatestringID;

publicstaticfloatTotalSalary;

privatefloatSalary;

//定义实例构造函数,用来初始化实例中成员

publicEmployee()

{

this.name="";

this.ID="0000";

this.Salary=0;

}

publicEmployee(stringn,stringi,floats)

{

this.name=n;

this.ID=i;

this.Salary=s;

TotalSalary+=this.Salary;

}

//定义静态构造函数

staticEmployee()

{

TotalSalary=0;

}

//定义析构函数

~Employee()

{

}

publicvoidprintName()

{

Console.WriteLine(this.name);

}

publicstaticvoidDisplayTotalSalary()

{

Console.WriteLine("总薪水为:

{0}",TotalSalary);

}

}

(5)

usingSystem;

usingSystem.Collections.Generic;

classAccount

{

privatestringID;

privatestringPSW;

privatestringName;

privatefloatBalance;

publicstaticfloatTotalBalance;

//定义实例构造函数,用来初始化实例中成员

publicAccount(stringi,stringp,stringn,floatb)

{

this.Balance=b;

this.ID=i;

this.Name=n;

this.PSW=p;

TotalBalance+=this.Balance;

}

s

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1