C#练习题期末复习权威指南.docx

上传人:b****8 文档编号:30499141 上传时间:2023-08-16 格式:DOCX 页数:17 大小:39.45KB
下载 相关 举报
C#练习题期末复习权威指南.docx_第1页
第1页 / 共17页
C#练习题期末复习权威指南.docx_第2页
第2页 / 共17页
C#练习题期末复习权威指南.docx_第3页
第3页 / 共17页
C#练习题期末复习权威指南.docx_第4页
第4页 / 共17页
C#练习题期末复习权威指南.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C#练习题期末复习权威指南.docx

《C#练习题期末复习权威指南.docx》由会员分享,可在线阅读,更多相关《C#练习题期末复习权威指南.docx(17页珍藏版)》请在冰豆网上搜索。

C#练习题期末复习权威指南.docx

C#练习题期末复习权威指南

一、选择题

1.下列选项中,(C)是引用类型。

A.enum类型B.struct类型

C.string类型D.int类型

2.下列描述错误的是(D)

A.类不可以多重继承而接口可以;

B.抽象类自身可以定义成员而接口不可以;

C.抽象类和接口都不能被实例化;

D.一个类可以有多个基类和多个基接口;

3.int[][]myArray3=newint[3][]

{newint[3]{5,6,2},newint[5]{6,9,7,8,3},newint[2]{3,2}};myArray3[2][2]的值是(D)

A.9B.2C.6D.越界

4.如果将窗体的FormBoderStyle设置为None,则(B)

A.窗体没有边框并不能调整大小;

B.窗体没有边框但能调整大小;

C.窗体有边框但不能调整大小;

D.窗体是透明的;

5.下列关于C#中索引器理解正确的是(C)

A.索引器的参数必须是两个或两个以上

B.索引器的参数类型必须是整数型

C.索引器没有名字

D.以上皆非

6.要创建多文档应用程序,需要将窗体的(D)属性设为true

A.DrawGrid;B.ShowInTaskbar;

C.Enabled;D.IsMdiContainer;

7.声明一个委托publicdelegateintmyCallBack(intx);则用该委托产生的回调方法的原型应该是(B)

A.voidmyCallBack(intx);B.intreceive(intnum);

C.stringreceive(intx);

8.可以为索引器指定(C)索引参数

A.只能一个C.一个或多个

B.只能两个或多于两个D.以上说法都不对

9.将事件通知其他对象的对象称为:

(A)

A.发布方B.订户

C.通知方D.接受方

10.下列说法正确的有(C)

A.属性通过使用访问器来读写数据库中的数据,从而为保护数据库中字段提供了可能

B.属性通过使用访问器来读写类中的数据,从而为保护数据库中字段提供了可能

C.属性通过使用访问器来读写类中的字段,从而为保护类中字段提供了可能

D.属性通过使用访问器来读写数据库中的数据,从而为保护类中字段提供了可能

11.C#的数据类型有(B)

A.值类型和调用类型;B.值类型和引用类型;

C.引用类型和关系类型;D.关系类型和调用类型;

12.下列关于构造函数的描述正确的是(C)

A.构造函数可以声明返回类型。

B.构造函数不可以用private修饰

C.构造函数必须与类名相同

D.构造函数不能带参数

13.接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变量

A.方法、属性、索引器和事件;

B.方法、属性信息、属性;

C.索引器和字段;

D.事件和字段;

14.如果要将窗体设置为透明的,则(B)

A.要将FormBoderStyle属性设置为None;

B.要将Opacity属性设置为小于100%得值;

C.要将locked属性设置为True;

D.要将Enabled属性设置为True;

15.下面描述错误的是(D)

A.窗体也是控件;

B.窗体也是类;

C.控件是从窗体继承来的;

D.窗体的父类是控件类;

16.以下的C#代码,试图用来定义一个接口:

publicinterfaceIFile

{intA;

intdelFile()

{A=3;}

voiddisFile();}

关于以上的代码,以下描述正确的是(A)

A.以上的代码中存在的错误包括:

不能在接口中定义变量,所以intA代码行将出现错误;

B.以上的代码中存在的错误包括:

接口方法delFile是不允许实现的,所以不能编写具体的实现函数;

C.代码voiddisFile();声明无错误,接口可以没有返回值;

D.代码voiddisFile();应该编写为voiddisFile(){};

17.如果将窗体的FormBoderStyle设置为None,则(B)

A.窗体没有边框并不能调整大小;

B.窗体没有边框但能调整大小;

C.窗体有边框但不能调整大小;

D.窗体是透明的;

18.以下说法正确的是:

(A)

A.一个委托在某一时刻可以指向多个方法。

