川大高级语程序设计II复习题2.docx

上传人:b****3 文档编号:5434436 上传时间:2023-05-08 格式:DOCX 页数:10 大小:17.76KB
下载 相关 举报
川大高级语程序设计II复习题2.docx_第1页
第1页 / 共10页
川大高级语程序设计II复习题2.docx_第2页
第2页 / 共10页
川大高级语程序设计II复习题2.docx_第3页
第3页 / 共10页
川大高级语程序设计II复习题2.docx_第4页
第4页 / 共10页
川大高级语程序设计II复习题2.docx_第5页
第5页 / 共10页
川大高级语程序设计II复习题2.docx_第6页
第6页 / 共10页
川大高级语程序设计II复习题2.docx_第7页
第7页 / 共10页
川大高级语程序设计II复习题2.docx_第8页
第8页 / 共10页
川大高级语程序设计II复习题2.docx_第9页
第9页 / 共10页
川大高级语程序设计II复习题2.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

川大高级语程序设计II复习题2.docx

《川大高级语程序设计II复习题2.docx》由会员分享,可在线阅读,更多相关《川大高级语程序设计II复习题2.docx(10页珍藏版)》请在冰点文库上搜索。

川大高级语程序设计II复习题2.docx

川大高级语程序设计II复习题2

C++试题及答案二(2005-9-2514:

28:

00)

一、单选题

1、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为             。

A.main          B.MAIN          C.name          D.function

2、设x和y均为bool量,则x&&y为真的条件是               。

A.它们均为真   B.其中一个为真   C.它们均为假    D.其中一个为假

3、下面的哪个保留字不能作为函数的返回类型?

               。

A.void          B.int             C.new            D.long

4、假定a为一个整型数组名,则元素a[4]的字节地址为                。

A.a+4           B.a+8            C.a+16           D.a+32

5、假定AB为一个类,则执行“AB a(4),b[3],*p[2];”语句时,自动调用该类构造函数的次数为                。

A.3             B.4              C.6              D.9

6、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:

                。

A. AB operator+(AB &a,AB &b)      B. AB operator+(AB &a)

C. operator+(AB a)                      D. AB &operator+()

 

二、填空题)

1、C++语言中的每条基本语句以            作为结束符,每条复合语句以           

作为结束符。

2、执行“cout <

3、float和double类型的大小分别为           和           。

 

4、算术表达式              对应的C++表达式为                            。

 

5、关系表达式x+y>5的相反表达式为                         。

6、假定一个一维数组的定义为“char *a[8];”,则该数组所含元素的个数为         ,所占存储空间的字节数为           。

7、变量分为全局和局部两种,             变量没有赋初值时,其值是不确定的。

8、假定a是一个二维数组,则a[i][j]的指针访问方式为                        。

9、假定一个结构类型定义为

“struct D{int a; union{int b;double c;};D *d[2];};”,

则该类型的大小为             字节。

10、对一个类中的数据成员的初始化可以通过构造函数中的                 实现,也可以通过构造函数中的                   实现。

11、假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类的构造函数的次数为                      。

12、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为                                   。

 

三、给出下列程序运行后的输出结果

1、#include

voidSB(charch){

   switch(ch){

   case'A':

case'a':

          cout<<"well!

";break;

   case'B':

case'b':

          cout<<"good!

";break;

   case'C':

case'c':

          cout<<"pass!

";break;

   default:

          cout<<"nad!

";break;

   }

}

voidmain(){

   chara1='b',a2='C',a3='f';

   SB(a1);SB(a2);SB(a3);SB('A');

   cout<

}

 

2、#include

#include

 

voidmain(){

   char*a[5]={"student","worker","cadre","soldier","peasant"};

   char*p1,*p2;

   p1=p2=a[0];

   for(inti=0;i<5;i++){

          if(strcmp(a[i],p1)>0)p1=a[i];

          if(strcmp(a[i],p2)<0)p2=a[i];

   }

   cout<

}

 

3、#include

inta=5;

voidmain(){

   inta=10,b=20;

   cout<

   {  inta=0,b=0;

      for(inti=1;i<6;i++){

          a+=i;b+=a;

   }

          cout<

:

a<

   }

   cout<

}

 

