電大C++語言程序設(shè)計(jì)形考冊(cè)_第1頁
電大C++語言程序設(shè)計(jì)形考冊(cè)_第2頁
電大C++語言程序設(shè)計(jì)形考冊(cè)_第3頁
電大C++語言程序設(shè)計(jì)形考冊(cè)_第4頁
電大C++語言程序設(shè)計(jì)形考冊(cè)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、專業(yè)好文檔c+語言程序設(shè)計(jì)課程作業(yè)與評(píng)價(jià)中央電大計(jì)算機(jī)教研室第一次作業(yè)練習(xí)一、填空題 1c+語言中的每條基本語句以_作為結(jié)束符,每條復(fù)合語句以_作為結(jié)束符。 2. 用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出流對(duì)象是_,用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入流對(duì)象是_。 3. 當(dāng)不需要函數(shù)返回任何值時(shí),則應(yīng)把該函數(shù)類型定義為_。 4. 執(zhí)行“cout143+18=143+18endl;”語句后得到的輸出結(jié)果為_。 5. 執(zhí)行“cout“ning”“chen ”38endl;”語句后得到的輸出結(jié)果為_。 6在每個(gè)c+程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為_。 7c+源程序文件的缺省擴(kuò)展名為_,由c+源程序文

2、件編譯而成的目標(biāo)文件的缺省擴(kuò)展名為_,由c+目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為_。 8. 程序運(yùn)行中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用_或_符號(hào)作為分隔符。 9十進(jìn)制數(shù)25表示成符合c+語言規(guī)則的八進(jìn)制和十六進(jìn)制數(shù)分別為_和_。 10. 在c+語言中,用轉(zhuǎn)義字符序列_或操縱符_表示輸出一個(gè)換行符。 11執(zhí)行“coutchar(b+2)endl;”語句后得到的輸出結(jié)果為_。 12. 執(zhí)行“coutchar(k-3)endl;”語句后得到的輸出結(jié)果為_。 13. 已知az的ascii碼為6590,當(dāng)執(zhí)行“int x=h+5;”語句后x的值為_。 14已知az的ascii碼為6

3、590,當(dāng)執(zhí)行“char ch=16*5+2;coutchendl;”語句序列后,得到的輸出結(jié)果為_。 15.假定一個(gè)枚舉類型的定義為“enum raxa,xb,xc,xd;”,則執(zhí)行“coutxc=xcendl;”語句得到的輸出結(jié)果為_。 16假定一個(gè)枚舉類型的定義為“enum rbab,ac=3,ad,aex=ad;”,則x的值為_。 17char、short和int類型的大小分別為_、_和_。 18float和double類型的大小分別為_和_。 19. 十進(jìn)制數(shù)128和-3.26的類型分別為_和_。 20. 若需要定義一個(gè)標(biāo)識(shí)符常量,并且使c+能夠進(jìn)行類型檢查,則應(yīng)在定義語句的開始使用

4、保留字_。 21. 使用const語句定義一個(gè)標(biāo)識(shí)符常量時(shí),則必須對(duì)它同時(shí)進(jìn)行_。 22. 執(zhí)行“int x=45,y=16;coutx/y x%yz的相反表達(dá)式為_。 33. 邏輯表達(dá)式x5 & xb | b=5的相反表達(dá)式為_。 35若x=15,y=40,則xy和x=y的邏輯值分別為_和_。 36. 假定x=5,則執(zhí)行“a=(x?10:4*2);”語句后a的值為_。 37假定a=5,則條件表達(dá)式“a=0?10:20”的值為_。 38. 執(zhí)行“typedef int datatype;”語句后,在使用int定義整型變量的地方都可以使用_來定義整型變量。 39設(shè)x和y均為bool量,則x &

5、y為真的條件是_。 40設(shè)x和y均為bool量,則x | y為假的條件是_。 二、寫出下列程序運(yùn)行后的輸出結(jié)果 1. #include void sb(char ch) switch(ch) case a: case a: coutwell!;break; case b: case b: coutgood!;break; case c: case c: coutpass!;break; default: coutbad!;break; void main() char a1=b,a2=c,a3=f; sb(a1);sb(a2);sb(a3);sb(a); coutendl; 運(yùn)行結(jié)果: 2.

6、#include #include double sd(int a, int b, char op) double x; switch(op) case +: x=double(a)+b;break; case -: x=double(a)-b;break; case *: x=double(a)*b;break; case /: if(b) x=double(a)/b; else exit(1); break; default: exit(1); return x; void main() int x=20,y=12; coutsd(x,y,-) ; coutsd(x,y,*) ; cout

