1 / 21
文档名称:

C#复习资料.pdf

格式:pdf   大小:744KB   页数:21页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C#复习资料.pdf

上传人:wawa 2023/3/20 文件大小:744 KB

下载得到文件列表

C#复习资料.pdf

文档介绍

文档介绍:该【C#复习资料 】是由【wawa】上传分享,文档一共【21】页,该文档可以免费在线阅读,需要了解更多关于【C#复习资料 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:.
一、选择题
()

#语言源代码文件的后缀名为()
A..c#..cspD..cs
()
++等语言相比,C#的简单性主要体现在()

“DLL地狱”
#中导入某一命名空间的关键字是()

#中程序的入口方法名是()

二、简答题
#语言的主要优势有哪些
#、

#项目有哪几类简述创建他们的基本操作步骤
第二章C#语言基础
一、选择题
#中的值类型包括三种,它们是()
、浮点型、、字符类型、字符串类型
、枚举类型、、字符类型、枚举类型、
#的引用类型包括类、接口、数组、委托、object和string。其中object()根类
:.
,下面()组的浮点常量都属于double类型。
A.,,
()
A.’\’,’\u0027’,’\x0027’B.‘\n’,’\t’,’\037’C.’a’,’\u0061’,(char)97D.’\x0030’,’\0’,‘0’
()
,Int,***@int,_using,***@using,NO_1,,_A3,***@A3
,C#会基于运算的顺序将他们自动转换成同一类
型。但下面()类型和decimal类型混合在一个表达式中,不能自动提升为decimal.

=8;则下列表达式中,值为2的是()
+=x-=x;%=x-2;>8x=0:x++;x=x+x;
#数组主要有三种形式,它们是()
、二维数组、、浮点型数组、字符型数组
、多维数组、、二维数组、多维数组
[,,]tab=newdouble[2,3,4];那么下面叙述正确的是()
,它的元素一共有24个
,它的元素初始值分别是2,3,4
,使用时可以任意调整
,数组元素的个数可以变化
#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对()进行初始化,静
态构造函数只能对()进行初始化。

#实现了完全意义上的面向对象,所以它没有(),任何数据域和方法都必须封装在类体中。
、全局常量和全局方法
()的参数。
:.
()
和out参数传递方法相同,都是把实在参数的内存地址传递给方法,实参与形参指
向同一个内存存储区域,但ref要求实参必须在调用之前明确赋过值
是将实参传入形参,out只能用于从方法中传出值,而不能从方法调用处接收实参数据
和out参数传递的是实参的地址,所以要求实参和形参的数据类型必须一致
,或者实参能被隐式地转化为形参的类型
,正确的是()


二、简答题

4footsexam-1usingmainWho_an_ILarge&Small_Yearsval(7)2xy
,指出原因;若合法,指出它的数据类型。
3276735u3L‘\87’true“a”‘a’‘\96\45’.55UL

‘0x66’China“中国”“”‘\0x33’“\n\tox34”‘\r’‘\’‘’“\0x33”
‘\0’“ComputerSystem!\n”“\\doc\share\”@”\doc\share\”@”Joe
said””Hello””tome”“Joesaid\”Hello\”tome”
#的表达式。
(1)ax2+bx+c(2)(x+y)3(3)(a+b)/(a-b)