B.一个委托在某一时刻不可以指向多个方法。

C.一个委托在某一时刻只能指向多个方法。

D.一个委托在某一时刻可以指向多个事件。

19.下列关于索引器说法正确的有(D)

A.索引器不指向内存位置b)索引器可以有非整数下标

C.索引器不指向get和set访问器D.索引器可以重载

20.下列说法不正确的有:

(A)

A.必须声明索引的变量名

B.索引器可以建立两个或多个参数的索引

C.定义索引器时必须指定至少一个索引器参数

D.使用索引器时可以不为其参数赋值

二、判断题

对1.在C#中,装箱操作是将值类型转化成引用类型。

错2.接口中的成员不可以有访问域修饰符,但可以有其它修饰符。

对3.在C#中,索引器是专门用来访问对象中的数组信息的。

对4.在C#中,接口可以被多重继承而类不能。

错5.在C#中,int[][]是定义一个int型的二维数组。

对6.异常类对象均为System.Exception类的对象。

对7.当窗体最小化后,再次还原成为活动窗体时将自动触发Paint事件。

错8.不能重载索引器。

错9.声明委托实际上是声明了一个方法。

对10.任何事物都是对象。

三、填空题

1.C#的数据类型有值类型和引用类型。

2.面向对象是一种新兴的程序设计方法,面向对象的基本特征有封装性、

继承性、多态性。

3.C#的类定义中可以包含两种成员:

静态成员和非静态成员。

使用了static关键字修饰的就是静态成员,反之就是非静态成员。

4.创建新对象时将调用类的构造方法。

它主要用来为对象分配存储空间,完成初始化操作。

5.让控件不可用的属性是Enabled。

6.让控件不可见的属性是Visible。

7.声明一个10行20列的二维整型数组A的语句为:

int[,]A=newint[10,20];

8.构造函数在创建对象时被调用。

9.类是一种数据结构,它使用class关键字声明。

10.类声明后,可以创建类的实例,创建类的实例要使用new关键字。

类的实例相当于一个变量。

创建类的实例的格式如:

类名对象名=new类名(参数列表)。

11.一个接口定义一个协定。

实现接口的类或结构必须遵守其协定。

接口的声明格式为:

[访问修饰符]interface接口名[:

基接口]。

12.抽象类是一种不能不能直接创建对象的类,通常是部分实现的或完全不实现。

抽象类使用关键字abstract来声明。

13.创建新对象时将调用类的构造方法。

它主要用来为对象分配存储空间,完成初始化操作。

四、程序填空题

1.根据程序,填写结果。

usingSystem;

classPropertyClass

{

privatestringSexType;

publicstringSex

{

get{returnSexType;}

set

{if(value==”男”)

SexType=”先生”;

elseif(value==”女”)

SexType=”女士”;

else

SexType=”数据错误”;

}

}

}

publicclassprogram

{

publicstaticvoidMain()

{

PropertyClasspCls=newPropertyClass();

pCls.Sex="男";

Console.WriteLine(pCls.Sex);

Console.ReadLine();

}

}

程序输出为:

先生

2.根据程序,填写结果。

publicclassStudent

{

privatestringname;

privatestaticintcounter;

publicstaticintnumberOfStudent;

publicstirngName

{

get{returnname;}

set{numberOfStudent=numberOfStudent+1;name=value;0}

}

publicstaticintCounter

{

get{returncounter;}

}

publicStudent()

{

counter=counter+1;

}

}

publicclassPropertyTest

{

publicstaticvoidMain()

{

Student.numberOfStudent=0;

Students1=newStudent();s1.Name="王";

Students2=newStudent();s1.Name="张";

Students3=newStudent();s1.Name="李";

Console.WriteLine("当前学生数为:

{0}",Student.Counter.ToString());

Console.ReadLine();

}

}

}

程序输出为:

当前学生数为:

3

3.写出下列函数的功能。

staticintSA(inta,intb)

{

      if(a>b)

return1;

      elseif(a==b)

return0;

      else

return-1;

}

比较大小。

4.写出下列函数的功能。

staticfloatFH(){

   floaty=0,n=0;

   intx=Convert.ToInt32(Console.ReadLine());//从键盘读入整型数据赋给x

   while(x!

=-1){

          n++;y+=x;

          x=Convert.ToInt32(Console.ReadLine());

   }

if(n==0)

returny;

else

returny/n;

}

从键盘输入无限个数(以输入-1作为输入的结束条件),求出这些数(不含-1)的平均数。

5.写出以下程序的功能。

