




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 z 習(xí) 題 解 答目 錄 1.2 習(xí)題解答.3 1.2.1 選擇題.3 1.2.2 填空題.3 1.2.3 編程題.4 2.2 習(xí)題解答.5 2.2.1 選擇題.5 2.2.2 填空題.7 2.2.3 編程題.8 3.2 習(xí)題解答.11 3.2.1 選擇題.11 3.2.2 填空題.12 3.2.3 編程題.12 4.2 習(xí)題解答.15 4.2.1 選擇題.15 4.2.2 填空題.17 4.2.3 編程題.18 5.2 習(xí)題解答.29 5.2.1 選擇題.29 5.2.2 填空題.31 5.2.3 編程題.33 6.2 習(xí)題解答.37 6.2.1 選擇題.37 6.2.2 填空題.41 6
2、.2.3 編程題.43 7.2 習(xí)題解答.67 7.2.1 選擇題.67 7.2.2 填空題.68 7.2.3 編程題.68 2 1.2 習(xí)題解答 1.2.1 選擇題 1、B 【分析】在一個(gè)C程序中必須有且只能有一個(gè)main函數(shù),而且main函數(shù)可以在任何地方出現(xiàn). 2、C 【分析】C 語(yǔ)言中合法以的標(biāo)識(shí)符組成為:字母,數(shù)字,下劃線,且數(shù)字不能打頭,亦不能為關(guān)鍵字。A中,-sub 不合法。B 中4d不合法。D 中void 為關(guān)鍵字。 3、 【分析】 4、C 【分析】轉(zhuǎn)義字符中,第一個(gè)”輸出“,第二輸出,第三個(gè)b退格,把前一個(gè)去掉了,第四個(gè)輸出,第五個(gè)t跳格,第六個(gè)”輸出”,第七個(gè)n輸出換行。5
3、、C 【分析】本題將10進(jìn)制17,分別按8、16進(jìn)制輸出。8的進(jìn)制21=2*8+1*1=17(10, 16制11=1*16+1*1=17(10) 1.2.2 填空題 1、主 【分析】一個(gè)C源程序中至少包括一個(gè)主函數(shù),其他函數(shù)沒(méi)有限制。 2、雙引號(hào)。 【分析】?jī)煞N寫(xiě)法都是允許的,使用尖括號(hào)表示在包含文件目錄中去查找(包含目錄是由用戶在設(shè)置環(huán)境時(shí)設(shè)置的),而不在源文件目錄去查找.使用雙引號(hào)則表示首先在當(dāng)前的源文件目錄中查找,若未找到才到包含目錄中去查找。用戶編程時(shí)可根據(jù)自己文件所在的目錄來(lái)選擇某一種命令形式。 3、261,b1 【分析】將10進(jìn)制的177,按8進(jìn)制和16進(jìn)制兩種形式輸出。 4、a3
4、 b7 x8.5 y71.82 c1=A c2=a 【分析】scanf函數(shù)中,格式說(shuō)明符以外的原樣輸入。 5、printf函數(shù)中,格式說(shuō)明符以外的原樣輸出。%m.nf控制輸出結(jié)果中共m位,小數(shù)3 占n位。 【分析】 1.2.3 編程題 1. #include stdio.h void main() float qianmi,yingli; /定義變量 scanf(qianmi=%f,&qianmi); /輸入數(shù)據(jù) printf(yingli=%f,qianmi*1.60934); /計(jì)算并輸出數(shù)據(jù) 2. #include stdio.h void main() char x; printf(請(qǐng)
5、輸出一個(gè)小寫(xiě)小母n); scanf(%c,&x); printf(輸出字母的大寫(xiě)型式為:%c,x+32); 3、#include void main() float c,f; printf(請(qǐng)輸入一個(gè)攝氏溫度:) ; scanf(%f,&c); f=32*c+9.0/5*c; 4 printf(華氏溫度為:%5.2fn,f); 4. #include void main() int a =3,b=4,c=5; float x=1.2,y=2.4,z=-3.6; double u=51274,n=128765; printf(a=%-3d,b=%-3d,c=%dn,a,b,c); printf(
6、x=%7.6f,y=%7.6f,z=%7.6fn,x,y,z); printf(x+y= %3.2f,y+z= %3.2f, x+z=%3.2fn,x+y,y+z,x+z); printf(u= %.0lf n= %.0lfn,u,n); printf(c1=a or 97nc2=b or 98n); 2.2 習(xí)題解答 2.2.1 選擇題 1、C 【分析】語(yǔ)言的運(yùn)算符按運(yùn)算對(duì)象的個(gè)數(shù)可以分為單目、雙目和三目運(yùn)算符和多目運(yùn)算符。 2、C 【分析】 %運(yùn)算符要求參加運(yùn)算的數(shù)必須是整數(shù) 3、A 【分析】 B.賦值運(yùn)算的作用是用將常量賦給變量,而不能給表達(dá)形式 所以a*3=2 不對(duì)。 C. %運(yùn)算符要
7、求參加運(yùn)算的數(shù)必須是整數(shù),而x是float 類(lèi)型所以x%(-3) 不對(duì) 。 D. y=float(i),由于i是 int 類(lèi)型,向 float類(lèi)型轉(zhuǎn)換是自由轉(zhuǎn)的,不需要強(qiáng)制轉(zhuǎn)。 4、A . 【分析】 因?yàn)?k=7,x=12; x%=k,則x=12%7,此時(shí)x=5,而k%=5,即k=7%5此時(shí)K=2,所以(x%=k)-(k%=5)就等價(jià)于5-2=3。同理,x%=(k%=5)的值為0;x%=(k-k%5)的值為2;x%=k-k%5的值也為2 5、A 5 【分析】首先通過(guò)n*100+0.5將原數(shù)擴(kuò)大100,并通過(guò)+0.5判斷是否進(jìn)位。之后/100進(jìn)行舍去小數(shù)點(diǎn)后第三位的運(yùn)算。 6、B 【分析】分析
8、根據(jù)優(yōu)先級(jí)別,先計(jì)算小括號(hào)里,y 與3相等成立所以表達(dá)式的值為1,再將1賦給x,而x的值就是表達(dá)式的值為1. 7、A 【分析】略 8、D 【分析】“a大于等于10”、“ a小于等于0”兩者分別為關(guān)系運(yùn)算,一個(gè)“或”字又表明為邏輯或運(yùn)算,所以D對(duì)。 9、B 【分析】在邏輯表達(dá)式求解中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,對(duì)&運(yùn)算符來(lái)說(shuō),只有前一個(gè)表達(dá)式不等于0時(shí),才繼續(xù)進(jìn)行右邊的運(yùn)算。由于ab為0,所以左邊的表達(dá)式為0,所以右邊的+n將不被計(jì)算,所以n的值不變?nèi)詾?。10、B 【分析】241的二進(jìn)制形式為11110001,15的二進(jìn)制形式為00011111,進(jìn)行按位&運(yùn)算后為00010001;a的二
9、進(jìn)制形式為01100001,z的二進(jìn)制形式為01111010,進(jìn)行按位|運(yùn)算后為011111011。00010001與011111011都為非0元素,所以再進(jìn)行&時(shí)結(jié)果一定為1。 11、A 【分析】b2表示向右移動(dòng)兩位,相當(dāng)于除以兩個(gè)2結(jié)果為8/2=4;同理,b1相當(dāng)于除一個(gè)2,結(jié)果為6,4/6為0。12、B 【分析】3的二進(jìn)制數(shù)為00000011。10的二進(jìn)制為00001010,a雙目,算術(shù)運(yùn)算關(guān)系運(yùn)算邏輯運(yùn)算。 14、B 【分析】19的二制數(shù)為00010011,23的二進(jìn)制數(shù)為00010100,兩者進(jìn)行按位與后結(jié)果為00010000十進(jìn)制16,即為16進(jìn)制的13。 15、C 【分析】0x3
10、9的二進(jìn)制形式為00111001,0xf的二進(jìn)制形式為00001111,兩者進(jìn)行異或運(yùn)算,異或結(jié)算的規(guī)則,參加運(yùn)算的兩個(gè)二進(jìn)制位同號(hào),則結(jié)果為假,異號(hào)則為真。結(jié)果為:00110110即為16進(jìn)制的36。 16、A 6 【分析】進(jìn)行按位或運(yùn)算,要a的低8位為1,則要求b的低8位全為1,高8位要求不變,則要求高8位全為0,即b應(yīng)該為:0000000011111111,即為8進(jìn)制的0377。 17、A 【分析】由題得12不成立,所以xy?+x:+y表達(dá)式的值為+y,則此時(shí)Y的值為3,而+x沒(méi)有被執(zhí)行,所以x的仍值為1,而Z的值與表達(dá)式的值相同所以選A。 18、C 【分析】賦值運(yùn)算符的作和是將一個(gè)表達(dá)
11、式或一個(gè)變量,常量賦給另一個(gè)變量,賦值號(hào)的左邊只能是變量,不能是常量,所以A、B、D不對(duì)。 19、B 【分析】逗號(hào)運(yùn)算符是級(jí)別最紙的運(yùn)算符,逗號(hào)表達(dá)式也是值是所有表達(dá)式中最右邊的值。即a+b的值,由題從左向右算起,b+后b為6,則a+b為8.20、D 【分析】在不同種數(shù)據(jù)類(lèi)型進(jìn)行計(jì)算時(shí)的轉(zhuǎn)換規(guī)則是:數(shù)據(jù)類(lèi)型低的全部轉(zhuǎn)換成運(yùn)算過(guò)程中級(jí)別最高的。在int、long、unsigned和char四個(gè)類(lèi)型中,long的類(lèi)型級(jí)別最高,所以結(jié)果的類(lèi)型為long. 2.2.2 填空題 1. -17.5 【分析】“/”要求兩操作數(shù)如果一個(gè)為實(shí)數(shù)結(jié)果都為實(shí)數(shù),如果都為整數(shù)結(jié)果也為整數(shù),所以a/4.0=2.5,a/
12、4=2.所以原式=2.5-2*10=-17.5。2. 5,32 【分析】x+表示將x的值拿來(lái)用,然后再+;而y*=x+等價(jià)于y=y*x,即y=8*4=32,此計(jì)算結(jié)束之后x 的值才增加1,變?yōu)?。3. -40 【分析】賦值運(yùn)算符的結(jié)合方向是從右向左的,所以先計(jì)算a*a=25,所以a+=a-=a*a等價(jià)于a+=(a-=25),而此時(shí)a仍為5.接下來(lái)計(jì)算a-=25得a=2-25=-20;則a+=(a-=25)等價(jià)于a+=-20,所以a=a-20=-20-20=-40。4. 16 【分析】x+=-x%-y等價(jià)于x+=(-x)%(-y),-放在變量的前面時(shí),要先對(duì)變量進(jìn)行變化,然后再用,所以原式即為x
13、+=14%3,而14%3=2,即x+=2,而此時(shí)x=14,所以x=x+2=16。5. x1&x10 |x關(guān)系運(yùn)算邏輯運(yùn)算可知,要先算a+b=7,接下來(lái)計(jì)算7c即75成立為1,然后計(jì)算b=c,而4=5不成立,所以值為0,即最終表達(dá)式等價(jià)于1&0,所以結(jié)果為0.7. 0 【分析】略,同第6題。 8. -17 【分析】條件運(yùn)算符優(yōu)先級(jí)別高于賦值運(yùn)算符,所以先算(ab)?a:b的值,由于1325成立,所以(ab)?a:b的值 為a 的值,并將a的值賦給y,此時(shí),原式等價(jià)于(13-17)?y:c,而13-17不成立,所以表達(dá)式的值為C的值,即為-17。 9. 18, 3,3 【分析】對(duì)逗號(hào)表達(dá)式的值,即
14、為從左向右最后一個(gè)表達(dá)式的值 ,本題中表達(dá)式的值即為6*a的值即18。 10. 3.5 【分析】算術(shù)運(yùn)算符中同一級(jí)別的運(yùn)算符按從左向右的順序進(jìn)行,所以先算a%43=8,再計(jì)算8*(int)(x+y)=8*9=72,再計(jì)算72%3=0,再計(jì)算0/5=0.最后計(jì)算與X相加,所以最終結(jié)果為3.5。 2.2.3 編程題 1. 編寫(xiě)一個(gè)程序,要求輸入圓的半徑r,計(jì)算并輸出該圓的周長(zhǎng)和面積。 #define PI 3.14 #include stdio.h void main() float r, S=0, L=0; printf(input r:n); scanf(%f, &r); S= PI *r*r
15、; /計(jì)算圓面積 L=2* PI *r; /計(jì)算圓周長(zhǎng) printf(S=%f,L=%fn, S,L); 2. 假設(shè)美元與人民幣的匯率是1美元兌換6.4742元人民幣,歐元與人民幣的匯率是1歐元兌換9.2338元人民幣,編程實(shí)現(xiàn)輸入人民幣的錢(qián)數(shù),輸出能兌換的美元及歐元金額。 # include stdio.h void main() float renminbi,meiyuan,ouyuan; 8 printf(input renminbi:n); scanf(%f, &renminbi); meiyuan = renminbi *6.4742; /計(jì)算美元金額 ouyuan = renmin
16、bi *9.2338; /計(jì)算歐元金額 printf(meiyuan =%f ouyuan =%fn,meiyuan, ouyuan); 3. 編寫(xiě)一個(gè)程序,從鍵盤(pán)上輸入3個(gè)字符后,按各字符的ASCII碼從小到大順序輸出這些字符。 /這道題關(guān)鍵是把輸入3個(gè)字符后的回車(chē)過(guò)濾掉,不然回車(chē)就會(huì)成為下一組的第一個(gè)字符。有兩種方法: /第一種: #include int main() char a,b,c,tmp; while(a=getchar()!=EOF) b=getchar(); c=getchar(); getchar(); /在錄入c后用getchar()濾掉回車(chē) if(ab) tmp=a;
17、 a=b; b=tmp; if(ac) tmp=a; a=c; c=tmp; if(bc) tmp=b; b=c; c=tmp; printf(%c %c %cn,a,b,c); return 0; /第二種: #include int main() char a,b,c,tmp; 9 while(scanf(%c%c%c%*c,&a,&b,&c)!=EOF) /用%*c(空字符,不存儲(chǔ)字符的字符)濾掉回車(chē) if(ab) tmp=a,a=b,b=tmp; /逗號(hào)表達(dá)式,簡(jiǎn)潔 if(ac) tmp=a,a=c,c=tmp; if(bc) tmp=b,b=c,c=tmp; printf(%c %c
18、 %cn,a,b,c); return 0; 輸入數(shù)據(jù)有多組,每組占一行,有三個(gè)字符組成,之間無(wú)空格。 例如輸入 qwe asd zxc 輸出 e q w a d s c x z 4. 編程實(shí)現(xiàn)輸入一個(gè)無(wú)符號(hào)整數(shù)(unsigned類(lèi)型),分別輸出它的低四位和高四位。 #include (待查) main() unsigned u=0xffff;/舉例 unsigned char l,h; /scanf(%u,&u); l=u&0xff; /得到低8位. h=u8; /得到高8位 printf(u=%u,l=%u,h=%u,u,l,h); getchar(); 5. 根據(jù)當(dāng)前銀行的利率表,編程實(shí)
19、現(xiàn)從鍵盤(pán)輸入存款金額money,存期year和年利率rate,計(jì)算銀行存款的本息sum(保留1位小數(shù))。 #include int main() int year; float money,rate,sum; printf(請(qǐng)輸出金額,利率,存款時(shí)間n); scanf(%f,%f,%d,&money,&rate,&year); sum=money*year*rate; printf(存款的本息sum=%.1f n,sum); 10 3.2 習(xí)題解答 3.2.1 選擇題 1D 【分析】在此要注意,else總是于之前面最近的且沒(méi)有用過(guò)的if進(jìn)行配對(duì),所以在本題中,else與第二個(gè)if 配對(duì),且整體
20、做為第一個(gè)if語(yǔ)句的語(yǔ)句體。又因,1020不成立,所以第一個(gè)if 根本不被執(zhí)行,所以m的值沒(méi)有任何變化。 2. A 【分析】else總是于之前面最近的且沒(méi)有用過(guò)的if進(jìn)行配對(duì),所以在本題中, if (ab) t=s+t; else if (a=b) t=5; else t=2*s; 相當(dāng)于t=s+t;(ab) t=5 (a=b); t=2*s(ab); 3. C 【分析】while(E)的含義是當(dāng)E為真。為真即為不等于0,而A、B、D 都是表示非零。 4. D 【分析】i=0,+i 后,i 為1,i%2=1,所以執(zhí)行j+=i;即j=1,i=1小于5所以還執(zhí)行+i,此時(shí) i為2,則i%2等于0,
21、跳出本次判斷。同理當(dāng)i 等于4 ,6時(shí)同樣跳出判斷,而當(dāng)i為3,5時(shí),都要執(zhí)行j+=i。 5. A 【分析】while (1)進(jìn)行判斷時(shí),條件永遠(yuǎn)成立,所以執(zhí)行循環(huán)體。輸出一個(gè)“*”后,i+,i變?yōu)?,又13成立,所以結(jié)束循環(huán)。 6. D 【分析】當(dāng)i=1時(shí),執(zhí)行s+=i 后s=1;執(zhí)行循環(huán)體中i+后,i為2,而后還要執(zhí)行一次for結(jié)構(gòu)中的i+,則i為3.3小于6成立,則再執(zhí)行s+=i; i+;則s為4, i為4, 而后還要執(zhí)行一次for結(jié)構(gòu)中的i+,則i為5,同樣5小于6成立,則再執(zhí)行s+=i; i+;則s為9, i為6, 而后還要執(zhí)行一次for結(jié)構(gòu)中的i+,則i為7,且7小于6已不再成立。
22、所以最后輸出9 7 7. B 【分析】在for(語(yǔ)句1;語(yǔ)句2;語(yǔ)句3)結(jié)構(gòu)中,語(yǔ)句1為初值,語(yǔ)句2為循環(huán)體執(zhí)行的條件,語(yǔ)句3為變量自增語(yǔ)句。本題中i為2,i=0不成立,所以循環(huán)體不被執(zhí)行。 8. D 11 【分析】a=1,a=20不成立, b%3=1成立,則執(zhí)行b+=3;continue;則b=4,然后跳出本次行循環(huán),則此時(shí)a=2,b=4.以后同理進(jìn)行判斷。 10. A 【分析】對(duì)于雙重循環(huán),外層循環(huán)變化一次,內(nèi)層變化一個(gè)循環(huán)。本題。當(dāng)i=1時(shí),j可以為3、2、1,同理當(dāng)當(dāng)i=2時(shí),j可以為3、2、1;當(dāng)i=3時(shí),j可以為3、2、1;而語(yǔ)句if (i*j3) break; 則表時(shí),如果i*j
23、3時(shí)結(jié)束整個(gè)for循環(huán)。條件不成立時(shí)再執(zhí)行m*=i*j; 3.2.2 填空題 1. hn*2 【分析】sn為第n次落地時(shí)共經(jīng)過(guò)的米數(shù),hn為第n次反彈的高度n=2 ,hn*2才為第n次經(jīng)過(guò)的距離。 2. n!=0 j+ 【分析】由輸出語(yǔ)句可知,定義的變量i,j 分別用于存放正數(shù)和負(fù)數(shù)的個(gè)數(shù)。 所以只要輸入的數(shù)不是0,則進(jìn)行判斷。 3. 0 k/10 count+ 【分析】count 作為累計(jì)的和所以初值一定為0;而while循環(huán)的作用是將指定的數(shù)k的各各位上的字?jǐn)?shù)字取出來(lái)。k%10負(fù)責(zé)實(shí)現(xiàn)取出K的個(gè)位。則前兩位則需通過(guò)k/10來(lái)實(shí)現(xiàn)。if (t=10)成立即是需要的數(shù)字,則總數(shù)需要自增。所以c
24、ount+. 4. 50 (i*1.0) 【分析】本題的累加問(wèn)題中,累加50次,即i=50,兩個(gè)相除時(shí)如果都為整數(shù)則結(jié)果一定為整數(shù),為此,需要將分母轉(zhuǎn)化成FLOAT 類(lèi)型。所以填(i*1.0)。5. 2*i-1 printf(n); i 【分析】略 3.2.3 編程題 1. 編寫(xiě)一個(gè)程序,計(jì)算并輸出下列分段函數(shù)值: 22226,356010,2,3153,2,3,10xxxxyxxxxxxxxxxx+=+= 12 其中,x從鍵盤(pán)輸入。 #includestdio.h int main() float x,y; printf(輸入X); scanf(%f,&x); printf(n); if (
25、x0 &x!=-3) y=x*x+2*x-6; else if (0=x&x10&x!=2&x!=3) y=x*x-5*x+6; else y=x*x-x-15; printf(y=%f,y); 2. 編寫(xiě)一個(gè)程序,從鍵盤(pán)輸入年和月,計(jì)算并輸出該年的該月份共有多少天。 算法分析:要考慮大月有31天,小月有30天,閏年的二月有29天以及非閏年的二月有28天這幾種情況。 源程序:#include int main() int year,month,days; printf(Enter year and month:); scanf(%d%d,&year,&month); switch (month
26、) case 1: case 3: case 5: case 7: case 8: case 10: case 12: /*處理大月*/ days=31;break; case 4: case 6: case 9: case 11: /*處理小月*/ days=30;break; case 2: /*處理平月*/ if (year%4=0&year%100!=0|year%400=0) days=29; /*如果是閏年*/ 13 else days=28; /*不是閏年*/ break; default: printf(Input error! n); /*月份輸入錯(cuò)誤*/ days=0; i
27、f (days!=0) printf(%d,%d is %d daysn,year,month,days); return 0; 3. 編寫(xiě)一個(gè)程序,計(jì)算并輸出下列級(jí)數(shù)之和: 231.2!3!nxxxxexn=+ 其中n與x從鍵盤(pán)輸入。 #includestdio.h #include math.h main() int i,n; double s=1.0,s1=1.0,x; scanf(%d,%f,&n,&x); for(i=1;i=65&c=97&c=48&c=57) j+; /j為數(shù)字?jǐn)?shù) else if(c=32) k+; /k為空格數(shù) else l+; /l為其他字符 printf(i
28、=%d,j=%d,k=%d,l=%d/n,i,j,k,l); 5. 編寫(xiě)一個(gè)程序,解決猴子吃桃問(wèn)題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè);第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè);以后每天早上都吃了前一天剩下的一半零一個(gè);到第10天早上想再吃時(shí),只剩一個(gè)桃子了。問(wèn)猴子第一天共摘了多少桃子? 14 #includestdio.h main() int i=1,sum=0; for(;i=0 【分析】前一個(gè)嵌套的for循環(huán)輸出數(shù)組a主對(duì)角線上的元素之和。后一個(gè)嵌套的for循環(huán)輸出數(shù)組a次對(duì)角線上的元素之和。次對(duì)角線上的元素滿足的特點(diǎn)是行下標(biāo)和列下標(biāo)的和為2,內(nèi)層fo
29、r循環(huán)第三條語(yǔ)句為j-,所以j的初值為2,條件為j=0。 5. slen!= 0 【分析】本程序是輸出字符數(shù)組s中存放的字符串的長(zhǎng)度,從s0開(kāi)始,向后搜索,每搜索一個(gè)元素,len增1,直到遇到字符串結(jié)束標(biāo)志0為止。重復(fù)過(guò)程結(jié)束。這時(shí),len中所保存的就是s中有效字符的個(gè)數(shù)。 6. str0 s 【分析】strcpy(s, str0)函數(shù)是將字符串str0復(fù)制到字符數(shù)組s中,先假設(shè)字符串str0中存放的是三個(gè)字符串中最小的,strcmp()函數(shù)是將兩個(gè)字符串比較,總把最小的字符串放到s中。最后輸出s。 17 7. 12 【分析】結(jié)構(gòu)體變量占內(nèi)存的大小是該結(jié)構(gòu)體各成員所需內(nèi)存量的總和。結(jié)構(gòu)體類(lèi)型s
30、truct date中共定義三個(gè)成員都為int類(lèi)型,共占12個(gè)字節(jié)。 8. person1.birthday.year=1982 【分析】嵌套結(jié)構(gòu)體類(lèi)型定義變量,采用逐級(jí)訪問(wèn)的方式對(duì)變量賦值。式中的圓點(diǎn)“.”稱(chēng)為成員運(yùn)算符。 9. 4 8 【分析】共用體類(lèi)型的所有成員公用一個(gè)存儲(chǔ)空間,同一時(shí)間只能存儲(chǔ)一個(gè)成員,并且所引用的是最后一次存入成員的值。則e.in.x=2*2=4; e.in.y=4+4=8; 10. 1 6 【分析】枚舉類(lèi)型變量的值是一些整數(shù),從花括號(hào)的第一個(gè)名字開(kāi)始,系統(tǒng)自動(dòng)賦予從0開(kāi)始的值。Red=0,yellow=1;若在定義類(lèi)型時(shí)對(duì)枚舉常量進(jìn)行了初始化,則按照初始化的值計(jì)算,
31、blue=4,green=5,white=6。 4.2.3 編程題 1. 編寫(xiě)一個(gè)程序,計(jì)算Fibonacci數(shù)列的前15個(gè)數(shù),并將其存儲(chǔ)到一維數(shù)組fib中,然后輸出結(jié)果。Fibonacci數(shù)列的定義為: 1101121=+=nnnFFFnnn 【問(wèn)題分析】 【程序代碼】 #include int main() int fib15=1,1; int i; for (i=2;i15;i+) fibi=fibi-1+fibi-2; for (i=0;i15;i+) printf(%5d,fibi); printf(n); return 0; 2. 有一個(gè)已經(jīng)排好序的數(shù)組,編寫(xiě)一個(gè)程序,實(shí)現(xiàn)輸入一個(gè)
32、數(shù),并按原來(lái)排序次序?qū)⒃摂?shù)插入到數(shù)組中。 【程序代碼】 18 #include int main() const int N=10; /定義一個(gè)包含11個(gè)元素的整型數(shù)組a,并初始化一組有序序列 int aN+1=20,25,31,36,41,46,67,68,78,98; int i,d; printf(請(qǐng)輸入一個(gè)整數(shù):n); scanf(%d,&d); for (i=N-1;i=0;i-) if (aid) ai+1=ai; else ai+1=d; break; printf(插入整數(shù)后的新序列:n); for (i=0;iN+1;i+) printf(%4d,ai); return 0;
33、 3. 隨機(jī)生成50個(gè)1200之間的整數(shù),并存入數(shù)組a中,然后輸出這些整數(shù);同時(shí)找出數(shù)組a中的所有素?cái)?shù),存入數(shù)組b,并按每行5個(gè)元素的格式由大到小輸出這些素?cái)?shù)。 【程序代碼】 #include #include #include #include int main() int a50,b25=0; int num=0,flag; int i,j,t; /以下產(chǎn)生50個(gè)1200之間的隨機(jī)數(shù)存于數(shù)組a,并顯示 srand(int)time(0); for (i=0;i50;i+) ai=(int)(1+199*rand()/RAND_MAX); printf(%5d,ai); printf(n);
34、 /找出數(shù)組a中所有素?cái)?shù) for (i=0;i50;i+) flag=1; for (j=2;jsqrt(ai);j+) 19 if (ai%j=0) flag=0; break; if (flag=1) & (ai!=1) bnum=ai; num+; /對(duì)數(shù)組b進(jìn)行排序 for (i=0;inum;i+) for (j=0;jnum-i;j+) if (bjbj+1) t=bj; bj=bj+1; bj+1=t; /輸出素?cái)?shù) for (i=0;inum;i+) printf(%5d,bi); if (i+1)%5=0) printf(n); return 0; 4. 編寫(xiě)一個(gè)程序,實(shí)現(xiàn)在一個(gè)5行6列的矩陣中查找指定數(shù)據(jù),并輸出該數(shù)據(jù)及其在矩陣中的位置。 【程序代碼】 #include int main() int a56=23,56,78,90,12,45,13,14,16,17,18,19, 32,35,36,38,39,31,41,43,45,46,48,49, 51,52,53,55,57,58; int i,j,c,r; int d;/查找的數(shù)據(jù) int flag=0;/是否找到標(biāo)志 /輸入要查找的數(shù)據(jù) printf(請(qǐng)輸入查找數(shù)據(jù):); scanf(%d,&d); for (i=0;i5;i+)
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)村豪宅出租合同范本
- 代保管合同范本
- 華盛茶葉合同范本
- 農(nóng)業(yè)投資內(nèi)部合同范本
- 倉(cāng)庫(kù)貨源轉(zhuǎn)讓合同范本
- 專(zhuān)利租賃合同范本
- 信用評(píng)級(jí)合同范本
- 農(nóng)具批發(fā)采購(gòu)合同范本
- 儀表制氮機(jī)采購(gòu)合同范本
- 創(chuàng)建公司合同范本
- DeepSeek從入門(mén)到精通培訓(xùn)課件
- 俄羅斯進(jìn)口凍肉合同范例
- 2.3 品味美好情感 課件 -2024-2025學(xué)年統(tǒng)編版道德與法治 七年級(jí)下冊(cè)
- 2025年湖北省技能高考(建筑技術(shù)類(lèi))《建設(shè)法規(guī)》模擬練習(xí)試題庫(kù)(含答案)
- 急性呼衰院前急救流程
- 部編版七年級(jí)語(yǔ)文下冊(cè)《第2課說(shuō)和做》課件
- 養(yǎng)老服務(wù)信息化發(fā)展-深度研究
- 2024-2025學(xué)年第二學(xué)期學(xué)??倓?wù)工作計(jì)劃(附2月-6月安排表行事歷)
- 夫妻離婚協(xié)議書(shū)范本2024
- 交管12123學(xué)法減分題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論