d)int类型
14.下列选项中,(c)是引用类型。
a)enum类型 b)struct类型 c)string类型 d)int类型
15.下列关于构造函数的描述正确的是(c)
a)构造函数可以声明返回类型。 b)构造函数不可以用private修饰 c)构造函数必须与类名相同 d)构造函数不能带参数
16.以下是一些C#中的枚举型的定义,其中错误的用法有(a)
a)public enum var1{ Mike = 100, Nike = 102, Jike } b)public enum var1{ Mike = 100, Nike, Jike } c)public enum var1{ Mike=-1 , Nike, Jike } d)public enum var1{ Mike , Nike , Jike }
17.接口是一种引用类型,在接口中可以声明(a),但不可以声明公有的域或私有的成员变量
a)方法、属性、索引器和事件; b)方法、属性信息、属性; c)索引器和字段; d)事件和字段;
18.Winform中,关于ToolBar控件的属性和事件的描述不正确的是(d)
a)Buttons属性表示ToolBar控件的所有工具栏按钮
b)ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度
c)DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键
d)ButtonClick事件在用户单击工具栏任何地方时都会触发
16
19.如果将窗体的FormBoderStyle设置为None,则(B)
a)窗体没有边框并不能调整大小; b)窗体没有边框但能调整大小; c)窗体有边框但不能调整大小; d)窗体是透明的;
20.如果要将窗体设置为透明的,则( b)
a)要将FormBoderStyle属性设置为None; b)要将Opacity属性设置为小于100%得值; c)要将locked 属性设置为True; d)要将 Enabled属性设置为True; 21.下面描述错误的是(D ) a)窗体也是控件; b)窗体也是类;
c)控件是从窗体继承来的; d)窗体的父类是控件类;
22.声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是(b )
a)void myCallBack(int x) ; b)int receive(int num) ; c)string receive(int x) ; d)不确定的;
四、分析题(24分) 1、写出程序的输出结果 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.; }
17
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); } }
(考查值引用和对象引用) 10 21 0 str
string being converted.
评分标准:答对一点得2分,满分8分。
7.写出程序的输出结果
public abstract class A {
public A() {
Console.WriteLine('A');
18
}
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(); } } A B A.Fun()
(考查在继承类中构造函数, 以及new 方法, )
8. 写出程序的输出结果: public class A
public virtual void Fun1(int i) {
Console.WriteLine(i); }
public void Fun2(A a)
19
{
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); } }
2 5 1 6
五、编程题
1、一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。(C#语言) public class MainClass {
public static void Main() {
Console.WriteLine(Foo(30)); }
public static int Foo(int i) {
if (i <= 0) return 0;
20