C_面试习题大全(2)

2019-01-10 11:34

}

public void Fun2(A a) {

a.Fun1(1);

Fun1(5); } }

public class B : A {

public override void Fun1(int i) {

base.Fun1 (i + 1); }

public static void Main() {

B b = new B();

A a = new A();

a.Fun2(b);

b.Fun2(a); } }

15.一列数的规则如下: 1、1、2、3、5、8、13、21、34......求第30位数是多少,用递归算

法实现。

16.程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)

要求: 1.要有联动性,老鼠和主人的行为是被动的。2.考虑可扩展性,猫的叫声可能引起其他联动效应。

参考答案

1.(1) 继承性、封装性、多态性。 (2) IEnumerable 、 GetEnumerator (3) 对ADO.net的了解 2. (1) B、C (考对接口的理解) (2) B、C、D (考查对ADO.net的熟练程度)

3. private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。public : 公共成员,完全公开,没有访问限制。internal: 在同一命名空间内可以访问。

4. 解1: select top 10 * from A where id not in (select top 30 id from A)

解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)

5. 1.使用QueryString, 如....id=1; response. Redirect()2.使用Session变量3.使用Server.Transfer

6. (考查值引用和对象引用) 10 21 0 Str

string being converted.

7. A B

A.Fun()

(考查在继承类中构造函数, 以及new 方法, ) 8. 2 5 1 6

评分标准: 答对一点得2分,两点得5分,3点得7分。全对得10分。 9.

public class MainClass

{

public static void Main() {

Console.WriteLine(Foo(30)); }

public static int Foo(int i) {

if (i <= 0) return 0;

else if(i > 0 && i <= 2) return 1;

else return Foo(i -1) + Foo(i - 2); } }

评分标准: 写出return Foo(i -1) + Foo(i - 2); 得5分。 写出if(i > 0 && i <= 2) return 1; 得5分。

方法参数过多需要扣分(扣除分数 = 参数个数 - 1) 不用递归算法扣5分

(递归算法在树结构建立等方面比较常用)

10.要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象 评分标准: <1>.构造出Cat、Mouse、Master三个类,并能使程序运行(2分) <2>从Mouse和Master中提取抽象(5分)

<3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分) public interface Observer {

void Response(); //观察者的响应,如是老鼠见到猫的反映 }

public interface Subject {

void AimAt(Observer obs); //针对哪些观察者,这里指猫的要扑捉的对象---老鼠 }

public class Mouse : Observer {

private string name;

public Mouse(string name, Subject subj) {

this.name = name; subj.AimAt(this); }

public void Response() {

Console.WriteLine(name + \} }

public class Master : Observer {

public Master(Subject subj) {

subj.AimAt(this); }

public void Response() {

Console.WriteLine(\} }

public class Cat : Subject {

private ArrayList observers; public Cat() {

this.observers = new ArrayList(); }

public void AimAt(Observer obs) {

this.observers.Add(obs); }

public void Cry() {

Console.WriteLine(\

foreach (Observer obs in this.observers) {

obs.Response(); } } }

class MainClass {

static void Main(string[] args) {

Cat cat = new Cat();

Mouse mouse1 = new Mouse(\Mouse mouse2 = new Mouse(\Master master = new Master(cat); cat.Cry(); } }

//---------------------------------------------------------------------------------------------设计方法二: 使用event

-- delegate设计..

public delegate void SubEventHandler(); public abstract class Subject {

public event SubEventHandler SubEvent; protected void FireAway() {

if (this.SubEvent != null) this.SubEvent(); } }

public class Cat : Subject {

public void Cry() {

Console.WriteLine(\this.FireAway(); } }

public abstract class Observer {

public Observer(Subject sub) {

sub.SubEvent += new SubEventHandler(Response); }

public abstract void Response(); }

public class Mouse : Observer {

private string name;

public Mouse(string name, Subject sub) : base(sub) {

this.name = name; }

public override void Response() {

Console.WriteLine(name + \} }

public class Master : Observer {

public Master(Subject sub) : base(sub){} public override void Response() {


C_面试习题大全(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中英语高效课堂教学反思

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: