2023年C++語言程序設(shè)計電大考試必備_第1頁
2023年C++語言程序設(shè)計電大考試必備_第2頁
2023年C++語言程序設(shè)計電大考試必備_第3頁
2023年C++語言程序設(shè)計電大考試必備_第4頁
2023年C++語言程序設(shè)計電大考試必備_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C++語言程序設(shè)計課程期末針對性訓(xùn)練一、單選題(每小題2分,共20分)1.在每個C++程序中都必須包具有這樣一個函數(shù),該函數(shù)的函數(shù)名為(A)。A.mainB.MAINC.nameD.function2.設(shè)x和y均為bool量,則x&&y為真的條件是(D)。A.其中一個為假B.其中一個為真C.它們均為假D.它們均為真3.邏輯表達(dá)式x>0||y==5的相反表達(dá)式為(B)。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==54.假定p是一個指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址大(C)個字節(jié)。A.1B.2C.4D.85.枚舉類型中的每個枚舉常量的值都是一個(A)。A.整數(shù)B.浮點數(shù)C.字符D.邏輯值6.循環(huán)體至少被執(zhí)行一次的語句為(C)語句。A.for循環(huán)B.while循環(huán)C.do循環(huán)D.任一種循環(huán)7.在下面的字符數(shù)組定義中,(D)語句有語法錯誤。A.chara[20]=”abcdefg”;B.chara[]=”x+y=55.”;C.chara[15]={’1’,’2’};D.chara[10]=’5’;8.若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是(A)。A.數(shù)組的首地址B.數(shù)組中第一個元素的值C.數(shù)組所有元素的值D.數(shù)組元素的個數(shù)9.假定AB為一個類,則執(zhí)行“ABa(4),b[5],*p[2];”語句時,自動調(diào)用該類構(gòu)造函數(shù)的次數(shù)為(A)。A.6B.7C.9D.1110.當(dāng)使用fstream流類定義一個流對象并打開一個磁盤文獻(xiàn)時,文獻(xiàn)的隱含打開方式為(D)。A.ios::inB.ios::outC.ios::in|ios::outD.沒有二、填空題(每小題2分,共20分)1.若需要定義一個標(biāo)記符常量,并且使C++可以進(jìn)行類型檢查,則應(yīng)在定義語句的開始使用保存字__const__。2.算術(shù)表達(dá)式相應(yīng)的C++表達(dá)式為_(x*y*y)/(3*a)+4*b-1_。3.邏輯表達(dá)式x>y&&x!=10的相反表達(dá)式為__x<=y||x==10__。4.每個字符指針變量占用內(nèi)存__4____個字節(jié)。5.執(zhí)行“typedefintDataType;”語句后,在使用int定義整型變量的地方都可以使用標(biāo)記符___DataType_______來定義整型變量。6.對于在所有函數(shù)定義之外定義的變量,若沒有被初始化則系統(tǒng)隱含對它賦予的初值為___0_____。7.假定p所指對象的值為25,p+1所指對象的值為46,則執(zhí)行“*(p++);”語句后,p所指對象的值為___46_____。8.假定一個結(jié)構(gòu)類型的定義為“structA{inta;double*b;A*c;};”,則該類型的大小為____12___字節(jié)。9.假定一維數(shù)組的定義為“inta[8];”,則該數(shù)組所含元素的個數(shù)為_____8___。10.若while循環(huán)語句的開始為”while(i++<=10)”,若i的初值為0,同時在循環(huán)體中不會修改i的值,則其循環(huán)體將被反復(fù)執(zhí)行____11______次后正常結(jié)束。三、寫出下列每個程序運營后的輸出結(jié)果(每小題6分,共30分)1.#include<iostream.h>voidmain(){ints1=0,s2=1;for(inti=1;i<=6;i++){s1+=i;s2*=i;}cout<<s1<<','<<s2<<endl;}輸出結(jié)果:21,7202.#include<iostream.h>voidmain(){inta[10]={68,79,86,65,46,94,37,78,60,53};intc=0;for(inti=0;i<10;i++)if(a[i]>=60)c++;cout<<”c=”<<c<<endl;}輸出結(jié)果:c=73.#include<iostream.h>voidmain(){inta[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}};intm=a[0][0];for(inti=0;i<3;i++)for(intj=0;j<4;j++)if(a[i][j]>m)m=a[i][j];cout<<m<<endl;}輸出結(jié)果:204.#include<iostream.h>voidmain(){inta=10,b=15;cout<<a<<''<<b<<'';{a*=3;intb=a+20;cout<<a<<''<<b<<'';}cout<<a<<''<<b<<endl;}輸出結(jié)果:1015305030155.#include<iostream.h>voidmain(){inta[8]={6,19,4,12,20,5,18,25};int*p=a;for(p=a;p<a+8;p++)if(*p<10)cout<<*p<<’‘;cout<<endl;}輸出結(jié)果:645四、寫出下列每個函數(shù)的功能(每小題8分,共24分)1.boolWB(inta[],intn,intx){for(inti=0;i<n;i++)if(a[i]==x)returntrue;returnfalse;}函數(shù)功能:從數(shù)組a中順序查找值為x的元素,若查找成功則返回真,否則返回假。2.intLJ(inta[],intn){intk=0;for(inti=1;i<n;i++)if(a[i]>a[k])k=i;returna[k];}函數(shù)功能:求出數(shù)組a中n個元素的最大值并返回。3.假定結(jié)構(gòu)類型Dnode中的data域為結(jié)點值域,next域為結(jié)點指針域。DNode*QB(intn){if(n==0){returnNULL;}DNode*f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;returnf;函數(shù)功能:建立一個具有n個結(jié)點的鏈表,每個結(jié)點的值依次由鍵盤輸入,該函數(shù)返回其表頭指針。五、按題目規(guī)定編寫程序(6分)已知6≤a≤30、15≤b≤36,求出滿足不定方程2a+5b=126的所有整數(shù)組解。如(13,20)就是其中的一組解,并按此格式輸出每組解。答:#include<iostream.h>voidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<'('<<a<<','<<b<<')'<<endl;}

