c经典习题答案Word格式文档下载.docx
《c经典习题答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c经典习题答案Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
A
9.在接口的成员中,不能包含().
A.属性B.方法C.事件D.常量
10.在C#中定义接口时,使用的关键字是()。
A.interfaceB.:
C.classD.overrides
得分
评卷人
二、填空题(每空2分,共20分)
1.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。
continue
2.元素类型为double的2行5列的二维数组共占用字节的存储空间。
80
3.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。
object
4.枚举是从System.类继承而来的类型。
Enum
5.一般将类的构造方法声明为访问权限。
如果声明为private,就不能创建该类的对象。
public或公有
6.类中声明的属性往往具有get()和两个函数。
set()
7.对于方法,参数传递分为值传递和两种。
引用传递
8.传入某个属性的SET方法的隐含参数的名称是。
答:
value
9.C#提供一个默认的无参构造函数,当我实现了另外一个有一个参数的构造函数时,还想保留这个无参数的构造函数。
这样我应该写构造函数。
两个
10.接口(interface)是指:
。
只含有公有抽象方法(publicabstractmethod)的类。
这些方法必须在子类中被实现。
三、判断题(每题2分,20分)
1.不能指定接口中方法的修饰符。
对
2.DotNet包含两个部分,即公共语言运行时和框架类库
3.在同一行上可以书写多条语句,每条语句间用分号分隔。
4.在数据类型转化时,只能通过类型转换关键字或Convert类实现。
错
5.在定义数组时不允许为数组中的元素赋值。
6.定义枚举时至少为其中的一个枚举成员赋值。
7.结构只能静态访问。
8.接口与类相同是面向对象程序设计的核心,是创建对象的模版。
9.委托是将方法作为参数传递给另一方法的一种数据类型。
事件与委托没有关系。
10.如果要实现重写,在基类的方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字。
三、程序阅读题(每小题5分,共30分)
1.写出以下程序的运行结果。
usingSystem;
classTest
{
publicstaticvoidMain()
{
intx=5;
inty=x++;
Console.WriteLine(y);
y=++x;
}
}
答案:
5
7
2.写出下列函数的功能。
staticintSA(inta,intb)
if(a>
b)
return1;
elseif(a==b)
return0;
else
return-1;
比较两个整数a和b的大小,若a>
b则返回1,若a==b则返回0,若a<
b则返回-1。
3.写出下列函数的功能。
staticfloatFH(){
floaty=0,n=0;
intx=Convert.ToInt32(Console.ReadLine());
//从键盘读入整型数据赋给x
while(x!
=-1){
n++;
y+=x;
x=Convert.ToInt32(Console.ReadLine());
if(n==0)
returny;
else
returny/n;
求出从键盘上输入的一批常数的平均值,以-1作为结束输入的标志。
4.写出以下程序的功能。
staticvoidWA(refint[]a,intn){
for(inti=0;
i<
n-1;
i++){
intk=i;
for(intj=i+1;
j<
n;
j++)
if(a[j]<
a[k])k=j;
intx=a[i];
a[i]=a[k];
a[k]=x;
采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。
5.写出以下程序运行结果。
staticint[]a={1,2,3,4,5,6,7,8};
ints0,s1,s2;
s0=s1=s2=0;
for(inti=0;
i<
8;
i++)
switch(a[i]%3)
case0:
s0+=Test.a[i];
break;
case1:
s1+=Test.a[i];
case2:
s2+=Test.a[i];
Console.WriteLine(s0+"
"
+s1+"
+s2);
91215
6.写出以下程序的功能。
staticvoidf2(refdouble[]a,intn)
{inti;
doublesum=0;
for(i=0;
i++)sum+=a[i];
sum/=n;
i++)
if(a[i]>
=sum)
Console.write(a[i]+““);
Console.writeLine();
显示输出数组a中大于等于平均值的所有元素值。
五、简答题(10分,每题5分)
1.如何区别重载方法?
不同的参数类型,不同的参数个数,不同的参数顺序
2.C#用多种修饰符来表达类的不同性质。
根据其保护级C#的类有五种不同的限制修饰符,请写出并指出它们之间的区别是什么?
public可以被任意存取
protected只可以被本类和其继承子类存取
internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”。
protectedinternal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。
private只可以被本类所存取。
1.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。
A.int[]arr=newint[10,20]
B.int[]arr=intnew[10,20]
C.int[,]arr=newint[10,20]
D.int[,]arr=newint[20;
10]
2.在类作用域中能够通过直接使用该类的()成员名进行访问。
3.以下正确的描述是()。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
4.小数类型和浮点类型都可以表示小数,正确说法:
6.在C#.Net中,用来创建主菜单的对象是()。
A.MenuB.MenuItemC.MenuStripD.Item
7.下面所列举的应用程序中,不是多文档应用程序的是()
A.WordB.ExcelC.PowerPointD.记事本
8.在VC#.Net中,可以标识不同的对象的属性是()。
A.TextB.NameC.TitleD.Index
9.加载窗体时触发的事件是()。
10.改变窗体的标题,需修改的窗体属性是()。
1.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。
2.枚举是从System.类继承而来的类型。
3.一般将类的构造方法声明为访问权限。
4.类中声明的属性往往具有get()和两个函数。
5.对于方法,参数传递分为值传递和两种。
6.传入某个属性的SET方法的隐含参数的名称是。
7.C#的类不支持多重继承,但可以用来实现。
接口
8.C#提供一个默认的无参构造函数,当我实现了另外一个有一个参数的构造函数时,还想保留这个无参数的构造函数。
9.在方法定义中,virtual含义:
被virtual修饰的方法可以被子类覆写
10、接口(interface)是指:
1.在数据类型转化时,只能通过类型转换关键字或Convert类实现。
2.在定义数组时不允许为数组中的元素赋值。
3.定义枚举时至少为其中的一个枚举成员赋值。
4.结构只能静态访问。
5.接口与类相同是面向对象程序设计的核心,是创建对象的模版。
6.委托是将方法作为参数传递给另一方法的一种数据类型。
7.如果要实现重写,在基类的方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字。
8.用Interval属性设置Timer控件Tick事件发生的时间间隔单位为秒。
9.设置图片框控件的SizeMode属性为StretchImage时,图片可以按图片框的大小比例缩放显示。
10.一个窗体中可以有多个弹出式菜单。
1.写出以下程序运行结果。
staticvoidLE(refinta,refintb){
intx=a;
a=b;
b=x;
Console.writeLine(a+““+b);
publicstaticvoidMain()
intx=10,y=25;
LE(refx,refy);
Console.writeLine(a+““+b);
25
10
constintN=5;
publicstaticvoidMain(){
inta=0;
for(inti=1;
i<
N;
intc=0,b=2;
a+=3;
c=a+b;
Console.writeLine(c+““);
}}
581114
《C#技术基础》试题
题号
一
二
三
四
五
总分
一、单项选择题(每小题2分,共20分)
1.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是().
2.StreamWriter对象的下列方法,可以向文本文件写入一行带回车和换行的文本的是()。
A.WriteLine()B.Write()C.WritetoEnd()D.Read()
3.建立访问键时,需在菜单标题的字母前添加的符号是()。
A.!
B.#C.$D.&
4.在C#.Net中,用来创建主菜单的对象是()。
5.下面所列举的应用程序中,不是多文档应用程序的是()
6.在VC#.Net中,可以标识不同的对象的属性是()。
7.加载窗体时触发的事件是()。
1.元素类型为double的2行5列的二维数组共占用字节的存储空间。
2.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。
3.枚举是从System.类继承而来的类型。
4.一般将类的构造方法声明为访问权限。
5.类中声明的属性往往具有get()和两个函数。
6.对于方法,参数传递分为值传递和两种。
7.传入某个属性的SET方法的隐含参数的名称是。
8.C#的类不支持多重继承,但可以用来实现。
10在方法定义中,virtual含义:
1.可以覆写私有的虚方法。
2.可以能够阻止某一个类被其他类继承。
3.不能指定接口中方法的修饰符。
4.DotNet包含两个部分,即公共语言运行时和框架类库
5.在同一行上可以书写多条语句,每条语句间用分号分隔。
6.在数据类型转化时,只能通过类型转换关键字或Convert类实现。
7.在定义数组时不允许为数组中的元素赋值。
8.定义枚举时至少为其中的一个枚举成员赋值。
9.结构只能静态访问。
10.接口与类相同是面向对象程序设计的核心,是创建对象的模版。
6.写出以下程序运行结果。
for(i