2013-2014第一学期C#考试试题库
一、 面向对象技术
1、设计一个控制台程序,输入联系人的姓名、电话和email,能够显示该联系人的相应信息。
要求定义一个AddressBook类,包括:
(1)3个私有字段表示姓名、电话和email,数据类型均为string,不需要考虑电话及email的格式;
(2)一个构造函数通过输入的参数对联系人信息进行初始化; (3)一个只读属性对姓名读取;
(4)两个可读写属性对电话和email进行读写,当用户没有输入时读出的值为“未输入”;
(5)一个方法print()对该联系人的相应信息进行显示。
(6)在主函数中输入,姓名为:张三,电话为:82767500,email为123@126.com。调用AddressBook类中的print方法输出张三的所有信息。
2、 声明一个MyCar类,此类要求: (1)此类能被任何类的成员访问;
(2)该类包含有string类型的CarType(汽车类型)和double类型的CarPrice(汽车价格)两个属性;
(3)Mycar类具有一个无参的和包含两个参数的构造函数;
编写一个控制台程序,使之能够输出汽车类型为“SUV”和汽车价格“26.3”万。 3、计算3个坐标点构成的三角形的面积。 要求:
(1) 声明一个表示坐标系中的点的类Point,包含字段x,y,均为int类型以及带两个参数(x,y)的构造函数。
(2) 类中还要包含能够输出面积的方法area(),其中s=(a+b+c)/2,area=sqrt(s*(s-a)*(s-b)*(s-c))。
(3) 创建3个坐标点实例,注意判断此3个坐标点是否可以构成三角形,要求能够捕获到异常。
(4) 通过调用类中的方法求出由三个点组成的三角形的面积。
4、定义一个复数类Complex,通过重载运算符:+、-、*、/,直接实现两个复数之间的各种运算。
其中,两个复数相乘的计算公式为(a+bi)*(c+di)=(ac-bd)+(ad+bc)i; 两个复数相除的计算公式为
(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d)
5、把定义平面直角坐标系上的一个点的类CPoint作为基类,派生出描述一条直线的类Cline,再派生出一个矩形类CRect。要求成员函数能求出给定的两点(20,30)间的距离、矩形的周长和面积。编写完整的控制台程序。 要求:
(1) 类CPoint中定义两个私有变量x,y、int类型及能够访问到它们的公有属
性;
(2) 类CPoint中定义带有两个参数的构造函数及能够输出两个点的方法
display();
(3) 类Cline派生自类CPoint,也有自己的构造函数及输出直线的方法
Dista();
(4) 矩形类CRect派生自类Cline,有自己的构造函数,计算矩形的周长方法
是Perim(),面积是Area()。
6、在Maxer类中声明的方法Max()有三种重载形式,在Main方法中调用时,
会根据实参的数据类型(int、double、string)来自动调用相应的方法,求各种类型中的最大数。
(比如:输入13、45、-78、0就输出最大数为45;输入3.4、78.2、12.6就能输出最大数为78.2;输入”love”、”beijing”就能输出最长的字符串”beijing”)
二、windows窗体程序设计
1、设计一个简单的windows程序,界面如下图,使用数组输入5个数,按要求分别显示排序前的数组序列和排序后的数组序列,数和数之间都使用空格隔开。
要求:
(1) 每输入完一个数后,单击“添加”按钮,将数字添加到排序前的文本框中,
依次将5个数添加到文本框中,数与数之间用空格间隔开; (2) 排序前的文本框要求属性是:只读;
(3) 数字排序的顺序是由小到大,输出到最后一个文本框中,数与数之间用空格间隔开。
2、设计一个购物车程序,界面如下图,从左侧选择项目添加到右侧,单击“确定”按钮后显示消息窗口,如图。
要求:
(1) 包含两个ListBox控件,6个button按钮,功能分别为:从左侧到右侧添
加一项、从右侧移除一项、从左侧到右侧添加全部、从右侧移除全部以及确定和取消;
(2) 控件名称和属性自定义。
3、1小时倒计时程序,界面如下图。 其中:
(1) 包含一个Label控件,name属性为lbltime,Text属性用来显示1小时倒
计时数字;font属性分别为:黑体、40;
(2) 两个button按钮,分别是“开始/暂停”、“停止”按钮; (3) 一个timer控件;
(4) 除了Label,其他控件名称自定义。 程序功能为:
(1)当单击“开始”按钮时,倒计时开始,同时“开始”按钮变为“暂停”按钮;
(2)当单击“暂停”按钮时,倒计时暂停,同时“暂停”按钮变为“开始”; (3)当单击“停止”按钮时,倒计时停止。
4、编写一个程序,计算两个指定年份之间的闰年并输出,运行界面如下图所示。要求实现如下的功能:利用组合框选择或输入起止年份(组合框中预设年份为1990至2020),且起始年份不能大于终止年份,将两个指定年份间的闰年在列表框中输出。窗体左下角显示的是当前日期和时间。
闰年的计算方法为:能被4整除不能被100整除的或者能被400整除的。 控件名称说明:
(1) 起始年份和终止年份标签:label1、label2; (2) 起始年份对应得组合框为cbxStart; (3) 终止年份对应的组合框为cbxEnd; (4) 计算按钮的控件名为btnCalculate; (5) 闰年列表标签为label3; (6) 列表框为listLeapyear;
(7) 显示时间和日期的标签为label4。