




已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章習(xí)題一、 選擇填空1. 下列各種高級(jí)語言中,( )是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。A.BASIC;B.PASCAL;C.C+ D.Ada2. 下列各種高級(jí)語言中,( )是最早提出了對(duì)象的概念。A.Algol 60;B.Simula 67;C.Smalltalk;D.C+3. 下述面向?qū)ο蟪橄蟮脑碇?,?)是不對(duì)的。A. 數(shù)據(jù)抽象;B. 行為共享;C.進(jìn)化;D. 兼容;4. ( )不是面向?qū)ο笙到y(tǒng)所包含的要數(shù)。A. 重載; B. 對(duì)象;C. 類;D. 繼承;5. 關(guān)于C+與C語言的關(guān)系的描述中,( )是錯(cuò)誤的。A. C語言是C+的一個(gè)子集;B. C語言與C+是兼容的;C. C+對(duì)C語言進(jìn)行了一些改進(jìn);D. C+和C語言都是面向?qū)ο蟮?6. 下面關(guān)于對(duì)象概念的描述中,( )是錯(cuò)誤的。A.對(duì)象就是C語言中的結(jié)構(gòu)變量;B.對(duì)象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體;C. 對(duì)象是一個(gè)狀態(tài)和操作(或方法)的封裝體;D.對(duì)象之間的信息傳遞是通過消息進(jìn)行的;7. 下面關(guān)于類概念的描述中,( )是錯(cuò)誤的。A.類是抽象數(shù)據(jù)類型的實(shí)現(xiàn); B.類是具有共同行為的若干對(duì)象的統(tǒng)一描述體;C.類是創(chuàng)建對(duì)象的樣板;D.類就是C語言中的結(jié)構(gòu)類型;8. C+對(duì)C語言作了很多改進(jìn),下列描述中( )使得C語言發(fā)生了質(zhì)變,即從面向過程變成為面向?qū)ο蟆.增加了一些新的運(yùn)算符;B.允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C.規(guī)定函數(shù)說明必須用原型;D.引進(jìn)了類和對(duì)象的概念;9. 按照標(biāo)識(shí)符的要求,( )符號(hào)不能組成標(biāo)識(shí)符。A.連接符;B. 下劃線;C.大小寫字母;D.數(shù)字字符;10. 下列符號(hào)中,( )不可作為分隔符。A.,;B.:;C.?;D.;二、判斷下列描述的正確性,對(duì)者劃,錯(cuò)者劃。1 C+引進(jìn)了引用的概念,對(duì)編程帶來了很多方便。2 C+允許使用友元,但是友元會(huì)破壞封裝性。3 C+中使用了新的注釋符(/),C語言中注釋符(/*/)不能在C+中使用。4 C+中為了減輕使用者的負(fù)擔(dān),與C語言相比較C+中減少了一些運(yùn)算符。5 C+程序中,每條語句結(jié)束時(shí)都加一個(gè)分號(hào)(;)。6 C+中標(biāo)識(shí)符內(nèi)的大小寫字母是沒有區(qū)別的。7 C+中不允許使用宏定義的方法定義符號(hào)常量,只能用關(guān)鍵字const來定義符號(hào)常量。8 在編寫C+程序時(shí),一定要注意采用人們習(xí)慣使用的書寫格式,否則將會(huì)降低其可讀性。9 C+是一種以編譯方式實(shí)現(xiàn)的高級(jí)語言。10 在C+編譯過程中,包含預(yù)處理過程、編譯過程和連接過程,并且這三個(gè)過程的順序是不能改變的。11 預(yù)處理過程是一般編譯過程之后連接過程之前進(jìn)行的。12 源程序在編譯過程中可能會(huì)出現(xiàn)一些錯(cuò)誤信息,但在連接過程中將不會(huì)出現(xiàn)錯(cuò)誤信息。三、分析下列程序的輸出結(jié)果1#includevoid main()coutBeiJing ;coutShangHain ;coutTianJingendl;1 BeiJjing ShangHai TianJing2.#includevoid main()int a,b;coutab;couta=a,b=bendl;couta-b=a-bn;假定,輸入如下兩個(gè)數(shù)據(jù):8 52 Input a,b:8 5A=8,b=5A-b=33#include void main()char c=m;int d=5;coutd=d:;coutc=cn;D=5,c=m四、編譯下列程序,改正所出現(xiàn)的各種錯(cuò)誤信息,并分析輸出結(jié)果:1、 main ( )coutThis is a string!;1#include void main()cout”This is a string!”;輸出結(jié)果:This is a string!2、 #includevoid main( )cinx;int p=x*x;coutp=pn;#includevoid main( )int x;cinx;int p=x*x;cout”p=”p”n”;輸出結(jié)果:3 p=93、 #include void main ( )int i,j;i=5;int k=i+j;couti+j=kn;#include void main ( )int i,j;i=5;j=3;int k=i+j;cout”i+j=”k”n”;輸出結(jié)果:I+j=8五、通過對(duì)第四題中三個(gè)程序的所出現(xiàn)問題的修改,回答下列問題:1. 從對(duì)第四題1題的修改中,總結(jié)出編程時(shí)應(yīng)注意哪三個(gè)問題?2. C+程序中所出現(xiàn)的變量是否都必須先說明才能引用?3. 使用cout和運(yùn)算符; D. &17、下列各運(yùn)算符中,()不能作用于浮點(diǎn)數(shù)。A/; B.&; C.!; D.18、下列各運(yùn)算符中,()優(yōu)先級(jí)最高。A. +(雙目);B. *(單目); C. b)+(int(b)%2); D. - -a+b22、下列表達(dá)式中,()是合法的。已知:double m=3.2; int n=3;A. m3; B. +a+b+; C.b+(a=3); D. ( a=3)-a+二、 判斷下列描述是否正確,對(duì)者劃,錯(cuò)者劃。1、 任何字符常量與一個(gè)任意大小的整型數(shù)進(jìn)行加減都是有意義的。2、 轉(zhuǎn)義序列表示法只能表示字符不能表示數(shù)字。3、 在命名標(biāo)識(shí)符中,大小寫字母是不加區(qū)別的。4、 C+的程序中,對(duì)變量一定要先說明再使用,說明只要在使用之前就可以。5、 C+中數(shù)組元素的下標(biāo)是從0開始,數(shù)組元素是連續(xù)存儲(chǔ)在內(nèi)存單元中的。6、 數(shù)組賦初值時(shí),初始值表中的數(shù)據(jù)項(xiàng)的數(shù)目可以大于或等于數(shù)組元素的個(gè)數(shù)。7、 枚舉變量的取值受到該枚舉變量所對(duì)應(yīng)的枚舉表中的枚舉符的局限。8、 指針是用來存放某種變量的地址值的變量。這種變量的地址值也可以存放在某個(gè)變量中,存放某個(gè)指針的地址值的變量稱為指向指針的指針,即二級(jí)指針。9、 引用是用來給某個(gè)變量以別名的變量。,對(duì)引用的操作,實(shí)質(zhì)上就是對(duì)被引用的變量的操作。10、 運(yùn)算符的優(yōu)先級(jí)和結(jié)合性可以確定表達(dá)式的計(jì)算順序。11、 在說明語句 中,的值和的值是相等的。12、 已知:表達(dá)式具有兩用性。13、 移位運(yùn)算符在移位操作中,無論左移還是右移,所移出的空位一律補(bǔ)0;14、 某個(gè)變量的類型高是指該變量被存放在內(nèi)存中的高地址處。15、 隱含的類型轉(zhuǎn)換都是保值映射,顯式的類型轉(zhuǎn)換都是非保值映射。16、 類型定義是用來定義一些C+中所沒有的新的類型。三、 計(jì)算下列各表達(dá)式的值(下列各表達(dá)式是相互獨(dú)立的,不考慮前面對(duì)后面的影響。)1、 已知:unsigned int x=015,y=0x2b;A. x|y;B.xy;C.x&y;D.x+y; E.x=4.ABCDEF47389429496723810422、 已知:inti(10),j(5);A. +i-j-;B.i=i*=j;C.i=3/2*(j=3-2);D.ij; E.i&j|1; F.i+i&0xff.ABCDEF6501-161203、 已知:int a(5),b(3);計(jì)算下列表達(dá)式得值以及a和b的值。A.!a&b+;B.a|b+4&a*b;C.a=1,b=2,ab?+a:+b;D.+b,a=10,a+5;E.a+=b%=a+b; F.a!=b2=a+1.ABCDEF0,5,31,5,33,1,315,10,48,8,31,5,34、 已知:int d(5),*pd=&d,&rd=d;A. d+-rd;B.*pd*rd; C.+*pd-rd; D.+rd-d.ABCD025005、 已知:1的ASCII碼的值為49。A.3+21+1;B.2*9|31;C.5%-3*2/6-3; D.8= =35)|2=3+2-(0-7).ABCDEF2022-3011四、 按下列要求編寫程序1 從鍵盤上輸入兩個(gè)int型數(shù),比較其大小,并輸出顯示其中小的。2 從鍵盤上輸入一個(gè)int型數(shù),一個(gè)浮點(diǎn)型數(shù)比較其大小,并輸出其中大的。3 輸入一攝氏溫度,編程輸出華氏溫度。已知:華氏溫度轉(zhuǎn)換為攝氏溫度的計(jì)算公式如下:C=(F-32)*5/9其中,F(xiàn)表示華氏溫度,C表示攝氏溫度。#include void main() float c,f; coutf; c=(f-32)*5/9; cout” 攝氏溫度:”cendl; 4 編程實(shí)現(xiàn)輸入公里數(shù),輸出顯示其英里數(shù)。已知:1英里=1.60934公里(用符號(hào)常量)。#include const float r=1.60934; void main() float m,I; coutm; I=r*m; cout”英里數(shù):”Iendl;5 輸入一個(gè)int型數(shù),將它的低4位(右4位)都置為1。#include void main() int n,m; coutn; m=n|15; cout”結(jié)果為:”mendl;第三章習(xí)題一、 選擇填空1. 預(yù)處理命令在程序中都是以( )開頭的。A. * ; B. # ;C . :;D. / ;2. 文件包含命令中被包含的文件的擴(kuò)轉(zhuǎn)名( )。A.必須為.h;B.不能用.h;C .必須是.c;D.不一定是.h;3. 下列條件編譯命令中#if()#else#endifA.整常量表達(dá)式;B.任何標(biāo)識(shí)符;C .任意表達(dá)式;D.被定義的宏名;4. 帶參數(shù)的宏定義中,程序中引用宏定義的實(shí)參( )。A.只能是常量;B.只能是整型量;C .只能是整形表達(dá)式;D.可以是任意表達(dá)式;5. 下列( )是語句A. ;;B.a=17;C .x+y;D. cout”n”;6. 下列for循環(huán)的次數(shù)為( )。for(int i(0),x=0;!x&i=5;i+)A.5;B.6;C .1;D.無限;7. 下列while循環(huán)的次數(shù)是( )。while(int i=0)i- -;A.0;B.1;C .5;D.無限;8. 下列do-while循環(huán)的循環(huán)次數(shù)為( )。已知:int i(5);docouti- - endl;i- - ;while(i!=0);A.0;B.1;C .5;D.無限;9. 下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為( )。for(int i(0),j(10);i=j=10;i+,j- -) A.0;B.1;C .10;D.無限;10. 已知:int a,b;下列switch語句中,( )是正確的。A. switch(a);case a:a+;break;case b:b+;break;B. switch(a+b) case 1:a+b;break;case 2:a-b|C. switch(a*a)case1,2:+a;case3,4:+b;D. switch(a/10+b)case 5:a/5;breakdefault:a+b;11. 下述關(guān)于循環(huán)體的描述中,( )是錯(cuò)誤的。A. 循環(huán)體中可以出現(xiàn)break語句和continue語句;B. 循環(huán)體中還可以出現(xiàn)循環(huán)語句;C. 循環(huán)體中不能出現(xiàn)goto語句;D. 循環(huán)體中可以出現(xiàn)開關(guān)語句。12. 下述關(guān)于goto語句的描述中,( )是正確的。A. goto語句可在一個(gè)文件中隨意轉(zhuǎn)向;B. goto語句后面要跟上一個(gè)他所轉(zhuǎn)向的語句;C. goto語句可以同時(shí)轉(zhuǎn)向多條語句;D. goto語句可以從一個(gè)循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外。13. 下述關(guān)于break語句的描述中,( )是正確的。A. break語句可用于循環(huán)體內(nèi),它將退出該重循環(huán);B. break語句可用于開關(guān)語句中,它將退出開關(guān)語句。C. break語句可用于if體內(nèi),它將退出if語句;D. break語句在一個(gè)循環(huán)體內(nèi)可以出現(xiàn)多次。14. 下述關(guān)于開關(guān)語句的描述中,( )是正確的。A. 開關(guān)語句中default子句可以沒有,也可以有一個(gè);B. 開關(guān)語句中每個(gè)語句序列中必須有break語句;C. 開關(guān)語句中default子句只能放在最后;D. 開關(guān)語句中case子句后面的表達(dá)式可以是整形表達(dá)式。15. 下列關(guān)于條件語句的描述中,()是錯(cuò)誤的。A. if語句中只有一個(gè)else子句;B. if語句中可以有多個(gè)else if子句;C. if語句中if體內(nèi)不能是開關(guān)語句;D. if語句中的if體中可以是循環(huán)語句。二、 判斷下列描述是否正確,對(duì)者劃,錯(cuò)者劃。 預(yù)處理命令是在進(jìn)行編譯時(shí)首先執(zhí)行的,然后再進(jìn)行正常編譯。 宏定義命令是以分號(hào)結(jié)束的。 帶參數(shù)的宏定義只能有1至2個(gè)參數(shù)。 文件包含命令所包含的文件是不受限制的。 條件編譯命令只在編譯時(shí)才有作用。 預(yù)處理命令的主要作用是提高效率的。 復(fù)合語句就是分程序。 條件語句不能作為多路分支語句。 開關(guān)語句不可以嵌套,在開關(guān)語句的語句序列中不能再有開關(guān)語句10開關(guān)語句中的default關(guān)鍵字,只能放在該語句的末尾,不能放在開頭或中間。11Switch語句中必須有break語句否則無法退出switch語句。12While循環(huán)語句的循環(huán)體至少執(zhí)行一次。13Do-while循環(huán)可以寫成while循環(huán)的格式。14For循環(huán)是只有可以確定的循環(huán)次數(shù)時(shí)才可使用,否則不能用for循環(huán)。15只有for循環(huán)的循環(huán)體可以是空語句,其他種循環(huán)的循環(huán)體不能用空語句。16當(dāng)循環(huán)體為空語句時(shí),將說明該循環(huán)不作任何工作,只起延時(shí)作用。17循環(huán)是可以嵌套的,一個(gè)循環(huán)體內(nèi)可以包含另一種循環(huán)語句。18在多重循環(huán)中,內(nèi)重循環(huán)的循環(huán)變量應(yīng)用的次數(shù)比外重的多。19Break語句可以出現(xiàn)在各種循環(huán)體中。20continue語句只能出現(xiàn)在循環(huán)體中。三、 分析下列程序的輸出結(jié)果。1.#include#define M 1.5#define A(a) M*avoid main()int x(5),y(6);coutA(x+y)endl;13.52. #include#define MAX(a,b) (a)(b)?(a):(b)void main()int m(1),n(2),p(0),q;q=MAX(n,n+p)*10;coutqendl;203.#include#include”f1.cpp”void main()int a(5),b;b=f1(a);coutbendl;f1.cpp文件內(nèi)容如下:#define M(m) m*mf1(int x)int a(3);return M(x+a);134.#includevoid main()int i(0);while(+i)if(i= =10) break;if(i%3!=1) continue;coutiendl;1475.#includevoid main()int i(1);doi+;cout+iendl;if(i= =7) break;while(i= =3);cout”O(jiān)k!n”;3 5 Ok!6.#includevoid main()int i(1),j(2),k(3),a(10);if(!i)a- -;else if (j)if(k) a=5;elsea=6;a+;coutaendl;if(ij)if(i!=3)if(!k)a=1;else if(k)a=5;a+=2;coutaendl;677.#includevoid main()int i,j,a88;* * a=1;for(i=1;i8;i+)* *(a+i)=1;*(*(a+i)+i)=1;for(j=1;ji;j+)*(*(a+i)+j)= *(*(a+i-1)+j-1)+ *(*(a+i-1)+j);for(i=0;i8;i+)for(j=0;j=i;j+)cout*(*(a+i)+j);coutendl;7. 11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1 1 7 21 35 35 21 7 18.#includevoid main()int x(5);doswitch(x%2)case 1:x- -;break;case 0:x+;break;x- -;coutx0);8. 31 -19.#includevoid main()int a(5),b(6),i(0),j(0);switch(a)case 5:switch(b)case 5:i+;break;case 6:j+;break;default: i+;j+;case 6: i+;j+;break;default: i+;j+;couti”,“jendl;1,210.#includechar input=SSSWILTECH1111W1WALLMP1;void main()int i;char c;for(i=2;(c=inputi)!=0;i+)switch(c)case a:couti;continue;case1:break;case 1:while(c=input+i)!=1&c!=0);case 9:coutc;case E:case L:continue;default :coutc; continue;cout ;coutendl;SWITCHWAMP四、 按下列要求編程,并上機(jī)調(diào)試。 求100之內(nèi)的自然數(shù)中奇數(shù)之和。 求100之內(nèi)的自然數(shù)中被13整除的最大數(shù)。 求輸入兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)。 求下列分?jǐn)?shù)序列的前15項(xiàng)之和。2/1,3/2,5/3,8/5,13/8,21/13,. . . 求i!(i=1,. . .,10)(即求1!+2!+3!+4!+5!+6!+7!+8!+9!+10!之和) 求出11000之間的完全平方數(shù)。所謂完全平方數(shù)是指能夠表示成為另一個(gè)證書的平方的整數(shù)。要求每行輸出8個(gè)數(shù)。 輸入4個(gè)int型數(shù),按其大小順序輸出。 有一函數(shù)如下所示: x (x1)Y= x+5 (1x0,有兩個(gè)不等實(shí)根;(3) b2-4ac0,有兩個(gè)共軛復(fù)根;(4)a=0,不是二次方程。10編程輸出如下圖案。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *第四章習(xí)題一、 選擇填空1. 當(dāng)一個(gè)函數(shù)無返回值時(shí),定義它時(shí)函數(shù)的類型應(yīng)是( )A. void; B. 任意;C . int;D. 無;2. 在函數(shù)說明時(shí),下列( )項(xiàng)是不必要的。A.函數(shù)的類型;B.函數(shù)參數(shù)類型和名次;C .函數(shù)名字;D.返回值表達(dá)式;3. 在函數(shù)的返回值類型與返回值表達(dá)式的類型的描述中,( )是錯(cuò)誤的。A. 函數(shù)的返回值的類型是定義函數(shù)時(shí)確定的;B. 函數(shù)的返回值的類型就是返回值表達(dá)式的類型;C. 函數(shù)的返回值表達(dá)式的類型與函數(shù)返回值類型不同時(shí),表達(dá)示類型應(yīng)轉(zhuǎn)換成函數(shù)返回值類型;D. 函數(shù)的返回值類型決定了返回值表達(dá)式的類型。4. 在一個(gè)被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,( )是錯(cuò)誤的。A. 被調(diào)用函數(shù)中可以不用 return語句;B. 被調(diào)用函數(shù)中可以使用多個(gè)return語句;C. 被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句;D. 被調(diào)用函數(shù)中,一個(gè)return語句可返回多個(gè)值給調(diào)用函數(shù)。5. 下列( )是引用調(diào)用A. 形參是指針,實(shí)參是地址值;B. 形參和實(shí)參都是變量;C. 形參是數(shù)組名,實(shí)參是數(shù)組名;D. 形參是引用,實(shí)參是變量。6. 在傳值調(diào)用中,要求( )。A. 形參和實(shí)參類型任意,個(gè)數(shù)相等;B. 形參和實(shí)參類型都完全一致,個(gè)數(shù)相等;C. 形參和實(shí)參對(duì)應(yīng)的類型一致,個(gè)數(shù)相等;D. 形參和實(shí)參對(duì)應(yīng)的類型一致,個(gè)數(shù)任意。7. 在C+中,關(guān)于下列設(shè)置參數(shù)默認(rèn)的描述中,( )是正確的。A. 不允許設(shè)置參數(shù)的默認(rèn)值;B. 設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時(shí)設(shè)置;C. 設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的;D. 設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置;8. 重載函數(shù)在調(diào)用時(shí)選擇的依據(jù)中,( )是錯(cuò)誤的。A.參數(shù)個(gè)數(shù);B.參數(shù)的類型;C .函數(shù)名字;D.函數(shù)的類型;9. 下列的標(biāo)識(shí)符中,( )是文件級(jí)作用域的。A.函數(shù)形參;B.語句標(biāo)號(hào);C .外部靜態(tài)類標(biāo)識(shí)符;D.自動(dòng)類標(biāo)識(shí)符。10. 有一個(gè)int 型變量,在程序中使用頻度很高,最好定義為( )。A.register;B.auto;C .extern;D.static;11. 下列標(biāo)識(shí)符中,( )不是局部變量。A.register類;B.外部static類;C .auto類;D.函數(shù)形參;12. 下列存儲(chǔ)類標(biāo)識(shí)符中,( )的可見性與存在性不一值。A. 外部類;B.自動(dòng)類;C .內(nèi)部靜態(tài)類;D.寄存器類。13. 下列存儲(chǔ)類標(biāo)識(shí)符中,要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用()合適。A.內(nèi)聯(lián)函數(shù); B.重載函數(shù);C .遞歸調(diào)用;D.嵌套調(diào)用。14. 采用函數(shù)重載的目的在于( )。A.實(shí)現(xiàn)共享;B.減少空間;C .提高速度;D.使用方便,提高可讀性。15. 在將兩個(gè)字符串連接起來組成一個(gè)字符串時(shí),選用( )函數(shù)。B. A.strlen();B.strcpy();C .strcat();D.strcmp. 二、 判斷下列描述的正確性,對(duì)者劃,錯(cuò)者劃。 在C+中,定義函數(shù)時(shí)必須給出函數(shù)的類型 在C+中,說明函數(shù)時(shí)要用函數(shù)原型,即定義函數(shù)時(shí)的函數(shù)頭部分。 在C+中,所有函數(shù)在調(diào)用前都要說明。 如果一個(gè)函數(shù)沒有返回值,定義時(shí)需用void說明。 在C+中,傳址調(diào)用將被引用調(diào)用所代替。 使用內(nèi)聯(lián)函數(shù)是以犧牲增大空間開銷為代價(jià)的。 返回值類型、參數(shù)個(gè)數(shù)和類型都相同的函數(shù)也可以重載。 在設(shè)置了參數(shù)默認(rèn)值后,調(diào)用函數(shù)的對(duì)應(yīng)實(shí)參就必須省略。 計(jì)算函數(shù)參數(shù)順序引起的二義性完全是由不同的編譯系統(tǒng)決定的。 For循環(huán)中,循環(huán)變量的作用域是該循環(huán)的循環(huán)體內(nèi)。 語句標(biāo)號(hào)的作用域是定義該語句標(biāo)號(hào)的文件內(nèi)。 函數(shù)形參的作用域是該函數(shù)的函數(shù)體。 定義外部變量時(shí),不用存儲(chǔ)類說明符extern, 而說明外部變量時(shí)用它。 內(nèi)部靜態(tài)類變量與自動(dòng)類變量作用域相同,但是生存期不同。 靜態(tài)生存期的標(biāo)識(shí)符的壽命是短的,而動(dòng)態(tài)生存期的標(biāo)識(shí)符的壽命是長的。 重新定義的標(biāo)識(shí)符在定義它的區(qū)域內(nèi)是可見的,而與其同名的原標(biāo)識(shí)符在此區(qū)域內(nèi)是不可見的。但是,它是存在的。 靜態(tài)類標(biāo)識(shí)符在它的作用域之外是不存在的。 所有的函數(shù)在定義它的程序中都是可見的。 編譯系統(tǒng)所提供的系統(tǒng)函數(shù)都被定義在他所對(duì)應(yīng)的頭文件中。 調(diào)用系統(tǒng)函數(shù)時(shí),要先將該系統(tǒng)函數(shù)的原型說明所在的頭文件包含進(jìn)去。三、 分析下列程序的輸出結(jié)果。1.#include#define N 5void fun();void main()for (int i(1);iN;i+)fun();void fun ()static int a;int b(2);cout(a+=3,a+b)endl;1 5811142. #includeint add(int a,int b);void main()extern int x,y;coutadd(x,y)endl;int x(20),y(5);int add(int a,int b)int s=a+b;return s;253.#includevoid f(int j);void main()for(int i(1);i=4;i+)f(i);void f(int j)static int a(10);int b(1);b+;couta”+”b”+”j”=”a+b+jendl;a+=10;2 10+2+1=1320+2+2=2430+2+3=3540+2+4=464.#includevoid f(int n)int x(5);static int y(10);if(n0)+x;+y;coutx”,”yendl;void main()int m(1);f(m);6,115.#includeint fac(int a);void main()int s(0);for(int i(1);i=5;i+)s+=fac(i);cout”5!+4!+3!+2!+1!=”sendl;int fac(int a)static int b=1;b*=a;return b;5!+4!+3!+2!+1!=1536.#includevoid fun(int ,int , int *);void main()int x,y,z;fun(5,6,&x);fun(7,x,&y);fun(x,y,&z);coutx”,”y”,”zendl;void fun(int a,int b,int *c)b+=a;*c=b-a;6,6,67.#includeint add(int x, int y=8);void main()int a(5);cout”sum1=”add(a)endl;cout”sum2=”add(a,add(a)endl;cout”sum3=”add(a,add(a,add(a)endl;int add(int x,int y)return x+y;sum1=13sum2=18sum3=238.#include#define N 6int f1(int a);void main()int a(N);coutf1(a)endl;int f1(int a)return(a= =0)?1:a*f1(a-1);7209.#includevoid swap(int &,int &);void main()int a(5),b(8);cout”a=”a”,“”b=”bendl;swap(a,b);cout”a=”a”,“”b=”bendl;void swap(int &x,int &y)int temp;temp=x;x=y;y=temp;a=5,b=8a=8,b=510.#includeint &f1(int n,int s)int &m=sn;return m;void main()int s=5,4,3,2,1,0;f1(3,s)=10;coutf1(3,s)endl;1011. #includevoid print(int),print(char),print(char *);void main()int u(1998);print(u);print(u);print(“abcd”);void print(char x)coutxendl;void print(char *x)coutxendl;void print(int x)coutxendl;u1998abcd12.#includevoid ff(int),ff(double);void main()float a(88.18);ff(a);char b(a);ff(b);void ff(int x)cout”ff(int):”xendl;void ff(double x)cout”ff(double):”xendl;ff(double):88.18ff(int):97四、 按下列要求編程,并上機(jī)驗(yàn)證。 從鍵盤上輸入15浮點(diǎn)數(shù),求出其和幾平均值。要求寫出求和平均值的函數(shù)。 從鍵盤上輸入10個(gè)int型數(shù),去掉重復(fù)的。降其剩余的由大到小排序輸出。 給定某個(gè)年、月、日的值,例如,1998年4月7日。計(jì)算出這一天是該年的第幾天。要求寫出計(jì)算潤年的函數(shù)和計(jì)算日期的函數(shù)。 寫出一個(gè)函數(shù),使從鍵盤上輸入的一個(gè)字符串反序存放,并在主函數(shù)中輸入和輸出該字符串。 寫出一個(gè)函數(shù),要求將輸入的十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)。要求函數(shù)調(diào)用時(shí),使用指針作函數(shù)形參。 編寫兩個(gè)函數(shù):一個(gè)是將一個(gè)5位 int型數(shù)轉(zhuǎn)換成為每兩個(gè)數(shù)字間加一個(gè)空格的空字符串;另一個(gè)是求出轉(zhuǎn)換后的字符串的長度。由主函數(shù)輸入int型數(shù),并輸出轉(zhuǎn)換后的字符串和長度。 輸入5個(gè)學(xué)生4門功課的成績,然后求出: A.每個(gè)學(xué)生的總分; B. 每門課程的平均分; C. 輸出總分最高的學(xué)生的姓名和總分?jǐn)?shù)。 使用遞歸調(diào)用方法將一個(gè)n位整數(shù)轉(zhuǎn)換成字符串。 使用函數(shù)重載的方法定義兩個(gè)重名函數(shù),分別求出int型數(shù)的兩個(gè)點(diǎn)間距離和浮點(diǎn)數(shù)的兩點(diǎn)間距離。 已知二維字符數(shù)組s5=“abcd”,”efgh”,”ijkl”,”mnop”;使用字符串處理函數(shù),將該數(shù)組的4個(gè)字符串連接起來,組成一個(gè)字符串:abcdefghijklmnop。 編程求下式的值:n1+n2+n3+n4+n10,其中n=1,2,3。編寫函數(shù)時(shí),設(shè)置參數(shù)n的默認(rèn)值為2。 編一個(gè)程序驗(yàn)證哥德巴赫猜想:任何一個(gè)充分大的偶數(shù)(大于等于6)總可以表示成兩個(gè)素?cái)?shù)之和。要求編一個(gè)求素?cái)?shù)prime()函數(shù),它有一個(gè)int型參數(shù),當(dāng)參數(shù)值為素?cái)?shù)時(shí)返回1,否則返回0。第五章習(xí)題一、 選擇填空1. 在下列關(guān)鍵字中,用以說明類中公有成員的是( )A. public; B. private;C. protected;D. friend;2. 下列的各類函數(shù)中,( )不是類的成員函數(shù)。A. 構(gòu)造函數(shù);B. 析構(gòu)函數(shù);C . 友元函數(shù);D. 拷貝初始化構(gòu)造函數(shù);3. 作用域運(yùn)算符的功能是( )。A. 標(biāo)識(shí)作用域的級(jí)別的;B. 指出作用域的范圍的;C. 給定作用域的大小的;D. 標(biāo)識(shí)某個(gè)成員是屬于哪個(gè)類的。4. ( )是不可能作為該類的成員的。A. 自身類對(duì)象的指針;B.自身類的對(duì)象;C.自身類對(duì)象的引用; D.另一個(gè)類的對(duì)象。5. ( )不是構(gòu)造函數(shù)的特征A. 構(gòu)造函數(shù)的函數(shù)名與類名相同;B. 構(gòu)造函數(shù)可以重載;C. 構(gòu)造函數(shù)可以設(shè)置缺省參數(shù);D. 構(gòu)造函數(shù)必須指定類型說明。6. ( )是析構(gòu)函數(shù)的特征。A. 一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù);B. 析構(gòu)函數(shù)與類名不同;C. 析構(gòu)函數(shù)的定義只能在類體內(nèi);D. 析構(gòu)函數(shù)可以有各個(gè)或多個(gè)參數(shù)。7. 通常的拷貝初始化函數(shù)的參數(shù)是( )。E. 某個(gè)對(duì)象名;A. 某個(gè)對(duì)象的成員名;B. 某個(gè)對(duì)象的引用名;C. 某個(gè)對(duì)象的指針名;8. 關(guān)于成員函數(shù)特征的下述描述中,( )是錯(cuò)誤的。D. 成員函數(shù)一般是內(nèi)聯(lián)函數(shù);A. 成員函數(shù)可以重載;B. 成員函數(shù)可以設(shè)置參數(shù)的缺省值;C. 成員函數(shù)可以是靜態(tài)的。9. 下述靜態(tài)數(shù)據(jù)成員的特征中,( )是錯(cuò)誤的。D. 說明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符static;A. 靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化;B. 引用靜態(tài)數(shù)據(jù)成員時(shí),要在靜態(tài)數(shù)據(jù)成員名前加和作用域運(yùn)算符;C. 靜態(tài)數(shù)據(jù)成員不是所有對(duì)象所共用的。10. 友元的作用( )。A. 提高程序的運(yùn)用效率;B. 加強(qiáng)類的封裝性;C. 實(shí)現(xiàn)數(shù)據(jù)的隱藏性;D. 增加成員函數(shù)的種類。 二、 判斷下列描述的正確性,對(duì)者劃,錯(cuò)者劃。 使用關(guān)鍵字class定義的類中缺省的訪問權(quán)限是私有(private)的。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)計(jì)現(xiàn)金管理制度
- 遵義師范學(xué)院《管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 會(huì)議水牌管理制度
- 大連海事大學(xué)《史學(xué)名著研習(xí)》2023-2024學(xué)年第二學(xué)期期末試卷
- 塔里木大學(xué)《預(yù)應(yīng)力混凝土結(jié)構(gòu)設(shè)計(jì)原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉利學(xué)院《風(fēng)景園林規(guī)劃項(xiàng)目實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 住院后醫(yī)生管理制度
- 體重超標(biāo)管理制度
- 作業(yè)大隊(duì)管理制度
- 佟江小學(xué)管理制度
- 會(huì)議記錄表(模板)
- 淺析對(duì)國際刑法中普遍管轄權(quán)的認(rèn)識(shí)
- GB/T 603-2002化學(xué)試劑試驗(yàn)方法中所用制劑及制品的制備
- GB 2760-1996食品添加劑使用衛(wèi)生標(biāo)準(zhǔn)
- 經(jīng)典老相聲經(jīng)典老相聲大全
- 風(fēng)險(xiǎn)評(píng)估理論與應(yīng)用
- 研究生招生宣傳-中南大學(xué)雅二醫(yī)院課件
- 水泵測試報(bào)告
- 護(hù)理安全用藥制度
- 中國藥妝行業(yè)發(fā)展現(xiàn)狀、藥妝市場政策解讀及未來發(fā)展趨勢分析圖
- 《汽輪機(jī)原理》第03章1課件
評(píng)論
0/150
提交評(píng)論