訓(xùn)練第二套一、單選題(每小題2分,共20分)1.枚舉類型中的每個枚舉常量的值都是一個(A)值。A.整數(shù)B.浮點數(shù)C.字符D.邏輯2.設(shè)x和y均為bool量,則邏輯表達(dá)式x||y為假的條件是(C)。A.它們均為真B.其中一個為真C.它們均為假D.其中一個為假3.聲明或定義一個內(nèi)聯(lián)函數(shù)時,必須在函數(shù)開始使用保存字(D)。A.staticB.constC.externD.inline4.在下面的函數(shù)聲明中,存在著語法錯誤的是(D)。A.BC(inta,int);B.C.5.假定a為一個整型數(shù)組名,則元素a[4]與(C)的表達(dá)等價。A.a+4B.*a+4C.*(a+4)D.6.下面循環(huán)語句執(zhí)行結(jié)束后輸出的i值為(B)的值。for(inti=0;i<n;i++)if(i>n/2){cout<<i<<endl;break;}A.n/2B.n/2+1C.n-1D.n7.將兩個字符串連接起來組成一個字符串時,選用(C)函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()8.預(yù)解決命令在程序中都是以(B)字符開頭的。A.*B.#C.&D.@9.假定有定義“structBOOK{chartitle[40];floatprice;};”,則不對的的變量定義語句為(D)。A.BOOKx;;B.BOOKx={"C++Programming",27.0};C.BOOK*x=newBOOK;D.BOOKx=newBOOK;10.假定AB為一個類,px為指向該類動態(tài)對象數(shù)組的指針,該數(shù)組長度為n,則執(zhí)行“delete[]px;”語句時,自動調(diào)用該類析構(gòu)函數(shù)的次數(shù)為(B)。A.1B.nC.n-1D.n+1二、填空題(每小題2分,共20分)1.已知'A''Z'的ASCII碼為6590,當(dāng)執(zhí)行“charch=14*4+12;cout<<ch;”語句序列后,得到的輸出結(jié)果為___D_____。2.double類型的長度為____8____。3.表達(dá)式x=x+1表達(dá)成增量表達(dá)式為_____++x_____。4.邏輯表達(dá)式a<=b||b==15的相反表達(dá)式為____a>b&&b!=15____。5.假定一個二維數(shù)組的定義為“char*a[5][4];”,則該數(shù)組所含元素的個數(shù)為____20____,所占存儲空間的字節(jié)數(shù)為___80_____。6.當(dāng)函數(shù)中的___局部____變量沒有被賦初值時,它的值是不擬定的。7.假定一個結(jié)構(gòu)類型的定義為“structA{doublea,b;A*c;};”,則該類型的大小為___20_____字節(jié)。8.假定要訪問一個結(jié)構(gòu)指針p所指對象中的數(shù)據(jù)成員data,則表達(dá)方法為_p->data_。9.假定用戶沒有給一個名為AB的類定義構(gòu)造函數(shù),則系統(tǒng)為其隱含定義的構(gòu)造函數(shù)為AB(){}_。10.當(dāng)在程序中執(zhí)行到break語句時,就立即結(jié)束本層循環(huán)類語句或switch語句的執(zhí)行。三、寫出下列每個程序運營后的輸出結(jié)果(每小題6分,共30分)1.#include<iostream.h>voidmain(){ints=0;for(inti=1;i<=8;i=+2)s+=i*i;cout<<"s="<<s<<endl;}輸出結(jié)果:s=842.#include<iostream.h>voidmain(){inti=1,s=0;while(s<20){if(i%2!=0)s+=i;i++;}cout<<i<<’,’<<s<<endl;}輸出結(jié)果:10,253.#include<iostream.h>voidmain(){inta[8]={36,25,48,14,55,20,47,82};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++){if(a[i]<b1)b1=a[i];if(a[i]>b2)b2=a[i];}cout<<b1<<','<<b2<<endl;}輸出結(jié)果:14,824.#include<iomanip.h>intLB(int*a,intn){ints=1;for(inti=0;i<n;i++){s*=*a;a++;}returns;}voidmain(){inta[5]={1,2,3,4,5};cout<<LB(a,5)<<endl;}輸出結(jié)果:1205.#include<iostream.h>structWorker{charname[15];//姓名intage;//年齡floatpay;//工資};voidmain(){Workerx={"wangfong",46,1640};Workery,*p;y=x;p=&x;cout<<<<''<<y.age<<''<<y.pay<<endl;cout<<p->name<<''<<p->age+5<<''<<p->pay-300<<endl;}輸出結(jié)果:wangfong461640wangfong511340四、寫出下列每個函數(shù)的功能(每小題8分,共24分)1.intWC(inta[],intn,intk){intc=0;for(inti=0;i<n;i++)if(a[i]>=k)c++;returnc;}函數(shù)功能:記錄出數(shù)組a的n個元素中大于等于參數(shù)k的值的元素個數(shù)并返回。2.boolSG(intx){//x為大于等于2的整數(shù)inta=int(sqrt(x));//sqrt(x)為求x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i>a)returntrue;elsereturnfalse;}函數(shù)功能:判斷x是否為一個素數(shù)(或質(zhì)數(shù)),若是則返回真,否則返回假。3.假定結(jié)構(gòu)類型Worker中的name域表達(dá)姓名,age域表達(dá)年齡,pay域表達(dá)工資。voidQA(Workera[],intn){for(inti=0;i<n;i++)cin>>a[i].name>>a[i].age>>a[i].pay;}函數(shù)功能:從鍵盤上輸入n個Worker結(jié)構(gòu)類型的記錄依次保存到一維數(shù)組a的相應(yīng)元素中。五、按題目規(guī)定編寫函數(shù)(6分)假定函數(shù)聲明為“voidPrint(inta[],intn);”,在函數(shù)體中按下標(biāo)從大到小的順序輸出數(shù)組a中的n個元素的值,并規(guī)定每行輸出6個元素,當(dāng)然最后一行可以局限性6個。答:voidPrint(inta[],intn){inti,j=0;for(i=n-1;i>=0;i--){cout<<a[i]<<’’;if(++j%6==0)cout<<endl;}cout<<endl;}

