C#16章习题答案.docx
《C#16章习题答案.docx》由会员分享,可在线阅读,更多相关《C#16章习题答案.docx(22页珍藏版)》请在冰豆网上搜索。
![C#16章习题答案.docx](https://file1.bdocx.com/fileroot1/2022-11/17/4bf6fb39-bbf1-4bd8-9784-dab6833608df/4bf6fb39-bbf1-4bd8-9784-dab6833608df1.gif)
C#16章习题答案
C#习题练习(1-6章)
1.在Visual窗口中,在__________窗口中可以察看当前项目的类和类型的层次信息。(B)
A.解决方案资源管理器
B.类视图
C.资源视图
D.属性
2.C#中每个int类型的变量占用_______个字节的内存。(C)
3.在C#中,表示一个字符串的变量应使用以下哪条语句定义?
(B)
str;
str;
strasstring
*str;
4.在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?
(A)
theMoney;
theMoney;
theMoney;
theMoneyasdouble
5.C#中,新建一字符串变量str,并将字符串"Tom'sLivingRoom"保存到串中,则应该使用下列哪条语句?
(A)
str="Tom\'sLivingRoom";
str="Tom'sLivingRoom";
str("Tom'sLivingRoom");
str("Tom"sLivingRoom");
#中MyClass为一自定义类,其中有以下方法定义:
publicvoidHello(){…}
使用以下语句创建了该类的对象,并使变量obj引用该对象,那么,访问类MyClass的Hello方法正确的是:
(A)
MyClassobj=newMyClass();
分析下列C#语句,注意类MyClass没有访问修饰符:
namespaceClassLibrary1
{
classMyClass
{
publicclasssubclass
{inti;}
}
}
若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择_________。(D)
8.分析下列程序:
publicclassclass4
{
privatestring_sData="";
publicstringsData{set{_sData=value;}}
}
在Main函数中,在成功创建该类的对象obj后,下列哪些语句是合法的?
(A)
="Itisfunny!
";
=100;
分析下列程序中类MyClass的定义
classBaseClass
{publicinti;}
classMyClass:
BaseClass
{publicnewinti;}
则下列语句在Console上的输出为_______.(D)
MyClassy=newMyClass();
BaseClassx=y;
=100;
("{0},{1}",,;在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成____。(C)
方法
方法
方法
方法
11.类MyClass中有下列方法定义:
publicvoidtestParams(paramsint[]arr)
{("使用Params参数!
");}
publicvoidtestParams(intx,inty)
{("使用两个整型参数!
");}
请问上述方法重载有无二义性?
若没有,则下列语句的输出为_______.(B)
MyClassx=newMyClass();
(0);
(0,1);
(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)
运行时忽略该异常
运行时马上强制退出该程序
运行时继续在MyFunc的调用堆栈中查找提供该异常处理的过程
抛出一个新的“异常处理未找到”的异常
14.在C#中,下列哪条语句能创建一个具有3个初始值为""的元素的字符串数组?
(C)
StrList[3]("");
[3]StrList={"","",""};
[]StrList={"","",""};
[]StrList=newstring[3];
15.下列语句创建了多少个string对象?
(D)
string[,]strArray=newstring[3][4];
16.接口Animal定义如下:
publicinterfaceAnimal
{voidMove();}
则下列抽象类的定义中,哪些是不合法的?
(D)
classCat:
Animal{abstractpublicvoidMove();}
classCat:
Animal{virtualpublicvoidMove(){("Move!
");}}
classCat:
Animal{publicvoidMove(){("Move!
");}}
classCat:
Animal{publicvoidEat(){("Eat!
");}}
17.关于结构类型,下列说法哪些是正确的?
(A)
A.结构是值类型
B.结构中不允许定义带参数的实例构造函数;
C.结构中不允许定义析构函数
D.结构中可以定义成员方法,但是方法内不能使用this指针
18.下列语句的输出是________。(B)
doubleMyDouble=9;
("{0:
E}",MyDouble);
A.$123,456,
已知在某WindowsForm应用程序中,主窗口类为Form1,程序入口为静态方法。如下所示:
publicclassForm1:
{
newForm1()).Open();
D.(newForm1()).Run();
20.用鼠标右击一个控件时出现的菜单一般称为:
(C)
A.主菜单
B.菜单项
C.快捷菜单
D.子菜单
21.变量openFileDialog1引用一个OpenFileDialog对象。为检查用户在退出对话框时是否单击了“打开”按钮,应检查()的返回值是否等于_______;(A)
C#程序中,为使变量myForm引用的窗体对象显示为对话框,必须:
(A)
A.使用方法显示对话框
B.将myForm对象的isDialog属性设为true
C.将myForm对象的FormBorderStyle枚举属性设置为FixedDialog
D.将变量myForm改为引用类的对象
23.WindowsForm应用程序中,要求下压按钮控件Button1有以下特性:
正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高。那么,在程序中,属性的值应设定为:
(B)
在类的定义中,类的__________描述了该类的对象的行为特征。(A)
A.类名
B.方法
C.所属的名字空间
D.私有域
25.以下类MyClass的属性count属于_____属性.(A)
classMyClass
{
inti;
intcount
{
get{returni;}
}
}
A.只读
B.只写
C.可读写
D.不可读不可写
26.类MyClass中,下列哪条语句定义了一个只读的属性Count?
(B)
intCount;
intcount;publicintCount{get{returncount;}}
readonlyintCount;
readonlyintCount
{get{returncount;}set{count=value;}}
27.C#中的类型float对应.NET类库中的(A)
判断下列类MyClass的定义中哪些是合法的抽象类?
(A)抽象成员不能是私有的
classMyClass
{publicabstractintgetCount();}
classMyClass
{abstractintgetCount();}
abstractclassMyClass
{abstractintgetCount();}
abstractclassMyClass
{abstractintgetCount();}
29.已知接口IHello和类Base、MyClass的定义如下
interfaceIHello
{voidHello();}
classBase:
IHello
{publicvoidHello(){"HelloinBase!
");}}
classDerived:
Base
{publicvoidHello(){"HelloinDerived!
");}}
则下列语句在控制台中的输出结果为__(A)___。IHellox=newDerived();();
inBase!
inDerived!
inBase!
HelloinDerived!
inDerived!
HelloinBase!
..
30.为了将字符串str=“123,456”转换成整数123456,应该使用以下哪条语句?
(A)
Num=(str);
Num=(int);
Num=(int)str;
Num=(str,已知结构Resource的定义如下:
structResource{publicintData=0;
}则下列语句的运行结果为_________。(D)印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)
34.在C#语言中,下面的运算符中,优先级最高的是__(A)__。
A.%
B.++
C./=
D.>>
35.能正确表示逻辑关系“a>=10或a<=0”的C#语言表达式是__(D)__。
>=10ora<=0
>=10|a<=0
>=10&&a<=0
>=10||a<=0
36.以下程序的输出结果是__(C)__。Usingsystem;
Class