C#课本课后答案Word下载.docx

上传人:b****2 文档编号:4699871 上传时间:2023-05-03 格式:DOCX 页数:20 大小:22.10KB
下载 相关 举报
C#课本课后答案Word下载.docx_第1页
第1页 / 共20页
C#课本课后答案Word下载.docx_第2页
第2页 / 共20页
C#课本课后答案Word下载.docx_第3页
第3页 / 共20页
C#课本课后答案Word下载.docx_第4页
第4页 / 共20页
C#课本课后答案Word下载.docx_第5页
第5页 / 共20页
C#课本课后答案Word下载.docx_第6页
第6页 / 共20页
C#课本课后答案Word下载.docx_第7页
第7页 / 共20页
C#课本课后答案Word下载.docx_第8页
第8页 / 共20页
C#课本课后答案Word下载.docx_第9页
第9页 / 共20页
C#课本课后答案Word下载.docx_第10页
第10页 / 共20页
C#课本课后答案Word下载.docx_第11页
第11页 / 共20页
C#课本课后答案Word下载.docx_第12页
第12页 / 共20页
C#课本课后答案Word下载.docx_第13页
第13页 / 共20页
C#课本课后答案Word下载.docx_第14页
第14页 / 共20页
C#课本课后答案Word下载.docx_第15页
第15页 / 共20页
C#课本课后答案Word下载.docx_第16页
第16页 / 共20页
C#课本课后答案Word下载.docx_第17页
第17页 / 共20页
C#课本课后答案Word下载.docx_第18页
第18页 / 共20页
C#课本课后答案Word下载.docx_第19页
第19页 / 共20页
C#课本课后答案Word下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C#课本课后答案Word下载.docx

《C#课本课后答案Word下载.docx》由会员分享,可在线阅读,更多相关《C#课本课后答案Word下载.docx(20页珍藏版)》请在冰点文库上搜索。

C#课本课后答案Word下载.docx

  (inputNamber[0]*inputNamber[1]*inputNamber[2]*inputNamber[3]));

Console.ReadLine();

4.如果有两个整数存储在变量var1和var2中,该进行怎么样的布尔测试,看看其中的一个(但不是两个)是否大于10?

解答:

var1>

10var2>

10;

5.编写一个应用程序,其中包含练习4中的逻辑,让用户输入两个数字,并显示它们,但拒绝接受两个数字都大于10的情况,并要求用户重新输入。

  intnumber1=0;

  intnumber2=0;

while(true){Console.WriteLine("

请输入两个数字,有且只能有一个大于10"

  Console.WriteLine();

请输入第一个数:

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

请输入第二个数:

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

  if(number1>

10number2>

10)

  {

第一个为:

{0}"

number1);

第二个为:

number2);

  break;

  }

  else

输入的数字无法满足条件,按任意键重新输入"

  Console.ReadKey();

Console.ReadKey();

6.下载面的代码有什么错误:

  inti;

  for(i=1;

I<

=10;

i++)

  if((i%2)=0)//错误应改为:

if((i%2)==0)

  continue;

  Console.WriteLine(i);

}

7.下面的转换那些不是隐式转换?

  A.Int转换为short;

不是

  B.Short转换为int;

  C.Bool转换为string;

D.Byte转换为float;

8.下面的代码可以成功编译吗?

如果不能,为什么?

  string[]blab=newstring[5];

  string[5]=5thstring;

不能,"

string[5]"

数组名用法不正确且索引也超出最大数,赋值语句后的字符串需加双引号。

9.编写一个控制台应用程序,它接收用户输入的一个字符串,将其中的字符以与输入的相反顺序输出。

  stringinputString=null;

请输入一字符串:

  inputString=Console.ReadLine().Trim();

  if(!

string.IsNullOrEmpty(inputString))

  for(inti=inputString.Length-1;

i>

=0;

i--)

inputString[i]);

10.编写一个控制台应用程序,它接收一个字符串,用"

yes"

替换字符串所有的"

no"

  Console.WriteLine(inputString.Replace("

"

));

11.编写一个控制台应用程序,给字符串中的每个单词加上双引号。

stringstr3=Console.ReadLine();