7、sd(x+y,y-2,/)endl; 運(yùn)行結(jié)果: 3. #include void main() int s=0; for(int i=1;i6;i+) s+=i*i; couts=sendl; 運(yùn)行結(jié)果: 4. #include void main() int s=0; for(int i=1;i+) if(s50) break; if(i%3=0) s+=i; couti,s=i,sendl; 運(yùn)行結(jié)果: 5. #include void main() int s1=0, s2=0; for(int i=0;i10;i+) if(i%2) s1+=i; else s2+=i; couts1

8、 s2endl; 運(yùn)行結(jié)果: 6. #include void main() int n=10,y=1; while(n-) y+;+y; couty*y=y*yendl; 運(yùn)行結(jié)果:三、寫出下列每個(gè)函數(shù)的功能 1. #include int sa(int a, int b) if(ab) return 1; else if(a=b) return 0; else return -1; 函數(shù)功能: 2. int sc(int a, int b, int c) if(a=b & a=c) return a; if(b=a & b=c) return b; if(c=a & c=b) return

9、 c; 函數(shù)功能: 3. int se(int n) /n為大于等于1的整數(shù) int x; cinx; if(n=1) return x; int m=x; while(-n) cinx; m+=x; return m; 函數(shù)功能: 4. double sf(double x, int n) /n為大于等于0的整數(shù) double p=1,s=1; for(int i=1;i=n;i+) p*=x; s+=p/(i+1); return s; 函數(shù)功能: 5. #include bool sg(int x) /x為大于等于2的整數(shù) int a=int(sqrt(x); /取x的平方根 int i

10、=2; while(i=a) if(x%i=0) break; i+; if(ix; while(x!=-100) n+; y+=x; cinx; if(n=0) return y; else return y/n; 函數(shù)功能:第二次作業(yè)練習(xí)一、填空題 1假定一個(gè)一維數(shù)組的定義為“char* a5;”,則該數(shù)組所含元素的個(gè)數(shù)為_,所占存儲(chǔ)空間的字節(jié)數(shù)為_。 2. 假定一個(gè)二維數(shù)組的定義為“int a46;”,則該數(shù)組所含元素的個(gè)數(shù)為_,所占存儲(chǔ)空間的字節(jié)數(shù)為_。 3. 假定一個(gè)二維數(shù)組的定義為“char a88;”,則該數(shù)組所含元素的個(gè)數(shù)為_,所占存儲(chǔ)空間的字節(jié)數(shù)為_。 4. 執(zhí)行“typed

11、ef float abc10;”語句把a(bǔ)bc定義為具有10個(gè)單精度元素的_。 5. 在函數(shù)外定義的變量稱為_變量,若沒有被初始化則系統(tǒng)隱含對(duì)它賦初值_。 6函數(shù)中的形參變量的初值由_該函數(shù)時(shí)獲得。 7函數(shù)調(diào)用時(shí),實(shí)參向形參的傳送分為_和_兩種傳送方式。 8變量分為全局和局部?jī)煞N,_變量沒有賦初值時(shí),其值是不確定的。二、給出下列程序運(yùn)行后的輸出結(jié)果 1. #include void main() int a10=12,39,26,41,55,63,72,40,83,95; int i0=0, i1=0, i2=0; for(int i=0;i10;i+) switch(ai%3) case 0:

12、 i0+; break; case 1: i1+; break; case 2: i2+; couti0 i1 i2endl; 運(yùn)行結(jié)果: 2. #include #include void main() char* a5=student,worker,cadre,apple,peasant; char *p1, *p2; p1=p2=a0; for(int i=0;i0) p1=ai; if(strcmp(ai, p2)0) p2=ai; coutp1 p2endl; 運(yùn)行結(jié)果: 3. #include void main() int a8=36,73,48,14,55,40,32,66;

13、int b1, b2; b1=b2=a0; for(int i=1;ib1) if(b1b2) b2=b1; b1=ai; coutb1 b2endl; 運(yùn)行結(jié)果: 4. #include void main() char a=aabcdaabacabfgacd; int i1=0, i2=0, i=0; while(ai) if(ai=a) i1+; if(ai=b) i2+; i+; couti1 i2endl; 運(yùn)行結(jié)果: 5. #include void main() char a=abcdabcabdaeaf; int b5=0, i=0; while(ai) switch(ai)

