C#程序设计练习题.docx

上传人:b****5 文档编号:6238641 上传时间:2023-01-04 格式:DOCX 页数:14 大小:31.88KB
下载 相关 举报
C#程序设计练习题.docx_第1页
第1页 / 共14页
C#程序设计练习题.docx_第2页
第2页 / 共14页
C#程序设计练习题.docx_第3页
第3页 / 共14页
C#程序设计练习题.docx_第4页
第4页 / 共14页
C#程序设计练习题.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C#程序设计练习题.docx

《C#程序设计练习题.docx》由会员分享,可在线阅读,更多相关《C#程序设计练习题.docx(14页珍藏版)》请在冰豆网上搜索。

C#程序设计练习题.docx

C#程序设计练习题

《C#程序设计》练习题

一、选择题

1、floatf=-123.567F;inti=(int)f;

i的值现在是()

A.-123B.-124C.-122D.以上都有可能

2、下列选项中,()是引用类型。

A.enum类型B.struct类型C.string类型D.int类型

3、C#的数据类型有()

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

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

4、下列描述错误的是()

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

B.抽象类自身可以实现成员而接口不可以

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

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

5、如果将窗体的FormBoderStyle设置为None,则()。

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

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

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

D.窗体是透明的

6、如果要将窗体设置为透明的,则()

A.要将FormBoderStyle属性设置为None

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

C.要将locked属性设置为True

D.要将Enabled属性设置为True

7、装箱、拆箱操作发生在:

()

A.类与对象之间B.对象与对象之间

C.引用类型与值类型之间D.引用类型与引用类型之间

8、“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?

()

A.publicB.protected

C.internalD.protectedinternal

9、C#中,新建一字符串变量str,并将字符串"Tom'sLivingRoom"保存到串中,则应该使用下列哪条语句?

A.stringstr="Tom\'sLivingRoom";

B.stringstr="Tom'sLivingRoom";

C.stringstr("Tom'sLivingRoom");

