C章习题答案.docx

上传人:b****7 文档编号:10020473 上传时间:2023-02-08 格式:DOCX 页数:29 大小:25.63KB
下载 相关 举报
C章习题答案.docx_第1页
第1页 / 共29页
C章习题答案.docx_第2页
第2页 / 共29页
C章习题答案.docx_第3页
第3页 / 共29页
C章习题答案.docx_第4页
第4页 / 共29页
C章习题答案.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

C章习题答案.docx

《C章习题答案.docx》由会员分享,可在线阅读,更多相关《C章习题答案.docx(29页珍藏版)》请在冰豆网上搜索。

C章习题答案.docx

C章习题答案

C#习题练习(1-6章)

1.在VisualStudio.NET窗口中,在__________窗口中可以察看当前项目的类和类型的层次信息?

(B)

A.解决方案资源管理器

B.类视图

C.资源视图

D.属性

2.C#中每个int类型的变量占用_______个字节的内存?

(C)

A.1

B.2

C.4

D.8

3.在C#中,表示一个字符串的变量应使用以下哪条语句定义(B)

A.CStringstr;

B.stringstr;

C.Dimstrasstring

D.char*str;

4.在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句(A)

A.decimaltheMoney;

B.inttheMoney;

C.stringtheMoney;

D.DimtheMoneyasdouble

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

A.stringstr="Tom\'sLivingRoom";

B.stringstr="Tom'sLivingRoom";

C.stringstr("Tom'sLivingRoom");

D.stringstr("Tom"sLivingRoom");

6.C#中MyClass为一自定义类,其中有以下方法定义:

publicvoidHello(){…}

使用以下语句创建了该类的对象,并使变量obj引用该对象,那么,访问类MyClass的Hello方法正确的是:

(A)

MyClassobj=newMyClass();

B.obj:

:

Hello();

D.MyClass:

:

Hello();

7.分析下列C#语句,注意类MyClass没有访问修饰符:

namespaceClassLibrary1

{

classMyClass

{

publicclasssubclass

{inti;}

}

}

若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择_________?

(D)

A.private

B.protected

C.internal

D.public

8.分析下列程序:

publicclassclass4

{

privatestring_sData="";

publicstringsData{set{_sData=value;}}

}

在Main函数中,在成功创建该类的对象obj后,下列哪些语句是合法的(A)

C.obj._sData=100;

9.分析下列程序中类MyClass的定义

classBaseClass

{publicinti;}

classMyClass:

BaseClass

{publicnewinti;}

则下列语句在Console上的输出为_______.(D)

MyClassy=newMyClass();

BaseClassx=y;

x.i=100;

Console.WriteLine("{0},{1}",x.i,y.i);//(提示:

注意类MyClass中的new关键字)

A.0,0

B.100,100

C.0,100

D.100,0

10.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成____?

(C)

A.sealed方法

B.public方法

C.virtual方法

D.override方法

11.类MyClass中有下列方法定义:

publicvoidtestParams(paramsint[]arr)

