ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:20.96KB ,
资源ID:12161550      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12161550.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第3章面向对象编程基础.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第3章面向对象编程基础.docx

1、第3章面向对象编程基础第三章 面向对象编程基础一 选择题1.语言的核心是面向对象编程(OOP),所有OOP语言都至少具有3个特性:(A)A封装,继承和多态 B. 类,对象和方法C封装,继承和派生 D. 封装,继承和接口2. C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对(C)进行初始化,静态构造函数只能对(A)进行初始化。 A.静态成员 B.非静态成员 B.静态成员或非静态成员 C.静态成员和非静态成员3.C#实现了完全意义上的面向对象,所以它没有(D),任何数据域和方法都必须封装在类体中。 A.全局变量 B.全局常数 C.全局方法 D.全局变量,全局常数和全局方法4.方法中

2、的值参数是(A)的参数。 A.按值传递 B.按引用传递 C.按地址传递 D.不传递任何值5.下面对方法中的ref和out参数说明错误的是(C) A.ref和out参数传递方法相同,都是把实在参数的内存地址传递给方法,实参与形参指向同一个内存存储区域,但ref要求实参必须在调用之前明确赋过值。B.ref是将实参传入形参,out它只有用于从方法传出值,而不能用从方法调用处接收实参数据。C.ref和out参数因为传递的是实参的地址,所以要求实参和形参的数据类型必须一致。D.ref和out参数要求实参和形参的数据类型或者一致,或者实参能被隐式的转化为为形参的类型。6.假设class Mclass类的一

3、个方法的签名为:public void Max,(out int max,params int a ),m1是Mclass类的一个对象,maaxval是一个int型的值类型变量,arrayA是一个int型的数组对象,则下列调用该方法有错的是()。A.m1.Max(out maxval); B. m1.Max(out maxval,4,5,3,);C.m1.Max(out maxval,ref arrayA); D.m1.Max(out maxval,3,3.5);7.以下有关属性的叙述正确的是()A.要求与字段域一一对应 B.只包含get访问器的属性是只写属性C.不能把它当变量使用 D.在静态

4、属性访问器中可访问静态数据二填空题1.构析函数不能由程序显示地调用,而是由系统在(释放对象)时自动调用。如果这个对象是一个派生类对象,那么在调用构析函数时,除了执行派生类的构析函数,也会执行基类的构析函数,其执行顺序与构析函数(正好相反)。2.C#实现了完全意义上的面向对象,所以它没有(全局变量、全局函数和全局方法),任何数据域,方法都必须封装在类中。3.在类中如果一个数据成员被声明为static的,则说明这个类的所有实例都共享这个static数据成员。在类体外,static成员不能通过(继承)来访问,它必须通过(静态方法(构造函数)方法)来访问。4.程序运行结果() using System

5、; public class Test Public void changel( string s) s = s + “Changel”; public void change2 ( ref string s ) s = s + “Change2”; public void change3 (string s1, out string s2 ) s1 = s1 + “Change3”; s2 = s1; public class Exe8 public static void Main () string s1, s2; s1 = “Hello, ”; Test t1=new Test();

6、t1.changel(s1); Console.WriteLine (“s1 after call to change1 is 0”, s1 ); t1.change2( ref s1); Console.WriteLine(“s1 after call to change2 is 0”, s1); t1.chnage3(s1, out s2 ); Console.WriteLine(“s1 after call to change3 is 0”, s1); Console.WriteLine(“s2 after call to change3 is 0”, s2); Console.Read

7、(); 5.程序运行结果是:(s1aftercalltochange1isHelloS1aftercalltochange2isHello.change2S1aftercalltochange3isHello.change2S2aftercalltochange3isHello.change2.change3) using System; public class Test public void change ( string s) s = s + “Change1”; public void change ( ref string s ) s = s + “Change2”; public

8、 void change (string s1, out string s2 ) s1 = s1 + “Change3”; s2 = s1; public class Exe9 public static void Main () string s1, s2; s1 = “Hello, ”; Test t1=new Test(); t1.change (s1); Console.WriteLine (“s1 is 0”, s1 ); t1.change ( ref s1); Console.WriteLine (“s1 is “0”, s1 ); t1.change (s1, out s2 )

9、; Console.WriteLine (“s1 is 0, s2 is 1”, s1, s2 );Console.Read();三编程题1.定义描述复数的类,并实现复数的输入和输出。设计三个方法分别完成复数的加法,减法和乘法运算。解:Using System; Using System Collections Generic; Using System Text; Namespace static void main(stringargs) complex a=new complex(2,5); complex b=new complex(4,6); complex c=a+b; c.pri

10、nt();complex d=a-b; d.print();complex m=a+b; m.print();comsole.Read(); Class complex Double r,v; Public complex(double r,double v) this r=r; this v=v; Public complex Public static complex operator+(complex a, complex b) return new complex (ar+br, ar+bv); Public static complex operator-( complex a, c

11、omplex b) double y,k; y=ar*av-av*bv; K=ar+bv+av*br; Return new complex(y,k); Public void print() console.write(r+“+”+v+“i/n”); 2.定义全班学生成绩类,包括:姓名,学号,C+成绩,英语成绩,数学成绩和平均成绩。设计4个方法:(1)全班成绩的输入;(2)求出每一个同学的平均成绩;(3)按平均成绩的升序排序;(4)输出全班成绩。using System;using System.Collections.Generic;using System.Text;using Syst

