




下載本文檔
版權(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í)題解答 31.2.1 選擇題 31.2.2 填空題 31.2.3 編程題 42.2習(xí)題解答 52.2.1 選擇題 52.2.2 填空題 72.2.3 編程題 83.2習(xí)題解答 113.2.1 選擇題 113.2.2 填空題 123.2.3 編程題 124.2習(xí)題解答 154.2.1 選擇題 154.2.2 填空題 174.2.3 編程題 185.2習(xí)題解答 295.2.1 選擇題 295.2.2 填空題 315.2.3 編程題 336.2習(xí)題解答 376.2.1 選擇題 376.2.2 填空題 416.2.3 編程題 437.2習(xí)題解答 677.2.1 選擇題 677.2.2
2、 填空題 687.2.3 編程題 681.2 習(xí)題解答1.2.1 選擇題1、 B【分析】在一個(gè) 羽序中必須有且只能有一個(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、 C【分析】本題將10進(jìn)制17,分別按8、 16進(jìn)制輸出。8的進(jìn)制21=2*8+
3、1*1=17(10, 16 制11=1*16+1*1=17(10)1.2.2 填空題1、主【分析】一個(gè) CM程序中至少包括一個(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、a = 3 b =7 x =8.5 y =71.82 c1=A c2=a【分析】sc
4、anf 函數(shù)中,格式說(shuō)明符以外的原樣輸入。5、printf函數(shù)中,格式說(shuō)明符以外的原樣輸出。m.nf控制輸出Z果中共 m位,小數(shù)占n位。【分析】1.2.3 編程題1. #include stdio.hvoid main() float qianmi,yingli; /定義變量scanf(qianmi=%f,&qianmi); / 輸入數(shù)據(jù)printf(yingli=%f,qianmi*1.60934); /計(jì)算并輸出數(shù)據(jù)2. #include stdio.hvoid main()char x;printf( 請(qǐng)輸出一個(gè)小寫(xiě)小母n);scanf(%c,&x);printf( 輸出字母的大寫(xiě)型式為
5、:%c,x+32);3. #includevoid main()float c,f;printf( 請(qǐng)輸入一個(gè)攝氏溫度:) ;scanf(%f,&c);f=32*c+9.0/5*c;printf( 華氏溫度為:%5.2fn,f);4.#includevoid 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(x=%7.6f,y=%7.6f,z=%7.6fn,x,y,z);printf(x+y= %3.2f,y+z= %3
6、.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【分析】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)算符要求參加運(yùn)算的數(shù)必須是整數(shù),而x是float 類(lèi)型所以x%(-3)不對(duì)。D.y=float(i) ,由于 i 是 int 類(lèi)型,向f
7、loat 類(lèi)型轉(zhuǎn)換是自由轉(zhuǎn)的,不需要強(qiáng)制轉(zhuǎn)。4、 A .【分析】因?yàn)閗=7,x=12; x%=k ,貝U x=12%7,此時(shí)x=5,而k%=5即k=7%母匕時(shí)K=2,所以(x%=k)-(k%=5)就等價(jià)于 5-2=3。同理,x%=(k%=5)的值為 0; x%=(k-k%5)的值為 2; x%=k-k%5 的值也為25、 A【分析】首先通過(guò)n*100+0.5 將原數(shù)擴(kuò)大100, 并通過(guò) +0.5判斷是否進(jìn)位。之后 /100進(jìn)行舍去小數(shù)點(diǎn)后第三位的運(yùn)算。6、 B【分析】分析根據(jù)優(yōu)先級(jí)別,先計(jì)算小括號(hào)里,y 與 3相等成立所以表達(dá)式的值為1 ,再將1賦給x,而x的值就是表達(dá)式的值為1.7、 A【分
8、析】略8、 D【分析】a大于等于io”、 a小于等于o兩者分別為關(guān)系運(yùn)算,一個(gè)或”字又表明為邏輯或運(yùn)算,所以DMo9、 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的二進(jìn)制形式為01100001, z的二進(jìn)制形式為01111010,進(jìn)行按位|運(yùn)算后為 011111011。 00010001
9、 與 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【分析】0x39的二進(jìn)制形式為00111001, 0xf的二進(jìn)制形式為00001111 ,兩者進(jìn)行異或運(yùn)算,
10、異或結(jié)算的規(guī)則,參加運(yùn)算的兩個(gè)二進(jìn)制位同號(hào),則結(jié)果為假,異號(hào)則為真。結(jié)果為:00110110即為 16進(jìn)制的 36。16、 A【分析】進(jìn)行按位或運(yùn)算,要 a的低8位為1,則要求b的低8位全為1,高8位要求不變, 則要求高8位全為0,即b應(yīng)該為:0000000011111111,即為8進(jìn)制的0377。17、 A【分析】由題得1環(huán)成立,所以xy?+x:+y表達(dá)式的值為+y,則此時(shí)Y的值為3,而 +x沒(méi)有被執(zhí)行,所以x的仍值為1,而Z的值與表達(dá)式的值相同所以選 A。18、 C【分析】賦值運(yùn)算符的作和是將一個(gè)表達(dá)式或一個(gè)變量,常量賦給另一個(gè)變量,賦值號(hào)的左邊只能是變量,不能是常量,所以 A B D不對(duì)
11、。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/4=2. 所以原式=2.5-2*10=-17.5 。2. 5,32【
12、分析】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+=14%3, 而 14%3=
13、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=二環(huán)成立,所以彳1為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=Q再計(jì)算0/5=0.最后計(jì)算與注目加,所以最終結(jié)果為 3.5 。2.2.3 編程題1. 編寫(xiě)一個(gè)程序,要求輸入圓的半徑r ,計(jì)算并輸出該圓的周長(zhǎng)和面積。#define PI 3.14 #include stdio.hvoid main() float r, S=0, L=0;printf(input r:n);scanf(%f, &r);S= PI *r*r; /計(jì)算圓面積L=2
15、* 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.hvoid main() float renminbi,meiyuan,ouyuan;9printf(input renminbi:n);scanf(%f, &renminbi);meiyuan = renminbi *6.4742; / 計(jì)算美元金額ouyuan = renminbi *9.2338; / 計(jì)算歐
16、元金額 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;a=b;b=tmp; if(ac) tmp=
17、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;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 %cn,a,b,c);return 0;輸入數(shù)據(jù)有多組,每組占
18、一行,有三個(gè)字符組成,之間無(wú)空格。例如輸入qweasdzxc輸出 e q w a d sc x z4. 編程實(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í)現(xiàn)從鍵盤(pán)輸入存款金額money,存期year和年利率rate,計(jì)算銀行存款的本息
19、 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);3.2 習(xí)題解答3.2.1 選擇題1. D【分析】在此要注意,else 總是于之前面最近的且沒(méi)有用過(guò)的if 進(jìn)行配對(duì),所以在本題中, else 與第二個(gè)if 配對(duì),且整體做為第一個(gè)if 語(yǔ)句的語(yǔ)句體。又因,1020不成立,所以第一個(gè)if根本不被執(zhí)行,所以 m
20、勺值沒(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,跳出本次判斷。同理當(dāng)i等于4 , 6時(shí)同樣跳出判斷,而當(dāng)i為3, 5時(shí),都要執(zhí)行j+=
21、i 。5. A【分析】 while (1) 進(jìn)行判斷時(shí),條件永遠(yuǎn)成立,所以執(zhí)行循環(huán)體。輸出一個(gè)“*”后,i+,i變?yōu)?1,又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已不再成立。所以最后輸出9 77. B【分析】在for
22、( 語(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. D11【分析】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*j3時(shí)結(jié)束整個(gè)for循環(huán)。條件不成立時(shí)再執(zhí)行m*
23、=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%1預(yù)責(zé)實(shí)現(xiàn)取出K的個(gè)位。則前兩位則需通過(guò) k/10來(lái)實(shí)現(xiàn)。if (t=10)成立即是需要的數(shù)字,則總數(shù)需要自增。所以 count+.4. 50 (i*1.0)【分析】本題的
24、累加問(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,1(Xxxxyxxxxxxxxxx)? +-= w? =-+ w ? 其中,x從鍵盤(pán)輸入。#includestdio.hint main()float x,y;printf( 輸入 X);scanf(%f,&x);printf(n);if (x0 &x!=-3)y=x*x+2*x-6;else i
25、f (0=x&x10&x!=2&x!=3) y=x*x-5*x+6;elsey=x*x-x-15;printf(y=%f,y);2. 編寫(xiě)一個(gè)程序,從鍵盤(pán)輸入年和月,計(jì)算并輸出該年的該月份共有多少天。28算法分析:要考慮大月有31天, 小月有 30天, 閏年的二月有29天以及非閏年的二月有天這幾種情況。源程序:#include int main()int year,month,days;printf(Enter year and month:);scanf(%d%d,&year,&month);switch (month)case 1: case 3: case 5: case 7:case
26、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; /* 如果是閏年*/13else days=28; /* 不是閏年*/break;default: printf(Input error! n); /*月份輸入錯(cuò)誤*/days=0; if (days!=0) printf(%d,%d is %d daysn
27、,year,month,days);return 0;3. 編寫(xiě)一個(gè)程序,計(jì)算并輸出下列級(jí)數(shù)之和:231.2!3! nxxxxexn=+ 其中n與x從鍵盤(pán)輸入。#includestdio.h#include math.hmain() 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=%d,j=%d,k=%d,l=%d/n,i,j,k,l);5. 編寫(xiě)一個(gè)程序,解決猴子
28、吃桃問(wèn)題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè);第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè);以后每天早上都吃了前一天剩下的一半零一個(gè);到第10天早上想再吃時(shí),只剩一個(gè)桃子了。問(wèn)猴子第一天共摘了多少桃子?#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)層for 循環(huán)第三條語(yǔ)句為j- ,所以 j 的初值為2,條件為j=0 。5. slen!= 0【分析】本
29、程序是輸出字符數(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中。最后輸出So177. 12【分析】結(jié)構(gòu)體變量占內(nèi)存的大小是該結(jié)構(gòu)體各成員所需內(nèi)存量的總和。結(jié)構(gòu)體類(lèi)型struct date 中共定義三個(gè)成員都為int 類(lèi)型,共占12個(gè)字節(jié)。8. per
30、son1.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ì)算, blue=4,green=5,white=6 。4.2.3 編程題1. 編寫(xiě)一個(gè)程序,計(jì)
31、算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è)數(shù),并按原來(lái)排序次序?qū)⒃摂?shù)插入到數(shù)組中?!境绦虼a】19#include int main()const
32、 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;elseai+1=d;break;printf( 插入整數(shù)后的新序列:n);for (i=0;iN+1;i+)printf(%4d,ai);return 0;3. 隨機(jī)生成50個(gè)1200之間的整數(shù),并存入數(shù)組a中,然后輸出這些整數(shù);同時(shí)找出數(shù)組a中的所有素?cái)?shù),存入數(shù)組b,并按每行5個(gè)元素的格式
33、由大到小輸出這些素?cái)?shù)?!境绦虼a】#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);/找出數(shù)組a中所有素?cái)?shù)for (i=0;i50;i+)flag=1;for (j=2;jsqrt(ai);j+)#if (ai%j=0) flag=0;br
34、eak;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ù)及其在矩陣中的位置?!境绦虼a】#include int main()int a56=23,56,78,90,12,45,13,14,16,17,18,19
35、, 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+)for (j=0;j6;j+)if (aij=d)flag=1;20c=i;r=j; break;if (flag=1)printf( 在矩陣的第%d亍第例找到數(shù)據(jù)d,c,r,d);elseprintf( 矩陣中沒(méi)找到數(shù)據(jù)%d,d);return 0; 5. 編寫(xiě)一個(gè)程序,用二維數(shù)組來(lái)
36、實(shí)現(xiàn)輸出如下形式的楊輝三角形(要求輸出前6行)。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1【程序代碼】#include int main()int a66,i,j;for (i=0;i6;i+)aii=1;/ 對(duì)角線元素為1ai0=1;/ 最左一列元素為1for (i=1;i6;i+)for (j=1;ji;j+)/ 主對(duì)角線以下元素計(jì)算aij=ai-1j-1+ai-1j;/ 輸出楊輝三角形for (i=0;i6;i+)for (j=0;jb。c中各元素保留2位小數(shù),第3位小數(shù)四舍五入。【程序代碼】#include int main()21float a34,
37、b42,c32;int i,j,k;printf(輸入矩陣 a:n);for (i=0;i3;i+)for (j=0;j4;j+)scanf(%f,&aij);printf(輸入矩陣 b:n);for (i=0;i4;i+)for (j=0;j2;j+) scanf(%f,&aij);/for (i=0;i3;i+)for (j=0;j2;j+)cij=0;for (k=0;k4;k+)cij+=aik*bkj;/c中各元素保留2位小數(shù),第3位小數(shù)四舍五入for (i=0;i3;i+)for (j=0;j2;j+)k=(int)(100*cij+0.5);cij=(float)(k/100.0
38、);/輸出矩陣cfor (i=0;i3;i+)for (j=0;j2;j+)printf(%10.2f,cij);printf(n);return 0;7.輸入一個(gè)5行5列的矩陣,編寫(xiě)一個(gè)程序,計(jì)算并顯示輸出該矩陣最外圈元素的合計(jì) 值?!境绦虼a】#include int main()int a55;int i,j,sum=0;printf(輸入矩陣 a:n);for (i=0;i5;i+)for (j=0;j5;j+) scanf(%d,&aij);for (i=0;i5;i+)22for (j=0;j5;j+)if (i=0)|(i=4)|(j=0)|(j=4) sum=sum+aij;p
39、rintf( 矩陣最外圈元素的合計(jì)值為%d,sum);return 0;8. 輸入一個(gè)字符串,編寫(xiě)一個(gè)程序,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔。 【程序代碼】#include int main() char str100;int i,num=0,word=0;char c;gets(str); / 輸入一個(gè)字符串給字符數(shù)組strfor (i=0;(c=stri)!=0;i+)/只要字符不是0 就繼續(xù)執(zhí)行循環(huán)if (c=) word=0;如果是空格字符,使 word置0else if (word=0)/如果不是空格字符且 word原值為0word=1; / 使 word 置 1num+; /num 累加 1,表示增加一個(gè)單詞 printf( 字符串中單詞數(shù)為:%d,num);/ 輸出單詞數(shù)return 0;9. 輸入一個(gè)字符串,編寫(xiě)一個(gè)程序,將該字符串中的所有大寫(xiě)字母轉(zhuǎn)換成相應(yīng)的小寫(xiě) 字母,所有小寫(xiě)字母轉(zhuǎn)換成相應(yīng)的大寫(xiě)字母?!境绦虼a】#include int main() char str100;int i=0;printf(Enter the string:n);gets(str);while (stri!=0)if (stri=A)&(st
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)計(jì)量泵齒輪行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告(2024-2030)
- 中國(guó)有色金屬冶煉行業(yè)市場(chǎng)調(diào)查報(bào)告
- 中國(guó)糖玉行業(yè)調(diào)查報(bào)告
- 江西省玉山縣一中2025屆高一化學(xué)第二學(xué)期期末綜合測(cè)試模擬試題含解析
- 公廁各項(xiàng)管理制度
- 宿管員安全管理職責(zé)
- 在線K12課外輔導(dǎo)中如何融入教育心理學(xué)元素
- 培養(yǎng)自主學(xué)習(xí)能力教育心理學(xué)在課程設(shè)計(jì)中的價(jià)值
- 教育環(huán)境中學(xué)生情感支持的實(shí)踐研究
- 教師激勵(lì)策略如何增強(qiáng)學(xué)生的學(xué)習(xí)動(dòng)力
- 2025年江蘇南京市河西新城區(qū)國(guó)有資產(chǎn)經(jīng)營(yíng)控股集團(tuán)招聘筆試參考題庫(kù)附帶答案詳解
- 中藥涂擦治療護(hù)理技術(shù)操作規(guī)范
- 《大金智能控制系統(tǒng)》課件
- 北師大版四年級(jí)下冊(cè)數(shù)學(xué)口算題1000道帶答案
- 《旅游公路設(shè)計(jì)指南》
- AAMIST79-2017衛(wèi)生保健設(shè)施蒸汽滅菌和無(wú)菌保證綜合指南
- 2025年重慶出版集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 高一下學(xué)期期末考試物理試題
- 金融產(chǎn)品網(wǎng)絡(luò)營(yíng)銷(xiāo)管理辦法
- 2024年廣東省廣州市中考化學(xué)真題卷及答案解析
- 高速公路運(yùn)營(yíng)公司安全管理
評(píng)論
0/150
提交評(píng)論