面向对象复习题2.doc_第1页
面向对象复习题2.doc_第2页
面向对象复习题2.doc_第3页
面向对象复习题2.doc_第4页
面向对象复习题2.doc_第5页
已阅读5页,还剩8页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 选择题。(每小题3分,共15分)1下列关于构造函数的描述正确的是( C ) A.构造函数可以声明返回类型。 B.构造函数不可以用private修饰 C.构造函数必须与类名相同 D.构造函数不能带参数 2派生类能够直接访问的基类的成员是(AB )A 公有成员 B 保护成员 C 私有成员 D 静态3下面是几条定义类的语句,不能被继承的类是(D )Aabstract class Figure Bclass Figure Cpublic class Figure Dsealed class F myArray3=new int3new int35,6,2,new int56,9,7,8,3,new int23,2; myArray322的值是( D )A 9 B 2 C 6 D越界5下面有关枚举成员赋值说法正确的是(BC )A在定义枚举类型时,至少要为其中的一个枚举成员赋一个常量值 B在定义枚举类型时,若直接为某个枚举成员赋值,则其他枚举成员依次取值C在把一个枚举成员的值赋给另一个枚举成员时,可以不考虑它们在代码中出现的顺序D在定义的一个枚举类型中,任何两个枚举成员都不能具有相同的常量值 6.以下是一些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 7下面对Write( )和WriteLine( )方法的描述,正确的是(AB )A. WriteLine( )方法在输出字符串的后面添加换行符B. 使用Write( )输出字符串时,光标将会位于字符串的后边C. 使用Write( )和WriteLine( )方法输出数值变量时,必须要先把数值变量转换成字符串 D. 使用不带参数的WriteLine( )方法时,将不会产生任何输出8以下标识符中,正确的是(A )A. _nName B. Main C. 6b D. x5# 9.在对SQL Server 数据库操作时应选用(A )。A.SQL Server .NET Framework 数据提供程序; B.OLE DB .NET Framework 数据提供程序; C.ODBC .NET Framework 数据提供程序; D.Oracle .NET Framework数据提供程序;10下面是几条定义并初始化二维数组的语句,指出其中正确的是(D )Aint arr3 =new int4, 5 ;Bint arr3=new int4, 5 ;Cint arr3 , =new int4, 5 ;Dint , arr3=new int4, 5; 11. 下面有关虚方法的描述正确的是(A )A. 虚方法与非虚方法相比,其优点在于:能在程序运行时,动态确定要调用的方法,因而更灵活,更方便 B在定义虚方法时,基类和派生类的方法定义语句中都要带上virtual修饰符C重写基类的虚方法时,为消除隐藏基类成员的警告,需要带上new修饰符 D重写基类的虚方法时,需要同时带上override和virtual修饰符12如果要定时器控件每一分钟发生一个Tick事件,则InterVal属性应设置为 (D )A60 B600 C100 D1000 13用在方法的定义处,以指明该方法不返回任何值的关键字是(C )Astatic Bstring Cvoid Dpublic14下面有关类的继承的说法正确的是( C) A所有的类成员都可以被继承 B在派生类中可通过隐藏继承成员,来删除基类的成员C在描述类的继承关系时,父类与子类是基类与派生类的另一种说法D派生类的成员应该与基类的成员一致,不能为派生类增加新成员15下面是几条定义类的语句,只能被继承的类是(C)Apublic class studentBclass student Cabstract class student Dsealed class student 16.接口是一种引用类型,在接口中可以声明( A ),但不可以声明公有的域或私有的成员变量A 方法、属性、索引器和事件;B 法、属性信息、属性;C索引器和字段;D事件和字段; 17如果要在窗体中始终显示系统的当前时间,应该使用的控件是(D )APanel BRadioButton CCheckBox DTimer18. 如果设treeView1=new TreeView(),则treeView1.Nodes.Add(根节点)返回的是一个 ( A )类型的值A TreeNode; B int; C string; D TreeView;19 下面4个接口声明中, 正确的是( B)Ainterface X:Y public void F(); Bpublic interface X void F(); Cinterface X string s; Dinterface X:X void F(); 20. 要对注册表进行操作则必须包含( D )A System.ComponentModel命名空间; B System.Collections命名空间; C System.Threading命名空间; D Microsoft.Win32命名空间; 21下面对C#中类的构造函数描述正确的是(D )A构造函数一般被声明成private型 B构造函数如同方法一样,需要人为调用才能执行其功能C与方法不同的是,构造函数只有void这一种返回类型 D在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数22.下列选项中,( C )是引用类型。a)enum类型 b)struct类型 c)string类型 d)int类型23下面有关类的继承的说法正确的是( C) A所有的类成员都可以被继承B在派生类中可通过隐藏继承成员,来删除基类的成员C在描述类的继承关系时,父类与子类是基类与派生类的另一种说法 D派生类的成员应该与基类的成员一致,不能为派生类增加新成员24C#源程序文件的扩展名为( D )A .vb B .c C .cpp D .cs 25下面关于C#的逻辑运算符|、&、!的运算优先级正确的是( C) A|的优先级最高,然后是!,优先级最低的是&B&的优先级最高,然后是!,优先级最低的是|C!的优先级最高,然后是&,优先级最低的是| D!的优先级最高,然后是|,优先级最低的是&26.ASP.NET中,在Web窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的注册指令为(B ) A B C D以上皆非 27C#可执行程序的主入口点是(B ) Amain函数 BMain函数 CRun函数 DForm_Load函数4用在方法的定义处,以指明该方法不返回任何值的关键字是(C )Astatic Bstring Cvoid Dpublic 28在ADO.NET中,用来与数据源建立连接的对象是( A)AConnection对象 BCommand对象 CDataAdapter对象 DDataSet对象 29以下程序段的输出结果是(D )string s=”hello world”; s=String.Copy(“abcdefgh”); Console.WriteLine(s.Length);A. 19 B. 12 C. 11 D. 8 30下面是几条定义类的语句,不能被继承的类是(D )Aabstract class FigureBclass Figure Cpublic class FigureDsealed class Figure 31.以下描述错误的是( A ) A在C+中支持抽象类而在C#中不支持抽象类。 BC+中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。 C在C#中可使用 new 修饰符显式隐藏从基类继承的成员。 D在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。32若要改变文本框中所显示文本的颜色,应设置文本框的( A)属性。AForeColor BBackColor CBackgroundImage DFillColor 33. 要创建多文档应用程序,需要将窗体的( D )属性设为trueADrawGrid; BShowInTaskbar;C Enabled; DIsMdiContainer;34以下叙述错误的是( D) A无论项目中有多少个窗体,只能有一个启动窗体B一个项目中只能有一个Main函数C窗体的Show和ShowDialog方法都能够显示窗体D窗体间无法传递数据 35用在方法的定义处,以指明该方法不返回任何值的关键字是( C) Astatic Bstring Cvoid Dpublic 36下面对C#中类的构造函数描述正确的是( D)A与方法不同的是,构造函数只有void这一种返回类型 B构造函数如同方法一样,需要人为调用才能执行其功能C构造函数一般被声明成private型 D在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数37. 下面描述错误的是( D )A窗体也是控件; B窗体也是类; C控件是从窗体继承来的; D窗体的父类是控件类; 38下面有关类的继承的说法正确的是(C ) A派生类的成员应该与基类的成员一致,不能为派生类增加新成员B在派生类中可通过隐藏继承成员,来删除基类的成员 C在描述类的继承关系时,父类与子类是基类与派生类的另一种说法D所有的类成员都可以被继承 39下面有关事件的描述中,正确的是(B )A方法一旦被事件预订后,就不能被撤消B事件的预订一次只能预订一个方法 C创建事件的关键字是delagate D当事件预订了多个方法时,一次只能有一个方法被调用40.C#的数据类型有(B ) A值类型和调用类型;B值类型和引用类型;C引用类型和关系类型;D关系类型和调用类型; 41下列关于解决方案的叙述中,不正确的是(B )A一个解决方案可以包含多个项目 B一个解决方案只能包含一个项目C新建项目时,会默认生成一个解决方案D解决方案文件的扩展名为“.sln”42以下说法中,正确的是(D )AMain函数是由C#语言提供的标准函数,不需要用户编写它的内容B在C#程序中,要调用的函数必须在Main函数中定义C在C#程序中,必须显式调用Main函数,它才起作用 D一个C#程序无论包含多少个函数,C#程序总是从Main函数开始执行43.在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是(C )A insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C Select操作的Sql语句只能由ExecuteReader()方法来执行; D ExecuteReader()方法返回一个DataReder对象; 44下面有关for语句的描述有错的是(A ) A使用for语句时,可以省略其中的某个或多个表达式,但不能同时省略全部 3个表达式B在省略for语句的某个表达式时,如果该表达式后面原来带有分号,则一定 要保留它所带的分号C在for语句的表达式中,可以直接定义循环变量,以简化代码Dfor语句的表达式可以全部省略 45若有两个方法: int fun1(int a, int b) b=+a; return a+b; int fun2(int a, out int b) b=+a; return a+b; 则以下说法中,正确的是(B )。 A. 方法fun1可以返回两个值,方法fun2只能返回一个值B. 方法fun1只能返回一个值,方法fun2可以返回两个值 C. 方法fun1和方法fun2均可以返回两个值 D.方法fun1和方法fun2只能返回一个值 46下列关于C#中索引器理解正确的是(C ) A索引器的参数必须是两个或两个以上 B索引器的参数类型必须是整数型 C索引器没有名字 D以上皆非47已知: int a=100; void Func(ref int b) 则以下函数调用正确的是(D )。 A. Func(ref (10*a); B. Func(ref 10); C. Func(a); D. Func(ref a);48.下列描述错误的是(D ) A类不可以多重继承而接口可以; B抽象类自身可以定义成员而接口不可以; C抽象类和接口都不能被实例化; D一个类可以有多个基类和多个基接口;程序填空题1、下列程序是对运算符“-”进行重载,请将程序补充完整。using System;class CZ int a=0; public static CZ operator -(CZ y)y.a=y.a+2;return y ; static void Main() CZ x=new CZ( ); x-; Console.WriteLine(x.a); 2、下列程序是输出数组中的最大值和最大值的数组下标,请将程序补充完整。using System; class array1 static void Main() int a=26, 38, 91, 63, 58, 21, 65, 75; int t=0, max=a0 ; for (int i=1;i max) max=ai ;t=i; Console.WriteLine(该数组中最大的数为:0,max);Console.WriteLine(最大的数的数组下标为:0,t);Console.Read(); 3、以下方法是从键盘上输入一个数,对该数进行四舍五入,请将该方法补充完整。public void Fun(double n ) int b; if (n-(int)n=0.5) b=(int)n+1; else b=(int)n; Console.WriteLine(0进行四舍五入后的值 为:1 ,n,b); 4、下列程序是输出100以内所有能被7整除的数,请将程序补充完整。using System; class Output; static void Main() for (int k=1;k0? value:0; 6、以下方法的功能是翻转字符串,请把该方法补充完整。 string reverse(string s) string str = null; int j = s.Length - 1; while (j = 0) str += sj-; return str;7、下列方法是输出1000以内所有能被9整除的数,请将程序补充完整。public void Fun() for (int k=1;k=”进行重载,可以不重载“=”。 ( )6按下按钮会引发事件。 ( )7对象的this引用是对该对象本身的引用。 ( )8类System.Object的方法ToString( )被声明成virtual。 ( )9事件的预订可以通过“=”来实现。 ( ) 10委托的声明必须指定它的实现。 ( )11只有SQL的UPDATE语句可以对数据库进行更新。 ( ) 12类System.Object的方法ToString( )被声明成virtual。( )13在C#中,所有类均能派生子类。 ( )14构造函数可以返回值。 ( )15抽象类和密封类均不能实例化。 ( )16按下按钮会引发事件。( )17事件的预订可以通过“=”来实现。 ( ) 18析构函数可以返回值。 ( )19SQL的INSERT语句不可以对数据库进行更新。 ( )20对象的this引用是对该对象本身的引用。( ) 21对象的this引用是对该对象本身的引用。 ( )22属性必须同时定义ge t访问器和se t访问器。 ( )23只有SQL的UPDATE语句可以对数据库进行更新。( )24密封类不能被继承。 ( ) 25构造函数不允许重载。 ( ) 26属性必须同时定义get访问器和set访问器。 ( ) 27类的static成员可以通过该类的对象来引用。 () 28派生类可以从多个类继承。 ( ) 编程题1. 实现下面代码中定义的IComboBox接口, 并调用这些接口。interface IConcol int Paint( ); interface ITextBox:IConcol void SetText(int text); interface IListBox:IConcol void SetItems(int items); interface IComboBox:ITextBox, IListBox 主要程序:using System; interface IConcolvoid Paint( );interface ITextBox:IConcol string SetText(string text); interface IListBox:IConcol void SetItems(string items);interface IComboBox:ITextBox, IListBox class jiekou:IComboBox public void Paint() Console.WriteLine(IConcole接口的实现);public string SetText(string text) return ITexBox接口的实现,传递的参数值为: +text; public void SetItems(string items) for(int i=0;iitems.Length;i+)Console.WriteLine(itemsi); Console.WriteLine(IListBox接口的实现); class test static void Main() jiekou jk=new jiekou(); jk.Paint(); Console.WriteLine(jk.SetText(How are you!); string arr=new string123,456,789;jk.SetItems(arr); 2.输出前n个自然数的阶乘的和。(n的值由键盘输入)主要程序:public long Mul(int n) long s=0;long m=1;for(int i=1;i0)a=Math.Sqrt(a);else a=Math.Pow(a,3);Console.WriteLine(n的值=0:f2,a); public string Fr(int a,ref int b) string s=a.ToString()+b.ToString();b=a+b;return s;class test public static void Main( ) OutRef ot=new OutRef( ); Console.Write(请输入n的值:); double n; ot.Ft(out n); int m=6;Console.WriteLine(ot.Fr(5,ref m);Console.WriteLine(m=0,m); 5. 定义一个行数与列数相等的二维数组,并执行初始化,然后计算该数组两条对角线上的元素值之和。主要程序:Console.Write(请输入要定义的二维数组的下标值:);int k=int.Parse(Console.ReadLine( ); int, a=new intk,k; for(int i=0;ik;i+) for(int j=0;jk;j+) Console.Write(请输入第0行第1列的数组值:,i+1,j+1); ai,j=int.Parse(Console.ReadLine(); for(int i=0;ik;i+) for(int j=0;jk;j+) Console.Write(ai,j+ );Console.WriteLine(); int s=0; for(int i=0;ik;i+) s+=ai,i+ai,k-1-i; if(k%2=0) Console.WriteLine(对角线之和为0,s);else Console.WriteLine(对角线之和为0 , s-ak/2,k/2); 6在类Example中定义一个名为example的方法,任意输入一个数, 在example方法中计算该数的阶乘,然后在Main( )方法中调用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论