最新东北大学秦皇岛分校原版c++复习题.docx

上传人:b****7 文档编号:16288018 上传时间:2023-07-12 格式:DOCX 页数:48 大小:42.21KB
下载 相关 举报
最新东北大学秦皇岛分校原版c++复习题.docx_第1页
第1页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第2页
第2页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第3页
第3页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第4页
第4页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第5页
第5页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第6页
第6页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第7页
第7页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第8页
第8页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第9页
第9页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第10页
第10页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第11页
第11页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第12页
第12页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第13页
第13页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第14页
第14页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第15页
第15页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第16页
第16页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第17页
第17页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第18页
第18页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第19页
第19页 / 共48页
最新东北大学秦皇岛分校原版c++复习题.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新东北大学秦皇岛分校原版c++复习题.docx

《最新东北大学秦皇岛分校原版c++复习题.docx》由会员分享,可在线阅读,更多相关《最新东北大学秦皇岛分校原版c++复习题.docx(48页珍藏版)》请在冰点文库上搜索。

最新东北大学秦皇岛分校原版c++复习题.docx

最新东北大学秦皇岛分校原版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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2