还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
C#程序设计语言--试卷
一、选择题(每小题可能有1个或多个答案)
1、下列变量的定义正确的是A、DA、intdaysB、int5daysC、stringweek#dayD、float_5days
2、已知inta=5doublex=
2.3stringstr=“123”,则下列赋值正确的是B、E、FA、a=xB、x=aC、x=strD、str=aE、a=int.ParsestrF、a=intx
3、下列数组的初始化正确的是A、B、EA、int[]a=newint[]{012};B、int[]a=newint
[3]{012};C、int[]a=newint
[5]{012};D、int[]a=newint[];E、int[]a={012};
4、下面选项中不能作为类的成员的是EA、变量、常量B、方法、属性C、事件、索引D、构造函数、析构函数E、代理F、运算符
5、返回值为void的函数,其含义为AA、函数被调用后,没有返回值B、函数被调用后,不返回C、函数被调用后,返回值为任意类型D、该函数不允许被调用
6、C#程序的开始执行点为CA、程序中的第一条语句B、程序中的第一个函数C、程序中的Main函数
7、以下属于构造函数的特点的是A、B、CA、方法名和类名相同B、没有返回值C、主要作用是完成对类对象的初始化D、创建类对象用new关键字时,系统会自动调用
8、以下关于构造函数的说法正确的是A、B、DA、如果没有为类定义任何构造函数,则系统会给该类加一个默认的无参构造函数B、如果为类定义了构造函数,则创建类对象时永远不会调用系统默认构造函数C、构造函数不可以进行重载D、构造函数也可以被声明为静态的static
9、以下关于事件的说法正确的是A、B、C、DA、事件和成员变量、成员方法一样,也是类的一种成员B、事件机制必须通过代理来实现的C、事件也支持多播多重代理,即,一个事件可以同时有多个事件处理方法D、事件处理方法的签名必须和事件代理的签名相一致
10、以下关于运算符重载的说法正确的是A、B、C、EA、运算符重载实际上也是函数重载B、一个运算符可以被重载多次,只要每次重载的参数列表不同C、赋值运算符包括复合赋值运算符不能重载D、所有运算符都可以进行重载E、重载关系运算符时必须成对重载如重载时,也必须重载
11、以下关于结构的说法正确的是A、DA、结构和类相似,也包含数据和方法的定义B、类支持嵌套,而结构不支持嵌套C、类支持单继承,结构和类一样,也支持单继承D、和类一样,结构也可以实现一个或多个接口E、和类一样,也可以为结构体定义的无参构造函数
12、以下关于接口的说法正确的是B、C、DA、接口类似于类,也可以包含数据和方法B、接口中只有成员的声明,没有成员的实现C、类只允许单继承,而接口允许多继承D、接口中所有成员都被默认为公有,不能有任何访问权限修饰符E、一个类或结构要实现某个接口时,可以实现接口的部分成员,也可以实现全部成员
13、下列给字符串赋值正确的是B、CA、stringfilePath=”C:\Windows\readme.txt”;B、stringfilePath=”C:\\Windows\\readme.txt”;C、stringfilePath=@”C:\Windows\readme.txt”;D、stringfilePath=C:\\Windows\\readme.txt;E、stringfilePath=”@C:\Windows\readme.txt”;
14、已知intx=7;inty=2;则x/y的结果为BA、
3.5B、3C、4D、
3.
015、已知int[]a=newint
[34];则数组a中最后一个元素为CA、a
[34]B、a
[3]
[4]C、a
[23]D、a
[2]
[3]
16、已知int[][]a=newint
[3][];则数组a中有_B__个元素A、2B、3C、0D、未知
17、已知doubley=
3.7;intx=inty;则x=___A__A、3B、
3.0C、4D、
3.
718、将字符型变量赋值为一个单引号的语句是__C___A、charmyChar=‘‘’;B、charmyChar=’;C、charmyChar=‘\‘’;D、charmyChar=\‘;
19、下列变量的初始化正确的是__A___A、intx=7y=7z=7;B、intx=y=z=7;C、intx=7;y=7;z=7;D、intx=7y=z=x;
20、以下关于Main函数的叙述正确的是__A、D___A、Main函数是整个程序的入口点,任何程序都是从Main函数开始执行B、Main函数的返回值可以是任意类型C、Main函数可以说明为静态的static,也可以说明为非静态的D、Main函数的保护级别一般为public,也可以省略不写
21、类的缺省访问权限修饰符为__B___A、publicB、internalC、privateD、protected
22、类的成员变量的缺省访问权限修饰符为___C__A、publicB、internalC、privateD、protected
23、已知int[]a=newint[]{372315};则a
[2]=__B___A、7B、23C、15D、不存在E、
024、已知intx=29,y=5;则x%y=__C___A、6B、5C、4D、
5.
825、已知intx=3y;y=x++;则___B___A、x=3y=3B、x=4y=3C、x=4y=4D、x=3y=
426、已知intx=5y;y=--x;则__D___A、x=5y=5B、x=4y=5C、x=5y=4D、x=4y=
427、下面有关方法重载的说法正确的是__C___A、重载方法必须有不同的返回值类型 B、重载方法形参个数必须不同; C、重载函数必须有不同的形参列表 D、重载函数名可以不同;
二、填空题
1、循环次数已知,则可以用____循环,循环次数未知,则应用____循环
2、程序流程包括____结构、____结构和____结构3种基本结构
3、面向对象的三个基本特征是______、______和______
4、面向对象技术中,实现“多态”的方式包括______和______
5、访问权限修饰符包括______、______、internal和protected
6、属性包括______访问器和_______访问器
7、变量名只能由____、______、下划线组成,并只能以______或下划线不推荐开头
8、类对象的初始化工作是由______来完成的
9、方法的参数类型包括______、______、输出类型和数组类型4种类型
10、事件机制是通过______来实现的
11、C#中的数据类型主要分为两类______和______
12、已知intx=3y;y=x++;则x=______,y=______
13、已知intx=5y;y=--x;则x=______,y=______
14、已知intx;doubley=
3.7;x=inty;则x=______
15、已知intx=14,y=5;则x/y=______
16、已知intx=29,y=5;则x%y=______
17、已知int[]a=newint[]{372315};则a
[2]=______
18、已知int[]a=newint
[46];则a中共有______个元素,最后一个元素是______
三、判断题
1、continue语句用于结束本次循环,而break语句用于结束整个循环
2、当多重循环的内循环中含有break语句,则可通过此break语句跳出整个多重循环
3、在C#中,一个类可以同时继承多个类,也可以由多个类继承
4、一个父类可以同时拥有多个子类,这时,父类其实是所有子类的公共属性的集合
5、如果在声明类时,没有指定访问修饰符,则默认为public
6、如果一个属性中只含有set访问器,那么它是一个只读属性
7、代理既可以引用静态方法也可以引用实例方法
8、重载运算符时,必须声明为publicstatic型
9、属性既可以定义为类的实例成员,也可以定义为类的静态成员;而索引只能定义为类的实例成员
10、结构和类在定义和使用上都很相似,它们最大的区别是结构是值类型,而类是引用类型
11、在C#中,所以预定义类型或自定义的类都直接或间接地继承于Object类
12、当一个类继承另一个类时,将继承其所有成员包括其私有成员
13、类的静态方法只能访问类的静态成员,而类的实例方法可以访问类的任何成员
14、在一个类中可以包含另一个类的完整的定义
15、已知int[]a=newint
[46];则a中最后一个元素是a
[46]
四、简答题
1、值类型数据和引用类型的区别
2、类与对象的关系
3、面向对象的三个基本特征
4、面向对象技术中的“多态”是指什么,它可以通过那几种方式来实现
5、抽象类和密封类分别用什么关键字来声明,它们的特点分别是什么
6、静态成员和实例成员的区别从以下几点说明
①声明格式
②所属对象即属于类,还是属于某个实例
③访问方试
7、访问权限修饰符有哪几种,分别代表什么含义
8、重载方法时,如何区分多个功能相似的同名方法
9、什么是方法的形参和实参,方法的参数包括哪几种类型,分别用什么关键字来声明
10、C#支持哪几种类型的注释,其界定符和功能分别是什么?.Net框架中又引入了哪种类型的注释,其界定符和功能是什么?
11、使用带参数的方法时,值类型参数和引用类型参数的区别
五、读程题
1、阅读程序,回答问题intx=3yz;x++;y=++x;z=x++;以上四条语句执行完后xyz值分别是几?
2、阅读程序,回答问题forinti=0;i10;i+=2Console.Write“{03}”i;以上循环将执行几次?
3、如下函数用于判断两个值是否相等,请找出其中的错误publicvoidEqual{intx=3y=5;ifx=yConsole.WriteLine“Equal”;elseConsole.WriteLine“Unequal”;}
4、如下switch语句的使用是否正确,如果有误,请指出stringstr=“优”;switchncase“优”:Console.WriteLine“优”;case“良”:Console.WriteLine“良”;case“及格”:Console.WriteLine“及格”;case“不及格”:Console.WriteLine“不及格”;default:Console.WriteLine“未知”;
5、如下方法的定义是否正确,如果有误,请指出publicvoidSquareintx{returnx*x;}
6、请找出如下程序的错误classMyClass{intx;publicstaticinty;}classAppClass{publicvoidMain{MyClassobj=newMyClass;obj.x=5;obj.y=7;}}
7、如下程序用于实现两个数值的交换功能,请将程序补充完整classMyClass{}classAppClass{publicstaticvoidMain{intx=5y=10;MyClass.Swaprefxrefy;}}
8、下面是一个通过属性来访问成员变量的程序段,请将其补充完整要求变量age的取值只能是0~100classStudentInfo{intage;publicintage{get{returnage;}set{}}}
9、下面是一个关于代理使用的程序段,请找出其中的错误delegatedoubleMyDelegate;classMyClass{publicstaticdoubleSquaredoublex{returnx*x;}}classAppClass{publicstaticvoidMain{doublex=5;MyDelegated=newMyDelegateMyClass.Square;Console.WriteLine“{0}的平方是{1}”xdx;}}10.写出函数的功能publicint Funcintaintbintc{ifa=ba=creturna;elseifb=ab=creturnb;elsereturnc;}
11、写出函数的功能publicint Funcrefintxrefinty{inttemp=x;x=y;y=temp; }
12、写出程序的运行结果 usingSystem; classExchange { publicstaticvoidSwapintxinty { inttemp=x; x=y; y=temp; }} classAppClass{ staticvoidMain { inta=5b=10; Exchange.Swapab; Console.WriteLine“a={0}b={1}”ab; } }
13、写出程序的运行结果usingSystem;classFatherClass{publicFatherClass{Console.WriteLineConstructFatherClass;}}classSonClass:FatherClass{publicSonClass{Console.WriteLineConstructSonClass;}}classApp//应用类{publicstaticvoidMain{SonClassobj=newSonClass;}}
六、设计题
1、定义一个类,其中包含一个成员变量age要求
①在类外边不能直接访问该成员变量
②通过一个可读写属性来访问该成员变量
③变量age的取值只能是0~
1002、设计一个学生信息类要求
①可以存储学生的学号,姓名,年龄信息
②至少包含两个成员方法学生信息的注册输入、查询
③学生信息的输入通过构造函数来完成
④信息查询要求按学号查询,并输出查询结果若找到,输出该学生所有信息;否则,输出“查无此人”
3、设计一个用于计算圆的周长和面积的类要求
①至少包含三个成员方法计算圆周长、计算圆面积、输出计算结果
②圆半径是通过参数传递到方法中的
③圆周率值在定义后不能再被改变
4、编写一个类,能够根据输入的学生成绩,显示相应的等级要求
①至少包含两个成员方法学生成绩的输入、等级的划分与显示
②等级分为优、良、及格和不及格
③当输入的成绩无效时,能给出错误提示
5、编写一个用于数学计算的类,能够计算一个整数x的阶乘、平方和1~x之和要求
①至少包含三个方法计算整数x的阶乘、计算整数x的平方、计算整数1~x之和
②整数x是通过参数的形式传递到方法中的
6、创建一个Add类,实现计算10个正数之和,并显示求和结果要求
①至少包含三个成员方法数据的输入、计算、输出计算结果
②参与计算的10个正数要求从键盘上输入
1、判断题。