您當(dāng)前的位置: 湖南自考網(wǎng) > 歷年真題 > 理學(xué)類 > 文章詳情

2008年10月自考04737C++程序設(shè)計(jì)真題及答案

2018-12-20 14:55:31
來源:湖南自考生網(wǎng)

     【相關(guān)推薦】:2008-20013年自考04737C++程序設(shè)計(jì)真題及答案匯總
       以下是湖南自考生網(wǎng)小編為考生們整理“2008年10月自考04737C++程序設(shè)計(jì)真題及答案”,考生們可通過真題來檢測自己的學(xué)習(xí)結(jié)果,以便更好的進(jìn)行復(fù)習(xí)。

        全國2008年10月自學(xué)考試

        C++程序設(shè)計(jì)試題

        課程代碼:04737

       

        一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)

        在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯(cuò)選、多選或未選均無分。

        1.對C++語言和C語言的兼容性,描述正確的是( )

        A.C++兼容C

        B.C++部分兼容C

        C.C++不兼容C

        D.C兼容C++

        2.在C++中使用流進(jìn)行輸入輸出,其中用于屏幕輸出的對象是( )

        A.cerr

        B.cin

        C.cout

        D.cfile

        3.對使用關(guān)鍵字new所開辟的動(dòng)態(tài)存儲(chǔ)空間,釋放時(shí)必須使用( )

        A.free

        B.create

        C.delete

        D.realse

        4.如沒有使用private關(guān)鍵字定義類的數(shù)據(jù)成員,則默認(rèn)為( )

        A.private

        B.public

        C.protected

        D.friend

        5.使用值傳遞方式將實(shí)參傳給形參,下列說法正確的是( )

        A.形參是實(shí)參的備份

        B.實(shí)參是形參的備份

        C.形參和實(shí)參是同一對象

        D.形參和實(shí)參無聯(lián)系

        6.在函數(shù)調(diào)用時(shí),如某一默認(rèn)參數(shù)要指明一個(gè)特定值,則有( )

        A.其之前所有參數(shù)都必須賦值

        B.其之后所有參數(shù)都必須賦值

        C.其前、后所有參數(shù)都必須賦值

        D.其前、后所有參數(shù)都不必賦值

        7.設(shè)存在函數(shù)int max(int,int)返回兩參數(shù)中較大值,若求22,59,70三者中最大值,下列表達(dá)式不正確的是( )

        A.int m = max(22,max(59,70));

        B.int m = max(max(22,59),70);

        C.int m = max(22,59,70);

        D.int m = max(59,max(22,70));

        8.下列哪個(gè)類型函數(shù)不適合聲明為內(nèi)聯(lián)函數(shù)( )

        A.函數(shù)體語句較多

        B.函數(shù)體語句較少

        C.函數(shù)執(zhí)行時(shí)間較短

        D.函數(shù)執(zhí)行時(shí)間過長

        9.int Func(int,int);不可與下列哪個(gè)函數(shù)構(gòu)成重載( )

        A.int Func(int,int,int);

        B.double Func(int,int);

        C.double Func(double,double);

        D.double Func(int,double);

        10.對類中聲明的變量,下列描述中正確的是( )

        A.屬于全局變量

        B.只屬于該類

        C.屬于該類,某些情況下也可被該類不同實(shí)例所共享

        D.任何情況下都可被該類所有實(shí)例共享

        11.類的私有成員可在何處訪問( )

        A.通過子類的對象訪問

        B.本類及子類的成員函數(shù)中

        C.通過該類對象訪問

        D.本類的成員函數(shù)中

        12.如果沒有為一個(gè)類定義任何構(gòu)造函數(shù)的情況下,下列描述正確的是( )

        A.編譯器總是自動(dòng)創(chuàng)建一個(gè)不帶參數(shù)的構(gòu)造函數(shù)

        B.這個(gè)類沒有構(gòu)造函數(shù)

        C.這個(gè)類不需要構(gòu)造函數(shù)

        D.該類不能通過編譯

        13.一個(gè)類可包含析構(gòu)函數(shù)的個(gè)數(shù)是( )

        A.0個(gè)

        B.1個(gè)

        C.至少一個(gè)

        D.0個(gè)或多個(gè)

        14.this指針存在的目的是( )

        A.保證基類公有成員在子類中可以被訪問

        B.保證每個(gè)對象擁有自己的數(shù)據(jù)成員,但共享處理這些數(shù)據(jù)成員的代碼

        C.保證基類保護(hù)成員在子類中可以被訪問

        D.保證基類私有成員在子類中可以被訪問

        15.下列關(guān)于類的權(quán)限的描述錯(cuò)誤的是( )

        A.類本身的成員函數(shù)只能訪問自身的私有成員

        B.類的對象只能訪問該類的公有成員

        C.普通函數(shù)不能直接訪問類的公有成員,必須通過對象訪問

        D.一個(gè)類可以將另一個(gè)類的對象作為成員

        16.在編譯指令中,宏定義使用哪個(gè)指令( )

        A.#include

        B.#define

        C.#if

        D.#else

        17.設(shè)類A將其它類對象作為成員,則建立A類對象時(shí),下列描述正確的是( )

        A.A類構(gòu)造函數(shù)先執(zhí)行

        B.成員構(gòu)造函數(shù)先執(zhí)行

        C.兩者并行執(zhí)行

        D.不能確定

        18.下列描述錯(cuò)誤的是( )

        A.在創(chuàng)建對象前,靜態(tài)成員不存在

        B.靜態(tài)成員是類的成員

        C.靜態(tài)成員不能是虛函數(shù)

        D.靜態(tài)成員函數(shù)不能直接訪問非靜態(tài)成員

        19.對于友元描述正確的是( )

        A.友元是本類的成員函數(shù)

        B.友元不是本類的成員函數(shù)

        C.友元不是函數(shù)

        D.友元不能訪問本類私有成員

        20.在哪種派生方式中,派生類可以訪問基類中的protected成員( )

        A.public和private

        B.public和protected

        C.protected和private

        D.僅protected

        二、填空題(本大題共20小題,每小題1分,共20分)

        請?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無分。

        21.設(shè)要把一個(gè)文件輸出流對象myFile與文件“f:\myText.txt相關(guān)聯(lián),所用的C++語句是:__________。

        22.C++中ostream類的直接基類是________。

        23.運(yùn)算符[ ]只能用________運(yùn)算符來重載,不能用友元運(yùn)算符來重載。

        24.定義虛函數(shù)所用的關(guān)鍵字是________。

        25.vector類中用于返回向量中第1個(gè)對象的方法是________。

        26.在C++中,利用向量類模板定義一個(gè)具有20個(gè)char的向量E,其元素均被置為字符‘t’,實(shí)現(xiàn)此操作的語句是________。

        27.類的繼承是指子類繼承基類的________和成員函數(shù)。

        28.不同對象可以調(diào)用相同名稱的函數(shù),但可導(dǎo)致完全不同的行為的現(xiàn)象稱為________。

        29.________指令指示編譯器將一個(gè)源文件嵌入到帶該指令的源文件之中。

        30.設(shè)類A有成員函數(shù)

        void Fun(void);

        若要定義一個(gè)指向類成員函數(shù)的指針變量pafn來指向Fun,該指針變量的聲明語句是:________。

        31.設(shè)在程序中使用如下語句申請了一個(gè)對象數(shù)組:

        Point * ptr = new Point[2];

        則在需要釋放ptr指向的動(dòng)態(tài)數(shù)組對象時(shí),所使用的語句是________。

        32.在保護(hù)派生中,基類權(quán)限為Private的成員在派生類中________。

        33.類A有如下成員函數(shù)

        int A::fun(double x){return (int) x/2;}

        int A::fun(int x){return x*2;}

        設(shè)a為類A的對象,在主函數(shù)中有int s=a.fun(6.0)+a.fun(2),則執(zhí)行該語句后,s的值為________。

        34.對象傳送的消息一般由3部分組成:接收對象名、調(diào)用操作名和________。

        35.將指向?qū)ο蟮闹羔樧鳛楹瘮?shù)參數(shù),形參是對象指針,實(shí)參是對象的________。

        36.在使用string類的find成員函數(shù)來檢索主串中是否含有指定的子串時(shí),若在主串中不含指定的子串,find函數(shù)的返回值是________。

        37.在C++中,聲明布爾類型變量所用的關(guān)鍵字是________。

        38.執(zhí)行下列代碼

        int a=29,b=100;

        cout <

        <<="" b="" (3)="" style="color: rgb(51, 51, 51); font-family: 宋體; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">程序的輸出結(jié)果是:________。

        39.執(zhí)行下列代碼

        cout <<″Hex:″<< hex << 255;

        程序的輸出結(jié)果為________。

        40.C++語言中可以實(shí)現(xiàn)輸出一個(gè)換行符并刷新流功能的操控符是________

        三、改錯(cuò)題(本大題共5小題,每小題2分,共10分)

        下面的類定義中有一處錯(cuò)誤,請用下橫線標(biāo)出錯(cuò)誤所在行并給出修改意見。

        41.#include

        main( ) {

        int x=5,y=6;

        const int * p=&x;

        *p=y;

        cout<<*p<

        }

        42.#include

        class f{

        private:int x,y;

        public:f1( ){x=0;y=0;}

        print( ){cout<

        }

        main( ){

        f a;

        a.f1(1,1);

        a.print( );

        }

        43.#include

        class f{

        private:int x=0,y=0;

        public:void f1(int a,int b){x=a;y=b;}

        void get( ){cout<

        };

        main( ){

        f a;

        a.f1(1,3);

        a.get ( );

        }

        44.#include

        class point{private:float x;

        public:void f(float a){x=a;}

        void f( ){x=0;}

        friend float max(point& a,point& b);

        };

        float max(point& a,point& b)

        {return(a.x>b.x)? a.x:b.x;}

        main( ){

        point a,b;

        a.f(2.2);b.f(3.3);

        cout<

        }

        45.#include

        template

        class f{

        private:T x,y;

        public:void f1(T a,T b){x=a;y=b;}

        T max( ){retum(x>y)?x:y;}

        };

        main( ){

        f a;

        a.f1(1.5,3.8); ’

        cout<

        <}

        四、完成程序題(本大題共5小題,每小題4分,共20分)

        46.完成下面類中的成員函數(shù)的定義。

        class point

        {

        private:

        int m,n;

        public:

        point(int,int);

        point(point&);

        };

        point::point(int a,int b)

        {

        m=a;

        ________=b;

        }

        point::point(________)

        {

        m=t.m;

        n=t.n;

        }

        47.下面是一個(gè)輸入半徑,輸出其面積和周長的C++程序,在下劃線處填上正確的語句。

        #include

        using namespace std;

        ________pi=3.14159;

        void main( )

        {

        double r;

        cout<<″r=″;

        ___________ ;

        double l=2.0*pi*r;

        double s=pi*r*r;

        cout<<″\n The long is:″<

        cout<<″The area is:″<

        }

        48.在下劃線處填上缺少的部分。

        #include

        #include

        using namespace std;

        class complex

        {

        public:

        int real;

        int imag;

        complex(int r=0,int i=0)

        {

        real=r;

        imag=i;

        }

        };

        complex operator+(________,complex& b)

        {

        int r=a.real+b.real;

        int i=a.imag+b.imag;

        return_________;

        }

        void main( )

        {

        complex x(1,2),y(3,4),z;

        z=x+y;

        cout<

        }

        49.程序的輸出結(jié)果如下:

        1,9

        50,30

        請根據(jù)輸出數(shù)據(jù)在下面程序中的下劃線處填寫正確的語句。

        源程序如下:

        #include

        using namespace std;

        class base

        {

        private:

        int m;

        public:

        base( ){ };

        base(int a):m(a){}

        int get( ){return m;}

        void set(int a){m=a;}

        };

        void main()

        {

        base*ptr=new base[2];

        ptr- >set(30);

        ptr= _________;

        ptr- >set(50);

        base a[2]={1,9};

        cout<

        < cout

        ptr=ptr-1;

        cout<<________<

        delete[ ]ptr;

        }

        50.在下面橫線處填上求兩個(gè)浮點(diǎn)數(shù)之差的cha函數(shù)的原型聲明、調(diào)用方法。

        #include

        using namespace std;

        void main( )

        {

        float a,b;

        ________//函數(shù)cha的原型聲明

        a=12.5;

        b=6.5;

        float c=_________; //調(diào)用函數(shù)cha

        cout<

        }

        float cha(float x,float y)

        {

        float w;

        w=x-y;

        return w;

        }

        五、程序分析題(本大題共4小題,每小題5分,共20分)

        51.給出下面程序的輸出結(jié)果。

        #include

        template

        class Sample

        {

        T n;

        public:

        Sample(T i){n=i;}

        int operator==(Sample &);

        };

        template

        int Sample::operator==(Sample&s)

        {

        if(n==s.n)

        return 1;

        else

        return 0;

        }

        void main( )

        {

        Samplesl(2),s2(3); .

        cout<<″s1與s2的數(shù)據(jù)成員″<<(sl==s2 ?″相等″:″不相等″)<

        Samples3(2.5),s4(2.5);

        cout<<″s3與s4的數(shù)據(jù)成員″<<(s3==s4 ? ″相等″:″不相等″)<

        }

        52.給出下面程序的輸出結(jié)果。

        #include

        using namespace std;

        template

        T max(T ml,T m2)

        {return(m1>m2)?ml:m2:}

        void main( ) {

        cout<

        < cout<

        }

        53.給出下面程序的輸出結(jié)果

        #include

        using namespace std;

        class A {

        public:

        int x;

        A( ) { }

        A(int a){x=a;}

        int get(int a){return x+a;} };

        void main( ) {

        A a(8);

        int(A::*p)(int);

        p=A::get;

        cout<<(a.*p)(5)<

        A*pi=&a;

        cout<<(pi- >*P)(7)<

        54.給出下面程序的輸出結(jié)果。

        include

        #include

        using namespace std;

        class Book {

        char*title;

        char*author;

        int numsold;

        public:

        Book( ){ }

        Book(const char*strl,const char*str2,const int num) {

        int len=strlen(strl);

        title=new char[len+1];

        strcpy(title,str1);

        len=strlen(str2);

        author=new char[len+1];

        strcpy(author,str2);

        numsold=num; }

        void setbook(const char*str1,const char*str2,const int num) {

        int len=strlen(str1);

        title=new char[len+1];

        strcpy(title,str1);

        len=strlen(str2);

        author=new char[len+1];

        strcpy(author,str2);

        numsold=num;

        }

        ~Book( ) {

        delete title;

        delete author;

        }

        void print(ostream&output) {

        output<<″書名:″<

        output<<″作者:″<

        output<<″月銷售量:″<

        } .

        };

        void main( ) {

        Book obj1(″數(shù)據(jù)結(jié)構(gòu)″,″嚴(yán)蔚敏″,200),obj2;

        obj1.print(cout);

        obj2.setbook(″C++語言程序設(shè)計(jì)″,″李春葆″,210);

        obj2.print(cout);

        }

        六、程序設(shè)計(jì)題(本大題共1小題,共10分)

        55.在三角形類TRI實(shí)現(xiàn)兩個(gè)函數(shù),功能是輸入三個(gè)頂點(diǎn)坐標(biāo)判斷是否構(gòu)成三角形

        #include

        #include

        class point{

        private:float x,y;

        public:point(float a,float b){x=a;y=b;}

        point( ){x=0;y=0;} ,

        void set(float a,float b){x=a;y=b;}

        float getx( ){return x;}

        float gety( ){return y;}

        };

        class tri{

        point x,y,z;

        float s1,s2,s3;

        public;...settri(....);//用于輸入三個(gè)頂點(diǎn)坐標(biāo)

        ....test(....);//用于判斷是否構(gòu)成三角形

        }; 請寫出兩個(gè)函數(shù)的過程(如果需要形式參數(shù),請給出形參類型和數(shù)量,以及返回值類型)

       以上歷年真題試卷及答案由湖南自考生網(wǎng)http://m.88pqcp.com/集、提供。希望能夠幫助同學(xué)們更好地將書本上的知識(shí)與實(shí)際案例聯(lián)系起來,通過真題練習(xí)在考試時(shí)取得更好地成績!更多真題及答案,可在我辦網(wǎng)站“自考?xì)v年真題”欄目中查看。

湖南學(xué)歷提升報(bào)名熱線:
蔣老師QQ咨詢 QQ咨詢

TEL:蔣老師17773102705

2024年自考、成考、網(wǎng)教報(bào)名進(jìn)行中,點(diǎn)擊立即報(bào)考咨詢>>

掃一掃下方二維碼關(guān)注湖南自考生網(wǎng)微信公眾號、客服咨詢號,即時(shí)獲取湖南自考、成考、網(wǎng)教最新考試資訊。

  • 湖南自考官方公眾號

    關(guān)注公眾號免費(fèi)拿資料

  • 微信掃一掃咨詢

  • 微信掃一掃咨詢

免責(zé)聲明

1、鑒于各方面資訊時(shí)常調(diào)整與變化,本網(wǎng)所提供的信息僅供參考,實(shí)際以考試院通知文件為準(zhǔn)。

2、本網(wǎng)部分內(nèi)容來源于網(wǎng)絡(luò),如有內(nèi)容、版權(quán)等問題請與本網(wǎng)聯(lián)系,我們將會(huì)及時(shí)處理。聯(lián)系方式 :QQ(393848300)

3、如轉(zhuǎn)載湖南自考生網(wǎng)聲明為“原創(chuàng)”的內(nèi)容,請注明出處及網(wǎng)址鏈接,違者必究!

市區(qū)導(dǎo)航: 長沙市自考  |   株洲市自考  |   湘潭市自考  |   衡陽市自考  |   邵陽市自考  |   岳陽市自考  |   常德市自考  |   張家界自考  |   益陽市自考  |   郴州市自考  |   永州市自考  |   懷化市自考  |   婁底市自考  |   湘西州自考  |  

特別聲明:本站信息大部分來源于各高校,真實(shí)可靠!部分內(nèi)容來自互聯(lián)網(wǎng),僅供參考!所有信息以實(shí)際政策和官方公告為準(zhǔn)!

湖南求實(shí)創(chuàng)新教育科技有限公司 版權(quán)所有 湘ICP備18023047號-2