14、case a: b0+;break; case b: b1+;break; case c: b2+;break; case d: b3+;break; default: b4+; i+; for(i=0;i5;i+) coutbi ; coutendl; 運(yùn)行結(jié)果: 6. #include void main() int a10=76,83,54,62,40,75,80,92,77,84; int b4=60,70,90,101; int c4=0; for(int i=0;i=bj) j+; cj+; for(i=0;i4;i+) coutci ; coutendl; 運(yùn)行結(jié)果: 7. #i

15、nclude void main() int a34=1,2,7,8,5,6,11,12,24,10,3,4; int m=a00; int ii=0, jj=0; for(int i=0;i3;i+) for(int j=0;jm) m=aij; ii=i; jj=j; coutii jj aiijjendl; 運(yùn)行結(jié)果: 8. #include void main() int a=10, b=20; couta bendl; a*=4; int b=a+35; couta bendl; couta bendl; 運(yùn)行結(jié)果:三、寫出下列每個(gè)函數(shù)的功能 1. int wc(int a, int

16、 n, int k) int c=0; for(int i=0;i=k) c+; return c; 函數(shù)功能: 2. #include void wa(int a, int n) for(int i=0;in-1;i+) int k=i; for(int j=i+1;jn;j+) if(ajak) k=j; int x=ai; ai=ak; ak=x; 函數(shù)功能: 3. #include template int wg(tt a, tt b) if(ab) return 1; else if(a=b) return 0; else return -1; 函數(shù)功能: 4. #include t

17、emplate type wd(type a, int n) type m=a0; for(int i=0;im) m=ai; return m; 函數(shù)功能: 5. template void we(type a, type b, int n) for(int i=0;in;i+) bi=ai*2; 函數(shù)功能:第三次作業(yè)練習(xí)一、填空題 1假定p所指對(duì)象的值為28,p+1所指對(duì)象的值為62,則*p+的值為_。 2假定p所指對(duì)象的值為28,p+1所指對(duì)象的值為62,則*+p的值為_。 3. 假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為50,則執(zhí)行“(*p)+;”語句后,p所指對(duì)象的值為_。 4假

18、定p所指對(duì)象的值為25,p+1所指對(duì)象的值為50,則執(zhí)行“*(p+);”語句后,p所指對(duì)象的值為_。 5假定a是一個(gè)指針數(shù)組,則a+i所指對(duì)象的地址比a地址大_字節(jié)。 6. 假定a是一個(gè)一維數(shù)組,則ai的指針訪問方式為_。 7. 假定a是一個(gè)二維數(shù)組,則aij的指針訪問方式為_。 8. 假定a是一個(gè)一維數(shù)組,則ai對(duì)應(yīng)的存儲(chǔ)地址(以字節(jié)為單位)為_。 9. 假定一個(gè)二維數(shù)組為amn,則aij對(duì)應(yīng)的存儲(chǔ)地址(以字節(jié)為單位)為_。 10. 假定一個(gè)二維數(shù)組為amn,則ai的地址值(以字節(jié)為單位)為_。 11. 假定p是一個(gè)指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址大_字節(jié)

19、。 12. 假定a為一個(gè)字符數(shù)組名,則元素a8的字節(jié)地址為_。 13. 假定a為一個(gè)整型數(shù)組名,則元素a4的字節(jié)地址為_。 14假定一個(gè)結(jié)構(gòu)類型的定義為 “struct aint a,b; short c; a* d;”,則該類型的大小為_字節(jié)。 15假定一個(gè)結(jié)構(gòu)類型的定義為 “struct bint a8; char* b;”,則該類型的大小為_字節(jié)。 16. 假定一個(gè)結(jié)構(gòu)類型的定義為 “struct dint a; union int b; double c;d* d3;”,則該類型的大小為_字節(jié)。 17. 假定要?jiǎng)討B(tài)分配一個(gè)類型為worker的具有n個(gè)元素的數(shù)組,并由r指向這個(gè)動(dòng)態(tài)數(shù)組,

20、則使用的語句為_。 18. 假定要訪問一個(gè)結(jié)構(gòu)x中的由a指針成員所指向的對(duì)象,則表示方法為_。 19. 假定要訪問一個(gè)結(jié)構(gòu)指針p所指對(duì)象中的b指針成員所指的對(duì)象,則表示方法為_。二、給出下列程序運(yùn)行后的輸出結(jié)果 1. #include void main() int a8=7,9,11,13,3,8,15,17; int *p=a; for(int i=0;i8;i+) coutsetw(5)*p+; if(i+1)%4=0) coutendl; 運(yùn)行結(jié)果: 2. #include void main() int a5=3,6,15,7,20; int *p=a; for(int i=0;i5

