C 练习题(北大青鸟内部考试题).doc

上传人:rrsccc 文档编号:9779372 上传时间:2021-03-25 格式:DOC 页数:9 大小:86.50KB
返回 下载 相关 举报
C 练习题(北大青鸟内部考试题).doc_第1页
第1页 / 共9页
C 练习题(北大青鸟内部考试题).doc_第2页
第2页 / 共9页
C 练习题(北大青鸟内部考试题).doc_第3页
第3页 / 共9页
C 练习题(北大青鸟内部考试题).doc_第4页
第4页 / 共9页
C 练习题(北大青鸟内部考试题).doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《C 练习题(北大青鸟内部考试题).doc》由会员分享,可在线阅读,更多相关《C 练习题(北大青鸟内部考试题).doc(9页珍藏版)》请在三一文库上搜索。

1、一、单项选择题(本大题共15小题,每小题1分,共15分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。(这题真不简单)1、在C#中,表示一个字符串的变量应使用以下哪条语句定义( ) ACString str; Bstring str; CDim str as string; Dchar * str;2、请问经过表达式 a=3+15?0:1 的运算,变量a的最终值是( ) A3 B1 C0 D43、关于如下程序结构的描述中,哪一项是正确的( ) for( ; ; )循环体; A. 一直执行循环体,即死循环 B. 执行循环体一次 C.

2、不执行循环体 D. 程序不符合语法要求4、C#程序设计语言属于什么类型的编程语言( C )A汇编语言 B机器语言 C高级语言 D自然语言5、在类的定义中,类的( )描述了该类的对象的行为特征 A类名 B方法 C所属的名字空间 D私有域6、C#中MyClass为一自定义类,其中有以下方法定义public void Hello()使用以下语句创建了该类的对象,并使变量obj引用该对象MyClass obj = new MyClass();那么如何访问类MyClass的Hello方法( ) A. obj.Hello(); B. obj:Hello(); C. MyClass.Hello(); D.

3、MyClass:Hello();7、以下哪段代码,最合理地实现了以下结构图描述的流程( )A if(x=0) Bif(x=0)y=-x; y=x; else elsey=x; y=-x;Cwhile(x=0) Dwhile(x=0) case true: y=x; case true: y=-x;break; break; case false: y=-x; case false: y=x;break; break; 8、分析下列程序:public class Demo private string _sData = “; public string sDataset_sData = valu

4、e;在Main函数中,创建该类的对象obj后,下列哪些语句是合法的( ) Aobj.sData = “It is funny!”;BConsole.WriteLine(obj.sData) ;Cobj.sData = 100;Dobj.set(obj.sData);9、分析下列程序中类MyClass的定义class BaseClass public int i;class MyClass:BaseClass public new int i;则下列语句在Console上的输出为( )MyClass y = new MyClass();BaseClass x = y;x.i = 100;Cons

5、ole.WriteLine(“0, 1”,x.i,y.i);(提示:注意类MyClass 中的new关键字) A. 0,0 B. 100,100 C. 0,100 D. 100,010、在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成( ) A. sealed方法 B. public 方法 C. virtual 方法 D. override 方法11、在C#中,下列哪些语句可以创建一个具有3个初始值为”的元素的字符串数组( )A. string StrList3( ”);B. string3 StrList= ”, ”, ”;C. st

6、ring StrList = ”, ”, ”;D. string StrList = new string 3;12、下列语句创建了多少个string对象?( ) string , strArray = new string3,4;A. 0 B.3 C.4 D.1213、接口Animal定义如下:public interface Animal void Move();则下列抽象类的定义中,哪些是不合法的( )A. abstract class Cat: Animal public abstract void Move();B. abstract class Cat: Animal public

7、 virtual void Move()Console.Write(Console.Write(“Move!”);)C. abstract class Cat: Animal public void Move()Console.Write(Console.Write(“Move!”);)D. abstract class Cat: Animal public void Eat()Console.Write(Console.Write(“Eat!”);)14、下列函数定义中,哪条语句是非法的( )void Test() int I = 100; /第一句 object s = I; /第二句 i

8、nt k = s; /第三句 k = (int)s; /第四句A. 第一句 B. 第二句 C. 第三句 D. 第四句15、在C#中设计类时,如何将一个可读可写的公有属性Name修改为只读属性( )A. 将Name的set语句块删除B. 将Name的set语句块置空C. 将Name的set语句块前加修饰符privateD. 将Name添加readonly修饰符二、多项选择题(本大题共10小题,每小题2分,共20分) 在每小题列出的四个备选项中有一个或者多个答案是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、下列哪些语句中定义的变量属于引用类型变量( )A. IInf

9、ormation info; /IInformation 为一接口类型名B. MyStruct x; /MyStruct 为一结构类型名C. int arr;D. MyEnum y; /MyEnum 为已定义的枚举型名2、在C#程序中,入口函数的正确声明为( )A. static int Main()B. static void Main()C. static void main()D. static Main()3、从下列选项中,选出变量result的返回值是false的表达式( )A. bool result = (4=5); B. bool result = (1!=1);C. bool

10、 result = (1=1); D. bool result = 0;4、设置int a=3,从以下选项中,选出变量result的值为true的表达式( )Abool result = (a+=3); Bbool result = (+a3); Cbool result = (a=-4); Dbool result = !(a+3);5、通常计算机程序是由若干条语句组成的,组成程序的常用结构分别是下列哪几种( )A顺序结构 B分支结构 C循环结构D跳转结构6、switch( ) 语句中的控制表达式可以是下面哪几种类型( )C9、下列关于派生类和抽象类的描述中,哪个选项是错误的( )A. 在C

11、#中要在派生类中重新定义基类的虚函数必须在前面加overrideB. 抽象类必须包含一个或多个抽象成员C. 在C#中派生类可使用base修饰符访问基类的成员D. 声明为abstract类的方法必须同时进行声明和实现10、在数组中,对于for和foreach语句,下列哪些选项中的说法正确的( )Aforeach语句能使你不用索引就可以遍历整个数组Bforeach 语句总是遍历整个数组Cforeach 语句总是从索引1遍历到索引LengthD如果需要修改数组元素就必须使用for语句三、名词解释(本大题共5小题,每小题3分,共15分)请用简短的语句对所给出的名词,进行简短的描述。1、在C#编程中流程

12、控制语句包含哪几个结构,它们分别是什么?2、简单的描述一下类与对象的区别?3、举例说明一下什么是继承?4、在声明构造函数时,应注意哪些事项;并说明一下this在构造函数中的用法?5、简单的描述一下什么是多态?四、判断题(本大题共10小题,每小题1分,共10分) 请对每小题的描述进行判断,正确的括号中打” ”,错误的请在括号中打”。1、在C# 2005编程环境中,常量的值可以在代码中被修改。 ( )2、属性就是实体的抽象,比如,对象猫可以有重量,身长等属性。( )3、如果基类没有默认的构造函数,那么其派生类构造函数必须通过base关键字来调用基类的构造函数。( )4、C#中, 下列MyClass

13、的定义是否正确合法? ( )public class Base1 public class Base2 public MyClass:Base1,Base2 5、下列类MyClass的Name属性定义是否正确 ( )public abstract class Base public abstract string Nameget;set;public class MyClass string _msg; public override string Name get return _msg; 6、以下代码执行后,string类型变量str的值仍然是“海天软件工程学院”。 ( ) string

14、str = “海天软件工程学院”; private void Changed(string str0) str0 = “海天软件工程大学”;Changed(str);7、在C#2005编程环境中,int类型变量的位数是16位。 ( )8、类和对象的区别是:类是对象的实例,而对象则是类的抽象。 ( )9、抽象方法在抽象类中被定义和实现,当派生类从抽象类中继承一个抽象方法时,派生类必须重写该抽象方法。 ( )10、分析下面的代码段,最终的运行结果是Sun Mon Tue Wed Thu Fri Sat ( )static void Main(string args)string WeekDays

15、= new string Sun, Mon, Tue, Wed, Thu, Fri, Sta ;PrintDay(WeekDays);static void PrintDay(string array)for (int i = 0; i array.Length-1; i+)Console.Write(arrayi + 0, i array.Length - 1 ? : );Console.WriteLine(); 五、编码题(本大题共4小题,每小题10分,共40分)请使用C#语言给出每道题要求的完整代码,或者在空白处补充完整剩余的代码。1、下列算法的功能是求出a、b、c互不相等的数的最大数。

16、请完善该算法。static void Main(string args) int a = Convert.ToInt32(Console.ReadLine(); int b = Convert.ToInt32(Console.ReadLine(); int c = Convert.ToInt32(Console.ReadLine(); if (1)_) if (2)_) Console.WriteLine(三个数的最大数为0, (3)_); else Console.WriteLine(三个数的最大数为0, (4)_); else if (5)_) Console.WriteLine(三个数的

17、最大数为0, (6)_); else Console.WriteLine(三个数的最大数为0, (7)_); Console.ReadLine();2、下列算法的功能是当控制台上输入一个字符串之后,检索字符串中的非零数字,并把这些数字相加。请完善该算法。(例如:当输入”a32Q5uhn4”,程序输出sResualt = 14)static void Main(string args) string inputString = null; int sResualt = 0; inputString = Console.ReadLine(); foreach (char chr in inputS

18、tring) if(1)_) sResualt += Convert.ToInt32(chr.ToString(); if (2)_) Console.WriteLine(输入的字符串中没有数字!); else Console.WriteLine(sResualt=0, sResualt); Console.ReadLine();3、请补全在Student类中重载Person类中的HappyBirthday方法函数,若当天是某人生日,打印出结果为”今天是*年*月*日,祝你生日快乐!”。public abstract class Personprivate DateTime _birthday;