4、#include

intLB(int*a,intn){

   ints=1;

   for(inti=0;i

          s*=*a++;

   returns;

}

voidmain(){

   inta[]={1,2,3,4,5,6,7,8};

   intb=LB(a,5)+LB(&a[3],3);

   cout<<"b="<

}

 

5、#include

#include

structWorker{

   charname[15];  //姓名

   intage;        //年龄

   floatpay;      //工资

};

voidmain(){

   Workerx;

   char*t="liouting";

   intd=38;floatf=493;

   strcpy(x.name,t);

   x.age=d;x.pay=f;

   cout<

}

 

6、#include

classA{

   inta;

public:

   A(intaa=0){a=aa;}

   ~A(){cout<<"DestructorA!

"<

};

classB:

publicA{

   intb;

public:

   B(intaa=0,intbb=0):

A(aa){b=bb;}

   ~B(){cout<<"DestructorB!

"<

};

voidmain(){

   Bx(5),y(6,7); //后定义的变量将先被释放

}

 

四、写出下列每个函数的功能

1、#include

intSA(inta,intb){

   if(a>b)return1;

   elseif(a==b)return0;

   elsereturn-1;

}

 

2、floatFI(intn){

   //n为大于等于1的整数

   floatx,y=0;

   do{

          cin>>x;

          n--;y+=x*x;

   }while(n>0);

   return y;

}

 

3、template

voidWE(Typea[],Typeb[],intn){

   for(inti=0;i

          b[n-i-1]=a[i];

}

 

4、structStrNode{

   charname[15];    //字符串域

   StrNode*next;   //指针域

};

voidQB(StrNode*&f,intn){

   if(n==0){f=NULL;return;}

   f=newStrNode;

   cin>>f->name;

   StrNode*p=f;

   while(--n){

          p=p->next=newStrNode;

          cin>>p->name;

   }

   p->next=NULL;

}

 

五、编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a:

xxk1.dat”中。

 

*******************************************************************************

*******************************************************************************

 

C++语言程序设计试题

答案及评分标准

(供参考)

2001年3月

一、单选题(每小题1分,共6分)

评分标准:

选对者得1分,否则不得分。

1、A      2、A       3、C       4、C      5、B      6、B

二、填空题(每小题2分,共24分)

评分标准:

每题与参考答案相同者得2分,否则不得分。

1、  :

   }                       2、  C

3、  4    8                       4、  (x*y*y)/(3*a)+4*b-1

5、  x+y<=5                        6、  8     32

7、  局部                          8、 *(a[i]+j)  或 *(*(a+i)+j)

9、  20                           10、 初始化表   函数体

11、 10                           12、 AB:

:

bb

三、给出下列程序运行后的输出结果(每小题6分,共36分)

评分标准:

每题与参考答案的数据和显示格式完全相同者得6分,否则酌情给分。

1、 good!

 pass!

 bad!

 well!

2、 worker cadre

3、 10 20

15 35 5

10 20

4、 b=240

5、 liouting 38 493

6、 Destructor B!

 7

Destructor A!

 6

Destructor B!

 0

Destructor A!

 5

四、写出下列每个函数的功能(每小题6分,共24分)

   评分标准:

每题与参考答案的叙述含义相同者得6分,否则酌情给分。

   1、比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a

   2、求出从键盘上输入的n个常数的平方和并返回。

   3、模板函数,把数组a的每个元素按逆序放入数组b中。

   4、建立一个具有n个结点的链表,每个结点的字符串值由键盘输入,链表的表头指针由引用变量f带回。

五、编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a:

xxk1.dat”中。

(10分)

 

  评分标准:

见参考程序中的注释。

 

#include  //使用此命令得1分

#include

#include

 

voidmain(){

      ofstreamfout("a:

xxk1.dat"); //定义输出文件流并打开文件得2分

      if(!

fout){

             cerr<<"文件没有打开!

"<

             exit

(1);

      }       //可有可无

      intx;

      cin>>x;

      while(x!

=-1){

             fout<

             cin>>x;

      }   //能够从键盘向文件正确输出数据得6分

      fout.close();  //关闭输出文件流得1分

}

 

 

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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