} 41、 完成学生类的建立(提示:建立三个字段分别是xuehao,name,birthday并为其
添加字段;添加一个方法输出学生的相关信息,其输出格式为:
“姓名:张三 学号:00000000 生日:1989-12-12”。(难易度:简单;知识点:
类的属性和方法)(10分)
class Student {
public string xuehao; public string name;
public DateTime birthday;
public string print() {
return \姓名:\+ name + \学号:\+ xuehao + \生日:\+ birthday; } }
42、 创建人类,有姓名、性别、出生日期、年龄、身份证号码这5个公有属性。再添加
一个公有方法ShowInfo()返回一个字符串,包含此人的所有信息,格式为“我叫***,性别*,出生日期是********,今天*岁,我的身份证号码是********。”,并在程序中输出显示。(难易度:简单;知识点:类的属性和方法)(10分) class Person {
private string name; private string sex; private string birthday; private int age;
private string IDcard;
public string Name { get; set; } public string Sex{ get; set; } public string Birthday{ get; set; } public int Age{ get; set; }
public string idcard{ get; set; } public string ShowInfo() {
return \我叫\性别\出生日期是\今天\Age + \岁,我的身份证号码是\。\ } } 43、 创建时间Shijian类,它包含3个整型字段:Hour、Minute、Second,它们用于表
示采取统一时间格式(24小时时钟格式)的一个时间。并定义一个不含参数的
ToUniversalString方法,该方法采用统一时间格式返回一个字符串,它包括6个数位--2个表示小时,2个表示分钟,2个表示秒。创建Shijian类的2个实例,编译和调试Shijian类。(难易度:难题;知识点:类的属性和方法)(00:00:00)(15分)
public class Shijian {
public int Hour; public int Minute; public int Second; public string method() {
Return Hour.ToString(\)+ Minute.ToString(\)+ Second.ToString(\)
}
} 44、
(难易度:较难;知识点:类的属性和方法)(15分)完成一个四则运算程序
1) 2) 3) 4) 5)
要求填入要进行“加减乘除”的两个数字,点击“=”,得出答案。 如果是除法,除数不能为0。 文本框必须填入数字。(使用try?catch?.) 建立一个四则运算类完成 类名:jishuan
成员变量:第一个数、第二个数 属性:第一个数、第二个数
方法四个:求和的方法、求差的方法、求积的方法、求商的方法
6) 在程序中调用这个类,得到计算结果 45、 写一分数计算程序。选手上台表演,有七个裁判打分。计分规则是去掉一个最高分
和最低分,把剩下的5个分相加就是该选手的最后得分。(难易度:难;知识点:类的
属性和方法)(10分)
public class getsum {
public float[] b { get ; set ; } public float method() {
float sum = 0;
for (int i = 0; i < b.Length; i++) {
sum += b[i]; }
return sum - b.Max() - b.Min(); } }
46、 请叙述属性与索引器的区别。(难易度:难;知识点:类的属性和方法)(5分) 属性 索引器 通过名称标识。 通过签名标识。
通过简单名称或成员访问来访问。 通过元素访问来访问。 可以为静态成员或实例成员。 必须为实例成员。
属性的 get 访问器没有参数。 索引器的 get 访问器具有与索引器相同的形参表。
属性的 set 访问器包含隐式 value 参数。 除了 value 参数外,索引器的 set 访问器还具有与索引器相同的形参表。
[完成]关键字(共3题,占2%)
1、 简述 private、 protected、 public、 internal 修饰符的访问权限。(难易度:简单;知识点:关键字)(5分)
private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一程序集内可以访问。
2、 很多类被定义为public有什么意义?(难易度:简单;知识点:关键字)(5分) public 关键字将公共访问权限授予一个或多个被声明的编程元素。对公共元素的可访问性没有限制。
3、 用sealed修饰的类有什么特点。(难易度:简单;知识点:关键字)(5分)
sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。 密封类不能同时为抽象类。
4、 静态成员和非静态成员的区别?(难易度:简单;知识点:关键字)(5分)
静态变量使用 static 修饰符进行声明,静态成员在加类的时候就被加载(在类被实例化时创建,哪个对),通过类进行访问;
不带有static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问;
一个类的所有实例的同一静态变量都是同一个值,同一个类的不同实例的同一非静态变量可以是不同的值。
5、 简述静态类和静态成员。(难易度:简单;知识点:关键字)(5分)
静态类中的成员都必须是静态的。静态类无构造方法,并且是密封类无法被继承。
静态成员访问时只能通过类名来访问,不能通过对象访问(和JAVA有区别),this也无法访问静态成员。
6、 怎样理解静态变量?静态成员和非静态成员的区别?(难易度:简单;知识点:关键字)
(5分)
静态变量属于类,而不属于对象;并对所有对象所享;静态成员在加类的时候就被加载。
7、 const和readonly区别。(难易度:简单;知识点:关键字)(5分) 都可以标识一个常量。主要有以下区别:
1、初始化位置不同。const必须在声明的同时赋值;readonly即可以在声明处赋值,也可以在静态构造方法(必须是静态构造方法,普通构造方法不行)里赋值。
2、修饰对象不同。const即可以修饰类的字段,也可以修饰局部变量;readonly只能修饰类的字段
3、const是编译时常量,在编译时确定该值;readonly是运行时常量,在运行时确定该值。
4、const默认是静态的;而readonly如果设置成静态需要显示声明 5、修饰引用类型时不同,const只能修饰string或值为null的其他引用类型;readonly可以是任何类型。
8、 using和new这两个关键字有什么意义,请写出你所知道的意义?(难易度:简单;知识点:关键字)(5分)
using引入名称空间或者使用非托管资源
new新建实例或者隐藏父类方法
9、 new有几种用法?(难易度:简单;知识点:关键字)(5分) 1、new 运算符,创建对象,调用构造函数
2、new 修饰符 覆盖方法,隐藏父类的成员。public new XXXX(){} 3、new 约束 用于在泛型声明中,约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。当泛型类创建类型的新实例时,将此约束应用于类型参数,当与其他约束一起使用时,new() 约束必须最后指定。如:
public class ItemFactory
10、 构造方法是否可被重写? (难易度:简单;知识点:关键字)(5分) 构造方法不能被继承,因此不能重写Override,但可以被重载。 11、 读程序写结果:(难易度:简单;知识点:关键字)(5分)
class Program {
static void Main(string[] args) {
myclass.showpassword(); Console.ReadKey(); }
}
class myclass {
private static string password; public myclass() { }
static myclass() {
password = “ABCD”; }
public static void showpassword() {
Console.WriteLine(password); } }
12、 读程序写结果:(难易度:简单;知识点:关键字)(10分)
class Program {
static void Main() {
int i1 = 10; int i2 = 20;
string str = \
Class1 c = new Class1(); Class1.Add(i1);
Class1.AddWithRef(ref i2); Class1.Add(c.i);
Class1 .StringConvert(str); Class1 .StringConvert(c); Console.WriteLine(i1); Console.WriteLine(i2); Console.WriteLine(c.i); Console.WriteLine(str); Console.WriteLine(c.str); Console.ReadKey(); }
public class Class1 {
public string str = \ public int i = 0;
public static void StringConvert(string str) {
str = \ }
public static void StringConvert(Class1 c) {
c.str = \ }
public static void Add(int i) {
i++; }
public static void AddWithRef(ref int i) {