面向对象测试题1资料.docx
- 文档编号:10650913
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:18
- 大小:21.14KB
面向对象测试题1资料.docx
《面向对象测试题1资料.docx》由会员分享,可在线阅读,更多相关《面向对象测试题1资料.docx(18页珍藏版)》请在冰豆网上搜索。
面向对象测试题1资料
一.不定向选择
1)在C#中,关于继承和借口,以下说法正确的是(b).(选择一项)
a)C#允许多借口实现,也允许多重继承
b)C#允许多借口实现,但不允许多重继承
c)C#不允许多借口实现,但允许多重继承
d)C#不允许多借口实现,也不允许多重继承
2)以下关于C#代码的说法正确的是(a).(选择一项)
for(inti=1;i<=3;i++){
switch(i){
case1:
Console.Write(i.ToString());
case2:
Console.Write((i*2).ToString());
case3:
Console.Write((i*3).ToString());
}
}
a)程序将报告编译错误,提示Case标签不能贯穿到另一个标签,不能运行
b)运行是输出149
c)运行时输出123246369
d)运行时在屏幕上没有输出
在c#中,每一条case后都应加入Break语句,否则程序将报告编译错误,提示Case标签不能贯穿到另一个标签,不能运行
3)在C#中,下列代码的运行结果是(c).(选择一项)
ClassTest{
publicstructPoint{
publicintx;
publicinty;
publicPoint(intx,inty){
this.x=x;
this.y=y;
}
}
staticvoidMain(){
Pointp1=newPoint(100,100);
Pointp2=p1;
p1.x=200;
Console.WriteLine(“{0},{1}”,p1.x,p2.x);
}
}
a)100,100b)100,200
c)200,100d)200,200
如果将结构换为类,结构将是200,200,因为结构是值类型,类是引用类型
4)在C#中,下列代码的运行结果是(b).(选择一项)
classTest{
staticvoidShowArrayInfo(int[]student){
for(inti=0;i Console.Write(student[i]++); Console.Write(“”); } } staticvoidMain(){ int[]student=newint[]{1,2,3,4,5}; ShowArrayInfo(student); Console.Write(“\n”); ShowArrayInfo(student); } } a)12345b)12345 1234523456 c)23456d)23456 2345634567 5)在C#中,下列代码的运行结果是(a).(选择一项) floatf=123.56F; objecto=f; f=789.123F; Console.WriteLine(“f={0}”,f); Console.WriteLIne(“o={0}”,o); a)f=789.123b)f=123.56 o=123.56o=789.123 c)f=789.123d)f=123.56 o=789.123o=123.56 6)在C#中,下列代码的运行结果是(c)。 publicclassTeacher { publicintage; publicTeacher(intage) { this.age=age; } publicvoidChangeAge(intage) { age++; } publicvoidChangeAge(Teachertea) { tea.age++; } publicstaticvoidMain() { Teachertea=newTeacher(18); Console.WriteLine(tea.age); tea.ChangeAge(tea.age); Console.WriteLine(tea.age); tea.ChangeAge(tea); Console.WriteLine(tea.age); } }(选择一项) a)18b)18c)18d)18 18191819 18201919 7)以下关于C#代码的说法正确的是(c)。 classMyAaimals{ privateintbodyTemp=98; publicintBodyTemp { get { returnbodyTemp;//1 } } } publicclassText{ staticvoidMain() { MyAnimalsa=newMyAnimals(); Console.WriteLine(a.BodyTemp);//2 a.BodyTemp=56;//3 } }(选择一项) a)代码1错误b)代码2错误 c)代码3错误d)代码无错误 8)以下关于C#中代码的说法正确的是(a)。 (选择一项) publicabstractclassAnimal { publicabstractvoidEat(); publicvoidSleep() { } } a)该代码正确 b)代码代码错误,因为类中存在非抽象方法 c)代码代码错误,因为类中方法没有实现 d)通过代码"Animalan=newAnimal();"可以创建一个Animal对象 9)在C#中,下列代码的输出结果是(b)。 (选择一项) classTest { publicenumWeekDays { Mon,Tue,Wed,Thur,Fri,Sta,Sun } staticvoidMain() { WeekDaysweek=(WeekDays)2; Console.WriteLine(week); } } a)2b)Tue c)Wedd)编译错误 枚举中默认值从0开始 10)在C#中,下列代码的运行结果是(c)。 (选择一项) int[]age=newint[]{16,18,20,14,22}; foreach(intiinage) { if(i>18) continue; Console.WriteLine(i.ToString()+""); } a)1618201422b)16181422 c)161814d)1618 二、选择题: 21: 下列方法中,哪个是抽象方法(c) A.staticvoidFunc(){}B.virtualvoidFunc() C.abstractvoidFunc()D.overridevoidFunc() 22: 下面对派生类和基类的关系描述中,错误的是(d) A.派生类是基类的子集B.派生类是对基类的进一步扩充 C.派生类也可以作为另一个派生类的基类 D.派生类不但继承了基类的公有成员和保护成员,还继承了私有成员 23: 当一个方法被定义成对不同的数据类型完成同一个任务,此方法被称为(a) A.重载函数B.泛型方法C.构造函数D.析构函数 24: C#源程序的扩展名是(d) A.vbB.cC.cppD.cs 25: 以下说法中,不正确的是(b) A.C#程序中,必须要有一个Main函数,程序从Main函数的第一条语句开始执行的 B.一个C#程序中,可以有多个Main函数 C.Main函数的位置是不固定的 D.Main函数必须出现在某一个类中 在c#中Main是大写的,在c中是小写 26: 以下程序的输出结果是(d) Usingsystem; ClassProgram {staticvoidMain() { inta=10; intb; b=2*a+20; Console.WriteLine(b); } } A.10B.20C.30D.40 27: 可以在(b)中设置窗体及窗体上个控件的属性. A.代码编辑器窗口 B.工具箱窗口 C.属性窗口 D.解决方案资源管理器窗口 28: C#可执行程序的入口点是(a) A.main函数 B.Main函数 C.Run函数 D.Form_Load函数 29: C#程序的执行总是(d) A.从本程序的第一个函数开始,到本程序的最后一个函数结束 B.从本程序的Main函数开始,到本程序的最后一个函数结束 C.从本程序的第一个函数开始,从本程序的Main函数结束 D.从本程序的Main函数开始,从Main函数结束 30: 以下叙述中,不正确的是(d) A.一个C#程序只能有一个Main函数 B.Main函数必须是静态函数 C.C#程序可由一个以上函数组成 D.C#程序可以不包含任何类 31: 以下叙述中,正确的是(d) A.C#程序中的注释只能出现在语句的后面 B.C#程序中,只有一种单行注释 C.C#程序中,只有一种多行注释 D.程序执行时,不会执行注释语句 32: 解决方案文件的扩展名是(c) A..csB..csproj项目文件C..sln D..resx资源文件,引用文件 33: 一下有关注释语句的描述中,不正确的是(c) A.C#提供两种注释,即“//”和“/*…..*/” B.注释语句可以放在程序的任何位置 C.注释语句也可以被执行,只不过它没有输出结果 D.程序中加入注释语句的主要目的是提高程序的可读性 34: 编写Windows应用程序的基本步骤是(c) A.新建项目,设计界面,编写时间的响应过程 B.新建项目,编写代码,保存项目 C.设计界面,编写代码,调试项目 D.编写代码,保存项目,运行项目 35: 以下不属于C#语言中的简单数据类型的是(d) A.整数类型B.浮点类型C.字符类型D.枚举类型 36: 已知大写字母A的ASCⅡ码是65,小写字母a的ASCⅡ码是97,则十六进制字符常量’\u0042’表示(b) A.字符aB字符AC字符bD字符B 37: 对于跳转语句break和continue说法正确的是(a) A.continue语句只能用于循环体中 B.break语句只能用于循环体中 C.continue和break语句的跳转范围不明确,容易产生歧义 D.break语句是无条件跳转语句,continue语句不是 38: 若有两个函数: voidf1(inta,intb) { inttmp=a; a=b; b=tmp; } voidf2(refinta,refintb) { inttmp=a; a=b; b=tmp; } 则有关这两个函数的叙述中,正确的是(a) A.函数f1和函数f2均能实现交换两个实参值的功能 B.函数f1和函数f2都不能实现交换两个实参值的功能 C.函数f1能实现交换两个实参值的功能,函数f2不能实现交换两个实参值的功能 D.函数f1不能实现交换两个实参值的功能,函数f2能实现交换两个实参值的功能 39: 若有两个函数 intfun1(inta,intb) { b=++a; returna+b; } intfun2(inta,outintb) { b=++a; returna+b; } 则一下说法中,正确的是(b) A.函数fun1可以返回两个值,函数fun2只能返回一个值 B.函数fun1只能返回一个值,函数fun2可以返回两个值 C.函数fun1和函数fun2均可以返回两个值 D.函数fun1和函数fun2只能返回一个值 40: 用户输入两个字符串后,想知道第二个字符串在第一个字符串中的起始位置,应该使用String类的(c)方法. A.SubstringB.ToLowerC.IndexOfD.Insert 41: 已知stringstr="Hello",则把str中所有字符转为大写的是(d) A.String.ToUpper(str);B.str.ToUpper(); C."Hello".ToUpper();D.str=str.ToUpper(); 42: 以下程序显示的结果是(b) stringstr="HelloWorld"; intpos=str.LastIndexOf("o"); Console.WriteLine(pos); A.4B.7C.6D.3 LastIndexOf报告指定字符串在此实例中最后一个匹配项的索引位置 43: 能够同时去除字符串前导和尾部空白的方法是(c) A.TrimStartB.TrimEndC.TrimD.TrimAll 44: 若x="Hello,World",y="VisualC#.NET",则以下表达式中,结果为"HelloC#"的是(b) A.x.Substring(0,5)+y.Substring(7,2)B.x.Substring(1,5)+y.Substring(8,2) C.x.Substring(0,4)+y.Substring(7,8)C.x.Substring(1,5)+y.Substring(8,9) 45: 以下程序运行后,z的值为(b). stringx="VisualC#.NET程序设计"; stringy="应用教程方案之一"; Stringz=x.Replace("程序","2.0").ToUpper()+y.Substring(2,2); A.Visualc#.NET2.0设计教程B.VISUALC#.NET2.0设计教程 C.Visualc#.NET2.0设计用D.VISUALC#.NET2.0设计用 二、判断题 1,try语句中的finally块是可选的True 2,C#规定所有变量必须先声明后使用。 True 3,在switch语句中,default分支可以放在前面,也可以放在后面。 True 4,当通过一个超出边界的数组下标访问数组时,会导致一个异常出现。 True 5,只有在try块中才能引发异常。 False 6,值类型的变量直接存储其数据。 True 7,引用类型的变量存储对其数据的引用。 True 8: 属性必须有get和set访问器.False,也可以是两者中之一 9: 利用Visual集成开发环境只能建立VC#项目False 10: Console类的WriteLine方法可以输出任何类型变量的值True 11: 如果想使用某一行代码不起作用,可以在该行代码前加上”//”符号True 12: C#程序开发过程与其他高级语言程序开发过程是一样的,一般都要经过编辑,编译,链接和执行四个步骤False 三、程序填空题 1,classProgram { Privateintn; publicProgram(inta) { n=a; } publicvoidPrint() { Console.WriteLine(n); } staticvoidMain() { Programp=newProgram(50); p.Print(); } } 2,以下程序输出如下图案 ***** **** *** ** * 请在空白处填入适当内容,把程序补充完整。 inti,j; for(i=0;i<5;i++) { for(j=5;j>i;j++) Console.Write(“*”); Console.WriteLine(); } 3,以下程序判断用户输入的两个数是正数还是负数。 若两个数均为正数,则程序输出“均为正数”;若两个数均为负数,则输出“均为负数”;若两个数一正一负,则输出“一正一负”。 请在空白处填上适当内容,把程序补充完整。 Doublea,b; Console.writeline(“请输入第一个数”); a=convert.todouble(console.readline()); Console.writeline(“请输入第二个数”); b=convert.todouble(console.readline()); if(a>0&&b>0) Console.writeline(“{0}和{1}均为正数”,a,b); elseif(a<0&&b<0) Console.writeline(“{0}和{1}均为负数”,a,b); else Console.writeline(“{0}和{1}一正一负”,a,b); 四、填空题: 1,若用以下语句实现求100! 则空白处应该填入i<=100。 for(intr=1,i=1;___________;i++)r*=i; 2,C#数据类型分为值类型、引用类型2大类。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 测试 资料