C語言習(xí)題資料_第1頁
C語言習(xí)題資料_第2頁
C語言習(xí)題資料_第3頁
C語言習(xí)題資料_第4頁
已閱讀5頁,還剩142頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言習(xí)題適當(dāng)?shù)恼n后練習(xí),起到鞏固知識、提高編程能力的作用,做題的同時(shí)要深入領(lǐng)會(huì)題目包含的知識點(diǎn),發(fā)掘習(xí)題之間的內(nèi)在聯(lián)系,同時(shí)根據(jù)個(gè)人情況選部分典型習(xí)題在計(jì)算機(jī)上編程實(shí)驗(yàn)驗(yàn)證,這樣可以加深對課本理論的理解與掌握。第1章c語言初步ー、選擇題:.C語言是在(B)語言的基礎(chǔ)上產(chǎn)生的.A. A B. B C. D D. E.在C語言中,毎個(gè)語句必須以(D)結(jié)束。A.回車符 B.冒號 C.逗號 D.分號3?標(biāo)識符和關(guān)鍵字間,要用(C)隔開。A.回車符 B.冒號 C.空格 D,分號.以下不是C語言的特點(diǎn)的是(B)C語言簡潔、緊湊B.能夠編制出功能復(fù)雜的程序C語言可以直接對硬件進(jìn)行操作C語言移植性好.以下不正確的C語言標(biāo)識符是(D).ABC B.abc C.a-be D.ab.c6、以下正確的c語言標(biāo)識符是(c).%x B.a十bC.al23 D.test!7、ー個(gè)c程序的執(zhí)行是從(a).main( )函數(shù)開始,直到main()函數(shù)結(jié)束B.第一個(gè)函數(shù)開始,直到最后ー個(gè)函數(shù)結(jié)束C,第一個(gè)語句開始,直到最后ー個(gè)語句結(jié)束D.main()函數(shù)開始,直到最后ー個(gè)函數(shù)結(jié)束8、ー個(gè)c程序是由(b).ー個(gè)主程序和若干子程序組成ー個(gè)或多個(gè)函數(shù)組成C,若干過程組成D.若干子程序組成9、編輯程序的功能是(a).A.建立并修改程序 B.將c源程序編譯成目標(biāo)程序C.調(diào)試程序 D.命令計(jì)算機(jī)執(zhí)行指定的操作10、用C語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯(cuò)誤,則系統(tǒng)將(B).A.生成可執(zhí)行目標(biāo)文件 B,生成目標(biāo)文件C.輸出運(yùn)行結(jié)果 D.自動(dòng)保存源文件下列說法中正確的是(b).A.由于C源程序是高級語言程序,因此一定要在TC軟件中輸入B.由C源程序是字符流組成,因此可以作為文本文件在任何文本編輯的軟件中輸入C,由于c程序是高級語言程序,因此輸入后即可執(zhí)行D.由于C程序是高級語言程序,因此它由命令組成C語言程序的基本單位是()。A.過程 B.函數(shù) C,子程序 D.標(biāo)識符下列說法中正確的是(a).C語言程序由主函數(shù)和0個(gè)或多個(gè)函數(shù)組成C語言程序由主程序和子程序組成C語言程序由子程序組成C語言程序由過程組成14、下列說法中錯(cuò)誤的是()。A.主函數(shù)可以分為兩個(gè)部分:主函數(shù)說明部分和主函數(shù)體B.主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù)C.任何非主函數(shù)可以調(diào)用其他任何非主函數(shù)D.程序可以從任何非主函數(shù)開始執(zhí)行二、填空題TOC\o"1-5"\h\z1,C語言是ー種“一中級語言ー—”,既具有一ー低級語言—ー的特點(diǎn)又具有一一ー高級語言ー的特點(diǎn):既適合于開發(fā) 又適合于編寫 。2、在C語言中,輸入操作是由庫函數(shù)完成的,輸出函數(shù)是由庫函數(shù) 完成的。C程序的基本單位是 。4、每個(gè)源程庠有且只有一個(gè)函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。C語言的程序中有特殊含義的英語單詞稱為 6、C語言中,標(biāo)識符的定義規(guī)則是 07,C語言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以 符號作為開始標(biāo)記,以 符號作為結(jié)束標(biāo)記。三、簡答題1、機(jī)器語言、匯編語言、高級語言各有什么特點(diǎn)?2、程序翻譯的方式有哪兩種?各有哪些特點(diǎn)?3、常見的程序設(shè)計(jì)有哪些結(jié)構(gòu)?4、什么是結(jié)構(gòu)化程序設(shè)計(jì)?5、C語言具有哪些特點(diǎn)?C語言程序具有哪些基本組成部分?7、(:語言程序的書寫規(guī)則主要有哪些?8、ー個(gè)C語言應(yīng)用程序上機(jī)過程一般要經(jīng)過哪幾個(gè)步驟?簡述各步的作用。四、程序設(shè)計(jì)題.編寫ー個(gè)C語言應(yīng)用程序,其功能是顯示以下圖形。###############.編寫C語言程序,運(yùn)行后輸出以下信息。歡迎進(jìn)入C語言的天地!**************************.編寫一個(gè)程序,在屏幕上輸出你的姓名。第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式ー、選擇題:1、下列數(shù)據(jù)中屬于“字符串常量”的是()A.ABCB.“ABC" C.'abc' D.'a'2、在PC機(jī)中,,、ガ在內(nèi)存占用的字節(jié)數(shù)是()A.1 B.2 C.3 D.43、字符串“ABC”在內(nèi)存占用的字節(jié)數(shù)是()A.3 B.4 C.6 D.84、在C語言中,合法的長整形常數(shù)是()A.OL B.7654321 C.0.07654321D.2.3456el05、chai?型常量在內(nèi)存中存放的是()A.ASCII值 B.BCD碼值C,內(nèi)碼值 D,十進(jìn)制代碼值6、設(shè)m,n,a,b,c,d均為〇,執(zhí)行(m=n==b)II(n=c==d)后,m,n的值是()A.0,0B.0,1 C.1,0 D.1,17、設(shè)a為5,執(zhí)行下列語句后,b的值不為2的是()A.b=a/2B.b=6-(—a) C.b=a%2D.b=a>3?2:48、執(zhí)行語句"x=(a=3,b=a—)后,x,a,b的值依次為()A.3,3,2B.3,2,2C.3,2,3 D.2,3,29、設(shè)整形變量叫n,a,b均為1,執(zhí)行"(m=a>b)&&(n=a>=b)”后m,n的值是()A.0,0B.0,1C.1,0 A.0,0B.0,1C.1,0 D.1,1設(shè)有inta=3;則執(zhí)行語句a+=a-=a*a;后a的值是()A.3B.0C.9D.A.3B.0C.9D.-12在以下ー組運(yùn)算符中,優(yōu)先級最高的運(yùn)算符是()A. <= B. = C. % D. &&設(shè)整形變量i的值為3,則計(jì)算表達(dá)式i一一i后表達(dá)式的值是()A. 0 B. 1 C. 2 D.出錯(cuò)設(shè)整形變量a,b,c均為2,則表達(dá)式a+++b+++c++的結(jié)果是()A. 6 B. 9 C. 8 D.出錯(cuò)若已定義x和y為double類型,則表達(dá)式x=l,y=x+3/2的值是()A.1 B.2 C.2.0 D.2.5設(shè)a=l,b=2,c=3,d=4,則表達(dá)式a〈b?a:c<d?a:d的結(jié)果是()A. 4 B.3 C.2 D.1下列表達(dá)式中符合C語言語法的賦值表達(dá)式是()A.a=7+b+c=a+7B.a=7+b++=a+7C.a=(7+b,b++,a+7)D.a=7+b,c=a+7若有chara;intb;floatc;doubled;則表達(dá)式a*b+d-c值的類型是()A.floatB.intC.char D.double表達(dá)式10!=9的值是()A.trueB.非零值C.0 D.1二、填空題在內(nèi)存中存儲"A"要占用個(gè)字節(jié),存儲’A,要占用個(gè)字節(jié).2、C語言中符號常量的定義方法是03,定義變量的完整格式為04、C語言中的邏輯值“真”是用表示的,邏輯值“假”是用表示的.5、符號常量的定義方法是06、無符號基本整型的數(shù)據(jù)類型符為,雙精度實(shí)型數(shù)據(jù)類型符為,字符型數(shù)據(jù)類型符為。7、運(yùn)算符:+、++、&&、〈=中,優(yōu)先級最高的是,最低的是.8、設(shè)a=3,b=2,c=1,則a>b的值為,a>b>c的值為。9,若a=10,b=20,則表達(dá)式!a<b的值為。10?若intx=1,y=2;則表達(dá)式1.0+x/y的值為?若int型變量x=y=z=5;若執(zhí)行x-=yz后x=;若執(zhí)行x%=y+z后x=;若執(zhí)行x=(y>z)?x+2:x2,3,2后x=;表述20くxく30或xくー1Q0的C語言表達(dá)式為.設(shè)c=rv',a=l,b=2,d=-5.則表達(dá)式,xz+l>c,'y'!=c+2,-a-5*b<=d+l,b==a=2的值分別為、 、 、?設(shè)floatx=2.5,y=4.7;inta=7;?表達(dá)式x+a%3*(int)(x+y)%2/4的值為。15,判斷變量a,b的值均不為〇的邏輯表達(dá)式為.求解賦值表達(dá)式a=(b=10)%(c=6),表達(dá)式值、a,b、c的值依次為=求解逗號表達(dá)式x=a=3,6*a后,表達(dá)式值、x,a的值依次為0數(shù)學(xué)式a/(b*c)的C語言表達(dá)式.三、簡答題1,C語言主要有哪些常用的運(yùn)算符,這些運(yùn)算符的優(yōu)先級是怎么劃分的?2、用戶標(biāo)識符在命名時(shí),應(yīng)注意哪幾個(gè)方面?3、C語言的表達(dá)式有哪些?它跟語句有什么關(guān)系?4.C語言的數(shù)據(jù)類型有哪些?各有什么特點(diǎn)?四、程序設(shè)計(jì)題1.編寫ー個(gè)程序,將大寫字母轉(zhuǎn)換為小寫字母。2、設(shè)inti=12,j=25,k=56;.編寫程序分別輸出以下表達(dá)式的值及輸出表達(dá)式執(zhí)行前后變量i、j、k的值。①(++i) * (++j) * (++ k)②(i++) * (++j) * (k++)③i=i+j,j=j+k,k=k+i④!(i=j)&&(j=k)第3章簡單C程序設(shè)計(jì)ー、選擇題:.putchar函數(shù)可以向終端輸出ー個(gè)()A.整型A.整型變量表達(dá)式值B.實(shí)型變量值C.字符串D.字符或字符變量值C.字符串.以下程序的輸出結(jié)果是()main()uchinabeijing");A.B.C.D.printf(w\n*s2=%-5s*H,?sl=chinabeijingDロロ?*sl=chinabeijingDA.B.C.D.printf(w\n*s2=%-5s*H,?sl=chinabeijingDロロ?*sl=chinabeijingDロロ?*sl=*DDchinabeijing**sl=nnnchinabeijing*“chiり;?s2=**chi**s2=chi□*s2=DDchi**s2=chinn*.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5歹リ.如果字符串長度以大于5,則輸出按方式(”如果字符串長度小于5,則輸出按方式()A.從左起輸出該字串,右補(bǔ)空格B.按原字符長從左向右全部輸出C.右對齊輸出該字串,左補(bǔ)空格D.輸出錯(cuò)誤信息A.從左起輸出該字串,右補(bǔ)空格B.按原字符長從左向右全部輸出C.右對齊輸出該字串,左補(bǔ)空格D.輸出錯(cuò)誤信息.x和y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句scanf(u%d%s,%leM,&x,&y,&z);scanf(u%2d*%d%f",&x,&y,&z);scanf(u%x%d*%o",&x,&y);scanf(u%x%o%6.2f",&x,&y,&z);.已有如下定義和輸入語句,若要求al,a2,cl,c2的值分別為10,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是();intal,a2;charcl;c2;scanf(M%d%c%d%c",&a,&cl,&a2,&c2);A.10AD20B<CR> B.10nAn20DB<CR>C.10A20B<CR> D.10A20QB<CR>.已有定義intx;floaty;且執(zhí)行scanf(u%3d%f",&x,&y);語句時(shí),從第一列開始輸入數(shù)據(jù)12345ロ678く回車》,則x的值為(1),y的值為(2)A.12345B.123 C.45 D.345A,無定值 B.45.000000 C.678.000000 D.123.000000.已有如下定義和輸入語句,若要求al,a2,cl,c2的值分別為10,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是()(注:口表示空格,くCR>表示回車)intal,a2;charcl,c2;scanf(u%d%d",&al,fca2);scanf(u%c%c",&cl,&c2);A.1020AB<CR> B.10ロ20くCR>ABくCR>c.ionn2onnAB<CR> d.iod2oab<cr>8.有程序段和輸入數(shù)據(jù)的形式,程序中輸入語句的正確形式應(yīng)當(dāng)為()main()inta;floatf;printf(U\nlnputnumber:");)輸入語句printf(M\nf=%f,a=%d\nM,f,a);)輸入的數(shù)據(jù)為4.5<CR>2<CR>A.scanf(w%d,%fM,&a,&f); B.scanf(“%f,%d",&f,&a);C.scanf(u%d%f,&a,&f); D.scanf(“%f%d",&f,&a);9.閱讀以下程序,當(dāng)輸入數(shù)據(jù)為:25,13,10くCR>,正確的輸入結(jié)果為()main()(intx,y,z;scanf(u%d%d%dH,&x,&y,&z);printf(ux+y+z=%d\nn,x+y+z);)A.x+y+z=48 B.x+y+z=35C.x+z=35 D,不確定值.根據(jù)題目中已給出的數(shù)據(jù)的輸入和輸出形式,程序中輸入輸出的語句的正確內(nèi)容是()main()(intx;floaty;printf(uenterx,y:n);輸入語句輸出語句)輸入為入口3.4輸出為:x+y=5.40scanf(ll%d,%f",&x,&y);printf(**\nx+y=%4.21",x+y);scanf(**%d%f",&x,&y);printf(**\nx+y=%4.2f",x+y);scanf(**%d%f",&x,&y);printf(w\nx+y=%6.If",x+y);scanf("%d%3.If",&x,&y);printf(M\nx+y=%4.2f",x+y);.以下說法正確的是()A.輸入項(xiàng)可以為一個(gè)實(shí)型常量,如scanf("%f",3.5);B,只有格式控制,沒有輸入項(xiàng),也能正確輸入,如scanf("a=%d,b=%d");C.當(dāng)輸入ー個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf("%4.2f",&f);D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量的地址,如scanf("%f",&f);.有輸入語句:scanf(**a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為1,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)是()A.132<CR> B.1,3,2<CR>C.a=l□b=3□c=2<CR> D.a=l,b=2,c=3<CR>.已知ch是字符變量,下面正確的賦值語句是()A.ch=T23'; B.ch=,\xff,;C.ch='\08’; D.ch=ヽ.已知ch是字符變量,下面不正確的賦值語句是()A.ch='a+b';B.ch=,\OZ; C.ch='7'+'9'D.ch=5+9;.若有以下定義,且各變量均有初值,則正確的賦值語句是()inta,b;floatx;A.a=l,b=2;B.b++; C.a=b=5D.b=int(x);.設(shè)x,y均為float型變量,則以下不合法的賦值語句是()A.++a; B.y=(x%2)/10;C.x*=y+8;D.x=y=0;.設(shè)x,y和z均為int型變量,則執(zhí)行語句x=(y=(z=10)+5)-5;后x,y,z的值是:()A.x=10y=15z=10 B.x=10y=10z=10C.x=10y=15z=15 D.x=10y=5z=10二、填空題.以下程序的輸出結(jié)果為()main()(shorta;a=-4;printf(n\na:dec=%d,oct=%x,unsigned=%u\nH,a,a,a);).以下程序的輸出結(jié)果為()main(){printf("?%f,%4.3f*\n",3.14,3.15); }.以下程序的輸出結(jié)果為()main()(charc='a';printf("c:dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c);).已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()printf("*d=%d*%3d*%-3d*\n",d,d,d);.以有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()printf(n*d=%u*%6u*%-7u*\nH,d,d,d);.以有定義floatdl=3.5,d2=-3.5;執(zhí)行以下語句后的輸出結(jié)果是()printf("*dl=%f*%.4f*%10.4f*\n,dl,dl,dl);printf("*d2=%f*%.6f*%-12.5f*\n",d2,d2,d2);.以下程序輸出結(jié)果為()main()intx=l,y=2;printf("x=%dy=%d*sum*=%d\n",x,y,x+y);printf("10squaredis:%d\n",10*10);).以下程序的輸出結(jié)果為()main()(intx=10;floatpi=3.1416;printf("(l)%d\n",x); printf("(2)%6d\n",x);printf("(3)%f\n",56.1); printf("(4)%5.lf\n",pi);printf("(5)%e\n",568.1); printf("(6)%14.e\n",pi);printf("⑺%g\n",pi); printf("(8)%12g\n",pi);).假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a(bǔ),b中的值進(jìn)行交換,請?zhí)羁?a+=( ) b=a-( ); a-=( );.設(shè)變量a,b,c均為整型,以下語句借助中間變量t把a(bǔ),b,c中的值進(jìn)行交換,即:把b中的值給a,把c中的值給b,把a(bǔ)中的值給c,例如:交換前a=l0,b=20,c=30,交換后a=20,b=30,c=10,請?zhí)羁?(); a=b; b=c; ();.設(shè)x,y,z均為int型變量,m為long型變量,則在!6位機(jī)上執(zhí)行下面賦值語句后,y=( ),z=( ),m=().y=(x=32767,x-1); z=m=0xffff;.如有intx;則執(zhí)行下面語句后x值是()x=7; x+=x-=x+x;.若有inta,b;則以下語句的功能是()a+=b; b=a-b; a-=b;.在scanf函數(shù)調(diào)用語句中,可以在格式字符和%之間加一星號,它的作用是();當(dāng)輸入以下數(shù)據(jù):10--20--30ーー40くCR》,下面語句的執(zhí)行結(jié)果是()intal,a2,a3; scanf(M%d%d*%d%dH,&al,&a2,&3);.若有以下定義和語句,為使變量cl的到字符",,變量c2得到字符,B,正確的格式輸入形式是()charcl,c2; scanf("%4c%4c",&cl,&c2);.執(zhí)行以下程序時(shí),若從第一列開始輸入數(shù)據(jù),為使變量a=3,b=7,x=8.5,y=71.82,cl=,A,,c2=,a,,正確的數(shù)據(jù)輸入形式是()mian()(inta,b;floatx,y; charcl,c2;scanf(a=%db=%dn,&a,&b);scanf(Hx=%fy=%f",&x,&y);scanf("cl=%cc2=%c",&cl,&c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,bx,y,cl,c2);三、程序改錯(cuò)題以下程序的功能是,輸入長方形的兩邊長(邊長可以取整數(shù)和實(shí)數(shù)),輸出它的面積和周長。main{inta,b,s,1;scanf("%d,%dn,&a,&b);s=a*b;l=a+b;printf(Ml=%f,s=%f\n",1);)四、程序設(shè)計(jì)題1、編寫程序,從鍵盤輸入梯形的上下底邊長度和髙,計(jì)算梯形的面積.2、編寫程序,從鍵盤輸入某學(xué)生的四科成績,求出總分和平均分,找出最高分和最低分。3,編寫攝氏溫度、華氏溫度轉(zhuǎn)換程序.要求:從鍵盤輸入ー個(gè)攝氏溫度,屏幕就顯示對應(yīng)的華氏溫度,輸出取兩位小數(shù).轉(zhuǎn)換公式:F=(C+32)x9/5第4章程序結(jié)構(gòu)ー、選擇題:1,若charc=*A5;則c=(c>=,A'&&c<=57?)?(c+32):c的值是()A.'A' B.'a' C.'Z' D.'z'2.設(shè)x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為()x=y=z=1;t=++xII++y&&++z;A,不定值B.2 C.1 D.03、執(zhí)行以下語句后x的值是()a=b=c=0;x=35;if(!a)x—;elseif(b);if(c)x=3;elsex=4;A.34 B.4 C.35 D.34、下面的程序段所表示的數(shù)學(xué)函數(shù)關(guān)系是()y=-1;if(x!=0)if(x>0)y=1;elsey=0;y = -1 (x<0) ; 0(x=0) ; 1 (x>0)y = 1 (x<0) ; -1(x=0) ; 0 (x>0)y = 0 (x<0) ; -1(x=0) ; 1 (x>0)y = -1 (x<0) ; 1(x=0) ; 0 (x>0)5、下列語句中,錯(cuò)誤的是()A.while(x=y)5; B.dox++while(x==10);C.while(0); D.do2;while(a==b);6、循環(huán)語句for(x=0,y=0;(y!=123)||(x<4);x++);的循環(huán)次數(shù)為()A,無限次 B,不確定次C.4次 D.3次7、若有整型變量i,j:則以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)為()for(i=5;i;i++)for(j=0;j<4;j++){...}A.20 B.24 C.25 D.308、假定a和b為int型變量,則執(zhí)行以下語句后b的值為()a=1;b=10;do{b-=a;a++;}while(b—<0);A.9 B.-2 C.-1 D.89、設(shè)x和y均為int型變量,則執(zhí)行下面的循環(huán)后y的值為()for(y=1,x=1;y<=50;y++){if(x>=10)break;if(x%2==1) {x+=5;continue;}x-=3;)A.2 B.4 C.6 D.8在C語言中,下列說法中正確的是()A,不能使用"do語句while(條件)”的循環(huán)B.”do語句while(條件)”的循環(huán)必須使用”break”語句退出循環(huán)C.”do語句while(條件)”的循環(huán)中,當(dāng)條件為非〇時(shí)結(jié)束循環(huán)D.”do語句while(條件)”的循環(huán)中,當(dāng)條件為〇時(shí)結(jié)束循環(huán)若abed都是int類型變量且初值為0,以下選項(xiàng)中不正確的賦值語句是).A.a=b=c=100;B.d++; C.c+b;D.d=(c=22)-(b++);若變量已正確定義,要將a和b中的數(shù)進(jìn)行交換,下面不正確的語句是()。A.a=a+b,b=a-b,a=a-b; B.t=a,a=b,b=t;C.a=t;t=b;b=a; D.t=b;b=a;a=t;下述程序輸出的結(jié)果是()。voidmain()(intk=ll;printf(uk=%d,,k=%o,k=%xw,k,k,k);)A.k=ll,k=12,k=H B.k=ll,k=13,k=13C.k=ll,k=013,k=0xb D.k=ll,k=13,k=b14、以下關(guān)于if語句的錯(cuò)誤描述是( )。A,條件表達(dá)式可以是任意的表達(dá)式B.條件表達(dá)式只能是關(guān)系表達(dá)式或邏輯表達(dá)式C.條件表達(dá)式的括號不可省D.與else配對的if語句是其之前最近的未配對的if語句執(zhí)行了以下程序段后,x,w的值為().intx=0,y=l,z=2,w;if(x++)w=x;elseif(x++&&y>=l)w=y;elseif(x++&&z>l)w=z;A.0,1 B.1,1 C.2,1 D.3,2以下程序中,while循環(huán)的循環(huán)次數(shù)是()。voidmain()

inti=0;while(i<10){if(i<l)contimue;if(i==5)break;i++;))1i++;))1C.617、對于下面①,②兩個(gè)循環(huán)語句,(①while⑴;②for(;;);A.①②都是無限循環(huán)C.①循環(huán)一次,②錯(cuò)誤10D,死循環(huán),不能確定次數(shù))是正確的描述.B.①是無限循環(huán),②錯(cuò)誤D.①②皆錯(cuò)誤二、填空題1、結(jié)構(gòu)化程序設(shè)計(jì)規(guī)定的三種基本結(jié)構(gòu)是結(jié)構(gòu),結(jié)構(gòu)和結(jié)構(gòu)。2、若有定義語句"inta=25,b=14,c=19 下面程序段被執(zhí)行的結(jié)果是.if(a++<=25&&b—<=2&&c++)printf("***a=%d,b=%d,c=%d\n",a,b,c);elseprintf("###a=%d,b=%d,c=%d\n”,a,b,c);3、以下兩條if語句可合并成一條if語句為0if(a<=b)x=1;elsey=2;if(a>b)printf(“y=%d\n”,y);elseprintf(“####x=%d\nw,x);4、設(shè)i,j,k均為型變量,則執(zhí)行如下語句后,k的值為。for(i=0,j=10;i<=j;i++,j—)k=i+j;5、下列程序的功能是輸入ー個(gè)正整數(shù),判斷是否為素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出〇,填空完成程序。main()(inti,x,y;scanf( ,&x);for(i=2;i<=x/2;i++)if( ) {y=0;break;}printf(w%d\nw,y);)三、程序分析題1、閱讀程序,寫出運(yùn)行結(jié)果main()(intx=100,a=10,b=20,okl=5,ok2=0;if(a<b)if(b!=15)if(!okl)x=1;elseif(ok2)x=10;elsex=-1;printf(“%d\n",x);)2、閱讀程序,寫出運(yùn)行結(jié)果main()(inty=9;for(;y>0;y")if(y%3=0) {printf("%d",—y);cintinue;}}四、程序設(shè)計(jì)題1、編程序,輸入一個(gè)整數(shù),輸出其符號(若>0,輸出1;若く0,輸出ー1)。2、編程序,輸入三個(gè)數(shù),輸出其中最小值。3,輸入ー個(gè)正整數(shù),是否既是5又是7的整倍數(shù),若是,則輸出Yes;否則輸出No.4、某市出租車3公里的起租價(jià)為6元,3公里以外,按1.5元/公里計(jì)費(fèi)?,F(xiàn)編寫程序,要求:輸入行車?yán)锍虜?shù),輸出應(yīng)付車費(fèi)。5.有一分段函數(shù):x (-5<x<0)y=<x—1 (x=0)x+1......(0<x<10)編寫程序,要求輸入x的值后,輸出y的值。6、編程序,輸入10個(gè)整數(shù),統(tǒng)計(jì)并輸出其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù).7、打印輸出以下圖案.

