c上机试题及答案文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]
A.类的定义
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No
Description
定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为。(15分)
Input
包含一个整数。
Output
输出一行,是两个对象的面积值。具体参照样例。
Sample Input
2
Sample Output
A题
#include
using namespace std;
class Circle
{
public:
Circle(int r):radius(r) {}
Circle(Circle &p);
double getArea(int radius); private:
int radius;
};
Circle::Circle(Circle &p)
{
radius = ;
}
double Circle::getArea(int radius) {
float area;
area = *radius*radius;
return area;
}
int main()
{
int r;
double area1,area2;
Circle A(r);
Circle B(A);
cin>>r;
area1 = (r);
area2 = (r);
cout< return 0; } B.静态数据成员 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 270 (173 users) Total Accepted: 60 (57 users) Special Judge: No Description 定义一个Lingjian类,拥有整型的数据成员Weight和静态数据成员AllWeights(初始化为0),每定义一个对象,AllWeights增加该零件 的重量Weight;析构函数中删除Weight;静态成员函数GetWeights() 获取Weights。设计程序,定义两个对象之后,输出类的AllWeights。 其中Weight是在main()函数中从文件读数对单个零件重量赋值。(15分) 注意:必须按照描述要求书写代码,否则不给分。 Input 包含一个整数。 Output 输出一行,是Lengths的值。具体参照样例。 Sample Input 12 24 Sample Output 36 B题 #include using namespace std; class Lingjian { public: Lingjian(int Weights) { AllWeights = AllWeights + Weights; } ~Lingjian(){ Weights = 0;} static int GetWeights() { return Weights; } static int AllWeights; static int Weights; }; int Lingjian::AllWeights=0; int Lingjian::Weights=0; int main() { int a,b; cin>>a>>b; Lingjian A(a); Lingjian B(b); cout<<< return 0; } C.友元函数 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 400 (230 users) Total Accepted: 98 (97 users) Special Judge: No Description 定义狮子Lion与老虎Tiger两个类,二者都有weight私有整型属性,定义二者的一个友元函数totalWeight(),计算二者的重量和。设计程序,定义狮子与老虎两个对象之后,调用totalWeight(),计算二者的重量和,然后输出。其中狮子与老虎的Weight是在main()函数中从文件读数赋值。(15分) 注意:必须按照描述要求书写代码,否则不给分。 Input 包含一个整数。 Output 重量和输出一行,是重量和的值。具体参照样例。 Sample Input 240 280 Sample Output 520 C题 #include using namespace std; class Tiger; class Lion { public: Lion(int L):weight(L) {} friend int totalWeight(Lion &aLion, Tiger &aTiger); private: int weight; }; class Tiger { public: Tiger(int T):weight(T) {} friend int totalWeight(Lion &aLion, Tiger &aTiger); private: int weight; }; int totalWeight(Lion &aLion, Tiger &aTiger) { return +; } int main() { int w1, w2; cin>>w1>>w2; Lion L(w1); Tiger T(w2); cout< } D.用指针访问二维数组 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 161 (115 users) Total Accepted: 39 (38 users) Special Judge: No Description 定义一个3x3的二维数组,从文件中读入数据。设计一个函数名为average,该函数的第一个参数是二维数组,第二个参数是行数,功能为 对整个二维数组求平均值,返回值为最后的平均值,要求用以指针形式访问数组,不能使用下标形式(如a[1][2])。在主函数main中调用average求平均值,输出数组的平均值。(15分) 注意:必须按照描述要求书写代码,否则扣分或者不给分。 Input 输入有三行,每行有3个浮点数,浮点数范围[-200,200] Output 输出数组的平均值。具体参照样例。 输出不要求精度控制,使用C++默认的输出即可。如将浮点数f输出到一行,使用cout << f < Sample Input 124 135 145 122 133 213 Sample Output D题 #include using namespace std; float average(float a[3][3] , int i) { float sum = 0; for(int i = 0; i < 3; i++) for(int j = 0 ; j < 3; j++) { sum += *(*(a+i)+j); } return sum/9; } int main() { float average(float a[3][3], int i); float a[3][3]; float aver; for(int i = 0; i < 3; i++) for(int j = 0 ; j < 3; j++) cin>>*(*(a+i)+j);; aver = average(a,3); cout< } E.派生类 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 164 (119 users) Total Accepted: 27 (25 users) Special Judge: No Description 设计一个名为Point的点类和一个名为Rectangle的矩形类。点类的属性是整型的x和y坐标。矩形类是从点类派生的,点坐标为矩形的左下角的点坐标,并增加两个整型属性,分别是长(X方向)和高(Y方向)。同时还有获取(并计算)右上角点的成员函数getRightUpPoint()。要求设计实现这两个类,并且矩形类还要实现带参数的构造函数,以及拷贝构造函数。从文件读取数据构造一个矩形对象R1,使用拷贝构造函数构造矩形对象变量名为R2,进而调用R2的getRightUpPoint()得到右上角坐标,然后输出该坐标值。写出完整的C++测试派生类构造函数、拷贝构造函数的程序代码。(20分) 注意:必须按照描述要求书写代码,否则不给分。 Input 输入有两行,第一行两个整数x1,y1表示矩形的左上角坐标(x1,y1);第二行两个整数lenght,width表示矩形的长(X方向)和高(Y方向)Output 输出有一行,是调用R2的getRightUpPoint()而得到的点的坐标值。 Sample Input 12 13 34 45 Sample Output 46 58 E题 #include using namespace std; class Point { public: void initPoint(int x=0, int y=0){this->x=x; this->y=y; } int getX() const {return x; } int getY() const {return y; } private: float x, y; }; class Rectangle:public Point { public: void initRectangle(int x, int y, int w, int h) { initPoint(x, y); this->w=w; this->h=h; } int getH() const {return h; } int getW() const {return w; } void getRightUpPoint(int *xx, int *yy) { *xx=getX()+getW(); *yy=getY()+getH(); } private: int w, h; }; int main() { int x, y, lenght, width; int xx,yy; cin>>x>>y>>lenght>>width; Rectangle R1; (x, y, lenght, width); Rectangle R2(R1); (&xx, &yy); cout< } c语言上机选择题题及答案 ————————————————————————————————作者:————————————————————————————————日期: 2 1、下列字符序列中,不可用作C语言标识符的是(c) A.abc123 B.no_1 C.a!b D._ok_0 2、正确的C语言标识符是(a) A._buy_2 B.2_buy C.?_buy D.buy? 3、不属于C语言关键字的是(D) A.int B.break C.while D.character 4、以下选项中,合法的C语言标识符是(A) A.mon B.2_abc C.3dmax D.A.dat 5、以下选项中,合法的实型常数是(C) A.5E2.0 B.E-3 C.2E02 D.1.3E 6、以下选项中,正确的字符常量是(C) A."F" B.'\\'' C.'W' D.''' 7、已知字母A的ASCII码为十进制数65,且S为字符型, 则执行语句S='A'+'6'-'3';后,S中的值为(A) A.'D' B.68 C.不确定的值D.'C' 8、在C语言中,要求运算数必须是整型的运算符是(D) A./ B.++ C.*= D.% 9、若有定义:int m=7; float x=2.5, y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是(A) A.2.500000 B.2.750000 C.3.500000 D.0.000000 10、设变量x为float类型,m为int类型,则以下能实现将x中的数值 保留小数点后两位,第三位进行四舍五入运算的表达式是(B) A.x=(x*100+0.05)/100.0 B.m=x*100+0.5, x=m/100.0 C.x=x*100+0.5/100.0 D.x=(x/100+0.5)*100.0 11、假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是(B) A.7 B.8 C.6 D.2 12、已知s是字符型变量,下面不正确的赋值语句是(B) A.s='\012'; B.s= 'u+v'; C.s='1'+'2'; D.s=1+2; 13、设x、y均为float型变量,则不正确的赋值语句是(C) A.++x ; B.x*=y-2; C.y=(x%3)/10; D.x=y=0; 14、putchar函数可以向终端输出一个(D) A.整型变量表达式值。B.字符串 C.实型变量值。D.字符 15、以下程序段的输出结果是(C) int a=12345; printf(”%2d\n”, a); A.12 B.34 C.12345 D.提示出错、无结果16、有如下程序段,从键盘输入数据的正确形式应是(B) (注:└┘代表空格) float x,y,z; scanf(“x=%d,y=%d,z=%d”,&a,&y,&z); A.123 B.x=1,y=2,z=3 C.1,2,3 D.x=1└┘y=2└┘z=3 题目 --1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值, --显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。 --2、查找与喻自强在同一个单位的员工姓名、性别、部门和职称 --3、按部门进行汇总,统计每个部门的总工资 --4、查找商品名称为14寸显示器商品的销售情况, --显示该商品的编号、销售数量、单价和金额 --5、在销售明细表中按产品编号进行汇总,统计每种产品的销售数量和金额 --6、按客户编号统计每个客户1996年的订单总金额 --7、查找有销售记录的客户编号、名称和订单总额 --8、查找在1997年中有销售记录的客户编号、名称和订单总额 --9、查找一次销售最大的销售记录 --10、查找至少有3次销售的业务员名单和销售日期 --11、用存在量词查找没有订货记录的客户名称 --12、使用左外连接查找每个客户的客户编号、名称、订货日期、订单金额 --订货日期不要显示时间,日期格式为yyyy-mm-dd --按客户编号排序,同一客户再按订单降序排序输出 --13、查找16M DRAM的销售情况,要求显示相应的销售员的姓名、 --性别,销售日期、销售数量和金额,其中性别用男、女表示 --14、查找每个人的销售记录,要求显示销售员的编号、姓名、性别、 --产品名称、数量、单价、金额和销售日期 --15、查找销售金额最大的客户名称和总货款 --16、查找销售总额少于1000元的销售员编号、姓名和销售额 --17、查找至少销售了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额--18、查找至少与世界技术开发公司销售相同的客户编号、名称和商品编号、商品名称、数 量和金额 19、查找表中所有姓刘的职工的工号,部门,薪水 20、查找所有定单金额高于20000的所有客户编号 21、统计表中员工的薪水在40000-60000之间的人数 22、查询表中的同一部门的职工的平均工资,但只查询"住址"是"上海市"的员工 c上机试题及答案文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208] A.类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为。(15分) Input 包含一个整数。 Output 输出一行,是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output A题 #includec语言上机选择题题及标准答案
上机考试题目及答案
c上机试题及答案