D.stringstr("Tom"sLivingRoom");

10、小数类型(decimal)和浮点类型都可以表示小数,正确说法:

()

A.两者没有任何区别B.小数类型比浮点类型取值范围大

C.小数类型比浮点类型精度高

D.小数类型比浮点类型精度低

11、加载窗体是触发的事件是()

A.ClickB.LoadC.LostFocusD.DoubleClick

12、改变窗体的标题,需修改的窗体属性是()

A.TextB.NameC.TitleD.Index

13、在C#中,下列常量定义正确的是()。

A.ConstdoublePI3.1415926;B.Constdoublee=2.7;

C.definedoublePI3.1415926;D.definedoublee=2.7;

14、在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了()。

A.只读属性B.只写属性

C.读写属性D.不可读不可写的属性

15、在C#中,一个类().

A.可以继承多个类B.可以实现多个接口

C.在一个程序中只能有一个子类D.只能实现一个接口

16、在C#中定义一个数组,正确的代码为()。

A.intarraya=newint[5];B.int[]arraya=newint[5];

C.intarraya=newint[];D.int[5]arraya=newint;

17、在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用()关键字。

A.overrideB.newC.staticD.virtual

18、在C#中,下列代码的运行结果是()

int[]num=newint[]{1,3,5};

ArrayListarr=newArrayList();

for(inti=0;i

{

arr.Add(num[i]);

}

arr.Insert(1,4);

Console.Write(arr[2]);

A.1B.3C.4D.5

19、在C#中,接口与抽象基类的区别在于()。

A.抽象基类可以包含非抽象方法,而接口只能包含抽象方法

B.抽象基类可以被实例化,而接口不能被实例化

C.抽象基类不能被实例化,而接口可以被实例化

D.抽象基类能够被继承,而接口不能被继承

20、在C#中,下列代码的运行结果是()。

      int[]num=newint[5]{1,3,2,0,0}

      Array,Reverse(num);

      foreach(intiinnum)

{

             Console.Write(i);

      }

A.00123B.12300C.00132D.00231

21、在C#中,()访问修饰符修饰的变量只能由当前程序集访问。

A.publicB.protectedC.internalD.private

22、在C#中,下列代码运行后,变量Max的值是()

Inta=5,b=10,c=15,Max=0;

      Max=a>b?

a:

b;

      Max=c

c:

Max;

A.0B.5C.10D.15

23、int[][]myArray3=newint[3][]{newint[3]{5,6,2},newint[5]{6,9,7,8,3},newint[2]{3,2}};

myArray3[2][2]的值是()

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

24、在C#中,关于continue和break,以下说法正确的是(  )

A.break是中断本次循环

B.continue是中断本次循环,进入一下次的循环

C.break是中断本次循环,进入一下次的循环

D.continue是中断整个循环

25、在C#中,关于while和do…while,以下说法正确的是(  )

A.while先执行然后判断条件是否成立

B.while最少的循环次数是1次

C.do…while先执行然后判断条件是否成立

D.do…while最少的循环次数是0次

26、在.NET中,程序员在代码中漏写了一个大括号,这属于(  )

A.逻辑错误B.运行时错误

C.语法错误D.自定义错误

27、在C#中,下列变量定义与赋值正确的是(    )

A.inta=同学;B.floata=老师;

C.stringa=’教室’;Dchara=’学’;

28、下列不属于值类型的有(  )

A.classB.enumC.structD.int 

29、以下说法正确的是(    )

A.构造函数名不必和类名相同

B.一个类可以声明多个构造函数

C.构造函数可以有返回值

D.编译器可以提供一个默认的带一个参数的构造函数

30、以下说法不正确的是(  )

A.一个类可以实现多个接口

B.一个派生类可以继承多个基类

C.在C#中实现多态,派生类中重写基类的虚函数必须在前面加override

D.子类能添加新方法

31、下面几个函数,()是重载函数

voidf1(int)intf1(int)intf1(int,int)floatk(int)

A.四个全是B.和C.和D.和

32、异常是在什么时候发生的?

A.编写程序时B.编译时

C.运行时D.最终用户发出请求时

33、构造函数何时被调用?

A.创建对象时B.类定义时

C.使用对象的方法时D.使用对象的属性时

34、抽象方法

A.可以有方法体B.可以出现在非抽象类中

C.是没有方法体的方法D.抽象类中的方法都是抽象方法

35、关于继承的说法正确的是:

A.子类将继承父类所有的成员

B.子类将继承父类的非私有成员

C.子类只继承父类public成员

D.子类只继承父类的方法,而不继承属性

36、关于构造函数的说法哪个正确?

A.一个类只能有一个构造函数

B.一个类可以有多个不同名的构造函数

C.构造函数与类同名

D.构造函数不能被重载

37、abstractclassBaseClass

{

publicvirtualvoidMethodA(){Console.WriteLine("BaseClass");}

}

classClass1:

BaseClass

{

publicoverridevoidMethodA(){Console.WriteLine("Class1");}

}

classClass2:

Class1

{

publicvoidMethodB(){}

}

classMainClass

{

publicstaticvoidMain(string[]args)

{

BaseClasso=newClass2();

o.MethodA();

}

}

请问,此程序输出结果是:

A.BaseClassB.BassClassClass1

C.Class1D.Class1BassClass

38、以下哪一个命名空间是在进行SqlServer数据库访问时必须加载的?

A.System.Data.OdbcB.System.Data.SqlClient

C.System.Data.OleDbD.System.Data.SqlTypes

39、数据库连接中的参数设置ConnectionTimeout=10表示

A.设置数据库连接超时为10秒钟

B.设置数据库连接超时为10毫秒

C.设置数据库连接的用户最多为10个

D.设置数据库连接的次数不能超过10次

40、让控件不可用的属性是以下哪一个

A.AllowDropB.Enabled

C.BoundsD.Visible

41、让控件不可见的属性是以下哪一个?

A.CursorB.Enabled

C.DockD.Visible

42、设置控件布局位置的属性是以下哪一个?

A.DisplayRectangleB.FlatStyle

C.DockD.Location

43、下面是几条定义类的语句,只能被继承的类是()

A.classstudent

B.publicclassstudent

C.abstractclassstudent

D.sealedclassstudent

44、如果要在窗体中始终显示系统的当前时间,应该使用的控件是()

A.CheckBoxB.Panel

C.RadioButtonD.Timer

45、下面对C#中类的构造函数描述正确的是()

A.与方法不同的是,构造函数只有void这一种返回类型

B.构造函数如同方法一样,需要人为调用才能执行其功能

C.构造函数一般被声明成private型

D.在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数

46、下面有关类的继承的说法正确的是()

A.派生类的成员应该与基类的成员一致,不能为派生类增加新成员

B.在派生类中可通过隐藏继承成员,来删除基类的成员

C.在描述类的继承关系时,父类与子类是基类与派生类的另一种说法

D.所有的类成员都可以被继承

47、下列关于重载的说法,错误的是()

A.方法可以通过指定不同的参数个数重载

B.方法可以通过指定不同的参数类型重载

C.方法可以通过指定不同的参数传递方式重载

D.方法可以通过指定不同的返回值类型重载

48、面向对象的语言具有继承性、多态性和()性

A.封装B.拆箱C.封闭D.逻辑

49、当整数a赋值给一个object对象是,整数a将会被()。

A.拆箱B.丢失C.装箱D.出错

50、委托声明的关键字是()

A.delegateB.deleteC.publicD.interface

51、以下标识符中,正确的是:

A.nNAmeB.typeofC.6bD.x5#

52、以下标识符中,错误的是:

A._b39B.x345C.6_321D.nAvergae

53、以下类型中,不属于值类型的是:

A.整数类型B.布尔类型

C.字符类型D.类类型

54、分析下面这段代码,执行后count的值为()

inti,j,count=0;

for(i=4;i>0;i--)

for(j=0;j<6;j++)

{

count++;

}

A.15B.24C.20D.21

55、程序运行后的输出结果是()

staticvoidMain(string[]args)

{

Inta=5,b=4,c=6,d;

d=a>b?

(a>c?

a:

c):

(b);

Console.WriteLine(“{0}”,d);

Console.ReadKey(true);

}

A.5B.4C.6D.不确定

56、已知a,b,c的值分别为4,5,6,执行下面的程序段后,判断变量n的值为:

If(c

n=a+b+c;

elseif(a+b

n=c-a-b;

else

n=a+b;

A.3B.-3C.9D.15

二、填空题

1、usingSystem;

classTest{

publicvoidF(strings)

{

for(inti=0;i

Console.Write(s[i]);

return;

}

publicstaticvoidMain()

{

stringstr=“江苏建筑职业技术学院”;

Testt=newTest();

t.F(str);}}

写出程序的运行结果:

2、doubled;

inti,e;

Console.WriteLine("请输入一个正数");

d=double.Parse(Console.ReadLine());

i=(int)d;

if((d-i)>=0.5)

e=i+1;

else

e=i;

该程序段的功能:

输入一个正数,对该数进行四舍五入到个位数

3、求以下表达式的值,要求同时写出值的类型。

sizeof(int)*10/3.212.5double

8>6+3Falseboolean

5-2<=3trueboolean

6>2&&8>9falseboolean

“Computer”==”Games”falseblooean

“hello”+”world”“helloworld”string

@"Thisis""abook"!

="Thisis\"abook"falseboolean

4、产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复,请完善编程。

说明:

int[]intArr=new________;int[100]

ArrayListmyList=newArrayList();

Randomrnd=new_________;Random()

while(myList.Count<100)

{

intnum=rnd.Next(1,101);

if(!

myList.Contains(num))

myList.Add(________);num

}

for(inti=0;i<100;i++)

intArr[i]=(int)___________;myList[i]

5、下面的例子中

usingSystem;

classA

{publicstaticintX;

staticA()

{X=B.Y+1;}

}

classB

{publicstaticintY=A.X+1;

staticB(){}

staticvoidMain()

{Console.WriteLine("X={0},Y={1}",A.X,B.Y);}

}

产生的输出结果是什么?

X=___________,Y=____________

6、在switch语句中,每个语句标号所含关键字case后面的表达式必须是。

7、在while循环语句中,一定要有修改循环条件的语句,否则,可能造成。

8、传入某个属性的SET方法的隐含参数的名称是。

9、在方法定义中,virtual含义:

被virtual修饰的方法可以被覆写。

10、C#数组元素的下标从开始。

11、元素类型为double的2行5列的二维数组共占用字节的存储空间。

12、对于方法,参数传递分为值传递和 两种。

13、以下C#代码输出结果是:

classA

{

publicA()

{

Console.WriteLine(“A”);

}

}

classB:

A

{

publicB()

{

Console.WriteLine(“B”);

}

}

ClassProgram

{

publicstaticvoidMain(string[]args)

{

Bb=newB();

Console.ReadKey(true);

}

}

函数A为:

函数B为:

类B与类A的关系:

程序运行输出结果:

14、根据如下的流程图写出程序代码:

15、指出下列代码中标有号码的语句哪些是错误的,并说明原因:

usingSystem;

classmyClass

{

publicinta;

staticpublicintb;

voidFun1()//定义一个非静态方法

{

a=10;………………………………………………

(1)

b=20;……………………………………………….

(2)

}

StaticvoidFun2()//定义一个静态成员方法

{

a=10;……………………………………………(3)

b=20;……………………………………………(4)

}

}

classTest

{

staticvoidMain()

{

myClassA=newmyClass();

A.a=10;…………………………………………..(5)

A.b=10;…………………………………………..(6)

myClass.a=20;…………………………………(7)

myClass.b=20;………………….…………….(8)

}

}

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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