string[]strarr=str3.Split('

'

stringresult="

;

for(inti=0;

i<

strarr.Length;

i++)

{

if(strarr[i]!

="

result+="

\"

+strarr[i]+"

+"

"

}

Console.Write(result);

Console.Read();

12.下面两个函数都有错误,请指出这些错误。

staticboolWrite()

{

Console.WriteLine(“Textoutputfromfunction.”);

函数无返回值;

staticvoidmyFunction(stirnglabel,paramsint[]args,boolshowLabel)

if(showLabel)

Console.WriteLine(label);

foreach(intiinargs)

Console.WriteLine(“{0}”,i);

C#规定允许为函数指定一个(只能指定一个)特定的参数,这个参数必须是函数定义中的最后一个参数,称为参数数组。

参数数组可以使用个数不定的参数调用函数,它可以使用params关键字来定义。

13.编写一个应用程序,该程序使用两个命令行参数,分别把值放在一个字符串和一个整型变量中,然后显示这些值:

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

*编写一个应用程序,该程序使用两个命令行参数,

*分别把值放在一个字符串和一个整型变量中,

*然后显示这些值:

*/

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceExercise_Tow

classProgram

staticvoidMain(string[]args)

if(args.Length!

=2)

Console.WriteLine("

请分别输入一个字符串和一个整型变量命令行参数!

else

stringstringVar=args[0];

intintVar=Convert.ToInt32(args[1]);

来自命令行的参数:

字符串为:

stringVar);

整型变量:

intVar);

stringVar=null;

Console.ReadKey();

14.修改下面的结构,使这包含一个返回订单总价格的函数;

structorder

publicstringitemName;

publicintunitCount;

publicdoubleunitCost;

publicdoubleGetTotalPrices()

returnunitCount*unitCost;

第3章C#面向对象程序设计

1.“必须手动调用对像的析构函数,否则就会浪费资源”,对吗?

错误,一般情况下,不需要提供析构方法的代码,而是由默认的析函数执行操作。

2.必须创建一个对象,才能调用其类的静态方法吗?

静态属性和静态字段可以访问独立于任何对象实例的数据,静态方法可以执行与对像类型相关,但与对像实例无关的命令。

在使用静态成员时,甚至不需要实例化对像。

3.下面的代码有什么错误?

publicsealedclassMyClass

//classmembers;

publicclassmyDerivedClass:

MyClass

//Classmembers

包含sealed关键字的类只能在当前项目中访问,不能派生,只能实例化;

4.如何定义不能创建的类?

可以通过添加关键字“abstract”创建抽象类,根据C#定义抽象类不能实例化。

5.为什么不能创建的类仍有用?

如何利用它们的功能?

接口和抽象类都是不能创建的类,但可以声明它们的变量。

如果这样做,就可以使用多态性把继承这两种类型的对象指定给它们的变量。

接着通过这些变量来使用这些类型的成员,但不能直接访问派生对象的其他成员。

6.编写代码,定义一个基类MyClass,其中包含虚拟方法GetString()。

这个方法应返回有储在受保护字段myString中的字符串,该字段可以通过只写公共属性ContainedString来访问。

publicclassMyClass

privatestringmyString;

publicstringContainedString

get

returnmyString;

}

publicvirtualstringGetString()

7.从类MyCalss中派生一个类MyDerivedClass。

重写GetString()方法。

使用该方法的基类执行代码从基类中返回一个字符串,但在返回的字符串中添加文本“(outputfromderivedclass)”.

publicclassMyDerivedClass:

MyClass

publicoverridestringGetString()

returnbase.GetString()+"

(outputfromderivedclass)"

8.编写一个类MyCopyableClass,该类可以使用方法GetCopy返回它本身的一个副本。

这个方法应使用派于System.Object的MemberwiseClone()方法。

给该类添加一简单的属性,并且编写客户代码,使用访类检查任务是否成功执行。

publicclassMyCopyableClass

publicMyCopyableClassGetCopy()

return(MyCopyableClass)MemberwiseClone();

测试代码:

MyCopyableClassmyCopyableClass=newMyCopyableClass();

if(typeof(MyCopyableClass)==myCopyableClass.GetCopy().GetType())

测试成功"

9.创建一个集合类People,它是下述Person类的集合,该集合中的项可以通过一个字符串索引符来访问,该字符串索引符是人的姓名,与Person.Name属性相同:

publicclassPerson

privatestringname;

privateintage;

ublicstringName

Get

returnname;

Set

name=value;

}

publicintAge

returnage;

age=value;

10.扩展上一题中的Person类,重载>

、<

、>

=和<