*****************************1231234512345671234567898、有兩個(gè)紅球、三個(gè)黃球、四個(gè)白球,任意取四個(gè)球,其中必須有一個(gè)紅球,編程輸出所有可能的方案。9、編程統(tǒng)計(jì)從鍵盤輸入的字符中數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán)。第5章數(shù)組ー、選擇題:1、若有以下說明,則數(shù)值為4的表達(dá)式是()inta[12]={1,2,3,4,5,6,7,8,9,10,11,12);charc=*a4,d,g;A.a[gc]B.a[4]C.a[dーゼ]D.a[dC]2、設(shè)有定義:chars[12]={"string”};則printf("%d\n",strlen(s));的輸出是()A.6 B.7 C.11 D.123,若有以下數(shù)組定義:inta[10]={l,2,3,4,5,6,7,8,9,10);則關(guān)于語句print-"%d”,a[10D;正確的說法是().A,正確執(zhí)行并輸出10B.能夠執(zhí)行但輸出〇C.語法錯(cuò)誤,不能執(zhí)行 D,雖然能夠執(zhí)行,但輸出結(jié)果不確定4、下列語句中,正確的是()A.chara[3][]={'abc', ,1');B.chara[][3]={"abc","1");;C.chara[3]ロ={匕',wl");D.chara[3][]={"a","1");5、合法的數(shù)組定義是()A.inta[]={"string"}; B.inta[5]={0,1,2,3,4,5);C.chara={"string"}; D.chara[]={0,1,2,3,4,5);6、語句"printf("%d\n",strlen("ats\nol2\l\\"));"的輸出結(jié)果是()A.11 B.10 C.9 D.8.函數(shù)調(diào)用"strcat(strcpy(strl,str2),str3)"的功能是()A,將字符串strl復(fù)制到str2中后再連接到str3之后B,將字符串strl連接到str2之后再復(fù)制到str3之后C.將字符串str2復(fù)制到strl中后再將字符串str3連接到strl之后D.將字符串str2連接到str!之后再將字符串strl復(fù)制到str3中.設(shè)有如下定義,則正確的敘述為()charx[]={"abcdefg"};chary[]={'a'b'c'd'e'f'g'};A,數(shù)組x和數(shù)組y等價(jià)B.數(shù)組x的長度大于數(shù)組y的長度C.數(shù)組x和數(shù)組y長度相同D.數(shù)組x的長度大于數(shù)組y的長度9,關(guān)于數(shù)組定義,以下說法不正確的是()。A,定義數(shù)組時(shí),可以只為其中的部分元素賦值;B.多維數(shù)組在定義時(shí)只能省略第一維的長度;C.多維數(shù)組在定義時(shí)不能省略的是第一維的長度;D.局部數(shù)組在定義時(shí)也可以賦初值;10、以下程序輸出的結(jié)果是()。voidmain()(inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p(i]*2;printf(u%d\n",k);

A.20B.21C.22D.23A.20B.21C.22D.2311、 數(shù)組名作為參數(shù)傳遞給函數(shù),作為實(shí)在參數(shù)的數(shù)組名被子處理為()。A.該數(shù)組的長度 B.該數(shù)組元素個(gè)數(shù)C.該數(shù)組各元素的值 D.該數(shù)組的首地址二、填空題1、設(shè)有定義語句"inta[3][4]={⑴,{2},⑶,則a⑴⑴的值為(),a⑵⑴的值為()2、若在程序中用到putchaM)函數(shù)時(shí),應(yīng)在程序開頭寫上包含命令(),若在程序中用到strlen()函數(shù)時(shí),應(yīng)在程序開頭寫上包含命令()。3、下面程序的功能是輸出a數(shù)組中最大元素的下標(biāo),請?zhí)羁?。main0(intk,p;inta[]={1,-9,7,2,-10,3);for(p=0,k=p;p<6;p++)if(a[p]>a[k]) printf(u%d\nw,k);)4、下面程序的功能是將一個(gè)字符串sti?的內(nèi)容顛倒過來,請?zhí)羁铡?include“string,h”main()inti,j,k;charstr[]={**1234567");for(){k=str[i];str[i]=str[j];str[j]=k;})三、程序分析題1、閱讀程序,寫出運(yùn)行結(jié)果:main()(staticinta[][3]={9,7,5,3,1,2,4,6,8};inti,j,si=0,s2=0;for(i=0;i<3;i++)for(j=0;j<3;j++)(if(i==j)si=si+a[i][j];if(i+j==2)s2=s2+a[i][j];}printf("%d,%d\n”,si,s2);)2、說明下列程序的功能。main()(inti,j;floata[3][3],b[3][3],x;for(i=0;i<3;i++)for(j=0;j<3;j++)TOC\o"1-5"\h\z{ scanf ( "%f” , &x ) ; a[ i ][ j ] = x ; }for ( i =0; i <3; i ++ )for (j= 0 ;j<3 ; j ++ ) b[j][i]=a[i][j];for ( i =0; i <3; i ++ ){print-“\n");for(j=0;j<3;j++)printf("%f”,b[i][j]);))3、寫出下列程序的運(yùn)行結(jié)果.main()(chara[]={,*,,,*,,,*,,,*,,,*,);inti,j,k;for(i=0;i<5;i++)(printf("\n”);for(j=0;j<i;j++)printf("%c",**);for(k=0;k<i;k++)printf("%c”,a[k]);)}四、程序設(shè)計(jì)題1、編程序,輸入單精度型ー維數(shù)組a[10],計(jì)算并輸出a數(shù)組中所有元素的平均值。2、編程序,輸入10個(gè)整數(shù)存入一維數(shù)組,再按逆序重新存放后再輸出。3,編程序,輸入兩個(gè)字符串(<40個(gè)字符),連接后輸出(要求:不能使用系統(tǒng)提供的函數(shù))4、輸入一個(gè)字符串,將其中的所有大寫字母轉(zhuǎn)化為小寫字母,將所有小寫字母轉(zhuǎn)化為大寫字母,然后輸出。5、編程序,輸入ー個(gè)整型數(shù)據(jù),輸出各位數(shù)字之和.6、編寫ー個(gè)班級成績統(tǒng)計(jì)程序,要求:(1)讀入全班學(xué)生的4門成績,并計(jì)算每個(gè)人的平均成績;(2)統(tǒng)計(jì)班級各門課程的平均分7、有一個(gè)數(shù)組,內(nèi)放10個(gè)數(shù),編程找出其中最小的數(shù)及其下標(biāo)。8、求一個(gè)4x4矩陣的對角線元素之和。ー、選擇題:1、c語言中函數(shù)的隱含存儲類型是()autoB.staticC.externD.無存儲類型2、以下對C語言函數(shù)的有關(guān)描述中,正確的是()A.調(diào)用函數(shù)時(shí)只能把實(shí)參的值傳送給形參,形參值不能傳送給實(shí)參C函數(shù)既可以嵌套定義又可以遞歸調(diào)用C,函數(shù)必須有返回值,否則不能使用函數(shù)D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中3、C語言中函數(shù)返回值的數(shù)據(jù)類型是由()決定。A.主調(diào)函數(shù)的類型 B.定義函數(shù)時(shí)指定的類型return語句中表達(dá)式的類型D.聲明函數(shù)時(shí)的類型4、下列程序的輸出結(jié)果是()intm=l3;intfun(intx,iny){intm=3;return(x*y-m);}main(){inta=7,b=5;printf("%d”,fun(a,b)/m);}A.1 B.2 C.7 D.105.以下程序的輸出結(jié)果是()intd=l;voidfun(intn){longs;intd=5;d+=n++;printf(u%d\tw,d);}main0{inta=3;fun(a);d+=a++;printf("%d”,d);}A.8 4B.9 6 C.9 4 D.8 56、C語言中,若省略函數(shù)數(shù)據(jù)類型說明,則函數(shù)值的隱含類型是()A.voidB)intC)floatD)extern7、下面函數(shù)調(diào)用語句含有實(shí)參的個(gè)數(shù)是()。Func((expl,exp2),(exp3,exp4,exp5));A.1 B.2 C.4D.58、以下正確的函數(shù)定義形式是()。A.doublefun(intx,inty) B.doublefun(intx;inty)C.doublefun(intx,inty); D.doublefun(intx,y);二、填空題1、函數(shù)中的形參和調(diào)用時(shí)的實(shí)參都是數(shù)組名時(shí),傳遞方式為,都是變量時(shí),傳遞方式為.2、函數(shù)的形式參數(shù)的作用域?yàn)?全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名時(shí),變量優(yōu)先。3、若自定義函數(shù)要求有返回值,則應(yīng)在該函數(shù)體中有一條語句;若自定義函數(shù)要求不返回一個(gè)值,則應(yīng)在對該函數(shù)的說明時(shí)加一個(gè)類型說明符.4?下面函數(shù)要求計(jì)算兩個(gè)整數(shù)x、y之和,并通過形參z傳回該兩個(gè)整數(shù)之和的值,請?zhí)羁誥dd(intx,inty,z){=x+y;return ;}三、程序分析題1、閱讀函數(shù),寫出函數(shù)的主要功能:floatav(floata[],intn)(inti;floats;for(i=0,s=0;i<n;i++)s=s+a[i];return(s/n);)2、寫出下列程序執(zhí)行的結(jié)果。(1)intw=3;main(){intw=10;printf(H%d\nM,fun(5)*w);fun(intk)(if(k==0)returnw;return(fun(k-1)*k);)程序]結(jié)果: (2)intfun(intn)(staticintf=l;f=f+n;return(f);)main(){inti;for(i=l;i<5;i++)printf("%d”,fun(i));)程序2結(jié)果: (3)main(){intm=5;fun(m/2);printf("ml=%d,",m);fun(m=m/2);printf("m2=%d,",m);fun(m/2);printf("m3=%d",m);fun(intm){m=m<=2?5:0;returnm;)程序3結(jié)果: 四、程序設(shè)計(jì)題1.定義ー個(gè)函數(shù),求イ的ア次方.2、編ー個(gè)函數(shù),若參數(shù)y為閏年,則返回1;否則返回上3,編ー個(gè)名為countc函數(shù),要求如下:形式參數(shù):array存放字符串的字符型數(shù)組名功能: 統(tǒng)計(jì)array數(shù)組中大寫字母的數(shù)目返回值:字符串中大寫字母的數(shù)目4、編ー個(gè)名為link函數(shù),要求如下:形式參數(shù):sl[40],s2[40],s3[80]存放字符串的字符型數(shù)組功能:將數(shù)組s2連接到數(shù)組s!后存入數(shù)組S3中返回值:連接后字符串的長度編ー個(gè)函數(shù),返回ー維實(shí)型數(shù)組前n個(gè)元素的最大數(shù)、最小數(shù)和平均值.數(shù)組、n和最大數(shù)、最小數(shù)和平均值均作為函數(shù)的形式參數(shù),本函數(shù)無返回值.5、定義ー個(gè)宏,將大寫字母變成小寫字母.

第第7章指針ー、選擇題:1、設(shè)有定義"inta=3,b,*p=&a;",則下列語句中使b不為3的語句是()b=*&a;B.b=*&p;C.b=a;D.b=*p;2、設(shè)指針x指向的整型變量值為25,則printf("d\n",++*x);的輸出是()A.23A.23B.24 C.25D.263、若有說明:inti,j=7,*p=&i;則與i=j;等價(jià)的語句是()A.i=P;*p=*&j;C.i=A.i=P;4、若有說明:inta[10],*p=a;對數(shù)組元素的正確引用是()A.a[p]p[a]C.*(p+2)D.p+2A.a[p]5、下面各語句行中,能正確進(jìn)行賦字符串操作的語句是()A.chara[5]={"ABCDE”};B.chars[5]={'バ,'B'C',;D'E,);char*s;s="ABCDEF”; D.char*s;scanf(u%sw,&s);6、若有以下定義,則不能表示a數(shù)組元素的表達(dá)式是()inta[10],*p=a;A.*p B.a[10]C.*a D.a[p-a]7、若有以下定義,則值為3的表達(dá)式是()inta[]={1,2,3,4,5,6,7,8,9,10),*p=a;A.p+=2,(p++)B.p+=2,++pC.p+=2,*p++D.p+=2,++*p8、執(zhí)行語句"chara[10]={“abed”},p=a;”后,*(p+4)的值是()A."abed" B.‘d‘ C.'、〇' D.不能確定9、設(shè)有定義語句"int(*ptr)[10];M,其中ptr的是()A.10個(gè)指向整型變量的指針B,指向10個(gè)整型變量的函數(shù)指針C.ー個(gè)指向具有10個(gè)元素的ー維數(shù)組的指針D.具有10個(gè)指針元素的ー維數(shù)組10、若有以下定義,則數(shù)值為4的表達(dá)式是()intw[3][4]={{0,1},(2,4),{5,8}),(*p)[4]=w;A.*w[l]+lB.p++,?(p+1)C.w[2][2] D.p[l][1]11、若有下面的程序片段,則對數(shù)組元素的錯(cuò)誤引用是()inta[12]={0},*p[3], **pp,i;for(i=0;i<3;i++)p[i]=&a[i+4];PP=P;A.pp[0][1]B.a[10]C.p[3][1]D.*(?(p+2)+2)若有如下定義和語句,則輸出結(jié)果是()int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf(M%d,%d\n”,*p,**pp);A.10,20B.10,10C.20,10D.20,20若有以下定義和語句,則對w數(shù)組元素的非法引用是()intw[2][3], (*pw)[3];pw=w;A.*(w[0]+2) B.*pw[2]C.pw[0][0] D.?(pw[1]+2)二、填空題“*”稱為運(yùn)算符,“&”稱為運(yùn)算符。2、若兩個(gè)指針變量指向同一個(gè)數(shù)組的不同元素,可以進(jìn)行減法和運(yùn)算。3、設(shè)inta[10],*p=a;則對a⑶的引用可以是p[]和?(p)。4,若d是已定義的雙精度變量,再定義ー個(gè)指向雙精度變量d的指針變量p的語句是=5、&后跟變量名,表示該變量的,?后跟指針變量名,表示該指針變量,&后跟指針變量名,表示該指針變量的。6、設(shè)有char*a="ABCD”,則printf("%s”,a)的輸出是;而printf("%c",*a)的輸出是07、設(shè)有以下定義和語句,則?(*(P+2)+l)的值為。inta[3][2]={10,20,30,40,50,60],(*p)[2];P=a;8、以下程序的功能是從鍵盤上輸入若干字符(以回車鍵作為結(jié)束)組成一個(gè)字符串存入一個(gè)字符數(shù)組,然后輸出該字符數(shù)組中的字符串。請?zhí)羁?includeMctype.h"#include“stdio.h”main()Icharstr[81],*sptr;inti;for(i=0;i<80;i++){str[i]=getchar();if(str[i]==ヘn')break;}str[i]=;sptr=str;while(*sptr)putchar(*sptr);}三、程序分析題1、閱讀下列程序,寫出程序的輸出結(jié)果main()(char*a[6]={“AB”,“CD”,“EF”,“GH”,“IJ”,“KL”);inti;for(i=0;i<4;i++)printf(“%s”,a[i]);printf(“、パ);)2、閱讀下列程序,寫出程序的主要功能main()(inti,a[10],*p=&a[9];for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(;p>=a;p―)printf(“%d\n”,*p);}3、閱讀下列程序,寫出程序運(yùn)行的輸出結(jié)果chars[]=“ABCD”;main(){char*p;for(p=s;p<s+4;p++)printf(“%s\n”,p);)4、閱讀下列程序,寫出程序運(yùn)行的結(jié)果main()inti,b,c,a[]={1,10,-3,-21,7,13),?p-b,*p.c;b=c=1;p_b=p-C=a;for(i=0;i<6;i++)(TOC\o"1-5"\h\zif( b <= ? (a+i ) ) { b= *( a + i ) ; p.b = &a [ i ] ; }if( c >= ? (a+i ) ) { c= *( a + i ) ; p_c = &a [ i ] ; })i = *a; *a = *p-b ; *p-b=i ;i = ?(a+5) ; *(a+5 ) = *p.c ; *p.c = i ;printf(u%d,%d,%d,%d,%d,%d\n”,a[0],a[1],a[2],a[3],a[4],a[5]);)四、程序設(shè)計(jì)題1、編程序,輸入15個(gè)整數(shù)存入一維數(shù)組,再按逆序重新存放后再輸出。2、輸入一個(gè)字符串,按相反次序輸出其中的所有字符.3、輸入ー個(gè)一維整型數(shù)組,輸出其中的最大值、最小值和平均值。4、輸入3個(gè)字符串,輸出其中最大的字符串。5、輸入2個(gè)字符串,將其連接后輸出。6、輸入10個(gè)整數(shù),將其中最大數(shù)和最后ー個(gè)數(shù)交換,最小數(shù)和第1個(gè)數(shù)交換。第8章結(jié)構(gòu)體與共用體ー、選擇題:1、設(shè)有定義語句"struct{intx;inty;}d[2]={{1,3},{2,7}};w,則printf("%d\n”,d[O].y/d[O].x*d[l].x);的輸出是()A.0 B.1 C.3 D.62、設(shè)有定義語句"enumterm{my,your=4,his,her=his+10};”,則printf("%d,%d,%d,%d”,my,your,his,her);的輸出是()A.0,1,2,3B.0,4,0,10C.0,4,5,15D.1,4,5,153、以下對枚舉類型名的定義中正確的是()TOC\o"1-5"\h\zenum a = { one ,two, three };enum a { al, a2 , a3 };enum a = { T, 2 , t3, );enum a { “one” ,“two” , “three”);4、若有如下定義,則printf("%d\n”,sizeof(them));的輸出是()typedefunion{longx[2];inty[4];charz[8];)MYTYPE;MYTYPEthem;A.32 B.16 C.8 D.245、若有如下說明和定義,typedefunion{longi;intk[5];charc;}DATE;structdate{intcat;DATEcow;doubledog;}too;DATEmax;則下列語句的執(zhí)行結(jié)果是()printf("%d”,sizeof(structdate)+sizeof(max));A.26 B.30 C.18 D.86、根據(jù)下面的定義,能打印出字母M的語句是()structperson{charname[9];intage;}structpersonc[10]={“John”,17,“Pauド,17,“Mary”,18,“Adam”,16};A.printf(“%c”,c[3].name);B.printf(“%c”,c[3].name[1]);C.printf(“%c”,c[2].name[1]);D.printf(“%c”,c[2].name[0]);7、設(shè)有如下定義,則對data中的成員a的正確引用是()structsk{inta;floatb;}data,*p=&data;A.(*p).data,aB.(*p).aC.p->data,aD.p.data,a二、程序分析題1,閱讀程序,寫出運(yùn)行結(jié)果(字符〇的ASCH碼為16進(jìn)制的30)main()(union{charc;chari[4];}z;z.i[0]=0x39; z.i[1]=0x36;printf(“%c\n”,z.c);)2、閱讀程序,寫出運(yùn)行結(jié)果main(){structstudentcharname[10];floatkl;floatk2;}a[2]={{“zhang",100,70),{“wang”,70,80)),*p=a;inti;printf(w\nname:%stotal=%f”,p->name,p->kl+p->k2);printf(w\nname:%stotal=%f",a[1].name,a[1].kl+a[1].k2);)三、程序設(shè)計(jì)題.設(shè)計(jì)ー個(gè)程序,用結(jié)構(gòu)類型實(shí)現(xiàn)兩個(gè)復(fù)數(shù)相加。.定義ー個(gè)結(jié)構(gòu)類型變量(包括年、月、日)實(shí)現(xiàn):輸入一個(gè)日期顯示它是該年第幾天。第9章文件ー、選擇題:1、以下要作為函數(shù)fopen中第一個(gè)參數(shù)的正確格式是:()A.c:user\text.txt B.c:\rser\text.txtC.\user\text.txt D."c:\\user\\text.txtw.若執(zhí)行fopen函數(shù)時(shí)發(fā)生錯(cuò)誤,則函數(shù)的返回值是:()A,地址值 B.0 C.1 D.EOF.若要用fopen函數(shù)時(shí)發(fā)生錯(cuò)誤,則函數(shù)的返回值是:()A."ab+" B."wb+” C.”rb+" D."ab”.若以“a+”方式打開ー個(gè)已存在的文件,則以下敘述正確的是:()A.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可作添加和讀操作。B.文件打開時(shí),原有文件內(nèi)容被刪除,位置指針移到文件開頭,可作重新寫和讀操作。C.文件打開時(shí),原有文件內(nèi)容被刪除,只可作寫操作。D,以上各種說法皆不下確。5.當(dāng)順利執(zhí)行了文件關(guān)閉操作時(shí),fclose函數(shù)的返回值是:()-1 B.TURE C.0 D.16.已知函數(shù)的高速用形式:fread(buffer,size,count,fp);其中buffer代表的是()A,一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)ー個(gè)文件指針,指向要讀的文件ー個(gè)指針,指向要讀入數(shù)據(jù)的存放地址ー個(gè)存儲區(qū),存放要讀的數(shù)據(jù)項(xiàng)fscanf函數(shù)的正確調(diào)用形式是:()fscanf(fp,格式字符串,輸也表列)fscanf(格式字符串,輸出表列,fp)fscanf(格式字符串,文件指針,輸出表列)fscanf(文件指針,格式字符串,輸入表列)fwrite函數(shù)的一般調(diào)用形式是:()A . fwrite(buffer,count,size,fp)B.fwrite(fp,size,count,buffer)C . fwrite(fp,count,size,buffer)D.fwirte(buffer,size,count,fp)fgetc函數(shù)的作用是從指定文件讀入ー個(gè)字符,該文件的打開方式必須是()A.只寫 B.追加C.讀或讀寫 D.答案B和C都正確若調(diào)用fputc函數(shù)輸出字符成功,則其返回值是:()A.EOF B.1C.0D.輸出的字符函數(shù)調(diào)用語句:fseek(fp,-20L,2);的含義是()A.將文件位置指針移到了距離文件頭20個(gè)字節(jié)處B.將文件位置指針從當(dāng)前位置向后移動(dòng)20個(gè)字節(jié)C.將文件位置指針從文件末尾處向后退20個(gè)字節(jié)D,將文件位置指針移到了距離當(dāng)前位置20個(gè)字節(jié)處利用fseek函數(shù)可以實(shí)現(xiàn)的操作是:()A,改變文件的位置指針 B.文件的順序讀寫C.文件的隨機(jī)讀寫 D.以上答案均正確Rewind,函數(shù)的作用是:()A.使位置指針重新返回文件的開頭B.將位置指針指向文件中所要求的特定位置C.使位置指針指向文件的末尾D.使位置指針自動(dòng)移至下ー個(gè)字符位置14.函數(shù)ftell(fp)作用是:()A,得到流式文件中的當(dāng)前位置B.移動(dòng)流式文件的位置指針C,初始化流式文件的位置指針D,以上答案均正確二、填空題.在C程序中,數(shù)據(jù)可以用 和 兩種代碼形式存放..函數(shù)調(diào)用語句:fgetd(buf,n,fp);從fp指向的文件中讀入 個(gè)字符放到buf字符數(shù)組中。函數(shù)值為 .Feof(fp)函數(shù)用來判斷文件是否結(jié)束,如果遇到文件結(jié)束,函數(shù)值為ーー-,否則為()綜合模擬測試題模擬試題(一)選擇題:(共40分,每題2分).若有chara;intb;floatc;doubled;則表達(dá)式a*b+d-c值的類型是()A.float B.int C.char D.double.設(shè)變量c為字符型,則以下正確判斷字符c是小寫字母的表達(dá)式是()A. ‘a(chǎn)'<=c<='z' B. ( 'a'<=c)11(c<='z')C. ('a'<=c)&& (c<=ゝ’) D. ( 'a'>=c)&&(c<=2 ).sizeof(double)的值是()A.1 B.2 C,4 D.8.若inta=-1,b=0,c=l;則表達(dá)式值為〇的是()A.a!=c B.a+cIIbC.b11aく0&&c>0 D.a<=b&&b<=c.設(shè)變量a、b和c已正確定義并賦值,則以下符合C語言語法的表達(dá)式是()A.a+=7b+c=a=7A.a+=7a=12.3%4 D.a=a+7=c+b6,在下面的條件語句中(其中SI和S2表示C語言語句),只有()一個(gè)在功能上與其他三個(gè)語句不等價(jià)A.if(a)SI;elseS2; B.if(a=0)SI;elseS2;C.if(a!=0)SI;elseS2; D.if(a==0)S2;elseSI;.語句while(!E);括號中的表達(dá)式!E等價(jià)于()A.E!=l B.E!=0C.E==lD.E==0

.有以下程序段中while循環(huán)執(zhí)行的次數(shù)是()intk=0;while(k=l)k++;A.零次 B.1次 C,死循環(huán)D.有語法錯(cuò)9.若有說明:inta[10]={0,1,2,3,4);則數(shù)組元素a[5]的值是()A.0 B.1C.4 D.5.若有定義inta[][3]={{1,2},{3,4});則數(shù)組a中共有( 各元素A.4 B.5 C.6 D.不定.下列數(shù)據(jù)中屬于“字符串常量”的是()A.ABC B."A" C.'abc' D.'a'.若調(diào)用ー個(gè)整型函數(shù),且此函數(shù)中沒有return語句,則正確的說法是()A.該函數(shù)沒有返回值B?該函數(shù)返回若干個(gè)系統(tǒng)默認(rèn)值C.返回一個(gè)不確定的值D,能返回一個(gè)用戶所希望的函數(shù)值.以下關(guān)于函數(shù)參數(shù)的說法中正確的是()A.實(shí)參和與其對應(yīng)的形參各占用獨(dú)立的存儲單元B.實(shí)參和與其對應(yīng)的形參共占用ー個(gè)存儲單元C.只有當(dāng)實(shí)參和與其對應(yīng)的形參同名時(shí)才共占用相同的存儲單元D,形參時(shí)虛擬的,不占用存儲單元.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是(A,數(shù)組的首地址 B.數(shù)組中第一個(gè)元素的值C.數(shù)組中的全部元素的值 D.數(shù)組元素的個(gè)數(shù).設(shè)變量s已定義,要若表達(dá)式s=3.14*3*3與s=PI*3*3等價(jià)(其中PI為宏名),則對P1正確的宏定義為()definePI3.14definePI3.14;definePI3.14definePI3.14;#definePI3.14#definePI3.14;#definePI3.14#definePI3.14;.設(shè)有定義:inta=3,b,*p=&a;,則下列語句中使b不為3的語句是()A.b=*&a;B.b=*p; C.b=a; D.b=p;.設(shè)有定義inta=5,*pl,*p2;且有語句:pl=&a;p2=&a;,則下面的賦值語句中,會(huì)導(dǎo)致錯(cuò)誤的是()A.a=*pl+*p2;B.p2=a;C.pl=p2;D.a=*pl*(*p2);.設(shè)有語句:inta[10],*p=a;?則下面的語句中,不正確的是()A.p=p+l; B.p[0]=*p+l;C.a[0]=a[0]+l; D.a=a+l;.若有以下說明和語句,則以下引用方式不正確的是()structworker{intno;char*name;}work,*p=&work;A.work,no B.(*p).noC.p->noD.work->no.若執(zhí)行fopen函數(shù)時(shí)發(fā)生錯(cuò)誤,則函數(shù)的返回值是()A.NULL B.1C.-1 D.地址值二.閱讀程序,寫出運(yùn)行結(jié)果:(共40分,每題4分)程序1:程序2:main()main()({intm=2345,s=0;intx=l3,y;while(m!=0)y=(x%2!=0)?1:0;{s=s+m%10;m=m/10;}printf("%d”,y);printf("%d”,s);})運(yùn)行結(jié)果為:I運(yùn)行結(jié)果為: 14程序3:程序4:

main()main(){inti,j,a=0;{ int k, s=0,for(i=0;i<2;i++)a[5]={1,2,3,4,5);for(j=0;j<=4;j++)a++;for(k=0;k<5;k++)printf("%dn,a);s=s+a[k];)printf("%d”,s);)運(yùn)行結(jié)果為: 10運(yùn)行結(jié)果為:エ 程序5:程序6:main()main(){intj,k,s=0;{charstr[]={Mla2b3c4dH};intintk,m=0;a[3][3]={1,2,3,4,5,6,7,8,9);for(k=0;str[k]!=,\0,;k++)for(k=0;k<3;k++)if (str[k]>=, &&for(j=0;j<3;j++)str[k]く='9')if(j+k==2)m++;s=s+a[k][j];printf("%d",m);printf(w%dw,s);))運(yùn)行結(jié)果為: 運(yùn)行結(jié)果為: 程序7:程序8:intfunc(intn)main(){intk;inta=5,b=9,c=7,m,*p,*q;m=a;for(k=2;k<n;inta=5,b=9,c=7,m,*p,*q;m=a;if(n%k==0)return0;

return1;p=&b;)q=&c;main()if(m<*p)m=*p;{inta=23;if(m<*q)m=*q;printf("%d%func(a));printf("%d”,m);)}運(yùn)行結(jié)果為: 運(yùn)行結(jié)果為: 程序9:程序10:intfunc(int*a,intn)intfunc(char*a,chark){intm,*p;{intn;for(p=a,m=*p;p<a+n-l;p++)for(n=0;?(a+n)!=,、〇';n++)if(*p>m)m=*p;if(*(a+n)==k)returnn;return(m);return-1;)}main()main(){ inta[ ] ={char*a="program”;[3,6,9,0,2,5,8,1,4,7);printf("%ザ,func(a,'a'));printf("%d”,func(a,10));)}運(yùn)行結(jié)果為: 運(yùn)行結(jié)果為: 三.編寫程序:(共20分).編寫程序求兩個(gè)正整數(shù)的最大公約數(shù)(6分).編寫ー個(gè)函數(shù),求n個(gè)整數(shù)中的最大數(shù)和最小數(shù),并通過形參將兩個(gè)結(jié)果傳回調(diào)用函數(shù)(7分).編寫函數(shù)實(shí)現(xiàn)對數(shù)組的前n個(gè)整數(shù)進(jìn)行排序(7分)模擬試題(二)一?選擇題:(共20分=2分xlO).有定義:inta=2,b=3,c=8;下面表達(dá)式的值不為2的是()A.c%bc/ba++ A.c%bc/ba++ D.5.8/a.能正確表示數(shù)學(xué)表達(dá)式0<x<10的C語言表達(dá)式為()A.0<x<10!(a<0)I|!(a>10)A.0<x<10(x>0)&&(x<10) D.(x>0)II(x<10).有定義:inta=l,b=3;表達(dá)式a=a+2,a+b的值是()A.1 B.3 C.4 D.6.若inta=2,b=3,x;則執(zhí)行語句if(a<b)x=a<b;elsex=a>b;后x值是()A.0 B.1 C.2 D.3.以下程序段執(zhí)行后m的值是()i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論