{Console.Write("使用Params参数!

");}

publicvoidtestParams(intx,inty)

{Console.Write("使用两个整型参数!

");}

请问上述方法重载有无二义性若没有,则下列语句的输出为_______.(B)

MyClassx=newMyClass();

x.testParams(0);

x.testParams(0,1);

x.testParams(0,1,2);

A.有语义二义性;

B.使用Params参数!

使用两个整型参数!

使用Params参数!

C.使用Params参数!

使用Params参数!

使用Params参数!

D.使用Params参数!

使用两个整型参数!

使用两个整型参数!

12.C#程序中,可使用try..catch机制来处理程序出现的_____错误?

(B)

A.语法

B.运行

C.逻辑

D.拼写

13.C#中,在方法MyFunc内部的try..catch语句中,如果在try代码块中发生异常,并且在当前的所有catch块中都没有找到合适的catch块,则(D)

A.NET运行时忽略该异常

B.NET运行时马上强制退出该程序

C.NET运行时继续在MyFunc的调用堆栈中查找提供该异常处理的过程

D.NET抛出一个新的“异常处理未找到”的异常

14.在C#中,下列哪条语句能创建一个具有3个初始值为""的元素的字符串数组(C)

A.stringStrList[3]("");

B.string[3]StrList={"","",""};

C.string[]StrList={"","",""};

D.string[]StrList=newstring[3];

15.下列语句创建了多少个string对象(D)

string[,]strArray=newstring[3][4];

A.0

B.3

C.4

D.12

16.接口Animal定义如下:

publicinterfaceAnimal

{voidMove();}

则下列抽象类的定义中,哪些是不合法的(D)

A.abstractclassCat:

Animal{abstractpublicvoidMove();}

B.abstractclassCat:

Animal{virtualpublicvoidMove(){Console.Write(Console.Write("Move!

");}}

C.abstractclassCat:

Animal{publicvoidMove(){Console.Write(Console.Write("Move!

");}}

D.abstractclassCat:

Animal{publicvoidEat(){Console.Write(Console.Write("Eat!

");}}

17.关于结构类型,下列说法哪些是正确的(A)

A.结构是值类型

B.结构中不允许定义带参数的实例构造函数;

C.结构中不允许定义析构函数

D.结构中可以定义成员方法,但是方法内不能使用this指针

18.下列语句的输出是________?

(B)

Console.WriteLine("{0:

E}",MyDouble);

A.$123,456,789.00

C.123,456,789.00

19.已知在某WindowsForm应用程序中,主窗口类为Form1,程序入口为静态方法From1.Main?

如下所示:

{

//其他代码staticvoidMain()

{

//在此添加合适代码}}则在Main方法中打开主窗口的正确代码是:

(A)

C.(newForm1()).Open();

D.(newForm1()).Run();

20.用鼠标右击一个控件时出现的菜单一般称为:

(C)

A.主菜单

B.菜单项

C.快捷菜单

D.子菜单

21.变量openFileDialog1引用一个OpenFileDialog对象?

为检查用户在退出对话框时是否单击了“打开”按钮,应检查openFileDialog1.ShowDialog()的返回值是否等于_______;(A)

C.DialogResult.No

22.C#程序中,为使变量myForm引用的窗体对象显示为对话框,必须:

(A)

A.使用myForm.ShowDailog方法显示对话框

B.将myForm对象的isDialog属性设为true

C.将myForm对象的FormBorderStyle枚举属性设置为FixedDialog

23.WindowsForm应用程序中,要求下压按钮控件Button1有以下特性:

正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高?

那么,在程序中,属性Button1.FlatStyle的值应设定为:

(B)

System

24.在类的定义中,类的__________描述了该类的对象的行为特征?

(A)

A.类名

B.方法

C.所属的名字空间

D.私有域

25.以下类MyClass的属性count属于_____属性.(A)

classMyClass

{

inti;

intcount

{

get{returni;}

}

}

A.只读

B.只写

C.可读写

D.不可读不可写

26.类MyClass中,下列哪条语句定义了一个只读的属性Count(B)

A.privateintCount;

B.privateintcount;publicintCount{get{returncount;}}

C.publicreadonlyintCount;

D.publicreadonlyintCount

{get{returncount;}set{count=value;}}

27.C#中的类型float对应.NET类库中的(A)

D.System.Int64

28.判断下列类MyClass的定义中哪些是合法的抽象类(A)抽象成员不能是私有的

A.abstractclassMyClass

{publicabstractintgetCount();}

B.abstractclassMyClass

{abstractintgetCount();}

C.privateabstractclassMyClass

{abstractintgetCount();}

D.sealedabstractclassMyClass

{abstractintgetCount();}

29.已知接口IHello和类Base?

MyClass的定义如下

interfaceIHello

{voidHello();}

classBase:

IHello

classDerived:

Base

{publicvoidHello(

则下列语句在控制台中的输出结果为__(A)___?

IHellox=newDerived();x.Hello();

A.HelloinBase!

B.HelloinDerived!

C.HelloinBase!

HelloinDerived!

D.HelloinDerived!

HelloinBase!

..

30.为了将字符串str=“123,456”转换成整数123456,应该使用以下哪条语句(A)

A.intNum=int.Parse(str);

B.intNum=str.Parse(int);

C.intNum=(int)str;

31.已知结构Resource的定义如下:

structResource{publicintData=0;

}则下列语句的运行结果为_________?

(D)//结构中不能有实例字段初始值设定项

Resource[]list=newResource[20];

A.打印20行,每行输出都是data=0

B.打印20行,每行输出都是data=null

C.打印20行.第1行输出data=0,第2行输出data=2,.,第20行输出data=19

D.出现运行时异常

32.关于C#程序的书写,下列不正确的说法是____?

(D)

A.区分大小写

B.一行可以写多条语句

C.一条语句可写成多行

D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法

33.在C#语言中,下列能够作为变量名的是____?

(C)

A.if

B.3ab

C.a_3b

D.a-bc

34.在C#语言中,下面的运算符中,优先级最高的是__(A)__?

A.%

B.++

C./=

D.>>

35.能正确表示逻辑关系“a>=10或a<=0”的C#语言表达式是__(D)__?

A.a>=10ora<=0

B.a>=10|a<=0

C.a>=10&&a<=0

D.a>=10||a<=0

36.以下程序的输出结果是__(C)__?

Usingsystem;

ClassExample1

{

PublicStaticvoidmain(){

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

Console.Writeline(“{0}”,d=a>b(a>ca:

c):

b);

}

}

A.5

B.4

C.6

D.不确定

37.if语句后面的表达式应该是__(A)__?

A.逻辑表达式

B.条件表达式

C.算术表达式

D.任意表达式

38.有如下程序Usingsystem;

ClassExample1

{

PublicStaticvoidmain()

{

Intx=1,a=0,b=0;

Switch(x)

{

Case0:

b++,break;

Case1:

a++,break;

Case2:

a++,b++,break;

}Console.Writeline(“a={0},b={1}”,a,b);

}}的输出结果是(C)//代码有误,break前面“,”都改为“;”

A.a=2,b=1

B.a=1,b=1

C.a=1,b=0

D.a=2,b=2

39.以下叙述正确的是__(C)__?

A.do….while语句构成的循环不能用其他语句构成的循环来代替

B.do….while语句构成的循环只能用break语句退出

C.用do….while语句构成的循环,在while后的表达式为true时结束循环

D.用do….while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式

40.以下关于for循环的说法不正确的是__(A)__?

A.for循环只能用于循环次数已经确定的情况

B.for循环是先判定表达式,后执行循环体语句

C.for循环中,可以用break语句跳出循环体

D.for循环体语句中,可以包含多条语句,但要用花括号括起来?

41.假定int类型变量占用两个字节,若有定义:

int[]x=newint[10]{0,2,4,4,5,6,7,8,9,10};

则数组x在内存中所占字节数是___(B)?

A.6

B.20

C.40

D.80

42.以下程序的输出结果是:

(C)ClassExample1

{

PublicStaticvoidmain()

{

IntI;

Int[]a=newint[10];

For(i=9;

i>=0;

i--)a[i]=10-I;

Console.Writeline(“{0},{1}{2}”,a[2],a[5],a[8]);

}}

A.258

B.741

C.852

D.369

43.有定义语句:

int[,]a=newint[5,6];

则下列正确的数组元素的引用是____?

(C)

A.a(3,4)

B.a(3)(4)

C.a[3][4]

D.a[3,4]

44.下列的数组定义语句,不正确的是____?

(D)

A.inta[]=newint[5]{1,2,3,4,5}

B.int[,]a=newinta[3][4]

C.int[][]a=newint[3][];

D.int[]a={1,2,3,4};

45.关于C#语言的方法,下列叙述中正确的是___(A)_?

A.方法的定义不能嵌套,但方法调用可以嵌套

B.方法的定义可以嵌套,但方法调用不能嵌套

C.方法的定义和调用都不能嵌套

D.方法的定义和调用都可以嵌套

46.以下所列的个方法头部中,正确的是___?

_(C)

A.voidplay(vara:

Integer,varb:

integer)

B.voidplay(inta,b)

C.voidplay(inta,intb)

D.Subplay(aasinteger,basinteger)

47.下列程序的结果是:

(B)

Usingsystem;

ClassExample1

{

Staticlongfib(intn)

{

If(n>2)return(fib(n-1)+fib(n-2));

Elsererurn

(2);

}PublicStaticvoidmain()

{Console.Writeline(“{0}”,fib(3));

}}

A.2

B.4

C.6

D.8

49.下列程序的执行结果是____?

Usingsystem;(C)代码有误,team后面的“=”去掉

ClassExample1

{

enumteam={my,your=4,his,her=his+10};

PublicStaticvoidmain()

{

Console.Writeline(“{0},{1},{2},{3}”,(int)team.my,(int)team.your,(int)team.his,(int)team.her);

}}

A.0123

B.04010

C.04515

D.14515

50.以下对枚举的定义,正确的是__(B)__?

A.enuma={one.two,three}

B.enuma

{a1,a2,a3};

C.enuma={‘1’,’2’,’3’};

D.enuma

{“one”,”two”,”three”};

51.枚举型常量的值不可以是__(D)__类型

A.int

B.long

C.ushort

D.doule

52.调用重载方法时,系统根据___(B)_____来选择具体的方法?

A.方法名

B.参数的个数和类型

C.参数名及参数个数

D.方法的返回值类型

53.下列的_______不是构造函数的特征?

(D)

A.构造函数的函数名和类名相同

B.构造函数可以重载

C.构造函数可以带有参数

D.可以指定构造函数的返回值

54.类ClassA有一个名为M1的方法,在程序中有如下一段代码,假设该段代码是可以执行的,则修饰M1方法时一定使用了___(B)_____修饰符?

ClassAobj=newClassA();

ClassA.M1();

A.public

B.static

C.private

D.virtual

55.已知类B是由类A继承而来,类A中有一个为M的非虚方法,现在希望在类B中也定义一个名为M的方法,若希望编译时不出现警告信息,则在类B中声明该方法时,应使用___(B)_____方法?

A.static

B.new

C.override

D.virtual

56.下列关于try…catch…finaly语句的说明中,不正确的是_____(D)____?

A.catch块可以有多个

B.finaly

C.catch块也是可选的

D.可以只有try块

57.为了能够在程序中捕获所有的异常,在catch语句的括号中使用的类名为_________?

(A)

A.Exception

B.DivideByZeroException

C.FormatException

D.以上三个均可

58.关于异常,下列的说法中不正确的是____(D)_____?

A.用户可以根据需要抛出异常

B.在被调用方法可通过throw语句把异常传回给调用方法

C.用户可以自己定义异常

D.在C#中有的异常不能被捕获

59.下列说法中正确的是__(D)_______?

A.在C#中,编译时对数组下标越界将作检查

B.在C#中,程序运行时,数组下标越界也不会产生异常

C.在C#中,程序运行时,数组下标越界是否产生异常由用户确定

D.在C#中,程序运行时,数组下标越界一定会产生异常

60.要使窗体刚运行时,显示在屏幕的中央,应设置窗体的___(B)______属性?

A.WindowsState

B.StartPostion

C.CenterScreen

D.CenterParenr

61.要使文本框控件能够显示多行而且能够自动换行,应设置它的___(B)______属性?

A.MaxLength和Multline

B.Multlineh和WordWrap

C.PassWordChar和Multline

D.MaxLength和WordWrap

63.要使复选框控件能够显示出三种状态,应首先设置它的______(C)___属性?

A.ThreeState

B.Checked

C.CheckState

D.Indeterminate

65.在设计菜单时,若希望某个菜单项前面有一个“√”号,应把该菜单项的__________属性设置为true?

(A)_

A.Checked

B.RadioCheck

C.ShowShortcut

D.Enabled

66.下面对Read()和ReadLine()方法的描述,哪些是正确的_____?

(A)(D)

A.Read()方法一次只能从输入流中读取一个字符

B.使用Read()方法读取的字符不包含回车和换行符

C.ReadLine()方法读取的字符不包含回车和换行符

D.只有当用户按下回车键时,Read()和ReadLine()方法才会返回

67.下面对Write()和WriteLine()方法的描述,哪些是正确的____?

(A)(B

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

当前位置:首页 > PPT模板 > 自然景观

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

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