=运算符,比较Person实例的Age属性。

//定义字段

privatestringname;

privateintage;

//定义属性

publicstringName

get{returnname;

set{name=value;

get{returnage;

set{age=value;

//定义运算符重载

publicstaticbooloperator>

(Personp1,Personp2)

returnp1.Age>

p2.Age?

true:

false;

publicstaticbooloperator<

(Personp1,Personp2)

returnp1.Age<

=(Personp1,Personp2)

=p2.Age?

//定义Person类的集合People

publicclassPeople:

DictionaryBase,ICloneable//继承于DictionaryBaseDictionaryBase实现了IDictionary接口

publicvoidAdd(Personp)

Dictionary.Add(p.Name,p);

publicvoidRemove(stringnameID)

Dictionary.Remove(nameID);

publicPersonthis[stringnameID]

get{return(Person)Dictionary[nameID];

set{Dictionary[nameID]=value;

11.给People类添加GetOldest()方法,使用上面定义的重载运算符,返回其Age属性值为最大的Person对象数组(1个或多个对象,因为对于这个属性而言,多个项可以有相同的值)。

//给People类添加GetOldest()方法,使用上面的重载运算符,返回其Age属性值为最大的Person对象数组(1个或多个对象)

publicPerson[]GetOldest()

PersonolderPerson=null;

PeoplecurrentPeople=newPeople();

PersoncurrentPerson;

foreach(DictionaryEntrydeinDictionary)

currentPerson=de.ValueasPerson;

if(olderPerson==null)

olderPerson=currentPerson;

currentPeople.Add(currentPerson);

if(currentPerson>

olderPerson)

currentPeople.Clear();

if(currentPerson==olderPerson)

Person[]personArray=newPerson[currentPeople.Count];

intindex=0;

foreach(DictionaryEntrydeincurrentPeople)

personArray[index]=de.ValueasPerson;

index++;

returnpersonArray;

12.在People类上执行ICloneable接口,提供深度复制功能。

//深度复制

publicobjectClone()

PersonnewPerson;

PeopleclonePeople=newPeople();

newPerson=newPerson();

newPerson.Age=currentPerson.Age;

newPerson.Name=currentPerson.Name;

clonePeople.Add(newPerson);

returnclonePeople;

第4章Windows程序设计

1.PiceureBox能导入的图像类型有gif、jpg、jepg、bmp、wmf、png

2.文本框的双击事件,默认的处理函数名称为textBox1_TextChanged

3..resx扩展命名的文件其含义是资源文件,其中x提示该资源是以xml形式存储的

4.对于OpenFileDialog组件,当选择一个文件并打开时,该文件所在的驱动器名、路径名、文件名和文件扩展名被复制给OpenFileDialog组建的FileName属性

5.PictureBox组件有一个属性SizeMode;

当该属性设置为Zoom时,加载图片将自动改变大小以填满整个图片框。

6.将滚动条组件trackBar的当前值在编辑框textBox1中显示出来,使用的语句是textBox1.Text=Convert.ToString(trackBar.Value);

7.把Label1中显示文字的字体设置为隶书,使用的语句是label1.Font=newFont("

黑体"

label1.Font.Size);

8.Timer组件有一个事件,该事件每隔一定的时间间隔周期性的发生,该事件是OnTimer事件

第6章数据库开发技术

1.ADO.NET使用()命名空间的类访问SQLServer数据库中的数据。

A.System.Data.OleDb

B.System.Data.SqlClient

C.System.Xml.Serialization

D.System.IO

正确答案:

B

2.在ADO.NET中,为了确保DataAdapter对象能够正确地将数据从数据源填充到DataSet中,则必须事先设置好DataAdapter对象的下列哪个Command属性( )

A.DeleteCommand

B.UpdateCommand

C.InsertCommand

D.SelectCommand

正确答案:

D

3.为使用OleDb.NETDataProviver连接到SQLServer2000数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设置为:

( )

A.Provider=SQLOLEDB

B.Provider=SQLSERVER

C.Provider=Microsoft.Jet.OLEDB.4.0

D.Provider=MSDAORA

A

4.在使用ADO.NET编写连接到SQLServer2000数据库的应用程序时,从提高性能的角度考虑,应创建( )类的对象,并调用其Open方法连接到数据库:

A.OleDbConnection

B.SqlConnection

C.OdbcConnection

D.Connection

正确答

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2