最新东北大学秦皇岛分校原版c++复习题.docx
- 文档编号:16288018
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:48
- 大小:42.21KB
最新东北大学秦皇岛分校原版c++复习题.docx
《最新东北大学秦皇岛分校原版c++复习题.docx》由会员分享,可在线阅读,更多相关《最新东北大学秦皇岛分校原版c++复习题.docx(48页珍藏版)》请在冰点文库上搜索。
最新东北大学秦皇岛分校原版c++复习题
调研课题:
中式饰品风格的饰品绝对不拒绝采用金属,而且珠子的种类也更加多样。
五光十色的水晶珠、仿古雅致的嵌丝珐琅珠、充满贵族气息的景泰蓝珠、粗糙前卫的金属字母珠片的材质也多种多样。
因此不难看出,自制饰品在校园里也大有市场所在。
对于那些走在流行前端的女生来说,〝捕捉〞新事物便〝捕捉〞到了时尚与个性。
(五)DIY手工艺品的“价格弹性化”
(三)大学生购买消费DIY手工艺品的特点分析
为此,装潢美观,亮丽,富有个性化的店面环境,能引起消费者的注意,从而刺激顾客的消费欲望。
这些问题在今后经营中我们将慎重考虑的。
人民广场地铁站有一家名为“漂亮女生”的饰品店,小店新开,10平方米不到的店堂里挤满了穿着时尚的女孩子。
不几日,在北京东路、淮海东路也发现了“漂亮女生”的踪影,生意也十分火爆。
现在上海卖饰品的小店不计其数,大家都在叫生意难做,而“漂亮女生”却用自己独特的经营方式和魅力吸引了大批的女生。
2、Google网站www。
people。
com。
cn
此次调查以女生为主,男生只占很少比例,调查发现58%的学生月生活费基本在400元左右,其具体分布如(图1-1)
2、消费者分析A卷
1.下列语句中错误的是(D)
A.int*p=newint(10); B.int*p=newint[10]; C. int*p=newint; D.int*p=newint[40](0)
2.假设已经有定义char*constname=”chen”;下面的语句中正确的是(A)
A.name[3]=’q’; B.name=”lin”; C.name=newchar[5] D.name=newchar(‘q’);
3.下面的类型声明中正确的是(D)
A.int&a[4] B.int&*p; C.int&&q; D.intI,*p=&I;
4.在声明类时,下面的说法正确的是(C)
A.可以在类的声明中给数据成员赋值 B.数据成员的数据类型可以是register
C.private、public、protected可以按任意顺序出现 D.没有用private、public、protected定义的数据成员是公有成员
5.构造函数是在(B)时被执行的。
A.程序编译 B.创建对象 C.创建类 D.程序装入内存
6.在下面有关友元函数的描述中,正确的说法是(A)
A.友元函数是独立于当前类的外部函数 B.一个友元函数不能同时定义为两个类的有友元函数
C.友元函数必须在类的外部定义 D.在外部定义友元函数时,必须加关键字friend
7.使用派生类的主要作用是(A)
A.提高代码的可重用性 B.提高程序的运行效率 C.加强类的封装性 D.实现数据的隐藏
8.关于虚函数,正确的描述是(A)
A.构造函数不能是虚函数B.析构函数不能是虚函数C.虚函数可以是友元函数D.虚函数可以是静态成员函数
9.如果在基类中将成员函数show声明为不带返回值得纯虚函数,正确的写法是(C)
A.virtualshow()=0; B.virtualvoidshow() C.virtualvoidshow()=0; D.voidshow()=0virtual;
10.使用myFile.open(“sales.dat”,ios:
:
app)语句打开文件sales.dat后,则(A)
A.该文件只能用于输出 B.该文件只能用于输入 C.该文件既能用于输出,又能用于输入 D.若该文件存在,则清除该文件的内容
三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)
1.#include"iostream.h"
classtoy
{
public:
toy(intq,intp)
{quan=q;price=p;}
intget_quan()
{returnquan;}
intget_price()
{returnprice;}
private:
intquan,price;
};
intmain()
{
toyop[2][2]={toy(10,20),toy(30,48),toy(50,68),toy(70,80)};
inti;
for(i=0;i<2;i++)
{
cout< cout< cout< cout< } cout<<"\n"; return0; } 2.#include"iostream.h" classStock { public: voidprint() {cout<<"Stockclass.\n";} }; classDer1_Stock: publicStock { public: voidprint() {cout<<"Deri1_Stockclass.\n";} }; classDer2_Stock: publicStock { public: voidprint() {cout<<"Deri2_Stockclass.\n";} }; voidmain() { Stocks1; Stock*ptr; Der1_Stockd1; Der2_Stockd2; ptr=&s1; ptr->print(); ptr=&d1; ptr->print(); ptr=&d2; ptr->print(); } 3.#include"iostream.h" classA { public: A(inti): xi(i){} A(){xi=0;} friendAoperator++(Aa); friendAoperator--(A&a); voidprint(); private: intxi; }; Aoperator++(Aa) { ++a.xi; returna; } Aoperator--(A&a) { --a.xi; returna; } voidA: : print() {cout< voidmain() { Ai(7); ++i; i.print(); --i; i.print(); } 三 1.答案: 10,20;30,48;50,6870,80 2.答案: Stockclass. Stockclass. Stockclass. 3.答案: 7 6 B卷 一、选择题(每题2分,共20分,答案填写在题后的表格内) 1.假设已经有定义constchar*constname=”chen”;下面的语句中正确的是(D) A.name[3]=’a’; B.name=”lin”; C.name=newchar[5] D.cout< 2.假设已经有定义const char*name=”chen”;下面的语句中错误的是(A) A.name[3]=’q’; B.name=”lin”; C.name=newchar[5] D.name=newchar(‘q’); 3.在下面有关对构造函数的描述中,正确的是(B) A.构造函数可以带有返回值 B.构造函数的名字与类名完全相同 C.构造函数必须带有参数 D.构造函数必须定义,不能缺省 4.在下面有关析构函数特征的描述中,正确的是(C) A.一个类可以定义多个析构函数B.析构函数名与类名完全相同C.析构函数不能指定返回类型 D.析构函数可以有一个或多个参数 5.在下面有关静态成员函数的描述中,正确的是(B) A.在静态成员函数中可以使用this指针 B.在建立对象前,就可以为静态数据成员赋值 C.静态成员函数在类外定义时,要用static前缀 D.静态成员函数只能在类外定义 6.友元的作用之一是(A) A.提高程序的运行效率 B.加强类的封装性 C.实现数据的隐藏性 D.增加成员函数的种类 7.假设已经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是(C) A.classderived: : studentprivate B.classderived: studentpublic C.classderived: privatestudent{//… } D.classderived: : publicstudent{//… } 8.要实现动态联编,派生类中的虚函数(D) A.返回的类型可以与虚函数的原型不同B.参数个数可以与虚函数的原型不同C.参数类型可以与虚函数的原型不同D.以上都不对 9.有关运算符重载正确的描述是(D) A.C++语言允许在重载运算符时改变运算符的操作个数 B.C++语言允许在重载运算符时改变运算符的优先级 C.C++语言允许在重载运算符时改变运算符的结合性 D.C++语言允许在重载运算符时改变运算符的原来的功能 10.假设定义了函数模板: template Tmax(Tx,Ty) {return(x>y)? x: y;} 并定义了inti=6;charc=’a’;错误的调用语句是(D) A.max(i,i) B.max(c,c) C.max((int)c,i) D.max(i,c) C卷 一、单项选择题: (每小题2分,共20分) 1、假设已经有定义constchar*name=”chen”;下列语句中错误的是_____________ A.name[3]=’q’ B.name=”lin” C.name=newchar[5] D.name=newchar(‘q’) 2、在下列关键字中,用于说明类中公有成员的是____________ A.public B.private C.protected D.friend 3、下列哪项不是面向对象程序设计的主要特征_______________。 A.封装 B.继承 D.多态 D.结构 4、构造函数是在__________时被执行的。 A.程序编译 B.创建对象 C.创建类 D.程序装入内存 5、在下面有关析构函数的描述中,正确的是____________ A.一个类中可以定义多个析构函数 B.析构函数的名字和类名完全相同 C.析构函数不能指定返回类型 D.析构函数可以有一个或多个参数 6、使用派生类的主要原因是_______________ A.提高代码的可充用性 B.提高程序的运行效率 C.加强类的封装性 D.实现数据的隐藏 7、下列的各函数中,___________不是类的成员函数. A.构造函数 B.析构函数 C.友元函数 D.拷贝构造函数 8、关于虚函数,正确的描述是_______________ A.构造函数不能是虚函数 B.析构函数不能是虚函数 C.虚函数可以是友元函数 D.虚函数可以是静态成员函数 9、友元的作用之一是____________ A.提高程序的运用效率 B.加强类的封装性 C.实现数据的隐藏性 D.增加成员函数的种类 10、在下面有关静态成员函数的描述中,正确的是________________ A.在静态成员函数中可以使用this指针 B.在建立对象前,就可以为静态数据成员赋值 C.静态成员函数在类外定义时,要用static前缀 D.静态成员函数只能在类外定义 二、判断题: (每题1分,共10分) ( )1、使用关键字class定义的类中缺省的访问权限是私有(private)的。 ( )2、构造函数和析构函数都不能重载。 ( )3、说明或定义对象时,类名前不需加关键字class。 ( )4、可以在类的构造函数中对静态数据成员进行初始化。 ( )5、protected和private区别在于protected成员可以被派生类访问,而private成员则不能被派生类访问。 ( )6、在C++中,封装是通过类实现的。 ( )7、无论何时编译器都为类构造一个无参数的缺省的构造函数。 ( )8、无论什么方式的继承,基类的私有成员都不能被派生类访问。 ( )9、在c++中,只有在类对象定义之后才能给数据成员赋初值。 ( )10、创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数。 三、填空题: (每空1分,共10分) 1、在C++中,类的成员访问权限分别是: 公有成员,私有成员和_________________。 2、拷贝构造函数使用_______________作为参数初始化创建中的对象。 3、在C++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的______________特性。 4、在公有继承的情况下,基类数据成员在派生类中的访问权限__________________。 5、在面向对象的程序设计中,通过________实现数据隐藏;通过________实现代码的复用。 6、在C++中,构造派生类对象时,总是先从_________的初始化开始的。 7、在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。 对两个有相同名字的数据成员进行访问时,如果没有___________,对此数据成员的访问将出现歧义;而________、_________和operator=是不能被派生类继承的。 一、单项选择题: (每小题2分,共20分) AADBC ACAAB 二、判断题: (每题1分,共10分) 对错对错对 对错对对对 三、填空题: (每空1分,共10分) 1、受保护成员 2、同类对象的引用 3、封装 4、公有的 5、封装,继承 6、基类 7、作用域分隔符限定,构造函数,析构函数 D卷 1.下类引用定义中,正确的是(D) A.intx,int&y=x;B.intx;int&y=x,x; C.floatx;inty=&z;D.intx;int&y=x; 2.假设已经有定义constchar*constname=”chen”;下面的语句中正确的是(D) A.name[3]=’a’; B.name=”lin”; C.name=newchar[5] D.cout< 3系统在调用重载函数时往往根据一些条件确定那个重载函数被调用,在下列选项中,不能作为依据的是(D) A.参数个数B.参数的类型C.函数名D.函数类型(返回值类型) 4、构造函数是在(B)时被执行的。 A.程序编译 B.创建对象 C.创建类 D.程序装入内存 5、在下面有关析构函数的描述中,正确的是(C) A.一个类中可以定义多个析构函数 B.析构函数的名字和类名完全相同 C.析构函数不能指定返回类型 D.析构函数可以有一个或多个参数 6.有以下类的说明,错误的地方是() classCoord {intx=0;y=0; Coord(); public: Coord(intx,inty); ~Coord(); }; A. B. C. D. 7.this指针是一个隐含于每一个类的成员函数的特殊指针,它是用来指向正在操作成员函数的()的指针。 A.对象B.函数C.成员D.类型 8.有关类和对象的说法不正确的是(C) A.对象是类的一个实例B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象D.类与对象的关系和数据类型和变量的关系相似 9.在下面有关友元函数的描述中,正确的说法是(A) A.友元函数是独立于当前类的外部函数 B.一个友元函数不能同时定义为两个类的有友元函数 C.友元函数必须在类的外部定义 D.在外部定义友元函数时,必须加关键字friend 10.派生类新增的成员函数,不能直接访问基类的(C)成员。 A.公有B.保护C.私有D.所有 11.下述静态数据成员的特性中,(D)是错误的。 A说明静态数据成员时前面要加修饰符static B静态数据成员要在类体外进行初始化 C引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符 D类的静态成员不实所有对象所共用的 E卷 1.在C++中,用数组、指针、和引用作为函数参数,能够将参数值带回。 2.在C++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的封装特性。 3.在C++中,构造派生类对象时,总是先从基类的初始化开始的。 4.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是拷贝每一个数据成员。 5.类是用户定义的类型,具有类类型的变量称作对象。 6.在5个运算符"*(乘号)、<=、! =、! 、&&"中,优先级由高到低的顺序是! 、*(乘号)、<=、! =、&&。 7.在C++中,类定义一般用class关键字,不过用struct关键字也可以定义类,它们定义类的区别在于在缺省访问权限时,struct类成员是公有的,而class类成员是私有的。 8.静态的成员函数没有隐含的this指针,所以,它们只能访问静态的数据成员。 9.与"(! a==0)"等价的C++表达式是(a>0||a<0)或(a)。 10.若a=6,b=4,c=2,则表达式"! (a-b)+c-1&&b+c/2"的值是1。 11.在面向对象的程序设计中,通过_封装_实现数据隐藏;通过_继承_实现代码的复用。 12.在下面的程序段中,语句"constint*c=&a;"和语句"int*constd=&b;"的含义分别是变量指针c指向整型常量a、常量指针d指向整型变量b。 constinta=78; intb=28; constint*c=&a; int*constd=&b; 13.用new申请有10个元素的指针数组str,假定数组元素是指向字符型数据的指针,该C++语句为char**str=newchar*[10];。 14.在C++中构造一个对象时,其数据成员在构造函数中初始化。 对于内嵌的对象、常量、引用数据成员需要在构造函数的成员初始化列表中初始化。 15.在类的定义中,说明为protected的数据成员称为保护成员。 保护数据成员具有双重作用: 对于其派生类而言,是公有的;而对于其外部的程序而言,是私有的。 16.C++中有两种数据类型: 整型和字符型可以使用signed修饰符。 。 17.举出C++中两种流程控制语句if语句、for循环语句。 18.预编译指令由三种,它们是: 文件包含、宏定义和条件编译。 19.C|++中,对象保存在内存中,栈内存是自动分配和释放的,而堆存需要用户自己申请和释放。 20.在C++函数中,可用return语句带回一个值。 如果有多个返回值,可用指针、引用等带回。 21.下面程序的运行结果是6。 #include voidmain() { chara='0',b='9'; floatx; x=(b-a)/('F'-'B'); printf("%d\n",(int)(3.14*x)); } 22.以下程序的输出结果是 **#**#**#$ 。 #include voidmain() { inti; for(i=0;i<=5;i++){ if(i%2)printf("**"); elsecontinue; printf("#"); } printf("$\n"); } 23.下面程序的运行结果是Hello50OK! 。 #include #defineN100 classCStack { public: CStack(){top=0;cout<<"Hello";} ~CStack(){cout<<"Bye";} voidpush(inti); intpop(); private: intstack[N]; inttop; }; voidCStack: : push(inti) { if(top==N){ cout<<"Overflow"; return; } else{ top++; stack[top]=i; } } intCStack: : pop() { inttemp; if(top==0){ cout<<"Underflow"; return0; } else{ temp=st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 东北大学 秦皇岛 分校 原版 c+ 复习题