复习5.docx
- 文档编号:13712534
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:19
- 大小:21.51KB
复习5.docx
《复习5.docx》由会员分享,可在线阅读,更多相关《复习5.docx(19页珍藏版)》请在冰点文库上搜索。
复习5
一、判断对错:
一)VS2005&C#.NET
1.在VS2005开发环境中:
工具箱提供项目及其文件的组织视图。
(v)
解决方案资源管理器提供项目及其文件的组织视图。
(X)
2.C#程序的逻辑错误可以由VS2005开发环境自动发现。
3.VS2005开发出的程序可以运行在.NETFramework2.0上,同样可以运行在.NETFramework1.0上。
(x)
4.Windows应用程序中,控件的Name属性可以使用中文。
(x)
5.绘制应用程序界面时,界面中的控件都可以从属性窗口中拖拽过来。
(x)
6.编译后的程序比边解释边执行的程序的运行速度快。
(x)
二)TYPE&FUNCTION:
7.在C#中,一个整形(int)长整形可以隐式转换为(long)数据数据。
(v)
8.在C#中,从一个字符串转换为一个整数可以使用Convert.ToInt32()方法。
(v)
三)EVENTHANDLER
9.一个委托只能与一个方法相关联。
(x)
10.预订者对发布者的事件,可以不添加处理方法,此时事件仍会发生,但被忽略。
(v)
11.在声明事件之前,必须先定义一个EventHandler。
(v)
12.在C#开发的Windows应用程序中,可以用一个方法处理多个事件。
(v)
四)STRING&ARRARY
13.所有的对象都可以调用ToString()方法返回一个字符串。
(v)
14.使用属性Size可获取一个字符串的长度。
(x)
15.使用foreach语句遍历数组时,只能读,不能对数组中的值进行修改。
(v)
16.使用foreach语句无需索引即可遍历整个数组。
(v)
五)CLASS
17.在设计一个新类时,通过使用using关键词引用已有的命名空间。
(v)
18.类的构造方法必须与类同名,而且不带参数。
(x)
19.在同一个类中,允许多个方法的方法名和返回值类型相同,但参数不同。
(v)
20.抽象类不能被实例化。
(v)
21.当一个子类和其父类不在同一项目中时,该子类对象不能访问父类中的internal成员。
(x)
22.C#定义的类,所有的属性必须是可读的。
(x)
23.类中定义的static方法必须通过该类的实例来调用。
(x)
六)EXCEPTION
24.调用一个方法时,可能发生多个异常。
(x)
25.一个方法中捕获到异常时,可以用throw关键词抛出该异常,给调用该方法的方法处理。
(v)
二、选择填空题
一)VS2005&C#.NET
1.VS2005中,可以通过[A]窗口为一个控件的事件设置关联方法,没有设置关联方法的事件,在程序运行过程中[B]发生。
A.属性B.不可能C.工具箱D.可能
2.修改按键Button的visual属性值为[A],可使其在运行时不可见,修改它的enable属性值为[A],可使它运行时不可用。
AB
A.falseB.true
3.Windows应用程序中,欲改变Button控件上所显示的文字,则需设置其[B]属性;改变[A]属性值可以对该对象重命名。
A.NameB.Text
4.Windows应用程序中,TextBox控件使用[B]属性值来作为对象名,通过设置它的[A]属性值可以指定它所显示的文字。
A.TextB.Name
5.Windows应用程序中,要显示一幅图片,可以使用[B]控件,通过设置控件的[D]属性可以保持该控件与窗体边框的距离。
A.textBoxC.listBoxE.DockD.AnchorB.pictureBox
6.C#中,声明虚拟的关键字是[F],表示重写的关键字是[E]。
声明委托的关键字是[D],声明事件的关键字是[C]。
使用关键字[B]修饰的类不可被继承;表示接口的关键字是[H],表示抽象的关键字是[G]。
表示密封的关键字是[B],表示部分类的关键字是[J]。
要在派生类调用父类的方法,用[I]关键字.
A.overloadB.sealedC.eventD.delegateE.overrideF.virtual
G.abstractH.interfaceI.baseJ.partialK.Partial
二)TYPE&FUNCTION:
1.1)方法的参数传递形式有两种:
按值传递和按引用传递。
在默认情况下,整数参数的传递为[D],整数数组参数的传递为[C]。
2)数组内的值都具有相同的[B].
A.索引值B.类型C.引用D.值
2.C#中的三元运算符是[C],递增运算符是[B]。
A)+=B)++C)?
:
3.数据转换有隐式转换和显示转换两种,从int数值转换为double数值使用[A],从double数值转换为int数值使用[B]。
A.隐式转换B.显示转换
三)EVENTHANDLER
1.定义事件的类称为[B]。
事件只能在[C\D]的方法中触发。
A.预订者B.发布者C.委托者D.响应者
六)EXCEPTION
1.结构化异常处理的常见方式:
在[A]块中获取并使用资源,在[B]块中处理异常情况,并在[C]块中释放资源。
CDB
A.tryB.catchC.finallyD.throw
三、程序改错:
根据下横线标出的错误行提示,说明原因并改正。
二)TYPE&FUNCTION:
1.以下ConsoleApplication的Main方法调用一个加密函数security,对输入的整数进行加密然后输出加密后的数字。
加密函数的算法是:
把需要加密的整数乘以3再加上2。
(重点:
类型和函数)
staticvoidMain()
{
strings=Console.ReadLine();
Console.WriteLine("你输入的是:
"+s);
intx=s;//①intx=Convert.ToInt32(s);
inty=security(x);
Console.WriteLine("加密后是:
"+y)
Console.Read();
}
privatestaticintsecurity(intsource)
{
Return(source*3)+2;//②
}
2.以下代码用swich进行选择:
switch(i)
{
case0:
CaseZero();(加个break;)
case1:
CaseOne();
break;
case2:
dufault;(分号改为冒号:
)
CaseTwo();
break;
}
3.以下Func函数,求前多少个自然数的和大于、等于一个指定的整数x。
找出逻辑错误,并更正。
intFunc(intx)
{
inti=0;
intsum=0;
while(sum<=x)(sum { sum+=i;(++i提到sum+=i前面) ++i; } returni; } 4.以下ConsoleApplication计算用户输入字符串个数,当用户输入-1时,程序终止。 staticvoidMain() { intcount=0; stringstr=‘’;(‘’改为””) while(str=-1)(str=“-1”){ str=Console.ReadLine(); ++count; Console.WriteLine("输入句数: "+count); } } 四)STRING&ARRARY 1.对字符串数组遍历、操作、输出: string[]names={“Allan”,“Bob”,“Christ”,“Darren”,“Frank”,“George”}; foreach(charidxinnames)(char改为string) { Console.WriteLine(idx); idx=“”; } 2.以下是一个控制台程序的Main方法。 该程序统计用户输入的一个字符串中总共包含了多少个单词(以空格和逗号为分隔符)。 staticvoidMain() { stringinstr=Console.ReadLine(); Console.WriteLine("你输入的是: "+instr); //将字符串拆分后,放入字符串数组 stringwords=instr.Split(newchar[]{'',','}); //输出用户输入的单词个数(以空格为参照) Console.WriteLine("你输入的单词数是: "+words);(wordS改为words.Lengh) Console.Read(); } 五)CLASS 1.以下ConsoleApplication调用MyClass类的不同构造方法创建了两个对象,并显示它们的Text属性。 (重点: 构造函数的重载和调用) staticvoidMain() { MyClasso1=newMyClass(‘1’);(去掉‘’) Console.WriteLine(o1.Text); MyClasso2=newMyClass(1,2);(1和2任选一个) Console.WriteLine(o2.Text); Console.Read(); } classMyClass { privatestringtext; publicstringText {get{returntext;}} publicMyClass(inti) {text=i.ToString();} publicMyClass(strings) {text=s;} } 2.以下程序通过Main方法访问Lion对象,设置lion的属性值,并调用lion的方法显示信息。 staticvoidMain() { Lionlion=newLion(); lion.myage=20;(myage改为age) Console.WriteLine(lion.ToString()); } classLion { privateintmyAge; publicintAge { get{returnAge;}(age改为myage) set{myAge=value;} } publicoverridestringToString() {return"这只狮子"+myAge+"岁";} } 3.以下ConsoleApplication通过调用Car类的不同构造方法,实例化两个对象,并显示它们的Model属性: staticvoidMain() { Carcar1=newCar(‘BMW’);(“BMW”) Console.WriteLine(car1.Model); Carcar2=newCar(2.5);(2.5改为2) Console.WriteLine(car2.Model); Console.Read(); } classCar { privatestringmodel; publicstringModel {get{returnmodel;}} publicCar(inti) {model=i.ToString();} publicCar(strings) {model=s;} } 4.静态字段的使用-1 staticclassProgram { staticvoidMain() { Mopet[]mopets=newMopet[6]; for(inti=0;i<6;++i){mopets[i]=newMopet();} Console.WriteLine(mopets[3].Count);(【3】删掉) } classMopet { publicstaticintCount;//静态字段 publicMopet() {++this.Count;}}(++this.Count;改为++Count) } 六)EXCEPTION 1.以下Main方法获取用户的输入,并将其转换为一个整数,考虑到用户输入的格式错误,因此要进行异常处理,并将异常信息显示出来。 staticvoidMain() { try { intx=Convert.ToInt32(Console.ReadLine()); Console.WriteLine(“x={0}”,x); } finally{ Console.ReadLine(); } catch(NullReferenceExceptionex)//捕获异常(包括finally所有后面的内容和catch所有后面的内容对调) { Console.WriteLine(ex.Message); } } 2.以下Main方法获取用户的输入,并将其转换为一个整数,考虑到用户输入的格式错误,因此要进行异常处理,并将异常信息显示出来。 staticvoidMain() { try { intx=Convert.ToInt32(Console.ReadLine()); Console.WriteLine(“x={0}”,x); } Console.WriteLine(e); Console.WriteLine(Exception);(catch(exceptione){console.writeline(e);}) } 四.写出程序运行结果 二)TYPE&FUNCTION: 1.若有: floatf=-123.567F; inti=(int)f; i的值现在是_—123___? 2.下面的Main方法执行后,sum=____2_____。 staticvoidMain() { int[]age=newint[4]{1,2,3,4}; intsum=0; foreach(intiinage) { sum=-1*sum+i; } Console.WriteLine(sum.ToString()); } 四)STRING&ARRARY 1.String类的属性和操作。 已知: stringgreeting=“Hi! Piglet&duckling! ”; 以下操作所得的值什么? 1)greeting.IndexOf(‘? ’);(—1) 2)greeting.IndexOf(“Piglet”);(4) 3)数组words的值是什么? ({“Hi”,“piglet”,“duckling”}) 4)subStr1=? sbuStr2=? 5)greeting=? 2.System.Array的属性和操作。 已知: int[]num=newint[]{7,6,5,4,3,2,1}; 以下各表达式的值是多少? 1)num[1]=? (6) 2)num.Length=? (7) 3)num.GetUpperBound(0)=? (6) 4)num.Rank()=? (1) 5)执行完毕语句System.Array.Sort(num); 后,num的内容是? ({1,2,3,4,5,6,7}) 五)CLASS 1.构造函数的调用。 请写出以下Main()运行后的输出。 classPets { publicPets() { Console.WriteLine(“宠物”); } publicPets(intpara) { Console.WriteLine(“宠物-猫”); } publicPets(doublepara) { Console.WriteLine(“宠物-猫和狗”); } staticvoidMain() { Petspet1=newPets(100); Petspet2=newPets(); Petspet3=newPets(3.14159); } } 宠物——猫 宠物 宠物——猫和狗 2.静态字段的使用。 运行以下程序的输出是______6___________。 staticclassProgram { staticvoidMain() { Dog[]dogs=newDog[6]; for(inti=0;i<6;++i){dogs[i]=newDog();} Console.WriteLine(Dog.Count); Console.Read(); } classDog { privatestaticintCount;//静态字段 publicDog() {++Count;} } } 3.类的继承。 以下Main()执行后输出是_____青蛙________________。 staticvoidMain() { Animala=newFrog(); Console.WriteLine(a.ToString()); Console.Read(); } classAnimal { publicvirtualstringMessage {get{return"动物";}} } classFrog: Animal { publicoverridestringMessage {get{return"青蛙";}} } 五.简答(一、两句话即可) 一)VS2005&C# 1.C#程序是从哪儿开始执行的? Staticmain() 五)CLASS 1.C#中接口和类的异同? 都是类。 接口只包含方法或属性的声明.不包含具体实现。 接口可以实现多继承,而类只能单继承。 2.用sealed修饰的类有什么特点? 不可被继承 3.请写出override与overload的区别。 (1)override: 覆盖.用来重写父类的方法,是子类和父类的关系,垂直关系。 Overload: 重载.重载使用相同的名的方法和操作符拥有不同类型的参数.是同一个类中方法之间的关系.是水平关系。 (2)覆盖要求参数列表相同,重载要求参数列表不同。 (3)调用哪个方法体,覆盖关系中,根据对象的类型来决定;重载关系,根据实参和形参来选择 六)EXCEPTION 1.NET的错误处理机制是什么? 利用Tryàcatchàfinally结构。 发生错误时,层层上抛,直到匹配的catch为止。 2.用户自定义的异常类应该从哪个类继承? 该类和其它所有的异常类都是从哪个类继承而来? system.ApplictionException类systemException类 六.编程填空 五)CLASS 对一个小车类: Car 1)定义字段如下: publicstaticintcountInWorld=0;//全球产量: 为整个类服务 publicstringcolor;//颜色 publicreadonlystringbrand;//牌子: 不能修改 publicboolisMoving;//运动状态 protectedintmaxSpeed;//最高时速 privateintcurrentSpeed;//当前速度 2)完成以下属性,以便对表示速度的私有字段“currentSpeed”进行读、写: intCurrentSpeed { get {//在此写代码: 返回当前速度 Returnthis.currentspeed; } set { If(value //将当前速度设置为value的值 This.currentspeed=vaule; } } 3)完成该类的默认构造函数,将新对象初始化为: 颜色: 红色 牌子: “QQ” 最高时速: 80 当前速读: 0 全球产量: 加1 Publiccar() { this.color=”red”; this.maxspeed=”QQ”; this.cueeentspeed=0; ++car.countInWord; 4)对默认的构造函数进行重载,要求在构造新对象时,可以通过参数来设定新对象的颜色和牌子:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习