訓(xùn)練第三套一、單選題(每小題2分,共20分)1.由C++源程序文獻(xiàn)編譯而成的目的文獻(xiàn)的缺省擴(kuò)展名為(A)。A.objB.likC.exeD.cpp2.程序運營中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用(D)符號作為分隔符。A.空格或逗號B.逗號或回車C.逗號或分號D.空格或回車3.設(shè)x是一個bool型的邏輯量,y的值為10,則表達(dá)式x&&y的值為(C)。A.1B.0C.與x值相同D.與x值相反4.for語句可以被改寫為(D)語句。A.復(fù)合B.ifC.switchD.while5.在下面的do循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為(A)。inti=0;doi++;while(i*i<10);A.4B.3C.5D.26.在下面的一維數(shù)組定義中,(C)語句有語法錯誤。A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];7.下面的(C)保存字不能作為函數(shù)的返回類型。A.voidB.intC.newD.long8.下面的函數(shù)聲明中,(B)是“voidBC(inta,intb);”的重載函數(shù)。A.intBC(intx,inty);B.voidBC(inta,charb);C.floatBC(inta,intb,intc=0);D.intBC(inta,intb=0);9.當(dāng)類中一個字符指針成員指向具有n個字節(jié)的存儲空間時,它所能存儲字符串的最大長度為(C)。A.nB.n+1C.n-1D.n-210.假定AB為一個類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為(D)。A.AB&(ABx);B.AB(ABx);C.AB(AB*x);D.AB(AB&);二、填空題(每小題2分,共20分)1.執(zhí)行“cout<<char('A'+3);”語句后得到的輸出結(jié)果為___D__。2.在C++每個程序行的后面或單獨一行的開始使用注釋的標(biāo)記符為____//____。3.表達(dá)式float(25)/4的值為____6.25_______。4.關(guān)系表達(dá)式x+y>5的相反表達(dá)式為____x+y<=5___5.假定一個二維數(shù)組的定義為“inta[3][6];”,則該數(shù)組具有____18____個元素。6.執(zhí)行“typedefintABC[20];”語句把ABC定義為具有20個整型元素的_數(shù)組類型_。7.假定p所指對象的值為36,p+1所指對象的值為49,則*++p的值為__49___。8.假定a是一個一維數(shù)組,則a[i]的指針訪問方式為__*(a+i)_9.對一個類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的初始化表實現(xiàn),也可以通過構(gòu)造函數(shù)中的___函數(shù)體__實現(xiàn)。10.當(dāng)一個類對象離開它的作用域時,系統(tǒng)將自動調(diào)用該類的___析構(gòu)函數(shù)_。三、寫出下列每個程序運營后的輸出結(jié)果(每小題6分,共30分)1.#include<iostream.h>#include<stdlib.h>intSD(inta,intb,charop){switch(op){case'+':returna+b;case'-':returna-b;default:{cout<<"操作符op犯錯,退出運營!";exit(1);}}}voidmain(){intx=20,y=6;cout<<SD(x,y,'+')<<''<<SD(x,y,'-')<<endl;}運營結(jié)果:26142.#include<iostream.h>#include<string.h>voidmain(){char*a[5]={"student","worker","cadre","soldier","apen"};char*p1;p1=a[0];for(inti=1;i<5;i++){if(strcmp(a[i],p1)>0)p1=a[i];}cout<<p1<<endl;}運營結(jié)果:worker3.#include<iostream.h>intWF(intx,inty){x=x+y;y=x+y;returnx+y;}voidmain(){cout<<WF(8,5)<<endl;}運營結(jié)果:314.#include<iomanip.h>constintn=9;voidmain(){inta[n]={2,4,6,8,10,12,14,16,18};ints=0;for(inti=0;i<n;i++){if(i%3==0)s+=a[i];}cout<<”s=”<<s<<endl;}運營結(jié)果:245.#include<iomanip.h>voidmain(){int*d=newint[5];inti;for(i=0;i<5;i++){d[i]=2*i+1;cout<<d[i]<<'';}cout<<endl;delete[]d;}運營結(jié)果:13579四、寫出下列每個函數(shù)的功能(每小題8分,共24分)1.floatFI(intn){//n為大于等于1的整數(shù)floatx,y=0;do{cin>>x;y+=x*x;}while(--n>0);returny;}函數(shù)功能:求出從鍵盤上輸入的n個整數(shù)的平方和并返回。2.boolWE(inta[],intb[],intn){for(inti=0;i<n;i++)if(a[i]!=b[i])break;if(i==n)returntrue;returnfalse;}函數(shù)功能:判斷具有n個元素的兩個數(shù)組a和b中相應(yīng)元素值是否所有相等,若是則返回真,否則返回假。3.voidLK(inta[],intn,int&m){floats=0;inti;for(i=0;i<n;i++)s+=a[i];s/=n;m=0;for(i=0;i<n;i++)if(a[i]>=s)m++;}函數(shù)功能:記錄出數(shù)組a的前n個元素中大于等于其平均值的元素個數(shù)并由引用參數(shù)m帶回。五、按題目規(guī)定編寫函數(shù)(6分)假定一個函數(shù)聲明為“voidAD(inta[],intn);”,規(guī)定把數(shù)組a中的n個元素值按相反的順序仍保存在數(shù)組a中。答:voidAD(inta[],intn){for(i=0;i<n/2;i++){intx=a[i];a[i]=a[n-1-i];a[n-1-i]=x;}}

