模塊化程序設(shè)計(jì)練習(xí)題及答案_第1頁(yè)
模塊化程序設(shè)計(jì)練習(xí)題及答案_第2頁(yè)
模塊化程序設(shè)計(jì)練習(xí)題及答案_第3頁(yè)
模塊化程序設(shè)計(jì)練習(xí)題及答案_第4頁(yè)
模塊化程序設(shè)計(jì)練習(xí)題及答案_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

模塊化程序設(shè)計(jì)練習(xí)題及答案模塊化程序設(shè)計(jì)練習(xí)題及答案模塊化程序設(shè)計(jì)練習(xí)題及答案xxx公司模塊化程序設(shè)計(jì)練習(xí)題及答案文件編號(hào):文件日期:修訂次數(shù):第1.0次更改批準(zhǔn)審核制定方案設(shè)計(jì),管理制度第四章模塊化程序設(shè)計(jì)練習(xí)題及參考答案一、填空題1、以下程序的運(yùn)行結(jié)果是(111),把x定義為靜態(tài)變量運(yùn)行結(jié)果是(123)。voidincrement(void){intx=0;x+=1;printf("%d",x);}main(){increment();increment();increment();}2、若輸入的值是-125,以下程序的運(yùn)行結(jié)果是(-125=-5*5*5)#include""main(){intn;voidf(intn);scanf("%d",&n);printf("%d=",n);if(n<0)printf("-");n=fabs(n);fun(n);}voidfun(intn){intk,r;for(k=2;k<=sqrt(n);k++){r=n%k;while(r==0){printf("%d",k);n=n/k;if(n>1)printf("*");r=n%k;}}if(n!=1)printf("%d\n",n);}3、設(shè)有以下宏定義:#defineWIDTH80#defineLENGTHWIDTH+40則執(zhí)行賦值語(yǔ)句:v=LENGTH*20;(v為int型)后,v的值是(880)4、設(shè)有以下宏定義:#defineWIDTH80#defineLENGTH(WIDTH+40)則執(zhí)行賦值語(yǔ)句:k=LENGTH*20;(k為int型變量)后,k的值是(2400)5、下面程序的運(yùn)行結(jié)果是(5)#defineDOUBLE(r)r*rmain(){intx=1,y=2,t;t=DOUBLE(x+y);printf("%d\n",t);}6、下面程序的運(yùn)行結(jié)果是(36)#defineMUL(z)(z)*(z)main(){printf("%d\n",MUL(1+2)+3);}7、下面程序的運(yùn)行結(jié)果是(212)#definePOWER(x)((x)*(x))main(){inti=1;while(i<=4)printf("%d,",POWER(i++));}8、下面程序的運(yùn)行結(jié)果是(9)#defineMAX(a,b)(a>ba:b)+1main(){inti=6,j=8,k;printf("%d\n",MAX(i,j));}二、選擇題1、以下正確的說(shuō)法是(D)建立自定義函數(shù)的目的之一是:A)提高程序的執(zhí)行效率B)提高程序的可讀性C)減少程序的篇幅D)減少程序文件所占內(nèi)存2、以下正確的說(shuō)法是(B)A)用戶若需調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前必須重新定義B)用戶可以重新定義標(biāo)準(zhǔn)庫(kù)函數(shù),若如此,該函數(shù)將失原有含義。C)系統(tǒng)根本不允許用戶重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)。D)用戶若需調(diào)用標(biāo)準(zhǔn)函數(shù),調(diào)用前不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中,系統(tǒng)自動(dòng)去調(diào)用。3、以下正確的函數(shù)定義形式是(C)A)doublefun(intx,inty)B)doublefun(intx;inty)C)doublefun(intx,inty);D)doublefun(intx,y)4、以下正確的說(shuō)法是(D)。在C語(yǔ)言中:A)實(shí)參與其對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元。B)實(shí)參和與其對(duì)應(yīng)的形參共占用一個(gè)存儲(chǔ)單元。C)只用當(dāng)實(shí)參和與其對(duì)應(yīng)的形參同名時(shí)才共占用存儲(chǔ)單元。D)形參是虛擬的,不占用存儲(chǔ)單元。5、若調(diào)用一個(gè)函數(shù),且此函數(shù)中沒有return語(yǔ)句,則正確的說(shuō)法是(D)該函數(shù):A)沒有返回值B)返回若干個(gè)系統(tǒng)默認(rèn)值C)能返回一個(gè)用戶所希望的函數(shù)值D)返回一個(gè)不確定的值6、以下不正確的說(shuō)法是(B)。C語(yǔ)言規(guī)定:A)實(shí)參可以是常量、變量或表達(dá)式B)形參可以是常量、變量或表達(dá)式C)實(shí)參可以為任意類型D)形參應(yīng)與對(duì)應(yīng)的實(shí)參類型一致7、以下正確的說(shuō)法是()A)定義函數(shù)時(shí),形參的類型說(shuō)明可以放在函數(shù)體內(nèi)B)return后邊的值不能為表達(dá)式C)如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準(zhǔn)。D)如果形參與實(shí)參的類型不一致,以實(shí)參類型為準(zhǔn)。8、C語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是()A)地址傳遞B)單向值傳遞C)由實(shí)參傳給形參,再由形參傳回實(shí)參D)由用戶指定傳遞方式9、C語(yǔ)言允許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型是()A)float型B)int型C)long型D)double型10、C語(yǔ)言規(guī)定,函數(shù)返回值的類型是由()A)return語(yǔ)句中的表達(dá)式類型所決定B)調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型所決定C)調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定D)在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定11、以下正確的描述是()在C語(yǔ)言程序中A)函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B)函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C)函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套D)函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套12、以下正確的函數(shù)形式是()A)voidfun(intx,inty){z=x+y;return(z);}B)fun(intx,y){intz;return(z);}C)fun(x,y){intx,y;doublez;z=x+y;return(z);}D)doublefun(intx,inty){doublez;z=x+y;return(z);}13、以下程序有語(yǔ)法性錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是()main(){intG=5,k;voidprt_char();.........k=prt_char(G);.........}A)語(yǔ)句voidprt-char();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說(shuō)明。B)變量名不能使用大寫字母C)函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾。D)函數(shù)名不能使用下劃線。14、下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為()func((exp1,exp2),(exp3,exp4,exp5));A)1B)2C)3D)415、以下錯(cuò)誤的描述是()函數(shù)調(diào)用可以A)出現(xiàn)在執(zhí)行語(yǔ)句中B)出現(xiàn)在一個(gè)表達(dá)式中C)做為函數(shù)的實(shí)參D)做為一個(gè)函數(shù)的形參16、以下是有關(guān)漢諾塔問(wèn)題的程序段,若在main函數(shù)中有調(diào)用語(yǔ)句hanoi(3,'A','B','C');則符合程序段運(yùn)行結(jié)果的選項(xiàng)是()voidmove(chargetone,charputone){printf("%c-->%c\n",getone,putone);}voidhanoi(intn,charone,chartwo,charthree){if(n==1)move(one,three);else{hanoi(n-1,one,three,two);move(one,three)hanoi(n-1,two,one,three);}}A)A-->CB)A-->CA-->BA-->BC-->BC-->AB-->AA-->BC-->BB-->CA-->CA-->CA-->BA-->BC)A-->CD)A-->CA-->BA-->BC-->BC-->BA-->CA-->CB-->AA-->BB-->CB-->CA-->CA-->C17、以下正確的說(shuō)法是()如果在一個(gè)函數(shù)中的復(fù)合語(yǔ)句中定義了一個(gè)變量,則該變量A)只在該復(fù)合詞句中有效B)在該函數(shù)中有效C)在本程序范圍內(nèi)均有效D)為非法變量18、以下不正確的說(shuō)法為()A)在不同函數(shù)中可以使用相同名字的變量B)形式參數(shù)是局部變量C)在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D)在函數(shù)內(nèi)的復(fù)合詞句中定義的變量在本函數(shù)范圍內(nèi)有效19、凡是函數(shù)中未指定存儲(chǔ)類別的局部變量,其隱含的存儲(chǔ)類別為()A)自動(dòng)(auto)B)靜態(tài)(static)C)外部(extern)D)寄存器(register)20、在一個(gè)C源程序文件中,若要定義一個(gè)只允許本源文件中所有函數(shù)使用的全局變量,則該變量需要使用的存儲(chǔ)類別是()A)externB)registerC)autoD)static21、以下程序的正確運(yùn)行結(jié)果是()voidnum(void){externintx,y;inta=15,b=10;x=a-b;y=a+b;}intx,y;main(){inta=7,b=5;x=a+b;y=a-b;num();printf("%d,%d\n",x,y);}A)12,2B)不確定C)5,25D)1,1222、以下程序的正確運(yùn)行結(jié)果是()main(){voidf(inta);inta=2,i;for(i=0;i<3;i++)printf("%d",f(a));}voidf(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}A)777B)71013C)7911D)78923、以下程序的正確運(yùn)行結(jié)果是(Dmain(){func(inta,intb);intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}A)8,17B)8,16C)8,20D)8,824、以下敘述正確的是(A)A)在程序的一行上可以出現(xiàn)多個(gè)有效的預(yù)處理命令行B)使用帶參的宏時(shí),參數(shù)的類型應(yīng)與宏定義時(shí)參數(shù)一致C)宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間D)在以下定義中CR是稱為“宏名”的標(biāo)識(shí)符#defineCR04525、在宏定義#definePI中,用宏名PI代替一個(gè)(A)A)常量B)單精度數(shù)C)雙精度數(shù)D)字符串26、以下有關(guān)宏替換的敘述不正確的是(D)A)宏替換不占用運(yùn)行時(shí)間B)宏名無(wú)類型C)宏替換只是字符替換D)宏名必須用大寫字母表示27、若有宏定義如下:#defineX5#defineYX+1#defineZY*X/2則執(zhí)行以下printf語(yǔ)句后,輸出結(jié)果是()inta;a=Y;printf("%d,",Z);printf("%d\n",--a);A)7,6B)12,6C)12,5D)7,528、#define能作簡(jiǎn)單的替代,用宏替代計(jì)算多項(xiàng)式3*x+2之值的函數(shù)f,正確的宏定義是(C)A)#definef(x)(3*x+2)B)#definef3*x+2C)#definef(a)(3*(a)+2)D)#define(3*(a)+2)f(x)29、若有以下宏定義:#defineN2#defintY(n)((N+1)*n)則執(zhí)行語(yǔ)句z=2*(N+Y(5));后的結(jié)果是()A)語(yǔ)句有錯(cuò)誤B)z=34C)z=70D)z無(wú)定值三、判斷對(duì)錯(cuò)1、C語(yǔ)言規(guī)定,可執(zhí)行程序的開始執(zhí)行點(diǎn)是程序的開頭。對(duì)2、在C語(yǔ)言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是變量定義和語(yǔ)句執(zhí)行。對(duì)3、下面add函數(shù)的功能是求兩個(gè)參數(shù)的和,并將和值返回調(diào)用函數(shù)。下面的函數(shù)是正確的。錯(cuò)voidadd(floata,floatb){floatc;c=a+b;return(c);}4、簡(jiǎn)單變量作實(shí)參時(shí),與其對(duì)應(yīng)的形參各占有獨(dú)立的存儲(chǔ)單元。錯(cuò)5、C語(yǔ)言規(guī)定:簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是由實(shí)參傳給形參,再由形參傳給實(shí)參。錯(cuò)6、C語(yǔ)言不允許函數(shù)值類型缺省定義,如缺省定義,則函數(shù)值返回為空。錯(cuò)7、函數(shù)調(diào)用可以出現(xiàn)在一個(gè)表達(dá)式中。對(duì)8、預(yù)處理命令行都必須以#開始對(duì)9、在程序中凡是以#號(hào)開始的語(yǔ)句行都是預(yù)處理命令

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論