《2013c程序设计试卷A_数字媒体.doc》由会员分享,可在线阅读,更多相关《2013c程序设计试卷A_数字媒体.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、南阳理工学院_2012_-_2013_学年第_一_学期试卷(A卷) 课程:C+程序设计考核方式:(闭卷) 课程性质:_必修_适用对象:2011级本科 软工数字媒体题号一二三四五总分复核人满分2020102525100得分一、单项选择题:(每题2分,共20分)评卷人得分1. 设int n=20,i=4;则赋值运算n%=i+1执行后,n的值为( A )A. 0 B. 3 C. 2 D. 12. C+程序从上机到得到结果的几个操作步骤依次是( B )A. 编译、编辑、连接、运行 B. 编辑、编译、连接、运行C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接3. 在语句int b 3=1,3,
2、2,4,5,6,0;中b22的值是( c )A. B. 5 C. 6 D. 24. 若有定义语句“char a20= I Love C+;”,在程序运行过程中,若要想将数组中的内容修改为“Hello World!”,则以下语句能够实现的为( C )A. a=Hello World! ; B. strcat(a, Hello World! ); C. strcpy(a, Hello World! ); D. C+中字符数组的内容是不能够修改的5.若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( B )A. 公有成员 B. 私有成员 C. 保护成员 D. 保护成员或私
3、有成员 6.( D )不是构造函数的特征A. 构造函数的函数名和类名相同 B. 构造函数可以重载C. 构造函数可以设置默认形参值 D. 构造函数必须指定函数类型说明7. 带inline关键字定义的函数为( B )A. 常成员函数 B. 内联函数 C. 友元函数 D. 虚函数 8.下列运算符中,( A )运算符在C+中不能重载 /不能被重载的运算符“.”、“:”、“?:”和“sizeof”A. ?: B. + C. + D. 9. 已知枚举类型定义语句为: enum Token NAME, NUMBER, PLUS = 5, MINUS, PRINT = 10 ; 则下列叙述中错误的是( B )
4、 A. 枚举常量NAME的值为1 B. 枚举常量NUMBER的值为1 C. 枚举常量MINUS的值为6 D. 枚举常量PRINT的值为1010.如果有一个类至少有一个( a ),那么就称该类为抽象类 A. 纯虚函数 B. 构造函数 C. 成员函数 D. 友元函数二、填空题:(每空2分,共20分)(说明:将认为正确的答案填写在每小题中的横线上)评卷人得分1.用于输出表达式值的标准输出流对象是 cout 。2.函数重载时要求同名函数的参数 类型 或 数量 不同,否则无法确定是哪个函数。3.在保护派生的情况下,派生类中定义的成员函数只能访问原基类的 public 成员和 protected 成员。4
5、. 拷贝构造 函数是一种特殊的构造函数,它的功能是用一个已知的对象来初始化一个被创建的同类的对象。5.虚函数是实现动态联编的基础,它是使用关键字 virtual 修饰的成员函数。6.假定A为一个类,则语句A(int i);为该类 构造函数 函数的原型说明。 7.使用 const 关键字说明的对象称为常对象,在定义常对象时必须进行初始化。8.一个类中有 一 个析构函数。三、判断题:(每题2分,共10分)(说明:判断以下描述的正确性,正确的划,错误的划)评卷人得分1. 在C+语言中,标识符Max和MAX是不一样的。( )2. 在C+中,关键字class与struct默认的访问权限是相同的。( cu
6、o )3. 析构函数是一个不包含参数的成员函数。( )4. 在C+程序中,switch语句中必须有break语句。( cuo )5. 构造函数可以声明为虚函数。( cuo )6. 说明函数原型时不需要指明每个参数的类型,只需要说明每个参数的名字。( cuo )7. 派生类是从基类派生出来,它不能生成新的派生类。( cuo )8. 设有定义一维数组如下:int a5,*p=a;则表达式p=p+1是合法的。( )9. 结构体占用的内存大小是它不同类型的数据内存的总和。( cuo )10. 在C+程序中,所有函数说明都必须指明返回值类型,没有说明返回值类型的函数默认为char类型。( cuo )四、
7、程序阅读题:(每题5分,共25分)(说明:将认为正确的答案填写在每小题中的横线上)评卷人得分1.下面程序的运行结果 1 60 #includeusing namespace std;void fun(int n1,int &n2)n1=n1+10;n2=n2*10;int main()int x=1,y=6;fun(x,y);coutxyendl;return 0;2.下面程序的运行结果 10 #includeusing namespace std;class sampleint x;public:void setx(int i)x=i;void disp()coutx;int main()s
8、ample s1;s1.setx(10);s1.disp();return 0;3. 下面程序的运行结果 B1B2* #includeusing namespace std;class B1public: B1()coutB1; B1()cout*;class B2:public B1 public:B2()coutB2; B2()cout*;int main()B2 obj;return 0;4. 下面程序的运行结果 derivel class derive2 class #includeusing namespace std;class basepublic:virtual void sh
9、ow()=0;class derive1:public basepublic:void show()coutderivel classendl;class derive2:public basepublic:void show()coutderive2 class show();p1=&od2;p1-show();return 0;5. 下面程序的运行结果 _ 2 6 #includeusing namespace std;class base1 int i;public:base1(int a)i=a;void show()couti ;class derived:public base1i
10、nt k;public:derived(int a,int b):base1(a) k=b;void show()base1:show();coutkendl;int main() derived obj(2,6);obj.show();return 0;五、程序设计题:(第1题10分,第2题10分,共20分)评卷人得分1. please define a class named Rectangle , which data members are: lengh and width, implement its function members:(1)A constructor that in
11、itialize the data members.(2)A member function Area ( ) that s calculate Area of Rectangle.(3)A member function show ( ) that show information of data members and area of Rectangle .2. From the above class Rectangle derive a class called cuboid(长方体), and add height data memberto sub-class(子类), compl
12、ete the correspondent functionalities (1)A constructor that initialize the data members.(2)A member function Area ( ) that s calculate Area of Rectangle.(3)A member function show ( ) that show information of data members and area of Rectangle ./ 字符串练习.cpp : 定义控制台应用程序的入口点。/#include stdafx.h#includeus
13、ing namespace std;class Retanglepublic:Retangle(double width,double height);double GetArea(double width,double height);void Show();double _width;double _height;double s;Retangle:Retangle(double width,double height)_width=width;_height=height;double Retangle:GetArea(double width,double height)return
14、s=width*height;void Retangle:Show()cout矩形宽为:_widthendl;cout矩形长为_heightendl;cout矩形面积为:sendl;class Cuilb:public,private Retanglepublic:Cuilb(double width,double height,double h);double GetBul(double width,double height,double h);void Show();private:double s; double h1;Cuilb:Cuilb(double width,double h
15、eight,double h):Retangle(width,height)_width=width;_height=height;h1=h;double Cuilb:GetBul(double width,double height,double h)returns=width*height*h;void Cuilb:Show()coutchang:_widthendl;coutkuan:_heightendl;couttiji:sendl;int _tmain(int argc, _TCHAR* argv)double width;double height;double h;cout请输入矩形长:height;cout请输入矩形的宽:width;cout请输无高:h;Cuilb c(width,height,h);c.GetBul(width,height,h);c.Show();Retangle r1(width,height);r1.GetArea(width,height);r1.Show();共6页 第9页
限制150内