staticvoidWA(refint[]a,intn){

for(inti=0;i

intk=i;

for(intj=i+1;j

if(a[j]

intx=a[i];a[i]=a[k];a[k]=x;}

}

将数组按从小到大的顺序进行排序。

6.写出以下程序运行结果。

usingSystem;

classTest

{

int[]a={1,2,3,4,5,6,7,8};

publicstaticvoidMain()

{ints0,s1,s2;

s0=s1=s2=0;

for(inti=0;i<8;i++){

switch(a[i]%3){

case0:

s0+=a[i];break;

case1:

s1+=a[i];break;

case2:

s2+=a[i];break;}

}

Console.writeLine(s0+““+s1+““+s2);

}

91215

7.写出以下程序运行结果。

usingSystem;

classTest

{

constintN=5;

publicstaticvoidMain(){

inta=0;

for(inti=1;i

{

intc=0,b=2;

a+=3;c=a+b;

Console.writeLine(c+““);

}}

581114

8.写出以下程序的功能。

staticvoidf2(refdouble[]a,intn)

{inti;doublesum=0;

for(i=0;i

sum/=n;

for(i=0;i

if(a[i]>=sum)

Console.write(a[i]+““);

Console.writeLine();

}

输出数组中比平均数大的数字。

9.阅读以下的C#代码:

classA

{

publicA()

{Console.WriteLine("A");}

}

classB:

A

{

publicB()

{Console.WriteLine("B");}

}

classProgram

{

publicstaticvoidMain()

{

Bb=newB();

Console.ReadLine();

}

}

A

上述代码运行后,将在控制台窗口输出B

10.写出程序的输出结果

publicabstractclassA

{

publicA()

{

Console.WriteLine('A');

}

publicvirtualvoidFun()

{

Console.WriteLine("A.Fun()");

}

}

publicclassB:

A

{

publicB()

{

Console.WriteLine('B');

}

publicnewvoidFun()

{

Console.WriteLine("B.Fun()");

}

publicstaticvoidMain()

{

Aa=newB();

a.Fun();

}

}

A

B

A.Fun()

五、应用题

1.如图所示,在txtBox1和txtbox2中输入数字,当单击button1,将两者的和在label1中显示显示出来。

请完成button1的单击事件。

(注意,当输入的不是数字的时候,请在label1中提示“请输入整数!

”)。

privatevoidbutton1_Click(objectsender,EventArgse)

{

doublex,y;

try

{

x=Convert.ToDouble(textBox1.Text);

y=Convert.ToDouble(textBox2.Text);

}

catch

{

label1.Text="请输入数字!

";

return;

}

label1.Text=Convert.ToString(x+y);

}

2.有Access数据库XXX。

在XXX数据库中有student表如下所示。

student表

字段

数据类型

描述

sNo

string

学生学号

sName

string

学生姓名

sAge

int

学生年龄

利用OleDbConnection,OleDbCommand,OleDbDataReader等输出年龄大于25岁以上的学生的全部数据。

privatevoidbutton1_Click(objectsender,EventArgse)

{

stringsqlcnn="Provider=microsoft.jet.oledb.4.0;datasource=xxxx.mdb";

OleDbConnectioncnn=newOleDbConnection(sqlcnn);

stringcmdtxt="select*fromstudentwhereSAge>=25";

cnn.Open();

DataSetdst=newDataSet();

OleDbCommandcmd=newOleDbCommand(cmdtxt,cnn);

OleDbDataReaderreader=cmd.ExecuteReader();

strings="";

while(reader.Read())

{

s+=reader["SName"].ToString()+"\t"+reader["SNo"].ToString()+"\t"+reader["SAge"].ToString()+"\r\n";

}

textBox1.Text=s;

reader.Close();

cnn.Close();

}

3.如图所示,当单击“确定”按钮时,将客户填写的资料用对话框显示出来。

当单击取消退出整个应用程序。

privatevoidbutton1_Click(objectsender,EventArgse)

{

strings,s0,s1="",s2="";

s0=textBox1.Text;

s=textBox2.Text;

if(checkBox1.Checked==true)

s1+=checkBox1.Text+"";

if(checkBox2.Checked==true)

s1+=checkBox2.Text+"";

if(checkBox3.Checked==true)

s1+=checkBox3.Text;

if(radioButton1.Checked==true)

s2+=radioButton1.Text;

if(radioButton2.Checked==true)

s2+=radioButton2.Text;

if(radioButton3.Checked==true)

s2+=radioButton3.Text;

if(s0!

="")

s0="姓名:

"+s0+';';

if(s!

="")

s="电话:

"+s+';';

if(s1!

="")

s1="爱好:

"+s1+';';

if(s2!

="")

s2="学历:

"+s2+'。

';

MessageBox.Show(s0+s+s1+s2);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1