在每个C程序中都必须包含有这样一个函数.docx

上传人:b****6 文档编号:6325125 上传时间:2023-01-05 格式:DOCX 页数:14 大小:22.89KB
下载 相关 举报
在每个C程序中都必须包含有这样一个函数.docx_第1页
第1页 / 共14页
在每个C程序中都必须包含有这样一个函数.docx_第2页
第2页 / 共14页
在每个C程序中都必须包含有这样一个函数.docx_第3页
第3页 / 共14页
在每个C程序中都必须包含有这样一个函数.docx_第4页
第4页 / 共14页
在每个C程序中都必须包含有这样一个函数.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

在每个C程序中都必须包含有这样一个函数.docx

《在每个C程序中都必须包含有这样一个函数.docx》由会员分享,可在线阅读,更多相关《在每个C程序中都必须包含有这样一个函数.docx(14页珍藏版)》请在冰豆网上搜索。

在每个C程序中都必须包含有这样一个函数.docx

在每个C程序中都必须包含有这样一个函数

一、单选题

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+()

7.由C++目标文件连接而成的可执行文件的缺省扩展名为             。

       A. cpp                        B. exe

       C. obj                        D. lik

8.在下面的一维数组定义中,哪一个有语法错误。

               

       A.  int a[]={1,2,3}              B.  int a[10]={0}

       C.  int a[]                     D.  int a[5]

9.在下面的函数声明中,存在着语法错误的是               。

       A.  void BC(int a,int)          B. void BD(int,int)

       C.  void BE(int,int=5)           D. int BF(int x;int y)

10.设x和y均为bool量,则x||y为真的条件是               。

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

11.对于结构中定义的成员,其隐含访问权限为           。

       A. public                       B. protected

       C. private                      D. static

12.假定AB为一个类,则该类的拷贝构造函数的声明语句为             。

       A. AB&(AB x)                B. AB(AB x)

       C. AB(AB &)                  D. AB(AB*x)

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

1、程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用或符号作为分隔符。

2、执行“cout <

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

 4、算术表达式 

 对应的C++表达式为                            。

 5、执行“intx=45,y=16;cout<

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的写法为                                   。

13.假定x=10,y=6,则表达式2+x++和++y*3的值分别为和。

14.已知’A’~’Z’的ASCII码为65~90,当执行“char ch=14*5+2;cout <

15.使用const语句定义一个标识符常量时,则必须对它同时进行        。

16.假定x=5,则执行“a=(x?

10:

4*2);”语句后a的值为。

17.若x=5,y=10,则x>y和x<=y的逻辑值分别为        和        。

18.执行“typedef int ABC[10];”语句把ABC定义为具有10个整型元素的       。

19.假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)++;”语句后,p所指对象的值为        。

20.假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为               。

21.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为                  。

22.设px是指向一个类动态对象的指针变量,则执行“delete px;”语句时,将自动调用该类的        。

23.若需要把一个函数“void F();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:

             。

24.假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用写法为。

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

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); //后定义的变量将先被释放

}

7、#include

voidmain()

{

      ints=0;

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

             if(s>50)break;

             if(i%2==0) s+=i;

      }

      cout <<"i,s="<

}

8、#include

voidmain()

{

      chara[]="abcdabcabfgacd";

      inti1=0,i2=0,i=0;

      while(a[i]){

             if(a[i]=='a')i1++;

             if(a[i]=='b')i2++;

             i++;

      }

      cout<

}

9、#include

voidmain()

{

      inta[9]={2,4,6,8,10,12,14,16,18};

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

             cout<

             if((i+1)%3==0)cout<

      }

}

10、#include

voidLE(int*a,int*b){

      intx=*a;

      *a=*b; *b=x;

      cout<<*a<<''<<*b<

}

voidmain()

{

   intx=10,y=25;

   LE(&x,&y);cout<

}

11、#include

classA{

      inta,b;

public:

      A(){a=b=0;}

      A(intaa,intbb){

             a=aa;b=bb;

             cout<

      }

};

voidmain()

{

      Ax,y(2,3),z(4,5);

}

12、#include

template

classFF{

      TTa1,a2,a3;

public:

      FF(TTb1,TTb2,TTb3){

             a1=b1;a2=b2;a3=b3;

      }

      TTSum(){returna1+a2+a3;}

};

voidmain()

{

      FFx(2,3,4),y(5,7,9);

      cout<

}

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

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;

}

5、doubleSF(doublex,intn){

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

   doublep=1,s=1;

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

          p*=x;

          s+=p/(i+1);

   }

   returns;

}

6、floatFH(){

   floatx,y=0,n=0;

   cin>>x;

   while(x!

=-1){

          n++;y+=x;

          cin>>x;

   }

   if(n==0)returny;elsereturny/n;

}

7、 #include

voidWA(inta[],intn){

      for(inti=0;i

             intk=i;

             for(intj=i+1;j

                    if(a[j]

                    intx=a[i];a[i]=a[k];a[k]=x;

      }

}

8、 #include

#include

voidJB(char*fname)

      //可以把fname所指字符串作为文件标识符的文件称为fname文件

      //假定该文件中保存着一批字符串,每个字符串的长度均小于20

{

      ifstreamfin(fname);

      chara[20];

      inti=0;

      while(fin>>a){

             cout<

             i++;

      }

      fin.close();

      cout<<"i="<

}

五、编写程序(每题10分,共10分)

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

xxk1.dat”中。

2.编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回。

  int Count(doublea[],intn);  //此为该函数的声明。

试卷答案

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

评分标准:

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

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

7、B       8、C       9、D10、  B      11、A       12、D

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

评分标准:

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

1、  逗号   空格                   2、  E

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

5、  213                        6、  8     32

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

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

11、 10                           12、 AB:

:

bb

13、1221                       

14、 H

15、 初始化                         

16、10

17、 false或0  true或1           

18、数组类型

   19、26        

   20、a+(i*N)*sizeof(a[0][0]) 或 a+i*sizeof(a[i])

21、 *(p->b)                         

22、 析构函数

23、 friend void F();  

24、AB:

bb=0;      

三、给出下列程序运行后的输出结果(每小题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

7、  i,s=15,56

8、  4 3

9、  2    4    6

     8   10   12

    14   16   18

10、 25 10

    25 10

11、 2 3

    4 5

12、 9 21

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

   评分标准:

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

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

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

3、

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1