19、public DateTime Birthday get return _birthday; set _birthday = value; public abstract void HappyBirthday();public class Student : Person /请将HappyBirthday方法函数补充完整4、下列算法的功能是输出10名学生的信息。请完善该算法。public class Student private string _name; private int _age; public int Age get return _age; set _age = value;

20、public string Name get return _name; set _name = value; static void Main(string args) ArrayList StudentList = new ArrayList(); for (int i = 0; i 10; i+) Student obj_student = new Student(); Console.Write(请输入姓名:); (1)_ Console.Write(请输入年龄:); (2)_ (3)_ foreach (4)_) Console.WriteLine(姓名:0,年龄:1, obj_st

21、udent.Name, obj_student.Age); 六、附加编码题(本大题共1小题, 20分) 本题为附加题,不做要求。要求给出完整的类型库、类型库的成员变量和成员方法,代码要求有合理注释,注意编码规范。1、编写程序模拟家乐福超市在北京2008奥运会期间举办的商品促销活动。 活动背景:家乐福超市向日本本田公司定做了五个福娃机器人促销员,分别为贝贝、晶晶、欢欢、迎迎和妮妮。功能描述:1)当顾客光临超市时,五个福娃会齐声祝福“家乐福欢迎您光临!”。2)其中贝贝和妮妮负责向顾客发放顾客信息表,而其他三个福娃负责给顾客发放礼品。3)礼品发放标准当年龄小于等于15时为儿童,礼品为“精美玩具”。当年龄大于15小于等于40且男性为先生时,礼品为“男式体恤”。当年龄大于15小于等于40且女性为女士时,礼品为“女式体恤”。当年龄大于40且男性为老先生时,礼品为“男式围巾”。当年龄大于40且女性为老太太时,礼品为“女式围巾”。4)已知某天内“精美玩具”送出2000个、“男式体恤”送出5000件、“女式体恤”送出5000件、“男式围巾”送出3000条、“女式围巾”送出3000条。5)打印出儿童、先生、女士、老先生和老太太的人数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1