21、;i+) coutsetw(5)*p+; coutendl; for(i=0;i5;i+) coutsetw(5)*-p; coutendl; 運(yùn)行結(jié)果: 3. #include void main() int a8=4,8,12,16,20,24,28,32; int *p=a; do cout*p ; p+=3; while(pa+8); coutendl; 運(yùn)行結(jié)果: 4. #include void main() int x=20,y=40,*p; p=&x; cout*p ; *p=x+10; p=&y; cout*pendl; *p=y+20; coutx yendl; 運(yùn)行結(jié)果:

22、 5. #include int la(int *a, int n) int s=0; for(int i=0;in;i+) s+=ai; return s; void main() int a=5,10,15,20,25,30; int b=la(a,5); int c=la(a+3,2); coutb c b+2*cendl; 運(yùn)行結(jié)果: 6. #include void lc(int a, int b) int x=a; a=b; b=x; couta bendl; void main() int x=15, y=36; lc(x,y); coutx yendl; 運(yùn)行結(jié)果: 7. #i

23、nclude void lf(int& x, int y) x=x+y; y=x+y; coutx=x, y=yendl; void main() int x=5, y=8; coutx=x, y=yendl; lf(x,y); coutx=x, y=yendl; 運(yùn)行結(jié)果: 8.#include void lg(int*& a, int& m) a=new intm; int* p=a; for(int i=0;im;i+) *p+=2*i+1; void main() int *p,n=5; lg(p,n); for(int i=0;in;i+) coutpi ; coutendl; de

24、letep; 運(yùn)行結(jié)果: 9.#include void lh(int* a, int n) int* p=a+n-1; while(ap) int x=*a; *a=*p; *p=x; a+;p-; void main() int* d=new int5; int i; for(i=0;i5;i+) di=2*i+3; coutsetw(5)di ; coutendl; lh(d,5); for(i=0;i5;i+) coutsetw(5)di ; coutendl; deleted; 運(yùn)行結(jié)果: 10. #include struct worker char name15; /姓名 int

25、 age; /年齡 float pay; /工資 ; void main() worker x=weirong,55,640; worker y, *p; y=x; p=&x; y.age y.payendl; coutname age+5 pay-10endl; 運(yùn)行結(jié)果: 11. #include #include struct worker char name15; /姓名 int age; /年齡 float pay; /工資 ; void main() worker x; char *t=liouting; int d=46; float f=725; strc

26、py(,t); x.age=d; x.pay=f; x.age x.payendl; 運(yùn)行結(jié)果:三、寫出下列每個(gè)函數(shù)的功能 1. #include void li(int n) int* a=new intn, *p=a+n; for(int i=0;iai; for(i=n-1;i=0;i-) cout*(-p) ; coutn; delete a; 函數(shù)功能: 2. #include void lk(int a, int n, int*& b, int& m) float s=0; int i; for(i=0;in;i+) s+=ai; s/=n; m=

27、0; for(i=0;i=s) m+; b=new intm; int* p=b; for(i=0;i=s) *p+=ai; 函數(shù)功能: 3. /struct worker / char name15; /姓名 / int age; /年齡 / float pay; /工資 /; istream& operator(istream& istr, worker& x) cout請(qǐng)輸入一個(gè)職工記錄:姓名、年齡、工資x.agex.pay; return istr; 函數(shù)功能: 4. /struct strnode / char name15; /字符串域 / strnode *next;

28、 /指針域 /; void qb(strnode*& f, int n) if(n=0) f=null; return; f=new strnode; cinf-name; strnode* p=f; while(-n) p=p-next=new strnode; cinp-name; p-next=null; 函數(shù)功能: 5. /struct strnode char name15; strnode *next; ; void qc(strnode* f) while(f) coutnamenext; 函數(shù)功能:第四次作業(yè)練習(xí)一、填空題 1. 在定義類對(duì)象的語句執(zhí)行時(shí),系統(tǒng)在建立每個(gè)對(duì)象的過

