版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言程序設(shè)計(jì)第 1 章 c語(yǔ)言程序設(shè)計(jì)概述1第 2 章 c語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式3第 3 章 順序程序設(shè)計(jì)11第 4 章 選擇結(jié)構(gòu)程序設(shè)計(jì)13第 5 章 循環(huán)結(jié)構(gòu)18第 6 章 函數(shù)與編譯預(yù)處理24第 7 章 數(shù)組34第 8 章 指針42第 9 章 結(jié)構(gòu)體數(shù)據(jù)類(lèi)型與鏈表57第 10 章 位運(yùn)算與文件操作64上機(jī)考試題71 第 1 章 c語(yǔ)言程序設(shè)計(jì)概述1.1 程序與程序設(shè)計(jì)1.2 算法及其描述1.3 c語(yǔ)言的發(fā)展及特點(diǎn)1.4 c語(yǔ)言程序的基本結(jié)構(gòu)1.5 c語(yǔ)言字符集、標(biāo)識(shí)符和關(guān)鍵字1.6 c語(yǔ)言程序的開(kāi)發(fā)環(huán)境第 2 章 c語(yǔ)言的基本數(shù)據(jù)類(lèi)型與表達(dá)式2.1 c語(yǔ)言的基
2、本數(shù)據(jù)類(lèi)型 2.2 常量和變量 2.3 運(yùn)算符與表達(dá)式 2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換第 3 章 順序程序設(shè)計(jì)3.1 c語(yǔ)言的基本語(yǔ)句3.2 數(shù)據(jù)輸入與輸出3.3 程序舉例第 4 章 選擇結(jié)構(gòu)程序設(shè)計(jì)4.1 關(guān)系運(yùn)算符與關(guān)系表達(dá)式4.2 邏輯運(yùn)算符與邏輯表達(dá)式4.3 if語(yǔ)句4.4 switch語(yǔ)句第 5 章 循環(huán)結(jié)構(gòu)5.1 while語(yǔ)句5.2 do-while語(yǔ)句5.3 for 語(yǔ)句5.4 break、continue和goto語(yǔ)句5.5 循環(huán)的嵌套5.6 復(fù)合結(jié)構(gòu)程序舉例第 6 章 函數(shù)與編譯預(yù)處理6.1 模塊化程序設(shè)計(jì)與函數(shù)6.2 函數(shù)的定義與調(diào)用6.3 函數(shù)的遞歸調(diào)用6.4 變量的作用域與存儲(chǔ)
3、方式6.5 編譯預(yù)處理目 錄第 7 章 數(shù)組7.1 一維數(shù)組7.2 二維數(shù)組7.3 數(shù)組的應(yīng)用7.4 字符數(shù)組與字符串7.5 數(shù)組作為函數(shù)的參數(shù)7.6 程序舉例第 8 章 指針8.1 指針與指針變量8.2 指針與函數(shù)8.3 指針與數(shù)組8.4 指針與字符串8.5 指針數(shù)組與命令行參數(shù)8.6 程序舉例第 9 章 結(jié)構(gòu)體數(shù)據(jù)類(lèi)型與鏈表9.1 結(jié)構(gòu)體類(lèi)型的定義9.2 結(jié)構(gòu)體類(lèi)型變量9.3 結(jié)構(gòu)體類(lèi)型數(shù)組9.4 結(jié)構(gòu)體類(lèi)型指針9.5 結(jié)構(gòu)體與函數(shù)9.6 鏈表第 10 章 位運(yùn)算與文件操作10.1 位運(yùn)算與位運(yùn)算符10.2 位運(yùn)算舉例10.3 c文件概述10.4 文件類(lèi)型指針10.5 文件的打開(kāi)與關(guān)閉10
4、.6 文件的定位第 11 章 上機(jī)考試題分析第 1 章 c語(yǔ)言程序設(shè)計(jì)概述第 1 章 c語(yǔ)言程序設(shè)計(jì)概述一、選擇題1、以下敘述中正確的是a)c語(yǔ)言比其他語(yǔ)言高級(jí)b)c語(yǔ)言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行c)c語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式 d)c語(yǔ)言出現(xiàn)的最晚,具有其他語(yǔ)言的一切優(yōu)點(diǎn)2、以下說(shuō)法正確的是a)c語(yǔ)言程序總是從第一個(gè)的函數(shù)開(kāi)始執(zhí)行b)在c語(yǔ)言程序中,要調(diào)用函數(shù)必須在main()函數(shù)中定義c)c語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行d)c語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分3、c語(yǔ)言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置a)必須在最開(kāi)始b)必
5、須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面c)可以任意d)必須在最后4、以下敘述不正確的是a)一個(gè)c源程序可由一個(gè)或多個(gè)函數(shù)組成b)一個(gè)c源程序必須包含一個(gè)main函數(shù)c)c程序的基本組成單位是函數(shù)d)在c程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面5、c語(yǔ)言程序的基本單位是a)程序行b)語(yǔ)句c)函數(shù)d)字符6、以下敘述正確的是a)在c程序中,每行中只能寫(xiě)一條語(yǔ)句b)若a是實(shí)型變量,c程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)c)在c程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無(wú)誤地表示d)在c程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符b)main() int x,y,z;x=0,y=x+1;z=x+y;7、以下選項(xiàng)
6、錯(cuò)誤的是a)main() int x,y,z;x=0;y=x-1;z=x+y;d)main() int x,y,z;x=0;y=x+1;z=x+y,c)main() int x;intint y;x=0,y=x+1;z=x+y;8、以下4個(gè)選項(xiàng)中,不能看做一條語(yǔ)句的是a);b)a=5,b=2.5,c=3.6;c)if(a12?x+10:x-12;printf(%dn,y); a)0b)22c)12d)1020、在c語(yǔ)言中,運(yùn)算對(duì)象必須是整型數(shù)的運(yùn)算符是a)%b)c)%和d)*21、c語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是a)%=b)/c)=d)=22、已知各變量的類(lèi)型說(shuō)明如下:int k,a,b;
7、unsigned long w=5;double x=1.42;則以下不符合c語(yǔ)言語(yǔ)法的表達(dá)式是a)x%(-3)b)w+=-2 c)k=(a=2,b=3,a+b)d)a+=a-=(b=4)*(a=3)23、若有定義:int a=7;float x=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是a)2.500000b)2.750000c)3.500000d)0.00000024、請(qǐng)選出以下語(yǔ)句的輸出結(jié)果printf(%dn,strlen(t065xffn);a)5b)14c)8d)輸出項(xiàng)不合法,無(wú)正常輸出25、設(shè)有數(shù)組定義: char array=china; 則數(shù)組
8、 array所占的空間為a)4個(gè)字節(jié)b)5個(gè)字節(jié)c)6個(gè)字節(jié)d)7個(gè)字節(jié)26、以下不正確的敘述是a)在c程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低b)在c程序中,aph和aph是兩個(gè)不同的變量c)若a和b類(lèi)型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變d)當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值27、sizeof(float)是a)一個(gè)雙精度型表達(dá)式b)一個(gè)整型表達(dá)式c)一種函數(shù)調(diào)用d)一個(gè)不合法的表達(dá)式28、若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為a)4b)16c)32d)5229、下列程序的
9、輸出結(jié)果是main() double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(%dn, d*y);a)3b)3.2c)0d)3.0730、設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+a+i*f值的數(shù)據(jù)類(lèi)型為a)intb)floatc)doubled)不確定31、設(shè)以下變量均為int類(lèi)型,表達(dá)式的值不為7的是a)(x=y=6,x+y,x+1)b)(x=y=6,x+y,y+1)c)(x=6,x+1,y=6,x+y)d)(y=6,y+1,x=y,x+1)32、若有條件表達(dá)式 (exp)?a+:b-,則以下表達(dá)式中能完全等價(jià)于表
10、達(dá)式(exp)的是a)(exp=0)b)(exp!=0)c)(exp=1)d)(exp!=1)33、以下選項(xiàng)中,與k=n+完全等價(jià)的表達(dá)式是a)k=n,n=n+1b)n=n+1,k=nc)k=+nd)k+=n+134、以下程序的輸出結(jié)果是main() int a=21,b=11;printf(%dn,-a+b,-b+a);a)30b)31c)32d)3335、設(shè)x、y均為整型變量,且x=10 y=3,則以下語(yǔ)句的輸出結(jié)果是printf(%d,%dn,x-,-y);a)10,3b)9,3c)9,2d)10,236、表達(dá)式ab|(c&d)中運(yùn)算符優(yōu)先級(jí)最高的是a)|b)&c)d)()37、在c語(yǔ)言
11、中,int,char和short三種類(lèi)型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)a)由用戶(hù)自己定義b)均為2個(gè)字節(jié)c)是任意的d)由所用機(jī)器的機(jī)器字長(zhǎng)決定38、若有以下定義,則能使值為3的表達(dá)式是int k=7,x=12;a)x%=(k%=5)b)x%=(k-k%5)c)x%=k-k%5d)(x%=k)-(k%=5)39、下面程序的輸出結(jié)果為main() int a,b;b=(a=3*5,a*4,a*5);printf(%d,b);a)60b)75c)65d)無(wú)確定值40、假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是a)3.500000b)3c)2.000000d)3.00000041、
12、以下變量x,y,z均為double類(lèi)型且已正確賦值,不能正確表示數(shù)學(xué)式子xyz的c語(yǔ)言表達(dá)式是a)x/y*zb)x*(1/(y*z)c)x/y*1/zd)x/y/z42、以下程序的輸出結(jié)果是main() char c=z;printf(%c,c-25);a)ab)zc)z-25d)y43、有以下程序#include main() char *p=abcde0fghjik0 ;printf(%dn ,strlen(p);程序運(yùn)行后的輸出結(jié)果是a)12b)15c)6d)544、設(shè)有int x=11;則表達(dá)式(x+*1/3)的值是a)3b)4c)11d)1245、若變量a是int類(lèi)型,并執(zhí)行了語(yǔ)句:
13、a=a+1.6;,則正確的敘述是a)a的值是字符cb)a的值是浮點(diǎn)型c)不允許字符型和浮點(diǎn)型相加d)a的值是字符a的ascii值加上146、下列程序運(yùn)行的結(jié)果是main()float x;int i;x=3.6;i=(int)x;printf(x=%f,i=%d ,x,i);a)x=3.600000,i=3b)x=3.6,i=3c)x=3,i=3d)x=3.600000,i=3.000000二、填空題1、在c語(yǔ)言中(以16位pc機(jī)為例),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【 】。2、以下程序的輸出結(jié)果是 【 】 。main ()int i
14、=010,j=10; pirntf (%d,%dn,i,j);3、已知字母a的ascii碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=a+8-3的值為 【 】 。4、下列程序的輸出結(jié)果為 【 】 。main ()int x=3,y=5;printf (d,x=(x-)*(-y);5、設(shè)y是int型,請(qǐng)寫(xiě)出y為奇數(shù)的關(guān)系表達(dá)式 【 】 。6、設(shè)int a=5,b=6,表達(dá)式(a=b-)?+a:-b的值是【 】 。7、以下程序的輸出結(jié)果是【 】。main()int a=0;a+=(a=8);printf(%dn,a);8、在計(jì)算機(jī)中,字符的比較是對(duì)它們的【 】進(jìn)行比較。9、在內(nèi)存中,存儲(chǔ)字
15、符x要占用1個(gè)字節(jié),存儲(chǔ)字符串x要占用【 】個(gè)字節(jié)。10、下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁?。main()int a=9, b=2;float x=【 】, y=1.1,z;z=a/2+b*x/y+1/2;printf(%5.2fn, z ); 11、以下程序段的輸出結(jié)果是【 】。main ()int a=2,b3,c=4;a*=16+(b+)-(+c);printf(%d,a);12、以下程序段的輸出結(jié)果是【 】 。int x=17,y=26;printf (d,y/=(x%=6);13、將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是【 】 。if(ab)max=a;else max=b;14、下列y的
16、值是 【 】。int y; y=sizeof (2.25*4);15、下列x的值是 【 】 。int x;x=sizeof 2.25*4;16、設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式double(1+x/y)的值為【 】。17、把數(shù)學(xué)表達(dá)式 改寫(xiě)成c語(yǔ)言的表達(dá)式是【 】。18、若有以下定義:char a;int b;float c; double d;則表達(dá)式a*b+d-c值的類(lèi)型為【 】 。19、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;則執(zhí)行后,c3中的值是【 】 。三、部分填空題解析2、解析: 以0開(kāi)頭的是八進(jìn)制數(shù)。3、解析: 在c語(yǔ)言中,
17、整型,實(shí)型,字符型數(shù)據(jù)間可以混合運(yùn)算,在進(jìn)行運(yùn)算時(shí),不同類(lèi)型的數(shù)據(jù)要先轉(zhuǎn)換成同一類(lèi)型,然后再進(jìn)行運(yùn)算。我們可以這樣計(jì)算本題,97+8-3=102,即102所對(duì)應(yīng)的字母為f。4、解析: x-的值為3,-y的值為4;注意前綴-和后綴-的區(qū)別。8、解析: c語(yǔ)言中,字符也可以進(jìn)行比較運(yùn)算,且是按照ascii碼值進(jìn)行的。9、計(jì)算機(jī)存儲(chǔ)一個(gè)字符用1個(gè)字節(jié),存儲(chǔ)字符串時(shí),每個(gè)字符用占用1個(gè)字節(jié),另在字符串的有效字符之后存儲(chǔ)1個(gè)字符串的結(jié)束標(biāo)記符。所以存儲(chǔ)字符串“x”要占用2個(gè)字節(jié),存儲(chǔ)字符x只要1個(gè)字節(jié)。10、解析: 本題最后一條語(yǔ)句,表示以浮點(diǎn)格式輸出z的值,寬度為5,其中所含2位小數(shù),應(yīng)該注意的是,兩
18、個(gè)整型運(yùn)算結(jié)果仍為整型,如1/2的結(jié)果為0,對(duì)本題可逐步求解:16.00=9/2+2*x/1.1+1/216.00=4+2*x/1.1+012.00=2*x/1.1所以,x的值為6.6。11、解析: a*16(b+)-(+c)等價(jià)于a=a*(16(b+)-(+c),b+的值為3,+c的值為5,請(qǐng)注意前綴和后綴的用法。12、解析: 是取余運(yùn)算,操作數(shù)為整型,所以最后的結(jié)果也為整型,運(yùn)算過(guò)程如下:y/=(x%-6);y/=(x=x%6);y/=5;y=y/5;y=5;13、解析: 本題考查三目運(yùn)算符的用法,條件運(yùn)算符要求有三個(gè)操作對(duì)象,稱(chēng)三目(元)運(yùn)算符,它是c語(yǔ)言中惟一的一個(gè)三目運(yùn)算符。條件表達(dá)
19、式的一般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3 所以,我們可以寫(xiě)成(ab)?a:b,它是一個(gè)“條件表達(dá)式”。執(zhí)行順序是:如果(ab)條件為真,則條件表達(dá)式取值a,否則取值b。14、解析: sizeof (2.25*4)為sizeof (10.00)值為8,c語(yǔ)言規(guī)定浮點(diǎn)型常量當(dāng)雙精度處理(以ibm-pc機(jī)為例)。15、解析: sizeof運(yùn)算符高于算術(shù)運(yùn)算符,所以sizeof 2.25*4等價(jià)于(sizeof 2.25)*4為8432(以ibmpc機(jī)為例)。16、解析: 本題考查兩個(gè)知識(shí)點(diǎn)一是x/y的值為整型即為0,二是數(shù)字1存放在double中是double類(lèi)型。18、解析: c語(yǔ)言中,如果運(yùn)
20、算符兩邊的數(shù)據(jù)類(lèi)型不同,將進(jìn)行類(lèi)型轉(zhuǎn)換,根據(jù)轉(zhuǎn)換規(guī)則,短整型轉(zhuǎn)為長(zhǎng)整型;整型轉(zhuǎn)換為實(shí)型。19、解析: 在賦值運(yùn)算中,如果表達(dá)式中變量和常量的數(shù)據(jù)類(lèi)型不一致就會(huì)自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換。系統(tǒng)會(huì)計(jì)算1.0/c2,由于1.0是實(shí)型,所以均先轉(zhuǎn)化為雙精度型0.500000,再和c1轉(zhuǎn)化后的雙精度數(shù)相乘得0.500000。但其要賦值給整型變量c3,故要進(jìn)行強(qiáng)制轉(zhuǎn)換,c3的值為0。第 3 章 順序程序設(shè)計(jì)第 3 章 順序程序設(shè)計(jì)一、選擇題1、結(jié)構(gòu)化程序所規(guī)定的三種最基本控制結(jié)構(gòu)是a)輸入、處理、輸出b)樹(shù)形、網(wǎng)形、環(huán)形c)順序、選擇、循環(huán)d)主程序、子程序、函數(shù)2、若說(shuō)明int *p,n;則通過(guò)語(yǔ)句scanf能夠
21、正確讀入數(shù)據(jù)的程序段是a)p=&n;scanf(%d,&p);b)p=&n;scanf(%d,*p);c)scanf(%d,n);d)p=&n;scanf(%d,p);3、以下程序段的輸出結(jié)果是int a=1234;printf(%2dn,a);a)12b)34c)1234d)提示出錯(cuò)、無(wú)結(jié)果4、已有定義int a=-2;和輸出語(yǔ)句 printf(%8lx,a);以下正確的敘述是a)整型變量的輸出形式只有%d一種b)%x是格式符的一種,它可以適用于任何一種類(lèi)型的數(shù)據(jù)c)%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%8lx是錯(cuò)誤的d)%8lx不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度5
22、、對(duì)下面程序描述正確的一項(xiàng)是 (每行程序前面的數(shù)字表示行號(hào))1 main()2 3 float a3=0.0;4 int i;5 for(i=0;i3;i+)scanf(%d,&ai);6 for(i=1;i3;i+)a0=a0+ai;7 printf(%fn,a0);8 a)沒(méi)有錯(cuò)誤b)第3行有錯(cuò)誤c)第5行有錯(cuò)誤d)第7行有錯(cuò)誤6、若變量已正確說(shuō)明為int類(lèi)型,要通過(guò)語(yǔ)句scanf(%d %d %d ,&a,&b,&c);給a賦值3,b賦值5,c賦值8,正確的輸入形式是a)358b)3,5,8c)358d)3587、以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是m
23、ain() int *p,*q,a,b;p=&a;printf(input a:);scanf(%d,*p);a)*p表示的是指針變量p的地址b)*p表示的是變量a的值,而不是變量a的地址c)*p表示的是指針變量p的值d)*p只能用來(lái)說(shuō)明p是一個(gè)指針變量8、x,y,z被定義為int型變量,若從鍵盤(pán)給x,y,z輸入數(shù)據(jù),正確的輸入語(yǔ)句是a)input x、y、z;b)scanf(%d%d%d,&x,&y,&z);c)scanf(%d%d%d,x,y,z);d)read(%d%d%d,&x,&y,&z);9、執(zhí)行下列程序時(shí)輸入:123456789 輸出結(jié)果是main() char s100; in
24、t c, i;scanf(%c,&c); scanf(%d,&i); scanf(%s,s);printf(%c,%d,%sn,c,i,s);a)123,456,789b)1,456,789c)1,23,456,789d)1,23,456二、填空題1、以下程序的輸出結(jié)果是【 】。int a=1234;printf (%2dn,a);第 4 章 選擇結(jié)構(gòu)程序設(shè)計(jì)第 4 章 選擇結(jié)構(gòu)程序設(shè)計(jì)一、選擇題1、在c程序中,判邏輯值時(shí),用“非0”表示邏輯值“真”, 又用“0”表示邏輯值“假”。 在求邏輯值時(shí),用()表示邏輯表達(dá)式值為“真”, 又用()表示邏輯表達(dá)式值為“假”。a)1 0b)0 1c)非0
25、非0d)1 12、有如下程序段int a=14,b=15,x;char c=a;x=(a&b)&(cb);3、執(zhí)行該程序段后,x的值為a)tureb)falsec)0d)14、若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入 adescriptor(表示回車(chē)),則下面程序的運(yùn)行結(jié)果是#include main()char c;int v0=1,v1=0,v2=0;doswitch(c=getchar()case a:case a:case e:case e:case i:case i:case o:case o:case u:case u:v1+=1;default:v0+=1;v2+=1; while(c!=n
26、); printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);a)v0=7,v1=4,v2=7b)v0=8,v1=4,v2=8c)v0=11,v1=4,v2=11d)v0=13,v1=4,v2=125、有如下程序 main() float x=2.0,y;if(x10.0)y=1.0/x;else y=1.0;printf(%fn,y);該程序的輸出結(jié)果是a)0.000000b)0.250000c)0.500000d)1.0000006、能正確表示邏輯關(guān)系:“a10或a0”的c語(yǔ)言表達(dá)式是a)a=10 or a=0|a=10 &a=10a=07、有如下程序main() int
27、a=2,b=-1,c=2;if(ab)if(b0)c=0;else c+;printf(%dn,c);該程序的輸出結(jié)果是a)0b)1c)2d)38、若變量c為char類(lèi)型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是a)a=c=a)|(c=z)c)(a=c)d)(c=a)&(c=z)9、判斷char型變量cl是否為大寫(xiě)字母的正確表達(dá)式是a)a=cl=a)&(cl=cl)|(z=a)&(clb)c=1;else if(a=b)c=0;else c=-1;return(c);main() int i=2,p;int j,k;j=i;k=+i;p=f(j,k);printf(%d,p);11、設(shè)x,y和z都是
28、int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是a)x&yb)x=yc)x|+y&y-zd)!(xb)&(n=cd)后n的值是a)1b)2c)3d)415、設(shè)x,y,t均為int型變量,執(zhí)行語(yǔ)句:x=y=3;t=+x|+y;完成后,y的值為a)不確定b)4c)3d)116、若執(zhí)行下面的程序時(shí),從鍵盤(pán)上輸入5和2,則輸出結(jié)果是main() int a,b,k;scanf(%d,%d ,&a,&b);k=a;if(ab)k=a%b;else k=b%a;printf(%dn ,k);a)5b)3c)2d)017、請(qǐng)閱讀以下程序:main() int a=5,b=0,c=0;
29、if(a=b+c)printf(*n);else printf(n);以上程序a)有語(yǔ)法錯(cuò)不能通過(guò)編譯b)可以通過(guò)編譯但不能通過(guò)連接c)輸出*d)輸出二、填空題1、若已知a=10,b=20,則表達(dá)式!a50)printf(%d,a);if(a40)printf(%d,a);if(a30)printf(%d,a);3、以下程序輸出的結(jié)果是【 】。main() int a=5,b=4,c=3,d;d=(abc);printf(%dn,d);4、關(guān)系表達(dá)式xyz,用c語(yǔ)言的表達(dá)式為【 】 。5、以下程序的輸出結(jié)果是【 】。main() int x=100, a=10, b=20, ok1=5, ok
30、2=0;if(ab)if(b!=15)if(!ok1)x=1;else if(ok2)x=10;else x=-1;printf(%dn, x);6、以下程序的輸出結(jié)果是【 】。#define pr(ar)printf(%d,ar)main() int j, a=1, 3, 5, 7, 9, 11, 15, *p=a+5;for(j=3; j; j-)switch(j) case 1:case 2: pr(*p+); break;case 3:pr(*(-p);printf(n);三、部分填空題解析1、解析: 計(jì)算表達(dá)式!ab,先計(jì)算!a,因a的值為10,!a的值為0。關(guān)系表達(dá)式020為真,所
31、以表達(dá)式!abc)d=(543)先算53,為真,得1,即:d=(13),此時(shí)13,為假,得0。4、解析: xyz的意思是y大于x并且y小于z,在c語(yǔ)言中,表達(dá)“并且”用邏輯與運(yùn)算符“&”。5、程序預(yù)置變量x的值為100,a的值為10,b的值為20,ok1為5,ok2為0。程序中給出的if語(yǔ)句可以寫(xiě)成更結(jié)構(gòu)化的形式如下:if (ab)if(b!=15)if (!ok1)x=1;elseif(ok2)x=10; else x=-1;由于條件ab成立,并且條件b!=15也成立,而ok1不等于0,執(zhí)行else 后的語(yǔ)句。又因ok2等于0,執(zhí)行else后的語(yǔ)句賦-1給x。所以程序輸出-1。6、解析: 程
32、序的宏定義pr以d格式輸出參數(shù)的值和逗號(hào)字符。程序給數(shù)組a賦初值,并由指針p指向元素a5。程序讓j從3至1,共循環(huán)3次。當(dāng)j是3時(shí),讓p減1,并輸出p所指元素的值9;當(dāng)j是2和1時(shí),輸出p所指的數(shù)組元素的值,并讓p增1,順序輸出9和11。所以程序輸出:9,9,11,第 5 章 循環(huán)結(jié)構(gòu)第 5 章 循環(huán)結(jié)構(gòu)一、選擇題1、下面有關(guān)for循環(huán)的正確描述是a)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況b)for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判斷表達(dá)式c)在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)體d)for循環(huán)的循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但必須用花括號(hào)括起來(lái)2、對(duì)表達(dá)式for(表達(dá)式1; ;表達(dá)式3
33、)可理解為a)for(表達(dá)式1;0;表達(dá)式3)b)for(表達(dá)式1;1;表達(dá)式3)c)for(表達(dá)式1;表達(dá)式1;表達(dá)式3)d)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)3、以下描述中正確的是a)由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句b)do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式)后面不能寫(xiě)分號(hào)c)在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷d)do-while循環(huán)中,根據(jù)情況可以省略while4、c語(yǔ)言中 while 和do-while循環(huán)的主要區(qū)別是a)do-while的循環(huán)體至少無(wú)條件執(zhí)行一次b)whil
34、e的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴(yán)格c)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)d)do-while 的循環(huán)體不能是復(fù)合語(yǔ)句5、對(duì)下,兩個(gè)語(yǔ)句描述正確的是.while(1).for(;)a)都是無(wú)限循環(huán)b)是無(wú)限循環(huán),錯(cuò)誤c)循環(huán)一次,錯(cuò)誤d)以上答案都錯(cuò)6、下列程序的輸出結(jié)果是#include main() int y=10;doy-;while(-y);printf(%dn,y-); a)-1b)1c)8d)07、有如下程序 main() int x=23;do printf(%d,x-);while(!x);該程序的執(zhí)行結(jié)果是a)321b)23c)不輸出任何內(nèi)容d)陷入死
35、循環(huán)8、執(zhí)行語(yǔ)句 for(i=1;i+j共執(zhí)行的次數(shù)是main()int i=0, j=10, k=2, s=0;for (;)i+=k;if(ij)printf(%d,s);break;s+=i;a)4b)7c)5d)610、設(shè)有程序段int k=10;while(k=0)k=k-1;則下面描述中正確的是a)while循環(huán)執(zhí)行10次b)循環(huán)是無(wú)限循環(huán)c)循環(huán)體語(yǔ)句一次也不執(zhí)行d)循環(huán)體語(yǔ)句執(zhí)行一次11、若有如下語(yǔ)句int x=3;do printf(%dn,x-=2);while(!(-x);則上面程序段a)輸出的是1b)輸出的是1和-2c)輸出的是3和0d)是死循環(huán)12、下面程序的功能是把
36、316表示為兩個(gè)加數(shù)的和,使兩個(gè)加數(shù)分別能被13和11整除,請(qǐng)選擇填空。#include main() int i=0,j,k;doi+;k=316-13*i;while(_);j=k/11;printf(316=13*%d+11*%d,i,j);a)k/11b)k%11c)k/11=0d)k%11=013、下面程序的功能是將從鍵盤(pán)輸入的一對(duì)數(shù),由小到大排序輸出,當(dāng)輸入一對(duì)相等數(shù)時(shí)結(jié)束循環(huán),請(qǐng)選擇填空。#include main()int a,b,t;scanf(%d%d,&a,&b);while(_)if(ab)t=a;a=b;b=t;printf(%d,%dn,a,b); scanf(%d
37、%d,&a,&b); a)!a=bb)a!=bc)a=bd)a=b13、以下程序的輸出結(jié)果是main() int i,j,x=0;for(i=0;i2;i+) x+;for(j=0;j3;j+) if(j%2)continue;x+;x+;printf(x=%dn,x);a)x=4b)x=8c)x=6d)x=1214、設(shè)有以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(%d,s);則a)運(yùn)行程序段后輸出0b)運(yùn)行程序段后輸出1c)程序段中的控制表達(dá)式是非法的d)程序段執(zhí)行無(wú)限次15、下列說(shuō)法正確的是int i,x;for(i=0,x=0;i6)n-; pri
38、ntf(%d,n);18、該程序的輸出結(jié)果是a)987b)876c)8765d)9876c)int k=10000;dok+;while(k10000);d)int s=36;while(s)-s;19、在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的是a)int i=100;while(1)i=i%100+1;if(i100)break; b)for(;);二、填空題1、設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語(yǔ)句后,k的值為【 】 。for(i=0, j=10; in。例如:m=12,n=8時(shí),運(yùn)行結(jié)果應(yīng)該是495.000000。請(qǐng)?jiān)陬}目的空白處填寫(xiě)適當(dāng)?shù)某绦蛘Z(yǔ)句,將該程序補(bǔ)充完整。#includ
39、e #include float fun (int m, int n) int i;double p=1.0;for(i=1;i=m;i+)【 】;for(i=1;i=n;i+)【 】;for(i=1;iamax)amax=x;elseif【 】amin=x; else scanf (%f,&x);printf (n amax=%fn amin=%fn,amax,amin);4、下列程序的功能是輸入一個(gè)整數(shù),判斷是否是素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出0,請(qǐng)?zhí)羁?。main()int i, x, y=1;scanf(%d, &x);for(i=2; i=x/2; i+)if【14】 y=0; break;printf(%dn, y)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高品質(zhì)衛(wèi)浴設(shè)備采購(gòu)及安裝服務(wù)合同3篇
- 2024年資產(chǎn)權(quán)屬變更協(xié)議樣本文本版B版
- 2025年度博物館文物清潔與保養(yǎng)合同范本3篇
- 2024年版再婚夫妻解除婚姻關(guān)系合同版B版
- 2024年網(wǎng)絡(luò)安全監(jiān)控合作協(xié)議
- 2024年自然人短期貸款協(xié)議3篇
- 2025年度承包魚(yú)塘養(yǎng)殖與科研合作合同3篇
- 2025年度廚師餐飲行業(yè)人才培養(yǎng)與合作合同3篇
- 2025年度出口退稅證明開(kāi)具與稅務(wù)籌劃合同3篇
- 2024版數(shù)據(jù)服務(wù)合同范本
- 2024年酒店式公寓承包合同
- 學(xué)校安全存在的問(wèn)題及整改措施
- 2025年八省聯(lián)考內(nèi)蒙古高考生物試卷真題答案詳解(精校打印)
- 2025年包鋼集團(tuán)公司招聘筆試參考題庫(kù)含答案解析
- 校園公園綠化養(yǎng)護(hù)協(xié)議
- 貓抓病的護(hù)理
- 2024版城市綠化養(yǎng)護(hù)合同補(bǔ)充協(xié)議3篇
- GB/T 19799.2-2024無(wú)損檢測(cè)超聲檢測(cè)試塊第2部分:2號(hào)標(biāo)準(zhǔn)試塊
- 2024-2025學(xué)年冀教新版八年級(jí)上冊(cè)數(shù)學(xué)期末復(fù)習(xí)試卷(含詳解)
- 內(nèi)蒙古呼和浩特市2024屆九年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- DB45T 1831-2018 汽車(chē)加油加氣站防雷裝置檢測(cè)技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論