1.      填空: (1)面向对象的语言具有___继承性、_封装___性、___多态性。         (2)能用foreach遍历访问的对象需要实现 IEnumerable接口或声明GetEnumerable 方法的类型。         (3)列举ADO.net中的五个主要对象Command、Connection、DataSet、DataSetCommand、DataReader。 2. 不定项选择: (1) 以下叙述正确的是:        A. 接口中可以有虚方法。     B. 一个类可以实现多个接口。  
      C. 接口不能被实例化。       D. 接口中可以包含已实现的方法。     (2) 从数据库读取记录,你可能用到的方法有:       A. ExecuteNonQuery            B. ExecuteScalar       C. Fill                        D. ExecuteReader 3. 简述 private、 protected、 public、 internal 修饰符的访问权限。 
4. 写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键,  注意:ID可能不是连续的。)  
5 .列举ASP.NET 页面之间传递值的几种方式。  
6. 写出程序的输出结果  class Class1  {  
       private string str = "Class1.str";  
       private int i = 0;  
       static void StringConvert(string str)  {  
           str = "string being converted.";  
       }  
       static void StringConvert(Class1 c)  {  
           c.str = "string being converted.";  
       }  
       static void Add(int i)  {  
           i++;  
       }  
       static void AddWithRef(ref int i)  {  
           i++;  
       }  
       static void Main()  {  
           int i1 = 10;  
           int i2 = 20;  
           string str = "str";  
           Class1 c = new Class1();  
           Add(i1);  
           AddWithRef(ref i2);  
           Add(c.i);  
           StringConvert(str);          
           StringConvert(c);  
           Console.WriteLine(i1);  
           Console.WriteLine(i2);  
           Console.WriteLine(c.i);  
           Console.WriteLine(str);  
           Console.WriteLine(c.str);  
       }   
    }  
7.写出程序的输出结果  public abstract class A   
{  
        public A()   
       {  
            Console.WriteLine('A');  
        }  
        public virtual void Fun()   
       {  
            Console.WriteLine("A.Fun()");  
        }  
}  public class B: A   
{  
        public B()  
       {  
            Console.WriteLine('B');  
        }          public new void Fun()   
       {  
            Console.WriteLine("B.Fun()");  
        }          public static void Main()   
       {  
           A a = new B();  
           a.Fun();  
        }  
}  
8.      写出程序的输出结果:  
public class A   
{  
        public virtual void Fun1(int i)  
       {  
            Console.WriteLine(i);  
        }          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);           
        }  
}    9. 一列数的规则如下: 1、1、2、3、5、8、13、21、34......     求第30位数是多少, 用递归算法实现。(C#语言) 
10.  程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)  要求:  1.要有联动性,老鼠和主人的行为是被动的。 2.考虑可扩展性,猫的叫声可能引起其他联动效应。