|
华师《C#.net》在线作业
一、单选题(共 20 道试题,共 40 分。) V 1. 在C#中,表示一个字符串的变量应使用以下哪条语句定义?
A. CString str;
B. string str;
C. Dim str as string
D. char *str;
2. 在C#中有一个Windows窗体,该窗体中有一个名为btClose的按钮控件,程序员为该控件绑定了Click事件,该事件的处理程序如下所示,程序运行时,用户点击btClose按钮后,程序将( )。 Application.Exit(); MessageBoxShow(“再见!”);
A. 直接退出
B. 关闭当前窗体,程序并不退出
C. 关闭当前窗体并显示消息框后,程序退出
D. 显示相息框,程序并不退出
3. 以下错误的转义字符是( )。
A. ‘\\’
B. ‘\81’
C. ‘\”’
D. ‘\0’
4. 以下选项中,哪一个变量名的定义是错误的( )
A. Abc
B. my_vala
C. _myValue
D. class
5. C#程序中,可使用 try..catch 机制来处理程序出现的( )错误?
A. 语法
B. 运行
C. 逻辑
D. 拼写
6. float类型的值可以隐式转换成( )类型的值而保持值不被改变
A. char
B. double
C. long
D. int
7. C#中 MyClass 为一自定义类,其中有以下方法定义: public void Hello(){…} 使用以下语句创 建了该类的对象,并使变量 obj 引用该对象,那么,访问类MyClass的Hello方法正确的是( ) MyClass obj = new MyClass();
A. obj.Hello();
B. obj::Hello();
C. MyClass.Hello();
D. MyClass::Hello();
8. 在C#中,byte类型表示的范围是( )
A. 0----255
B. 1----256
C. -128----127
D. 0---65535
9. 下列代码执行后,将显示( ) Random rr=new Random(); int k=rr.Next(10,100)
A. 0<=k<100之间的随机数
B. 10<=k<100之间的随机数
C. 10<=k<=100之间的随机数
D. 0<=k<=100之间的随机数
10. 在C#中,以下正确的描述是( )。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
11. C#中的String类中包含许多字符串的处理方法,以下( )方法用于比较一个字符串和另一个字符串的值是否相等。
A. bool Equals(string value)
B. int IndexOf(string value)
C. bool Compare(string value)
D. int Equals(string value)
12. 字符串数组strarray包含以下元素: string[] strarray={“this”, “is”, “a”, “test”}; 则以下语句在控制台的输出是什么?( ) string strafterjoin =string.Join(“, ”,strarray); Console.WriteLine(strafterjoin);
A. ”this”,”is”,”a”,”test”
B. this is a test
C. this,is,a,test
D. thisisatest
13. C#中,在方法 MyFunc 内部的 try..catch 语句中,如果在 try 代码块中发生异常,并且在当前的所有 catch 块中都没有找到合适的 catch 块,则( )
A. NET 运行时忽略该异常
B. NET 运行时马上强制退出该程序
C. NET 运行时继续在 MyFunc 的调用堆栈中查找提供该异常处理的过程
D. NET 抛出一个新的“异常处理未找到”的异常
14. 分析下列程序: public class class4 {private string _sData = ““; public string sData{set{_sData = value;}}}//只写属性!在Main 函数中,成功创建该类的对象obj 后,下列哪些语句是合法
A. obj.sData = “It is funny!”;
B. Console.WriteLine(obj.sData);//没有get体
C. obj._sData =100; //不能访问private
D. obj.set(obj.sData);//没有set方法
15. 在C#程序中,下列用来处理异常的结构,错误的是( )。
A. try{}catch{}finally{}
B. try{}finally{}
C. ch{}finally{}
D. try{}catch{}
16. 如果希望类的某个方法能够在子生类中进一步进行改进,以处理不同的子类的需要,则应将该方法声明成( )
A. sealed 方法封闭类
B. public 方法公共类
C. virtual 方法虚方法
D. override方法重载基类
17. 引用类型和值类型之间的区别是( )?
A. 引用类型变量保存内存地址,值类型直接保存变量值
B. 引用类型在变量中直接保存变量值,值类型保存内存地址
C. 引用类型和值类型保存数据的方式相同
D. .NET Framework不支持值类型,因为所有的类型都是引用类型了
18. 以下程序的输出结果是( )。 enum Workdays { Sunday=65,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday } Workdays myday=WorkDays.Sunday; Console.Write(“{0}”,myday);
A. Sunday
B. 65
C. A
D. -1
19. 在 C#中,表示一个字符串的变量应使用以下哪条语句定义?
A. CString str;
B. string str;
C. Dim str as string
D. char * str;
20. 下列语句创建了多少个 string 对象? string[,] strArray = new string[3][4];
A. 0
B. 3
C. 4
D. 12
华师《C#.net》在线作业
二、多选题(共 10 道试题,共 40 分。) V 1. 下列关于 C#的异常处理的说法,错误的是()。
A. try 块必须跟 catch 块组合使用,不能单独使用
B. 一个 try 块可以跟随多个 catch 块
C. 使用 throw 语句即可引发系统异常,也可引发由开发人员创建的自定义异常 ///可以单独使用 try 块
D. 在 try……catch……finally 快中,即便开发人员编写强制逻辑代码,也不能跳出 finally 快 的执行
C
2. 以下说法中,正确的是( )
A. Main函数是由C#语言提供的标准函数,需要用户编写它的内容
B. 在C#程序中,要调用的函数必须在Main函数中定义
C. 在C#程序中,必须显式调用Main函数,它才起作用
D. 一个C#程序无论包含多少个函数,C#程序总是从Main函数开始执行
D
3. 派生类能够直接访问的基类的成员是( )
A. 公有成员
B. 保护成员
C. 私有成员
D. 静态
B
4. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成( )
A. sealed 方法
B. public 方法
C. virtual 方法
D. override 方法
E. abstract 方法
DE
5. 下列有关虚函数说法正确的是()
A. 虚函数是静态的
B. 虚函数声明只能出现在类定义的函数原型声明中
C. 一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性
D. 在基类中定义了虚函数后,可以在派生类中对它进行重写
CD
6. 以下所列的各个方法头部中,正确的是()
A. void play(var a:Integer,var b:integer)
B. void play(int a,int c)
C. void play(int a,int b)
D. Sub play(a as integer,b as integer)
C
7. 下列关于 try…catch…finaly语句的说明中,不正确的是()
A. catch块可以有多个
B. finaly 块是可选的
C. catch块是必选的
D. 可以只有 try块
D
8. 以下关于 for 循环的说法不正确的是()
A. for 循环只能用于循环次数已经确定的情况
B. for 循环是先判定表达式,后执行循环体语句
C. for 循环中,可以用 break语句跳出循环体
D. for 循环体语句中,不能包含多条语句?
D
9. 下面有关 break,continue 和 goto语句描述正确的是()
A. break 语句和 continue语句都是用于终止当前整个循环
B. 使用 break语句不能一次跳出多重循环
C. 使用语句可以方便地跳出多重循环,因而编程时应尽可能多使用 goto语句
D. goto语句必须和标识符配合使用,break和 continue语句则不然
D
10. 关于结构类型,下列说法哪些是正确的?
A. 结构是值类型
B. 结构中不允许定义带参数的实例构造函数;
C. 结构中不允许定义析构函数
D. 结构的性能比类要高
CD
华师《C#.net》在线作业
三、判断题(共 10 道试题,共 20 分。) V 1. 子类方法用new隐藏了父类的同名方法,此时要在子类中调用父类的同名方法,需要使用关键字base
A. 错误
B. 正确
2. DataSet相当于内存中的数据库。
A. 错误
B. 正确
3. 在一个类的构造函数中调用本类的另一个构造函数使用this关键字
A. 错误
B. 正确
4. 属性必须同时定义ge t访问器和set访问器。
A. 错误
B. 正确
5. 构造函数不允许重载。
A. 错误
B. 正确
6. 类的static成员可以通过该类的对象来引用。
A. 错误
B. 正确
7. 类System.Object的方法ToString( )被声明成virtual。
A. 错误
B. 正确
8. 按下按钮会引发Click事件。
A. 错误
B. 正确
9. 抽象类也可以从非抽象类继承
A. 错误
B. 正确
10. 事件的预订可以通过“=”来实现。
A. 错误
B. 正确
|
|