12、em.Text.RegularExpressions;static void Main(string args) #region Student Text AllStudent all = new AllStudent(3); all.AddAllreslut(); all.RtAvg(); all.printStu(); all.sorting(); Console.WriteLine(冒泡排序)排序后成绩如下:); all.printStu(); #endregion #region Student类 public class Students #region 构造函数 public St

13、udents() public Students(string name, string number, float Cres, float Elys, float maths) _name = name; _number = number; _Cres = Cres; _ely = Elys; _math = maths; _avg = (Cres + Elys + maths) / 3; #endregion #region 字段 private string _name; public string Name get return _name; set _name = value; pr

14、ivate string _number; public string Number get return _number; set _number = value; private float _Cres; public float Cres get return _Cres; set _Cres = value; private float _ely; public float Ely get return _ely; set _ely = value; private float _math; public float Math get return _math; set _math =

15、 value; private float _avg; public float Avg get return _avg; set _avg = value; #endregion #endregion #region 全体学生类 public class AllStudent #region 构造函数 public AllStudent(int cout) _cout = cout; _stuList = new List(); #endregion #region 字段和属性 private int _cout; public int Cout get return _cout; set

16、_cout = value; private List _stuList; public List StuList get return _stuList; set _stuList = value; #endregion #region 学生成绩录入方法 public void AddAllreslut() for (int i = 0; i 100) Console.WriteLine(请输入正确的成绩:); strs2 = Console.ReadLine(); Console.WriteLine(请输入学生英语成绩:); strs3 = Console.ReadLine(); if (

17、!Isfloat(strs3) Console.WriteLine(请输入正确的成绩:); strs3 = Console.ReadLine(); else if (float.Parse(strs3) 100) Console.WriteLine(请输入正确的成绩:); strs3 = Console.ReadLine(); Console.WriteLine(请输入学生数学成绩:); strs4 = Console.ReadLine(); if (!Isfloat(strs4) Console.WriteLine(请输入正确的成绩:); strs4 = Console.ReadLine()

18、; else if (float.Parse(strs4) 100) Console.WriteLine(请输入正确的成绩:); strs4 = Console.ReadLine(); Students student = new Students(strs0, strs1, float.Parse(strs2), float.Parse(strs3), float.Parse(strs4); Console.WriteLine(strs0 + 同学的平均成绩为: + student.Avg); Console.WriteLine(); _stuList.Add(student); #endr

19、egion #region 按学号查询平均成绩 public void RtAvg() Console.WriteLine(请输入要查询平均成绩学生的学号:); string number = Console.ReadLine(); float avg = RtAvg(number); if (avg != 0) Console.WriteLine(number + 的平均成绩为: + avg); Console.ReadKey(); else Console.WriteLine(没有该学号学生成绩!); Console.ReadKey(); public float RtAvg(string

20、 number) for (int i = 0; i _stuList.Count; i+) if (_stuListi.Number.Trim() = number.Trim() return _stuListi.Avg; return 0; #endregion #region 按平均分排序方法 public void sorting() List list = new List(); for (int i = 0; i _stuList.Count; i+) Students stus = new Students(); for (int j = 0; j _stuListj + 1.A

21、vg) stus = _stuListj; _stuListj = _stuListj + 1; _stuListj + 1 = stus; else stus = _stuListj + 1; if (i = _stuList.Count - 1) stus = _stuList0; list.Add(stus); _stuList = list; #endregion #region 输出所有学生成绩 public void printStu() Console.WriteLine(一下是所有学生信息:); for (int i = 0; i _stuList.Count; i+) Con

22、sole.WriteLine(_stuListi.Name + 同学的基本信息:); Console.WriteLine(学号: + _stuListi.Number + C+成绩为: + _stuListi.Cres + 英语成绩为: + _stuListi.Ely + 数学成绩为: + _stuListi.Math+ 平均成绩为:+_stuListi.Avg); Console.WriteLine(); Console.ReadKey(); #endregion #region 验证浮点数方法 public static bool Isfloat(string Input) if (Inp

23、ut = null) return false; else string pattern = (d*.)?d+$; if (Regex.Match(Input, pattern, RegexOptions.Compiled).Success) return true; else return false; #endregion #endregion3.定义一个描述学生基本情况的类,数据成员包括姓名,学号,C+,英语和数学成绩;成员函数包括输出数据,姓名和学号,3门课的成绩,求出总成绩和平均成绩。class student public string name; public int num;

24、public float c, e, m, ave; public student() Console.Write(请输入name:); name = Console.ReadLine(); Console.Write(请输入num:); num = int.Parse(Console.ReadLine(); Console.Write(请输入C+成绩:); c = float.Parse(Console.ReadLine(); Console.Write(请输入English成绩:); e = float.Parse(Console.ReadLine(); Console.Write(请输入

25、Math成绩:); m = float.Parse(Console.ReadLine(); public void print() Console.WriteLine(name=0,num=1,C+成绩=2,English成绩=3,Math成绩=4, name, num, c, e, m); public void getSumAve(bool print) float sum = c + e + m; ave = sum / 3; if (print) Console.WriteLine(总成绩=0,平均成绩=1, sum, ave); class theclass student stud

26、ents; int count; public theclass() Console.WriteLine(学生数:); count = int.Parse(Console.ReadLine(); students = new studentcount; for (int i = 0; i students.Length; i+) if (i = count) break; studentsi = new student(); studentsi.getSumAve(false); public void paixu() student t; for (int i = 0; i students.Length; i+) for (int j = 0; j studentsi + 1.ave) t = studentsi; studentsi = studentsi + 1; studentsi + 1 = t; public void shuchu() for (int i =

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

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