(1)x+y%4*(int)(x+z)%3/2其中,x=,y=13,z=
(2)(int)x%(int)y+(float)(z*w)其中,x=,y=,z=3,w=4
,设原来的a都是10。
(1)a+=a;(2)a%=(7%2);(3)a*=3+4;
(4)a/=a+a;(5)a-=a;(6)a+=a-=a*=a;:.
三、填空题
#中可以把任何类型的值赋给object类型变量,当值类型赋给object类型变量时,系统要
进行()操作;而将object类型变量赋给一个值类型变量,系统要进行()操作,并且必
须加上()类型转换。
#特有的不规则数组是数组的数组,也就是说它的数组元素是(),并且它的内部每个数
组的长度()。
,需要注意的是,初始化时,不论数组的维数是多
少,都必须显式地初始化数组的()元素。
四、程序分析
:______________
classExe1
{
StaticvoidMain(string[]args)
{
intx,y,z;
bools;
x=y=z=0;
s=x++!=0||++y!=0&&++y!=0;
(“x={0},y={1},z={2},s={3}”,x,y,z,s);
();
}
}
:_________________
classExe2
{
StaticvoidMain(string[]args):.
{
inta,b;
a=b=1;
b+=a/b++;
(“a={0},b={1},”,a,b);
b+=--a+(++b);
(“a={0},b={1}”,a,b);
();
}
}
:________________
classExe3
{
StaticvoidMain(string[]args)
{
intHb,Lb,x;
x=ox1af034;
Hb=(x>>16)&0xFFFF;
Lb=x&0x00ff;
(“Hbis{0}\t”,Hb);
(“Lbis{0}”,Lb);
();
}
}
:_________:.
classExe4
{
StaticvoidMain(string[]args)
{
inta=2,b=7,c=5;
switch(a>0)
{
casetrue:
switch(b<10)
{
casetrue:(“^”);break;
casefalse:(“!”);break;
}
break;
casefalse:
switch(c==5)
{
casefalse:(“*”);break;
casetrue:(“#”);break;
}
break;
}
();
();
}:.
}
:___________
classExe5
{
StaticvoidMain(string[]args)
{
int[]x;
x=newint[10];
int[]y={1,2,3,4,5,6,7,8,9,10};
constintSIZE=10;
int[]z;
z=newint[SIZE];
for(inti=0;i<;i++)
{
z[i]=i*2+1;
(“{0,4}”,z[i]);
}
();
}
}
:输出100以内能被3整除且个位数为6的所有整数,请填空。
classExe6
{
StaticvoidMain(string[]args)
{:.
inti,j;
for(i=0;________;i++)
{
j=i*10+6;
if(_________)
{
continue;
}
(“{0}”,j);
}
();
}
}
:____________
publicclassTest
{
publicvoidchange1(strings)
{
s=s+”Change1”;
}
Publicvoidchange2(refstrings)
{
s=s+”Change2”;
}
publicvoidchange3(strings1,outstrings2):.
{
s1=s1+”Change3”;
s2=s1;
}
}
classExe7
{
staticvoidMain(string[]args)
{
strings1,s2;
s1=”Hello,”;
Testt1=newTest();
(s1);
(“s1aftercalltochange1is{0}”,s1);
(refs1);
(“s1aftercalltochange2is{0}”,s1);
(s1,outs2);
(“s1aftercalltochange3is{0}”,s1);
(“s2aftercalltochange3is{0}”,s2);
();
}
}
五、编程题
,从第三个数开始,每个数等于前两个数的和,编程
计算此数列的前30个数,且每行输出5个数。:.
,按下式求出y,并输出n和y的值(y用浮点数表示)。
y=1!+2!+3!+4!+……+n!
,输出所有水仙花数,所有水仙花数是一个三位整数,其各位数字的立方和
等于该数本身,例如,153=13+53+33。
,输入一个四位整数,将各位数字分开,并按其反序输出。例如:输入1234,
则输出4321。要求必须用循环语句实现。
:π/2=(2/1)*(2/3)*(3/4)*(4/5)*……*(2n/2n-1)*(2n/2n+1)*……
其中,n=1,2,3,……。设计一个程序,求出当n=1000是π的近似值。
,输入一个十进制数,输出相应的十六进制数。
>1时,Hermite多项式定义为:
1n=0
H(x)=2xn=1
n
2xH-2(n-1)H(x)n>1
n-1n-2
当输入浮点数x和整数n后,求出Hermite多项式前n项的值。
,输出下标及最大值。
“回文”(即顺读和逆读是相同的字符)。
(以0作为结束标志)到一位数组中,求出这一组数的平均值,并统
计出正数和负数的个数。
,求一个4*4矩阵两对角线元素之和。
,串内有数字和非数字字符,例如,“abc2345345fdf678jdhfg945”,
将其中连续的数字作为一个整数,依次存放到另一个整型数组b中。如将2345存放到b[0]。
345存放到b[1],678放入b[2],……统计出字符串中的整数个数,并输出这些整数。
第三章C#面向对象编程
一、选择题
#语言的核心是面向对象编程(OOP),所有OOP语言都应至少具有三个特性:():.
、、、、继承和接口
:()


:publicvoidMax(outintmax,paramsint[]a),m1是
Mclass类的一个对象,maxval是一个int型的值类型变量,arrayA是一个int型的数组对象,
则下列调用该方法有错的是()
A.(outmaxval)B.(outmaxval,4,5,2)
C.(outmaxval,refarrayA)D.(outmaxval,3,
,所有整型都可以作为枚举类型的基本类型,如果类型省
略,则约定为()

二、简答题
,用类的层次图表示出来。


三、填空题
,而是由系统在_________时自动调用。如果这个对象是
一个派生类对象,那么在调用析构函数时,除了执行派生类的析构函数,也会执行基类的
析构函数,其执行顺序与构造函数__________.
#实现了完全意义上的面向对象,所以它没有____,任何数据域、方法都必须封装在类中。
,如果一个数据成员被声明为static的,则说明这个类的所有实例都共享这个static
数据成员。在类体外,static成员不能通过_______来访问,它必须通过________来访问。
四、程序分析
1.
classTest:.
{
staticvoidMain(string[]args)
{
while(true)
{
Strings=();
if(s==”exit”)break;
try
{
inti=10/(s);
(“结果是”+i);
}
catch(IndexOutOfRangeExceptione)
{
;
}
catch(FormatExceptione)
{
;
}
catch(DivideByZeroExceptione)
{
;
}
catch(OverflowExceptione):.
{
;
}
}
();
}
}
,并进行修改。
usingSystem;
……
namespacePavelTsekov
{
interfaceI1
{
voidMyFunction1();
}
interfaceI2
{
voidMyFunction2();
}
classTest:I1,I2
{
publicvoid()
{
("NowIcansaythishereisI1implemented!");:.
}
publicvoid()
{
("NowIcansaythishereisI2implemented!");
}
}
classAppClass
{
staticvoidMain(string[]args)
{
Testt=newTest();
();
();
();
}
}
}
,指出Digit和byte直接的转换方式,并说明原因。
usingSystem;
……
namespaceDigit
{
publicclassDigit
{
bytevalue;:.
publicDigit(bytevalue)
{
if(value<0||value>9)
thrownewArgumentException();
=value;
}
publicstaticimplicitoperatorbyte(Digitd)
{
return;
}
}
classProgram
{
staticvoidMain(string[]args)
{
Digitdig=newDight(7);
bytenum=dig;
("num={0}",num);
();
}
}
}
五、编程题
,并实现复数的输入和输出。设计三个方法分别完成复数的加、减
和乘法运算。:.
,包括姓名、学号、C++成绩、英语成绩、数学成绩和平均成绩。
设计下列4个方法。
(1)全班成绩的输入。
(2)求出每一个同学的平均成绩。
(3)按平均成绩的升序排序。
(4)输出全班成绩。
,数据成员包括姓名、学号以及C++和数学成绩,成
员函数包括输出数据、设置姓名和学号、设置三门课的成绩,求出总成绩和平均成绩。
,其私有变量x和y代表一个点的x、y坐标值。编
写程序实现以下功能:利用构造函数传递参数,并设其默认参数值为60和75,利用成员函
数display()输出这一默认值;利用公有成员函数setpoint()将坐标值修改为,并利用成员函数
输出修改后的坐标值。
,包括数据成员:姓名、编号、性别和用于输入/输出的成员
函数。在此基础上派生出学生类CStudent(增加成绩)和教师类(增加教龄),并实现对学
生和教师信息的输入/输出。
,派生出描述一条直线的类
CLine,在派生出一个矩形类CRect。要求成员函数能求出两点间的距离、矩形的周长和面积
等。设计一个测试程序,并构造完整的程序。
简答题
/
#允许在类的外部声明方法吗

,参数按值传递与按引用传递的区别是什么基本数据类型作为参数默认按什
么方式传递,类对象作为参数默认按什么方式传递类对象可以按值方式传递吗基本数据类型
参数按引用传递时,应该怎么做关键字ref和out的区别是什么
,应满足什么条件

实验步骤
,在文本框中输入两个点的坐标值,单击”确定”时显示两:.
点之间的距离,如国所示.
要求定义一个Point类,包括:
(1)两个私有字段表示两坐标值
(2)一个构造函数通过传入的参数对坐标值初始化
(3)两个只读属性对坐标值的读取
一个方法包含一个Point类对象作为形参该对象和自己的距离
,分,秒字段与属性,具有将秒增加1秒的方法,如图所示.
要求定义一个Time类,包括:
(1)三个私有字段表示时,分,秒
(2)两个构造函数,一个通过传入的对时间初始化,另一个获取系统当前的时间
(3)三个只读入属性实现对时,分,秒的读取
(4)一个于对秒增加1秒(注意60进位的问题).
图13
,在该程序中定义一个学生类和班级类,以处理每个学生的
学号、姓名,语文、数学和英语三门课程的期末考试成绩,要求:
(1)能查询每个学生的总成绩。
(2)能显示全班前三名的名单。
(3)能显示单科成绩最高分和不及格的学生名单。
(4)能统计全班学生的平均成绩。
(5)能显示各科成绩在不同分数段的学生人数百分比。
设计提示:
(1)定义一个Student学生类,包含字段(学号、姓名、语文成绩、数学成绩、英语成绩)
和属性(总成绩)等。
(2)定义一个StudentList班级类,包含一个Student类型的数组(用来保存全班学生的信
息)以及若干个实现上述要求的方法等。
(3)设计用户操作界面,首先让用户能输入一个学生的信息,当单击“添加”按钮时把这:.
些信息添加到班级对象的学生数组中。当单击“完成”按钮时调用班级类的方法来显示索要
来统计的统计结果。当用户在查询框中输入学生的名字后,并单击“查询”按钮时显示该学
生的总成绩。

(1)面向对象的特点主要概括为()
、、封装性和多态性
、易维护性、、继承性、封装性
(2)要使某个类能被同一个命名空间中的其他类访问,但不能被这个命名空间以外的类访
问,该类可以()


(3)类的字段和方法的默认访问修饰符是()
(4)下列关于构造函数的描述中,()选项是正确的。


(5)C#中TestClass为一自定义类,其中有以下属性定义:
publicvoidProperty{……}
使用以下语句创建了该类的对象,并让变量obj引用该对象:
TestClassobj=newTestClass();
那么,可通过()方式访问类TestClass的Property属性。

(1)如何理解面向对象程序设计中的类和对象二者是什么关系
(2)面向对象的主要特点有哪些
(3)类的声明格式中包含哪些部分各有什么意思
(4)什么是实例方法什么是静态方法:.
(5)类可以使用哪些修饰符各代表什么含义
(6)简述new、this、static、ref、out、params、get、set、value这些关键字的作用。
(7)简述构造函数和析构函数的作用。

(1)构造一个类,可以分别对任意多个整数、小数或字符串进行排序。
(2)自定义一个时间类,该类包含时、分、秒字段与属性,具有将时间增加1秒、1分和1
小时的方法,具有分别显示时、分、秒和同事显示时分秒的方法。
(3)创建一个Windows应用程序,输入两个正整数,单击“计算”按钮,求出这两个数的
最大公约数。
要求:将求最大公约数的算法声明为一个静态方法,由“计算”按钮调用。
(4)构造一个图书类book,能记录和访问书店图书信息,包括标题、作者、价格、库存等,
同时能选择不同的构造函数来初始化类的实例。

(1)下面有关虚方法的描述中,正确的是()
,动态确定要调用的方法,因而比非虚方法更灵活
,基类和派生类的方法定义语句中都要带上virtual修饰符
,为消除隐藏基类成员的警告,需要带上new修饰符
,需要同时带上override和virtual修饰符
(2)下列方法中,()是抽象方法。
(){}voidfunc(){}voidfunc(){}voidfunc(){}
(3)下列关于接口的说法中,()是错误的。




(4)已知类Base,Derived的定义如下::.
ClassBase
{
PublicvoidHello()
{
“HelloinBase!”);
}
}
ClassDerived:Base
{
PublicnewvoidHello()
{
“HelloinDerived!”);
}
}
则语句段”Derivedx=newDerived();();”在控制台中的输出结果为____
!inBase!HelloinDerived!
inDerived!inDerived!HelloinBase!
思考题
(1)什么是类的继承怎样定义派生类
(2)简述创建派生类时,构造数的调用.
(3)怎样定义基类虚方法,并在派生类中重写基类虚方法
(4)抽象方法与虚方法有什么异同
(5)什么是抽象类它有什么特点它和接口有何异同
(6)简述通过委托来调用对象方法的基本过程
上机练****题:.
(1)定义磁盘类Disk及派生类HardDisk(硬盘),Flash(闪盘)和CKROM(光盘)在其中定义记录磁盘
容量的字段,并通过虚拟方法和重写方法来模拟对磁盘内容的写入和删除.
(2)设计并编程实现规则平面几何图形(所谓规则是指各边相等,各个内角也相等的等边图形)
的继承层次,要求定义一个抽象基类Shape,同它派生出4个派生类:等边三解开,下方形,等边
五边形,等边六边形,并通过抽象方法的实现来计算各种图形的面积
(3)以委托对象作为方法的参数,对学生类对象分别按照姓名,年龄和年级来比较两个学生对
象,实现程序以不同的排序方法来输出学生信息.
(4)在第7章****题的设计题(4)的book类中,添加每卖出一份图书时,
中处理该事件,输出销售数据信息.

