C 复习题.docx
《C 复习题.docx》由会员分享,可在线阅读,更多相关《C 复习题.docx(12页珍藏版)》请在冰豆网上搜索。
C复习题
《C#程序设计》期终复习试题2
一、
二、单项选择题
1.C#源程序文件的拓展名是()
AvbBcCcppDcs
2.C#的数据类型有()
A值类型和调用类型B值类型和引用类型
C引用类型和关系类型D关系类型和调用类型
3.下列关于异常的描述正确的是()
A在C#中一个try块只能有一个catch块
B一个try块可能产生多个异常
C可以使用throws回避方法中的异常
Dfinally块是异常处理所必需的
#程序中的类myClass中的成员变量var1如下:
publicclassmyClass
{
privateintvar1;
}
则可以访问var1的有()。
A在myClass类中BmyClass的继承类
CmyClass的父类D和myClass在同一命名空间下的类
5.在C#程序中,使用关键字()来定义静态成员。
AmallocBclassCprivateDstatic
6.在.NET中,()类提供了操作字符串的方法。
AC
BD
7.在C#程序中,如果类B要继承类A,类B正确的定义为()。
ApublicclassBinheritACpublicclassB:
:
A
BpublicclassB:
ADpublicclassBfromA
8.下面关于C#中值类型和引用类型的描述正确的是()。
A结构属于引用类型B字符串属于值类型
C所有内置的数据类型都是值类型,所有用户定义的数据类型都是引用类型
D值类型变量直接存放真正的数据,引用类型变量存放的是指向真正数据的内存地址
Student{
stringtype=”学员”;
internalstringname=”李明”;
}
publicclassTest{
staticvoidMain(){
Studentstu=newStudent();列语句在控制台上的输出是多少?
()
stringmsg=@”Hello\nWorld!
”;
AHello\nWorld!
B@”Hello\nWorld!
”
CHelloWorld!
DHello
World!
11.将变量从字符串类型转换为数值类型可以使用的类型转换方法是()。
A.Str()B.CcharC.CStr()D.();
12.下列类型中,哪些不属于引用类型?
()。
AStringBintCClassDDelegate
13.数组pins的定义如下:
int[]pins=newint[4]{9,2,3,1};
则pins[1]=()
A1B2C3D9
14.创建数据库连接使用的对象是()。
AConnectionBCommandCDataReaderDDataSet
15.下列关于C#面向对象应用的描述中,哪项是正确的?
()。
A派生类是基类的扩展,派生类可以添加新的成员,也可去掉已经继承的成员
Babstract方法的声明必须同时实现
C声明为sealed的类不能被继承
D接口像类一样,可以定义并实现方法
16.一般情况下,异常类存放在什么命名空间中?
()。
A生成异常类所在的命名空间B命名空间
C命名空间DSystem命名空间
17.以下说法正确的是()。
A虚方法必须在派生类中重写,抽象方法不需要重写
B虚方法可以在派生类中重写,抽象方法必须重写
C虚方法必须在派生类中重写,抽象方法必须重写
D虚方法可以在派生类中重写,抽象方法也不需要重写
18.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成()。
Asealed方法Bpublic方法Cvitual方法Doverride方法
19.面向对象三个基本原则是()。
A抽象,继承,派生B类,对象,方法
C继承,封装,多态D对象,属性,方法
20.c#的引用类型包括类、接口、数组、委托、object和string.其中object()根类。
A只是引用类型的B只是值类型的
C只是string类型的D是所有值类型和引用类型的
21.在C#中无需编写任何代码就能将int型数值转换为double型数值,称为()。
A显式转换B隐式转换C数据类型转换D变换
22.在C#编程中,访问修饰符控制程序对类中成员的访问,如果不写访问修饰符,类的默认访问类型是()。
ApublicBprivateCinternalDprotected
23.在C#中创建类的实例需要使用的关键字是()
AthisBbaseCnewDas
24.在C#语言中,方法重载的主要方式有两种,包括()和参数类型不同的重载。
A参数名称不同的重载B返回类型不同的重载
C方法名不同的重载D参数个数不同的重载
25.下列关于继承说法中,哪个选项是正确的()
A派生类可以继承多个基类的方法和属性。
B派生类必须通过base关键字调用基类的构造函数
C继承最主要的优点是提高代码性能
D继承是指派生类可以获取其基类特征的能力。
26.在C#中创造一个对象是,系统最先执行的是()中的语句。
Amain方法B构造函数C初始化函数D字符串函数
27.分析一下C#片段中的属性,该属性是()属性。
privatestringname;
PublicstringName{
get{returnname;}
}
A可读可写B只写C只读D静态
28..NET框架是.NET战略的基础,是一种新的便捷的开发平台,它具有两个主要的组件,分别是()和类库。
A公共语言运行库BWeb服务
C命名空间DMain()函数
29.在以下代码中,()是类Teacher的方法。
publicclassTeacher
{
intage=33;
privatestringname;
publicstringName
{
get{returnname;}
set{name=value;}
}
}
publicvoidSaySomething{
}
ANameBnameCageDSaySomething
30.构建Windows窗体以及其所使用空间的所有类的命名空间是下列哪个选项()
AB
CD
31.下列关于接口的说法,哪项是正确的()
A接口可以被类继承,本身也可以继承其他接口。
B定义一个接口,接口名必须使用大写字母I开头
C接口像类一样,可以定义并实现方法
D类可以继承多个接口,接口只能继承一个接口
32.在C#中,下列关于属性的使用正确的是()。
A.
B.privateintnum;
publicstringNum
{
get{retuennum;}
set{num=value;}
}
C.
D.privateintnum;
publicintNum
{
get{retuennum;}
set{num=value;}
}
E.
F.privateintnum;
publicintNum
{
get{num=value;}
set{retuennum;}
}
G.
H.privateintnum;
privateintNum
{
get{retuennum;}
set{num=value;}
}
33.在C#中,如果类C继承自类B,类B继承自类A,则以下描述正确的是()。
AC不仅继承了B中的成员,同样也继承了A中的成员
BC只继承了B中的成员
CC只继承了A中的成员
DC不能继承了A或B中的成员
34.以下关于密封类的说法,正确的是()
A.密封类可以用作基类B.密封类可以是抽象类
C.密封类永远不会有任何派生类D.密封类或密封方法可以重写或继承
35.关于base关键字,下列使用方法错误的是:
()
A.在子类中,base可以调用父类的构造函数
B在子类中,base关键字可以访问父类的公共属性
C在子类中,base关键字不可以调用父类的protected成员
D在子类中,base关键字不可以调用父类的private成员
二、填空:
1、常量通过关键字()进行声明。
2、封装的对象之间进行通信的一种机制叫做( )。
3、在windows程序中,若想选中复选框,则应将该控件的()属性设置为true。
4、类是引用类型,而结构是()。
5、C#数组元素的下标从()开始
6、要在控制台程序运行时输入信息,可使用Console类的()方法。
7、定义方法时使用的参数是(),调用方法时使用的参数是()。
8、get访问器必须用()语句来返回。
9、在类作用域中能够通过直接使用该类的()成员名进行访问。
10、所有的Windows窗体控件都是从.Control类继承而来,它公开的成员主要包含:
()()()
11、在windows程序中,若想选中复选框,则应将该控件的()属性设置为true。
12、专用于数组和集合的循环语句是()。
三、判断题
1、若方法的名字相同、参数相同,而方法的返回值类型不同,则可以实现方法的重载。
2、布尔型变量可以赋值为0或1。
3、对象是人们要进行研究的任何事物在面向对象程序设计中的抽象。
4、结构和类均为引用类型
5、属性必须同时定义get块和set块。
6、构造函数和析构函数均可以被显式调用。
7、在C#中,每个方法都必须定义为类或结构的成员。
8、在一个程序内,不可以包含2个及以上的Main方法。
9、用ref修饰符声明的形参是引用形参。
10、可以不使用new关键字来对数组进行初始化()
四、读程序写结果
1、classProgram
{
staticvoidMain(string[]args)
{
Bb=newB();
Aa=b;
();
();
();
}
}
classA
{
publicvirtualvoidG()
{
("!
");
}
}
classB:
A
{
publicoverridevoidG()
{
("!
");
}
}
程序的输出结果是_____________________________
2、staticvoidMain(string[]args)
{
try
{
intx=());
inty=());
intz=x/y;
}
catch(FormatException)
{("格式不符");}
catch(DivideByZeroException)
{("除数不能是0");}
catch(Exception)
{("Exception!
");}
finally
{
("thankyouforusingtheprogram!
");
}
();
}
若分别从键盘上输入5和x,则程序的最终执行结果是
3、写岀下面程序的运行结果
classProgram
{
staticvoidMain(string[]args)
{
Class1c1=newClass1();
=5;
();
Class1c2=newClass1();
();
();
}
}
publicclassClass1
{
privatestaticintx=0;
publicstaticinty=x;
publicintz=y;
publicvoidoutput()
{
;
;
(z);
}
}
五、综合题
1、类和对象的区别和关系是什么?
2、构造函数有哪些特征?
3、编程实现判断某一年是否是闰年。
4、编写一个信息类information。
使用shezhi方法设置会员的姓名、年龄、学校信息。
使用xianshi方法将会员的姓名、年龄、学校信息显示出来。