訓(xùn)練第四套一、單選題(每小題2分,共20分)1.C++程序的基本功能模塊為(D)。A.表達(dá)式B.標(biāo)記符C.語句D.函數(shù)2.存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是(A)。A.0B.’0’C.”0”3.在下面的一維數(shù)組定義中,有語法錯誤的是(C)。A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];4.在下面的語句或語句組中,(B)不對的。A.inta[5];B.intM=10;inta[M];C.inta[]={1,5,10,45};D.constintN=12;inta[N];5.C++語言中的每條簡樸語句以___B_____作為結(jié)束符。A.逗號B.分號C.空格D.換行符6.含隨機(jī)函數(shù)的表達(dá)式rand()%20的值在(C)區(qū)間內(nèi)。A.1~19B.1~20C.0~19D.0~207.當(dāng)解決一個特定的問題時,若循環(huán)次數(shù)已知,則通常采用(A)來解決。A.for循環(huán)B.while循環(huán)C.do循環(huán)D.switch語句8.在下面循環(huán)語句中內(nèi)層循環(huán)體S語句的執(zhí)行總次數(shù)為(D)。for(inti=0;i<n;i++)for(intj=i;j<n;j++)S;A.n2B.(n+1)/2C.n(n-1)/2D.n(n+1)/29.若函數(shù)聲明為double*function(),則該函數(shù)的返回值為(B)。A.實數(shù)型B.實數(shù)指針型C.函數(shù)指針型D.數(shù)組型10.假定變量m定義為“intm=7;”,則定義變量p的對的語句為(A)。A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;二、填空題(每小題2分,共20分)1.C++語言中每條復(fù)合語句以_}(或右花括號)_作為結(jié)束符。2.假定一個枚舉類型的定義為“enumRA{ab,ac,ad,ae};”,則ac的值為___1____。3.十進(jìn)制數(shù)25表達(dá)成符合C++語言規(guī)則的八進(jìn)制數(shù)為___031_____。4.表達(dá)式x=x+y表達(dá)成復(fù)合賦值表達(dá)式為__x+=y__。5.若x=5,y=15,則x>y的邏輯值為__假(false或0)_。6.假定一個一維數(shù)組的定義為“char*a[8];”,則該數(shù)組所占用存儲空間的字節(jié)數(shù)為_32__。7.假定x=10,則表達(dá)式2+x++的值為__12__。8.假定p所指對象的值為25,p+1所指對象的值為46,則*p++的值為__25______。9.假定要動態(tài)分派一個類型為Worker的具有n個元素的數(shù)組,并由r指向這個動態(tài)數(shù)組,則使用的語句為Worker*r=___newWorker[n];___。10.設(shè)px指向一個類的動態(tài)分派的對象,則執(zhí)行“deletepx;”語句時,將自動調(diào)用該類的__析構(gòu)函數(shù)__。三、寫出下列每個程序運營后的輸出結(jié)果(每小題6分,共30分)1.#include<iostream.h>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<<"bad!";break;}}voidmain(){SB(’A’);SB(’c’);SB(’b’);cout<<endl;}運營結(jié)果:well!pass!good!2.#include<iostream.h>voidmain(){inta[6]={36,25,48,14,55,40};intb1=a[0];for(inti=1;i<6;i++)if(a[i]>b1)b1=a[i];cout<<”b1=”<<b1<<endl;}運營結(jié)果:553.#include<iomanip.h>voidmain(){in

溫馨提示

  • 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

提交評論