最近更新

安检要洞察深层隐患 34页

地勘个人年终工作总结3篇 12页

地铁施工技术 4页

城乡人居环境专项整治汇报材料 改善农村人居环.. 6页

培训学校疫情防控工作方案模板(精选6篇) 21页

人类脂肪干细胞对慢性脑缺血大鼠认知障碍的影.. 2页

人类开发利用对三沙湾水环境质量变化的影响研.. 2页

肿瘤放射治疗-剂量分割 23页

人的需要合理性问题研究的任务书 2页

肿瘤患者诊疗课件 28页

大学俄语一单词表 11页

安全隐患排查培训 31页

大学生消费情况调查问卷3篇 9页

大屏幕拼接可视化技术的研究进展 12页

大工22秋《管理学》在线作业1 6页

人民币汇率制度改革对我国商业银行的影响及其.. 2页

天学网听力套题晋级高级模拟试题二十九 11页

人民币均衡汇率的结构方程研究的任务书 2页

孤独症abc量表-孤独症儿童行为量表(ABC量表) 4页

学校元旦晚会的策划方案(模板7篇) 18页

肿瘤学(医学本科教学) 23页

人文素质教育与石油专业教育融合的探究的任务.. 2页

肿瘤基因及其调控机制 24页

安全通道搭设安全技术交底 27页

人才派遣信息管理系统的设计与实现的中期报告.. 2页

室内陈设艺术设计调研报告宜家家居 8页

安全质量专业工作者需要认识的几个基本问 28页

对医院实施全过程医疗质量管理的几点建议 18页

小区弱电智能化系统施工组织设计方案 4页

小学一年级语文《小马过河》原文、知识点及练.. 4页