2023年面向?qū)ο蟪绦蛟O(shè)計網(wǎng)上教學(xué)活動文本_第1頁
2023年面向?qū)ο蟪绦蛟O(shè)計網(wǎng)上教學(xué)活動文本_第2頁
2023年面向?qū)ο蟪绦蛟O(shè)計網(wǎng)上教學(xué)活動文本_第3頁
2023年面向?qū)ο蟪绦蛟O(shè)計網(wǎng)上教學(xué)活動文本_第4頁
2023年面向?qū)ο蟪绦蛟O(shè)計網(wǎng)上教學(xué)活動文本_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

面向?qū)ο蟪绦蛟O(shè)計網(wǎng)上教學(xué)活動文本(2023.10.20)唐龍:同學(xué)們現(xiàn)在開始答疑,請大家提問。問:如何學(xué)好這門課程?唐龍:最簡樸一句話說是:在初步理解重要基本概念的基礎(chǔ)上多上機(jī)實(shí)踐。問:在C++進(jìn)行程序開發(fā)時,碰到大批量的數(shù)據(jù)需要解決時,是用函數(shù)還是結(jié)構(gòu)鏈,是不是尚有其它的辦法?唐龍:這不能一概而論,要看所解決的是什么數(shù)據(jù),有什么解決規(guī)定,先要選擇采用合理的數(shù)據(jù)結(jié)構(gòu)和算法,才也許開發(fā)出合用的程序。問:我們?nèi)绾尾鸥煽己眠@門課程?它的考試題型有哪些?徐孝凱:1.認(rèn)真聽好老師的面授輔導(dǎo)課;2.認(rèn)真按照實(shí)驗(yàn)教材的規(guī)定做好每個實(shí)驗(yàn);3.認(rèn)真做好形成性作業(yè);4.到期末復(fù)習(xí)階段,按照實(shí)驗(yàn)教材的附錄中所給的綜合練習(xí)題反復(fù)做好練習(xí)。5.參考以前考過的試卷,題型基本不變。問:面向?qū)ο蟪绦蛟O(shè)計的重點(diǎn)內(nèi)容?唐龍:本課程著重對C++語言的基本概念和語法規(guī)則理解,掌握其使用方法,進(jìn)而初步學(xué)會運(yùn)用于實(shí)際編程。最重要的基本概念,例如,類與對象,繼承,重載等一定要清楚理解,并學(xué)會在簡樸的編程應(yīng)用。徐孝凱:往屆試卷,供同學(xué)們復(fù)習(xí)時參考中央廣播電視大學(xué)計算機(jī)科學(xué)與技術(shù)專業(yè)面向?qū)ο蟪绦蛟O(shè)計試題(3)2023年8月題號一二三四五六七總分得分一、單項選擇(每小題1分,共12分)1.設(shè)x和y均為bool量,則x||y為假的條件是()。A.它們均為真B.其中一個為真C.它們均為假D.其中一個為假2.假定一個二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為()。A.2B.4C.6D.83.以下錯誤的描述是()。函數(shù)調(diào)用可以A.出現(xiàn)在一個表達(dá)式中B.出現(xiàn)在執(zhí)行語句中C.作為一個函數(shù)的實(shí)參D.作為一個函數(shù)的形參4.關(guān)于局部變量,下面說法對的的是()。A.定義該變量的程序文獻(xiàn)中的函數(shù)都可以訪問B.定義該變量的函數(shù)中的定義處以下的任何語句都可以訪問C.定義該變量的復(fù)合語句中的定義處以下的任何語句都可以訪問D.定義該變量的函數(shù)中的定義處以上的任何語句都可以訪問5.假定p是具有int**類型的指針變量,則給p賦值的對的語句為()。A.p=newint;B.p=newint*;C.p=newint**;D.p=newint[10];6.軟件產(chǎn)品在需求發(fā)生變化、運(yùn)營環(huán)境發(fā)生變化或發(fā)現(xiàn)軟件產(chǎn)品自身的錯誤或局限性時進(jìn)行相應(yīng)的軟件更新的難易限度叫做軟件的()。A.可維護(hù)性B.可復(fù)用性C.兼容性D.對的性7.若需要把一個類外定義的成員函數(shù)指明為內(nèi)聯(lián)函數(shù),則必須把關(guān)鍵字()放在函數(shù)原型或函數(shù)頭的前面。A.inB.inlineC.inLineD.InLiner8.在一個用數(shù)組實(shí)現(xiàn)的隊列類中,假定數(shù)組長度為MS,隊首元素位置為first,隊列長度為length,則隊尾的后一個位置為()。A.length+1B.first+lengthC.(first+length-1)%MSD.(first+length)%MS9.假定一個類的構(gòu)造函數(shù)為“A(intaa,intbb){a=aa;b=aa*bb;}”,則執(zhí)行“Ax(4,5);”語句后,x.a和x.b的值分別為()。A.4和5B.5和4C.4和20D.20和510.假定AB為一個類,則執(zhí)行“AB*p=newAB(1,2);”語句時共調(diào)用該類構(gòu)造函數(shù)的次數(shù)為()。A.0B.1C.2D.311.一個類的成員函數(shù)也可以成為另一個類的友元函數(shù),這時的友元說明()。A.需加上類域的限定B.不需加上類域的限定C.類域的限定可加可不加D.不需要任何限定12.關(guān)于插入運(yùn)算符<<的重載,下列說法不對的的是()。A.運(yùn)算符函數(shù)的返回值類型是ostream&。B.重載的運(yùn)算符必須定義為類的成員函數(shù)。C.運(yùn)算符函數(shù)的第一個參數(shù)的類型是ostream&。D.運(yùn)算符函數(shù)有兩個參數(shù)。二、填空(每空1分,共14分)1.當(dāng)執(zhí)行cout語句輸出endl數(shù)據(jù)項時,將使C++顯示輸出屏幕上的光標(biāo)從當(dāng)前位置移動到________的開始位置。2.假定x和y為整型,其值分別為16和5,則x/y和double(x)/y的值分別為____(dá)_____(dá)_和___(dá)_____(dá)__。3.執(zhí)行switch語句時,在進(jìn)行作為條件的表達(dá)式求值后,將從某個匹配的標(biāo)號位置起向下執(zhí)行,當(dāng)碰到下一個標(biāo)號位置時_____(dá)___執(zhí)行。4.strlen(”apple”)的值為__(dá)_____(dá)_,strcmp(”a”,”A”)的值為___(dá)____(dá)_。5.C++程序運(yùn)營時的內(nèi)存空間可以提成全局?jǐn)?shù)據(jù)區(qū),堆區(qū),棧區(qū)和_______(dá)___區(qū)。6.假定a是一個一維指針數(shù)組,則a+i所指對象的地址比a大____(dá)____字節(jié)。7.已知語句“cout<<p;”的輸出是“Hello!”,則語句“cout<<*p;”輸出的是_____(dá)_____(dá)。8.假如一個派生類只有一個唯一的基類,則這樣的繼承關(guān)系稱為___(dá)____(dá)___。9.假定AA是一個類,“AA*abc()const;”是該類中一個成員函數(shù)的原型,在該函數(shù)體中__(dá)_____(dá)___(dá)向*this或其成員賦值。10.假定用戶沒有給一個名為AB的類定義構(gòu)造函數(shù),則系統(tǒng)為其定義的構(gòu)造函數(shù)為__________(dá)。11.假定用戶為類AB定義了一個構(gòu)造函數(shù)"AB(intaa){a=aa;}",該構(gòu)造函數(shù)實(shí)現(xiàn)對數(shù)據(jù)成員____(dá)_____的初始化。12.作為類的成員函數(shù)重載一個運(yùn)算符時,參數(shù)表中只有一個參數(shù),說明該運(yùn)算符有__(dá)___(dá)___個操作數(shù)。三、程序填充,對程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標(biāo)號把合適的內(nèi)容填寫到程序下面相應(yīng)標(biāo)號的后面(每小題6分,共24分)1.下面程序計算出的值。#include<iostream.h>voidmain(){?doublex,p1=1,p2=1,s=0; inti,j=1; cout<<"輸入x的值:";?cin>>x; for(i=1;i<=10;i++){ ?p1*=__(dá)_(1)_____;??p2*=____(dá)(2)____;? s+=j*p1/p2;//j的值為(-1)i+1? j=____(3)___(dá)_; } cout<<s<<endl;}(1)(2)(3)2.假定有定義為“structNODE{intdat(yī)a;NODE*next;};”,下面算法是依次顯示輸出以L為表頭指針的鏈表中各結(jié)點(diǎn)的值。voidff(NODE*L){?for(___(1)___;p!=NULL;___(2)___)??cout<<___(3)___<<'';?cout<<endl;}(1)(2)(3)3.假定有定義為“structNODE{intdat(yī)a;NODE*next;};”,下面算法是把以L為表頭指針的鏈表中各結(jié)點(diǎn)依次按相反順序鏈接并返回新鏈表的表頭指針。NODE*f8(NODE*L){ if(L==NULL)returnNULL;?NODE*p=NULL,*q=L,*t; while(q!=NULL){? t=q;??q=__(dá)_(1)___; t->next=___(2)___;??p=t; } ___(3)___;}(1)(2)(3)4.已知一個運(yùn)用數(shù)組實(shí)現(xiàn)棧的類定義如下:constintARRAY_SIZE=10;classStack{public:?voidInit(){top=-1;}//初始化棧為空voidPush(intnewElem);//向棧中壓入一個元素 intPop();//從棧頂彈出一個元素?boolEmpty(){//判棧空if(top==-1)returntrue;elsereturnfalse;} intDepth(){returntop+1;}//返回棧的深度 voidPrint();//按照后進(jìn)先出原則依次輸出棧中每個元素,直到??諡橹梗餽ivate:?intelem[ARRAY_SIZE];//用于保存堆棧元素的數(shù)組?inttop;//指明棧頂元素位置的指針};該類的Pop和Print函數(shù)的實(shí)現(xiàn)分別如下:__(dá)_(1)___{?if(top==-1){??cout<<"???"<<endl; ?exit(1);//中止運(yùn)營?} return___(2)__(dá)_;}voidStack::Print(){?while(?。牛韕ty())? cout<<___(3)___<<'';cout<<endl;}(1)(2)(3)四、寫出程序運(yùn)營結(jié)果(每小題8分,共16分)1.#include<iostream.h>inta[8]={36,25,20,43,12,70,66,35};voidmain(){?ints0,s1,s2;?s0=s1=s2=0; for(inti=0;i<8;i++){? switch(a[i]%3){? case0:s0+=a[i];break; ?case1:s1+=a[i];break; case2:s2+=a[i];break; }?} cout<<s0<<’’<<s1<<’’<<s2<<endl;}2.#include<iostream.h>#include<string.h>classCD{?char*a; intb;public: voidInit(char*aa,intbb) { ?a=newchar[strlen(aa)+1]; strcpy(a,aa); b=bb; } char*Geta(){returna;}?intGetb(){returnb;} voidOutput(){cout<<a<<''<<b<<endl;}};voidmain(){?CDdx,dy; chara[20];?dx.Init("abcdef",30); strcpy(a,dx.Geta());?strcat(a,"xyz");?dy.Init(a,dx.Getb()+20); dx.Output();?dy.Output();}五、指出程序或函數(shù)的功能(每小題6分,共12分)1.#include<iostream.h>#include<stdlib.h>#include<mat(yī)h.h>voidmain(){inti=10,a; while(i>0){ a=rand()%90+10;??intj,k=int(sqrt(a)+1e-5);//sqrt(x)為求x的平方根函數(shù)for(j=2;j<=k;j++)? ?if(a%j==0)break; if(j>k){cout<<a<<'';i--;} }}2.voidInput(IntNode*&f){intn;cout<<”從鍵盤給n輸入一個整數(shù):”;docin>>n;while(n<0);?if(n==0){f=NULL;return;}f=newIntNode;IntNode*p=f;cout<<”從鍵盤輸入”<<n<<”個整數(shù):”;while(n--){ p=p->next=newIntNode;cin>>p->data; }p->next=NULL;p=f;f=f->next;deletep;}假定IntNode的類型定義為:structIntNode{ intdata;//結(jié)點(diǎn)值域 IntNode*next;//結(jié)點(diǎn)指針域};六、程序改錯,請根據(jù)程序段或函數(shù)模塊的功能改寫個別地方的錯誤(6分)。假定規(guī)定下面程序的輸出結(jié)果為“11/15”,其主函數(shù)中存在著三行語句錯誤,請指犯錯誤語句行的行號并改正錯誤行。#include<iostream.h>classFranction{//定義分?jǐn)?shù)類?intnume;//定義分子?intdeno;//定義分母public://把*this化簡為最簡分?jǐn)?shù),具體定義在此外文獻(xiàn)中實(shí)現(xiàn) voidFranSimp();//返回兩個分?jǐn)?shù)*this和x之和,具體定義在此外文獻(xiàn)中實(shí)現(xiàn)?? FranctionFranAdd(constFranction&x);//置分?jǐn)?shù)的分子和分母分別0和1?voidInitFranction(){nume=0;deno=1;}//置分?jǐn)?shù)的分子和分母分別n和d?voidInitFranction(intn,intd){nume=n;deno=d;} //輸出一個分?jǐn)?shù)???voidFranOutput(){cout<<nume<<'/'<<deno<<endl;}};??voidmain()//1行{//2行?Franctiona,b,c;//3行?a.InitFranction(6,15);//4行 b.InitFranction(1);//5行 c.InitFranction();//6行?c=FranA(yù)dd(a,b);//7行?cout<<c.nume<<’/’<<c.deno<<endl;//8行}//9行錯誤行的行號為______、________和________(dá)。分別改正為_____(dá)__(dá)___(dá)______(dá)___(dá)_、__(dá)___(dá)____(dá)_______和__(dá)__(dá)________(dá)____(dá)___。七、編程(每小題8分,共16分)1.計算1+3+32+...+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)記符。2.根據(jù)下面類中Uion函數(shù)的原型和注釋寫出它的類外定義。classArray{?int*a;//指向動態(tài)分派的整型數(shù)組空間?intn;//記錄數(shù)組長度public: Array(intaa[],intnn);//構(gòu)造函數(shù),運(yùn)用aa數(shù)組長度nn初始化n,?//運(yùn)用aa數(shù)組初始化a所指向的數(shù)組空間?Array(Array&aa);//拷貝構(gòu)造函數(shù) Array&Give(Array&aa);//實(shí)現(xiàn)aa賦值給*this的功能并返回*thisArrayUion(Array&aa);//實(shí)現(xiàn)*this和aa中的數(shù)組合并的功能,把合并//結(jié)果(其長度為兩數(shù)組長度之和)存入臨時對象并返回 intLenth(){returnn;}//返回數(shù)組長度?voidPrint(){//輸出數(shù)組??for(inti=0;i<n;i++) cout<<a[i]<<'';?cout<<endl;?}};?中央廣播電視大學(xué)計算機(jī)科學(xué)與技術(shù)專業(yè)面向?qū)ο蟪绦蛟O(shè)計試題答案及評分標(biāo)準(zhǔn)(供參考)一、單項選擇(每小題1分,共12分)1.C2.C3.D4.C5.B6.A7.B8.D9.C10.B11.A12.B二、填空(每空1分,共14分)1.下一行2.33.23.不斷止4.515.代碼6.4*i7.H8.單繼承9.不可以10.AB(){}11.a12.2三、程序填充,對程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標(biāo)號把合適的內(nèi)容填寫到程序下面相應(yīng)標(biāo)號的后面(每小題6分,共24分)1.(1)x//2分(2)i//2分(3)–j//2分2.(1)NODE*p=L//2分(2)p=p->next//2分(3)p->data//2分3.(1)q->next//2分(2)p//2分(3)returnp//2分4.(a)intStack::Pop()//2分(b)elem[top--]//2分(c)Pop()//2分四、寫出程序運(yùn)營結(jié)果(每小題8分,共16分)1.11413855//每個數(shù)據(jù)占3分,全對給8分2.abcdef30//4分,每個數(shù)據(jù)2分abcdefxyz50//4分,每個數(shù)據(jù)2分五、指出程序或函數(shù)的功能(每小題6分,共12分)1.隨機(jī)產(chǎn)生出10個10至100(或99)之間的素數(shù)并顯示出來。2.一方面從鍵盤上輸入一個整數(shù)給n,然后依次輸入n個整數(shù)建立以表頭指針為f的鏈表。評分標(biāo)準(zhǔn):根據(jù)敘述情況酌情給分。六、程序改錯,請根據(jù)程序段或函數(shù)模塊的功能改寫個別地方的錯誤(6分)。錯誤行的行號為578分別改正為b.InitFranction(1,3);c=a.FranAdd(b);c.FranOutput()評分標(biāo)準(zhǔn):共6個數(shù)據(jù),每個數(shù)據(jù)1分。七、編程(每小題8分,共16分)評分標(biāo)準(zhǔn):根據(jù)編程情況酌情給分。1.#include<iostream.h>voidmain(){?inti;//用i作為循環(huán)變量 intp=1;//用p作為累乘變量?ints=1;//用s作為累加循環(huán)變量 for(i=1;i<=10;i++){p*=3;s+=p;}?cout<<s<<endl;}2.ArrayArray::Uion(Array&aa){ intk=n+aa.n;?int*w=newint[k];?inti; for(i=0;i<n;i++)w[i]=a[i];?for(i=0;i<aa.n;i++)w[i+n]=aa.a[i];?Arrayr(w,k); returnr;}中央廣播電視大學(xué)計算機(jī)科學(xué)與技術(shù)專業(yè)面向?qū)ο蟪绦蛟O(shè)計試題(4)2023年8月題號一二三四五六七總分得分一、單項選擇(每小題1分,共13分)1.字符串”a+b=12\n”的長度為()。A.6B.7C.8D.92.假定一個二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為()。A.0B.4C.8D.63.以下對的的描述是()。A.函數(shù)的定義可以嵌套,函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,函數(shù)的調(diào)用可以嵌套C.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套4.設(shè)有定義“doublearray[10];”,則表達(dá)式sizeof(array)/sizeof(array[0])的結(jié)果為()。A.array數(shù)組首地址B.array數(shù)組中元素個數(shù)C.array數(shù)組中每個元素所占的字節(jié)數(shù)D.array數(shù)組占的總字節(jié)數(shù)5.要使p指向動態(tài)空間中的包含30個整數(shù)單元的數(shù)組使用的定義語句為()。A.int*p=newint[30];B.int*p=newint(30);C.int*p=new[30];D.*p=newint[30];6.軟件產(chǎn)品與其他軟件產(chǎn)品組合成一個整體的難易限度叫做軟件的()。A.可維護(hù)性B.可復(fù)用性C.兼容性D.對的性7.在多文獻(xiàn)結(jié)構(gòu)的程序中,通常把類的定義單獨(dú)存放于()中。A.主文獻(xiàn)B.實(shí)現(xiàn)文獻(xiàn)C.庫文獻(xiàn)D.頭文獻(xiàn)8.在一個用數(shù)組實(shí)現(xiàn)的隊列類中,假定數(shù)組長度為MS,隊首元素位置為first,隊列長度為length,則隊首的后一個位置為()。A.first+1B.(first+1)%MSC.(first-1)%MSD.(first+length)%MS9.假定一個類的構(gòu)造函數(shù)為“A(intaa=1,intbb=0){a=aa;b=bb;}”,則執(zhí)行“Ax(4);”語句后,x.a和x.b的值分別為()。A.1和0B.1和4C.4和1D.4和010.假定AB為一個類,則執(zhí)行“ABa(2),b[3],*p[4];”語句時共調(diào)用該類構(gòu)造函數(shù)的次數(shù)為()。A.3B.4C.5D.911.在成員函數(shù)中進(jìn)行雙目運(yùn)算符重載時,其參數(shù)表中應(yīng)帶有()個參數(shù)。A.0B.1C.2D.312.在重載一運(yùn)算符時,若運(yùn)算符函數(shù)的形參表中沒有參數(shù),則不也許的情況是()。A.該運(yùn)算符是一個單目運(yùn)算符。B.該運(yùn)算符函數(shù)有一個隱含的參數(shù)this。C.該運(yùn)算符函數(shù)是類的成員函數(shù)。D.該運(yùn)算符函數(shù)是類的友元函數(shù)。13.派生類的對象對其基類中()可直接訪問。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護(hù)成員D.私有繼承的公有成員二、填空(每空1分,共17分)1.多行注釋的開始標(biāo)記符和結(jié)束標(biāo)記符分別為_____(dá)__(dá)___和__(dá)__(dá)__(dá)____。2.假定x=5,y=6,則表達(dá)式x++*++y的值為________(dá)__(dá)。3.假定x是一個邏輯量,則x&&true的值為_____(dá)_____。4.含隨機(jī)函數(shù)的表達(dá)式rand()%20的值在_____至_____(dá)_區(qū)間內(nèi)。5.若需要把一個字符串”aaa”賦值到字符數(shù)組a中,則需要執(zhí)行________(dá)字符串函數(shù)的調(diào)用來實(shí)現(xiàn)。6.程序的編譯是以___(dá)_____(dá)__為單位進(jìn)行的。7.一個數(shù)組的數(shù)組名事實(shí)上是指向該數(shù)組的________(dá)元素的指針,并且在任何時候都不允許____(dá)___(dá)_它。8.指針變量pv和pc定義為“void*pv=”Hello,word!”;char*pc;”,要將pv值賦給pc,則對的的賦值語句是__________(dá)____(dá)_。9.C++支持兩種多態(tài)性:_______(dá)__時的多態(tài)性和__(dá)___(dá)____(dá)_時的多態(tài)性。10.在一個用數(shù)組實(shí)現(xiàn)的隊列類中,除了保存隊列元素的叔祖成員外,還包具有兩個數(shù)據(jù)成員,一個指明隊首元素位置,另一個指明隊列__(dá)________(dá)__。11.一個類的____(dá)______函數(shù)通常用于實(shí)現(xiàn)釋放該類對象中指針成員所指向的動態(tài)存儲空間的任務(wù)。12.假定用戶為類AB定義了一個構(gòu)造函數(shù)“AB(intaa,char*bb=NULL):a(aa),b(bb){}”,則該類中至少包具有______(dá)____個數(shù)據(jù)成員。13.重載插入運(yùn)算符<<時,其運(yùn)算符函數(shù)的返回值類型應(yīng)當(dāng)是_____(dá)____(dá)___(dá)。三、程序填充,對程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標(biāo)號把合適的內(nèi)容填寫到程序下面相應(yīng)標(biāo)號的后面(每小題6分,共18分)1.打印出2至99之間的所有素數(shù)(即不能被任何數(shù)整除的數(shù))。#include<iostream.h>#include<math.h>voidmain(){inti,n;?for(n=2;___(1)___;n++){ inttemp=int(sqrt(n));//求出n的平方根并取整 for(i=2;___(2)__(dá)_;i++) if(n%i==0)___(3)__(dá)_; if(i>temp)cout<<n<<'';?} cout<<'\n';}(1)(2)(3)2.下面是對按從小到大排列的有序數(shù)組a[n]中進(jìn)行二分查找x的算法,若查找成功返回該元素下標(biāo),否則返回-1。intBinarySearch(inta[],intn,intx){?intlow=0,high=n-1;//定義并初始化區(qū)間下界和上界變量 intmid;//定義保存中點(diǎn)元素下標(biāo)的變量 while(low<=high){??mid=___(1)___; if(x==a[mid])___(dá)(2)__(dá)_; elseif(x<a[mid])high=mid-1;??else___(3)___; }?return-1;}(1)(2)(3)3.classA{inta,b;public:A(intaa=0,intbb=0)___(1)__(dá)_{}//分別用aa和bb相應(yīng)初始化a和b};main(){___(2)__(dá)_;//定義類A的對象x并用5初始化,同時定義y并用x初始化___(3)___;//定義p指針,使之指向?qū)ο髕}(1)(2)(3)四、寫出程序運(yùn)營結(jié)果(每小題6分,共18分)1.#include<iomanip.h>constintN=5;voidmain(){inti,p=1,s=0; for(i=1;i<N;i++){??p=p*i;??s=s+p; cout<<setw(5)<<i<<setw(5)<<p; cout<<setw(5)<<s<<endl; }}2.#include<iostream.h>voidmain(){ chars[3][5]={"1234","abcd","+-*/"};char*p[3];for(inti=0;i<3;i++)p[i]=s[i];for(i=2;i>=0;i--)cout<<p[i]<<'';cout<<endl;}3.#include<iostream.h>classDate{public:voidSetDat(yī)e(inty,intm,intd){Year=y;Month=m;Day=d;}voidPrintDate(){cout<<Year<<"/"<<Month<<"/"<<Day<<endl;}Date(){SetDate(2023,1,1);}Date(inty,intm,intd){SetDate(y,m,d);}protected:intYear,Month,Day;};classTime{public:voidSetTime(inth,intm,ints){Houre=h;Minutes=m;Seconds=s;}voidPrintTime(){cout<<Houre<<":"<<Minutes<<":"<<Seconds<<endl;}Time(){SetTime(0,0,0);}Time(inth,intm,ints){SetTime(h,m,s);}protected:intHoure,Minutes,Seconds;};classDate_Time:publicDate,publicTime{public:Dat(yī)e_Time():Date(),Time(){};Date_Time(inty,intmo,intd,inth,intmi,ints):?Dat(yī)e(y,mo,d),Time(h,mi,s){}voidPrintDate_Time(){PrintDate();PrintTime();}};voidmain(){Date_Timedt_a,dt_b(2023,10,1,6,0,0);dt_a.PrintDate_Time();dt_b.SetTime(23,59,59);dt_b.PrintDate_Time();dt_a.SetDate(2023,12,31);dt_a.PrintDate_Time();}五、指出程序或函數(shù)的功能(每小題6分,共12分)1.#include<iostream.h>doublef1(intn){ doublesign=1,s=1; for(inti=2;i<=n;i++){??s+=sign/(i*i); ?sign*=-1;?}?returns;}voidmain(){inta;?cin>>a;?cout<<f1(a)<<endl;}2.voidOutput(IntNode*f){?if(!f)return;while(f){? cout<<f->data<<’’;??f=f->next; }cout<<endl;}假定IntNode的類型定義為:structIntNode{?intdata;//結(jié)點(diǎn)值域?IntNode*next;//結(jié)點(diǎn)指針域};六、程序改錯,請根據(jù)程序段或函數(shù)模塊的功能改寫個別地方的錯誤(6分)下面是一個類的定義,存在著3處語法錯誤(有的為單個字符),請指犯錯誤行的行號并改正。classCE{//1行private://2行 inta,b;//3行 intgetmin(){return(a<b?a:b);}//4行public//5行intc;//6行 voidSetValue(intx1,intx2,intx3){//7行a=x1;b=x2;c=x3;//8行?};//9行 intGetMin();//10行};//11行intGetMin(){//12行?intd=getmin();//13行 return(d<c?d:c);//14行}//16行錯誤行的行號為___(dá)__(dá)_、______(dá)__和_____(dá)___。分別改正為___(dá)____(dá)___(dá)____(dá)______、_______(dá)____(dá)___(dá)__和_____(dá)____(dá)________(dá)__。七、編程(每小題8分,共16分)1.求滿足不等式22+42+...+n2<1000的最大n值,假定分別用i和s作為取偶數(shù)值和累加值的變量,并限定使用do循環(huán)編程。2.根據(jù)下面類中Uion函數(shù)的原型和注釋寫出它的類外定義。classStrings{?char*s;//指向動態(tài)分派的字符串?dāng)?shù)組空間 intn;//記錄字符串長度public:?Strings(char*str);//構(gòu)造函數(shù),運(yùn)用str字符串長度初始化n, //運(yùn)用str字符串初始化s所指的字符串空間 Strings(Strings&str);//拷貝構(gòu)造函數(shù) Strings&Give(Strings&str);//實(shí)現(xiàn)str賦值給*this的功能并返回*thisStringsUion(Strings&str);//實(shí)現(xiàn)*this

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論