飘云 发表于 2004-12-12 18:57:04

[转贴]C++语言程序设计试题没事做一做

孔子曰稳固而自信
说明:在本试卷中规定整型(int)数据占用4个字节的存储单元。



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



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

      A.cpp                         B.exe

      C.obj                         D.lik

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

      A.   inta[ ]={1,2,3}               B.   inta={0}

      C.   inta[ ]                      D.   inta

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

      A.   voidBC(inta , int)         B.voidBD(int , int)

      C.   voidBE(int , int=5)            D.intBF(intx ; inty)

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

      A.AB &(ABx)               B.AB(ABx)

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

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

      A.public                        B.protected

      C.private                     D.static

6.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为       。

      A.ios::in                      B.ios::out

      C.ios::int | ios::out            D.没有



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

1.执行“cout<<43<<’-‘<<18<<’=’<<43-18<<endl;”语句后得到的输出结果为       。

2.已知’A’~’Z’的ASCII码为65~90,当执行“charch=14*5+2; cout<<ch<<endl;”语句序列后,得到的输出结果为          。

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

4.表达式x=x+1表示成增量表达式为          。

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

6.执行“typedefintABC;”语句把ABC定义为具有10个整型元素的      。

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

8.假定一个二维数组为a,则a的地址值(以字节为单位)为                。

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

               。

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

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

12.若要在程序文件中进行标准输入输出操作,则必须在开始的 # include 命令中使用

             头文件。



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

1. # include <iostream.h>

void main()

{

       int s=0;

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

            if (s>50) break;

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

       }

       cout<<"i,s="<<i<<","<<s<<endl;

}



2. # include <iostream.h>

void main()

{

       char a[]="abcdabcabfgacd";

       int i1=0,i2=0,i=0;

       while (a) {

            if (a=='a') i1++;

            if (a=='b') i2++;

            i++;

       }

       cout <<i1<<' '<<i2<<endl;

}



3. # include <iomanip.h>

void main()

{

       int a={2,4,6,8,10,12,14,16,18};

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

            cout <<setw(5)<<*(a+i);

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

       }

}



4. # include <iomanip.h>

void LE(int * a,int * b) {

       int x=*a;

       *a=*b;*b=x;

       cout <<*a<<' '<<*b<<endl;

}

void main()

{

    int x=10,y=25;

    LE(&x,&y); cout <<x<<' '<<y<<endl;

}



5. # include <iostream.h>

class A {

       int a,b;

public :

       A() { a=b=0; }

       A(int aa,int bb) {

            a=aa; b=bb;

            cout <<a<<' '<<b<<endl;

       }

};

void main()

{

       A x,y(2,3),z(4,5);

}



6. # include <iostream.h>

template <class TT>

class FF {

       TT a1,a2,a3;

public :

       FF(TT b1,TT b2,TT b3) {

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

       }

       TT Sum() { return a1+a2+a3; }

};

void main()

{

       FF <int> x(2,3,4),y(5,7,9);

       cout <<x.Sum()<<' '<<y.Sum()<<endl;

}





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

1.double SF(double x,int n) {

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

    double p=1,s=1;

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

         p*=x;

         s+=p/(i+1);

    }

    return s;

}



2. float FH() {

    float x,y=0,n=0;

    cin >>x;

    while (x!=-1) {

         n++; y+=x;

         cin >>x;

    }

    if (n==0) return y; else return y/n;

}



3.# include <iostream.h>

void WA(int a[],int n) {

       for (int i=0; i<n-1; i++) {

            int k=i;

            for (int j=i+1; j<n; j++)

                     if (a<a) k=j;

                     int x=a; a=a; a=x;

       }

}



4.# include <iomanip.h>

# include <fstream.h>

void JB(char * fname)

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

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

{

       ifstream fin(fname);

       char a;

       int i=0;

       while (fin>>a) {

            cout <<a<<endl;

            i++;

       }

       fin.close();

       cout <<"i="<<i<<endl;

}



五、编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回。(10分)

   intCount(double a[],int n);   // 此为该函数的声明。

小飞龙 发表于 2005-3-8 18:44:55

有答案吗??????????/

mask 发表于 2005-3-11 16:23:26

看完之后又感到好多的东西学的都不精
拿书 饿补

随风 发表于 2005-4-10 01:34:36

填空题的解答:
1:43-18=25
2:\
3:赋值
4:x+=1
5 :0,1
6:数组
7:46
8:a
9:*(p->b)
10:首地址
11:不会
12:<iostream.h>
选择题:1:B 2:C 3:D 5:B

五:
int cont(double a[],int n)
{
   int num=0;
   int i;
   int sum=0;
for(i=0;i<n;i++)       //求和
         sum+=a;
for(i=0;i<n;i++)       //统计大于等于平均数的个数
if(a>=sum/n) num++;
cout<<num<<endl;
}
这是我做的。。谢谢指教。有的不会做。。各位大哥大姐帮帮小弟。。因为刚刚学C++。
还有啊,小、弟有个问题。。向函数传递二维数组的问题还有点模糊。。请详细讲解之。。谢谢。。

东方青石 发表于 2005-5-11 20:57:47

我来作选择题:
B   C    D   C    A   C
没有翻黑课本哦,可能答案有错的!
望指教!
页: [1]
查看完整版本: [转贴]C++语言程序设计试题没事做一做