29、程中將自動(dòng)調(diào)用該類的_使其初始化。 2當(dāng)一個(gè)類對(duì)象被撤消時(shí)將自動(dòng)調(diào)用該類的_。 3對(duì)基類數(shù)據(jù)成員的初始化是通過執(zhí)行派生類構(gòu)造函數(shù)中的_來實(shí)現(xiàn)的。 4對(duì)一個(gè)類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的_實(shí)現(xiàn),也可以通過構(gòu)造函數(shù)中的_實(shí)現(xiàn)。 5在一個(gè)派生類中,對(duì)基類成員、類對(duì)象成員和非類對(duì)象成員的初始化次序是先_,后_,最后為_。 6當(dāng)撤消一個(gè)含有基類和類對(duì)象成員的派生類對(duì)象時(shí),將首先完成_的析構(gòu)函數(shù)定義體的執(zhí)行,接著完成_的析構(gòu)函數(shù)定義體的執(zhí)行,最后完成_的析構(gòu)函數(shù)定義體的執(zhí)行。 7. 設(shè)px是指向一個(gè)類動(dòng)態(tài)對(duì)象的指針變量,則執(zhí)行”delete px;”語句時(shí),將自動(dòng)調(diào)用該類的_。 8當(dāng)一個(gè)類對(duì)象

30、離開它的作用域時(shí),系統(tǒng)將自動(dòng)調(diào)用該類的_。 9假定一個(gè)類對(duì)象數(shù)組為an,當(dāng)離開它的作用域時(shí),系統(tǒng)自動(dòng)調(diào)用該類析構(gòu)函數(shù)的次數(shù)為_。 10. 假定 ab為一個(gè)類,則執(zhí)行”ab a10;”語句時(shí),系統(tǒng)自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為_。 11假定用戶沒有給一個(gè)名為ab的類定義構(gòu)造函數(shù),則系統(tǒng)為其隱含定義的構(gòu)造函數(shù)為_。 12假定用戶沒有給一個(gè)名為ab的類定義析構(gòu)函數(shù),則系統(tǒng)為其隱含定義的析構(gòu)函數(shù)為_。 13若需要把一個(gè)函數(shù)”void f();”定義為一個(gè)類ab的友元函數(shù),則應(yīng)在類ab的定義中加入一條語句:_ 14若需要把一個(gè)類ab定義為一個(gè)類cd的友元類,則應(yīng)在類cd的定義中加入一條語句:_ 15. 假

31、定一個(gè)類ab中有一個(gè)靜態(tài)整型成員bb,在類外為它進(jìn)行定義并初始化為0時(shí),所使用的語句為_。 16. 假定類ab中有一個(gè)公用屬性的靜態(tài)數(shù)據(jù)成員bb,在類外不通過對(duì)象名訪問該成員bb的寫法為_。 17. 當(dāng)類中一個(gè)字符指針成員指向具有n個(gè)字節(jié)的存儲(chǔ)空間時(shí),它所能存儲(chǔ)字符串的最大長度為_。 18. 假定ab為一個(gè)類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為_。 19. 對(duì)類對(duì)象成員的初始化是通過執(zhí)行構(gòu)造函數(shù)中的_完成的。 20. 對(duì)于類中定義的成員,其隱含訪問權(quán)限為_,對(duì)于結(jié)構(gòu)中定義的成員,其隱含訪問權(quán)限為_。 21. 一個(gè)類的友元函數(shù)或友元類能夠通過成員操作符訪問該類的_。 22假定要對(duì)類ab定義加號(hào)操作

32、符重載成員函數(shù),實(shí)現(xiàn)兩個(gè)ab類對(duì)象的加法,并返回相加結(jié)果,則該成員函數(shù)的聲明語句為:_ 23在c+流類庫中,根基類為_。 24. 在c+流類庫中,輸入流類和輸出流類的名稱分別為_和_。 25. 若要在程序文件中進(jìn)行標(biāo)準(zhǔn)輸入輸出操作,則必須在開始的#inlude命令中使用_頭文件。 26. 若要在程序文件中進(jìn)行文件輸入輸出操作,則必須在開始的#inlude命令中使用_頭文件。 27. 當(dāng)從字符文件中讀取回車和換行兩個(gè)字符時(shí),被系統(tǒng)看作為一個(gè)_。 28當(dāng)使用ifstream流類定義一個(gè)流對(duì)象并打開一個(gè)磁盤文件時(shí),文件的隱含打開方式為_,當(dāng)使用ofstream流類定義一個(gè)流對(duì)象并打開一個(gè)磁盤文件時(shí),文件的隱含打開方式為_。 29. 當(dāng)需要使用istrstream流類定義一個(gè)流對(duì)象并聯(lián)系一個(gè)字符串時(shí),應(yīng)在文件開始使用#include命令,使之包含_文件。二、給出下列程序運(yùn)行后的輸出結(jié)果 1. #include class a int a,b; publ

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論