C#经典习题答案.docx
- 文档编号:8420952
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:27
- 大小:127.12KB
C#经典习题答案.docx
《C#经典习题答案.docx》由会员分享,可在线阅读,更多相关《C#经典习题答案.docx(27页珍藏版)》请在冰豆网上搜索。
C#经典习题答案
1.在类作用域中能够通过直接使用该类的()成员名进行访问。
A.私有B.公用C.保护D.任何
答案:
D
2.小数类型和浮点类型都可以表示小数,正确说法:
()
A.两者没有任何区别
B.小数类型比浮点类型取值范围大
C.小数类型比浮点类型精度高
D.小数类型比浮点类型精度低
答案:
C
3.能作为C#程序的基本单位是()。
A.字符B.语句C.函数D.源程序文件
答案:
B
4.可用作C#程序用户标识符的一组标识符是()。
A.voiddefine+WORDB.a3_b3_123YN
C.for-abcCaseD.2aDOsizeof
答案:
B
5.引用类型主要有4种:
类类型、数组类型、接口类型和()。
A.对象类型B.字符串类型C.委托类型D.整数类型
答案:
C
6.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是().
A.Exists()B.GetFiles()C.GetDirectories()D.CreateDirectory()
答案:
B
7.加载窗体时触发的事件是()。
A.ClickB.LoadC.GotFoucsD.DoubleClick
答案:
B
8.改变窗体的标题,需修改的窗体属性是()。
A.TextB.NameC.TitleD.Index
答案:
A
9.在接口的成员中,不能包含().
A.属性B.方法C.事件D.常量
答案:
D
10.在C#中定义接口时,使用的关键字是()。
A.interfaceB.:
C.classD.overrides
答案:
A
得分
评卷人
二、填空题(每空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;
Console.WriteLine(y);
}
}
答案:
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
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 intk=i; for(intj=i+1;j if(a[j] intx=a[i];a[i]=a[k];a[k]=x;} } 答案: 采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。 5.写出以下程序运行结果。 usingSystem; classTest { staticint[]a={1,2,3,4,5,6,7,8}; publicstaticvoidMain() { 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];break; case2: s2+=Test.a[i];break; } } Console.WriteLine(s0+""+s1+""+s2); } } 答案: 91215 6.写出以下程序的功能。 staticvoidf2(refdouble[]a,intn) {inti;doublesum=0; for(i=0;i sum/=n; for(i=0;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] 答案: C 2.在类作用域中能够通过直接使用该类的()成员名进行访问。 A.私有B.公用C.保护D.任何 答案: D 3.以下正确的描述是()。 A.函数的定义可以嵌套,函数的调用不可以嵌套 B.函数的定义不可以嵌套,函数的调用可以嵌套 C.函数的定义和函数的调用均可以嵌套 D.函数的定义和函数的调用均不可以嵌套 答案: B 4.小数类型和浮点类型都可以表示小数,正确说法: () A.两者没有任何区别 B.小数类型比浮点类型取值范围大 C.小数类型比浮点类型精度高 D.小数类型比浮点类型精度低 答案: C 5.引用类型主要有4种: 类类型、数组类型、接口类型和()。 A.对象类型B.字符串类型C.委托类型D.整数类型 答案: C 6.在C#.Net中,用来创建主菜单的对象是()。 A.MenuB.MenuItemC.MenuStripD.Item 答案: C 7.下面所列举的应用程序中,不是多文档应用程序的是() A.WordB.ExcelC.PowerPointD.记事本 答案: D 8.在VC#.Net中,可以标识不同的对象的属性是()。 A.TextB.NameC.TitleD.Index 答案: B 9.加载窗体时触发的事件是()。 A.ClickB.LoadC.GotFoucsD.DoubleClick 答案: B 10.改变窗体的标题,需修改的窗体属性是()。 A.TextB.NameC.TitleD.Index 答案: A 得分 评卷人 二、填空题(每空2分,共20分) 1.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。 答案: object 2.枚举是从System.类继承而来的类型。 答案: Enum 3.一般将类的构造方法声明为访问权限。 如果声明为private,就不能创建该类的对象。 答案: public或公有 4.类中声明的属性往往具有get()和两个函数。 答案: set() 5.对于方法,参数传递分为值传递和两种。 答案: 引用传递 6.传入某个属性的SET方法的隐含参数的名称是。 答: value 7.C#的类不支持多重继承,但可以用来实现。 答案: 接口 8.C#提供一个默认的无参构造函数,当我实现了另外一个有一个参数的构造函数时,还想保留这个无参数的构造函数。 这样我应该写构造函数。 答: 两个 9.在方法定义中,virtual含义: 。 答案: 被virtual修饰的方法可以被子类覆写 10、接口(interface)是指: 。 答: 只含有公有抽象方法(publicabstractmethod)的类。 这些方法必须在子类中被实现。 得分 评卷人 三、判断题(每题2分,20分) 1.在数据类型转化时,只能通过类型转换关键字或Convert类实现。 答案: 错 2.在定义数组时不允许为数组中的元素赋值。 答案: 错 3.定义枚举时至少为其中的一个枚举成员赋值。 答案: 错 4.结构只能静态访问。 答案: 错 5.接口与类相同是面向对象程序设计的核心,是创建对象的模版。 答案: 对 6.委托是将方法作为参数传递给另一方法的一种数据类型。 事件与委托没有关系。 答案: 错 7.如果要实现重写,在基类的方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字。 答案: 错 8.用Interval属性设置Timer控件Tick事件发生的时间间隔单位为秒。 答案: 错 9.设置图片框控件的SizeMode属性为StretchImage时,图片可以按图片框的大小比例缩放显示。 答案: 对 10.一个窗体中可以有多个弹出式菜单。 答案: 对 得分 评卷人 三、程序阅读题(每小题5分,共30分) 1.写出以下程序运行结果。 usingSystem; classTest { 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 25 10 2.写出下列函数的功能。 staticintSA(inta,intb) { if(a>b) return1; elseif(a==b) return0; else return-1; } 答案: 比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a 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){
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 经典 习题 答案