C語言程序設(shè)計練習題及答案詳細版_第1頁
C語言程序設(shè)計練習題及答案詳細版_第2頁
C語言程序設(shè)計練習題及答案詳細版_第3頁
C語言程序設(shè)計練習題及答案詳細版_第4頁
已閱讀5頁,還剩110頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章C語言初步ー、選擇題:1、C語言是在()語言的基礎(chǔ)ヒ產(chǎn)生的。A.A B.B C.D D.E2、在C語言中,每個語句必須以( )結(jié)束。A,回車符B.冒號 C.逗號 D.分號3、標識符和關(guān)鍵字間,要用()隔開。A,回車符B.冒號 C.空格 D.分號4、以下不是C語言的特點的是()A.C語言簡潔、緊湊B,能夠編制出功能復(fù)雜的程序C.C語言可以直接對硬件進行操作D.C語言移植性好5、以下不正確的C語言標識符是()=A.ABC B.abc C.a_bc D.ab.c6、以下正確的c語言標識符是()。A.%x B.a十b C.al23 D.test!7、ー個c程序的執(zhí)行是從().A.main( )函數(shù)開始,直到main( )函數(shù)結(jié)束B,第一個函數(shù)開始,直到最后ー個函數(shù)結(jié)束C.第一個語句開始,直到最后ー個語句結(jié)束D.main()函數(shù)開始,直到最后ー個函數(shù)結(jié)束8、―?個c程序是由()。ー個主程序和若干子程序組成ー個或多個函數(shù)組成C,若干過程組成D,若干子程序組成9、編輯程序的功能是()。A.建立并修改程序 B.將c源程序編譯成目標程序C.調(diào)試程序 D.命令計算機執(zhí)行指定的操作10、用C語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯誤,則系統(tǒng)將()?A.生成可執(zhí)行目標文件 B,生成目標文件C,輸岀運行結(jié)果 D,自動保存源文件下列說法中正確的是()。A.由于C源程序是高級語言程序,因此一定要在TC軟件中輸入B.由C源程序是字符流組成,因此可以作為文本文件在任何文本編輯的軟件中輸入C.由于C程序是高級語言程序,因此輸入后即可執(zhí)行D.由于C程序是高級語言程序,因此它由命令組成C語言程序的基本單位是()〇A,過程 B.函數(shù)C.子程序 D.標識符下列說法中正確的是()=A.C語言程序由主函數(shù)和0個或多個函數(shù)組成B.C語言程序由主程序和子程序組成C.C語言程序由子程序組成D.C語言程序由過程組成14、下列說法中錯誤的是()。A.主函數(shù)可以分為兩個部分:主函數(shù)說明部分和主函數(shù)體B.主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù)C.任何非主函數(shù)可以調(diào)用其他任何非主函數(shù)D.程序可以從任何非主函數(shù)開始執(zhí)行二、填空題1、C語言是ー種“",既具有的特點又具有的特點;既適合于開發(fā)又適合于編寫。2、在C語言中,輸入操作是由庫函數(shù)完成的,輸出函數(shù)是由庫函數(shù)完成的。3、C程序的基本單位是04、每個源程序有且只有一個函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。5、C語言的程序中有特殊含義的英語單詞稱為06、C語言中,標識符的定義規(guī)則是〇7、C語言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以符號作為開始標記,以符號作為結(jié)束標記。三、簡答題1、機器語言、匯編語言、高級語言各有什么特點?2、程序翻譯的方式有哪兩種?各有哪些特點?3、常見的程序設(shè)計有哪些結(jié)構(gòu)?4、什么是結(jié)構(gòu)化程序設(shè)計?5,C語言具有哪些特點?6、C語言程序具有哪些基本組成部分?7、C語言程序的書寫規(guī)則主要有哪些?8、ー個C語言應(yīng)用程序上機過程…般要經(jīng)過哪幾個步驟?簡述各步的作用。四、程序設(shè)計題.編寫ー個C語言應(yīng)用程序,其功能是顯示以下圖形。##############.編寫C語言程序,運行后輸出以下信息。歡迎進入C語言的天地!.編寫一個程序,在屏幕上輸出你的姓名。第2章數(shù)據(jù)類型、運算符與表達式ー、選擇題:1、下列數(shù)據(jù)中屬于“字符串常量’’的是()A.ABC B."ABC" C.匕be' D.'a'2、在PC機中,'\rf在內(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.0L B.7654321 C.0.07654321D.2.3456¢105、char型常量在內(nèi)存中存放的是()A.ASCII值 B.BCD碼值C,內(nèi)碼值 D,十進制代碼值6、設(shè)m,n,a,b,c,d均為〇,執(zhí)行(m=n==b)||(n=c==d)后,m,n的值是(A.0,0 B.0,1 C.1,0 D.1,17、設(shè)a為5,執(zhí)行下列語句后,b的值不為2的是()A.b=a/2 B.b=6-(-a) C.b=a%2 D.b=a>3?2:48、執(zhí)行語句‘‘x=(a=3,b=a—)后,x,a,b的值依次為()A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,29,設(shè)整形變量m,n,a,b均為1,執(zhí)行“(m=a>b)&&(n=a>=S”后m,n的值是()A.0,0B.0,1 C.1,0 D.1,110、 設(shè)有inta=3;則執(zhí)行語句a+=a*=a*a;后a的值是()A.3 B.0 C.9 D.-1211、在以下ー組運算符中,優(yōu)先級最高的運算符是()A.<= B.= C.% D.&&12、設(shè)整形變量i的值為3,則計算表達式i---i后表達式的值是()A.0 B.1 C.2 D.出錯設(shè)整形變量a,b,c均為2,則表達式a+++b+++c++的結(jié)果是()A.6 B.9 C.8 D.出錯若已定義x和y為double類型,則表達式x=l,y=x+3/2的值是()A.1 B.2 C.2.0D.2.5設(shè)a=l,b=2,c=3,d=4,則表達式a<b?a:c<d?a:d的結(jié)果是()A.4B.3 C.2 D.116、下列表達式中符合C語言語法的賦值表達式是()A.a=7+b+c=a+7 B.a=7+b++=a+7C.a=(7+b,b++,a+7) D.a=7+b,c=a+7若有chara;intb;floatc;doubled;則表達式a*b+d-c值的類型是()A.floatB.int C.char D.double表達式10!=9的值是()A.trueB.非零值 C.0 D.1二、填空題1、在內(nèi)存中存儲“A”要占用個字節(jié),存儲,A”要占用個字節(jié)。2、C語言中符號常量的定義方法是。3、定義變量的完整格式為。4、C語言中的邏輯值“真’’是用表示的,邏輯值“假’’是用表示的。5、符號常量的定義方法是?6、無符號基本整型的數(shù)據(jù)類型符為,雙精度實型數(shù)據(jù)類型符為,字符型數(shù)據(jù)類型符為.7、運算符:+、++、&&,<=中,優(yōu)先級最高的是,最低的是。8、設(shè)a=3,b=2,c=1,則a〉b的值為,a〉b:>c的值為〇9、若a=10,b=20,則表達式!a<b的值為0若intx=1,y=2;則表達式1.0+x/y的值為〇若int型變量x=y=z=5;若執(zhí)行x-=y-z后x=;若執(zhí)行x%=y+z后x=:若執(zhí)行x=(y>z)?x+2:x-2,3,2后x表述20<xv30或xV-100的C語言表達式為〇設(shè)c='w',a=l,b=2,d=-5,則表達式,x'+l>c,'y"!=c+2,-a-5*b<=d+l,b==a=2的值分別為 、 , 〇設(shè)floatx=2.5,y=4.7;inta=7;,表達式x+n%3*(int)(x+y)%2/4的值為。15、判斷變量a、b的值均不為〇的邏輯表達式為〇16、 求解賦值表達式a=(b=10)%(c=6),表達式值、a、b、c的值依次為〇17、求解逗號表達式x=a=3,6*a后,表達式值、x、a的值依次為〇18、 數(shù)學式a/(b*c)的C語言表達式。三、簡答題1、C語言主要有哪些常用的運算符,這些運算符的優(yōu)先級是怎么劃分的?2,用戶標識符在命名時,應(yīng)注意哪幾個方面?3、C語言的表達式有哪些?它跟語句有什么關(guān)系?4、C語言的數(shù)據(jù)類型有哪些?各有什么特點?

四、程序設(shè)計題1、編寫ー個程序,將大寫字母轉(zhuǎn)換為小寫字母〇2、設(shè)inti=12,j=25,k=56;,編寫程序分別輸出以ド表達式的值及輸出表達式執(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è)計ー、選擇題:.putchar函數(shù)可以向終端輸出ー個()A,整型變量表達式值 B.實型變量值C.字符串 D.字符或字符變量值.以下程序的輸出結(jié)果是()main(){printf(t4\n*sl=%15s*,/chinabeijingH);printfC4\n*s2=%-5s*"/4chi");}*s1=chinabeijingDDD* *s2=**chi**sl=chinabeijingann* *s2=chiロロ**sl=*ロロchinabeijing* *s2=ロロchi**sl=ロロロchinabeijmg* *s2=chiロロ?printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列?如果字符串長度以大于5,則輸出按方式();如果字符串長度小于5,則輸出按方式()A,從左起輸出該字串,右補空格B.按原字符長從左向右全部輸出C,右對齊輸出該字串,左補空格D.輸出錯誤信息x和y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是()scanf(^%d%s,%1e",&x,&y,&z);scanfp%2d*%d%F,&x,&y,&z);scanf("%x%d*%〇”,&x,&y);scanf^%x%o%6.2f\&x,&y,&z);.已有如ド定義和輸入語句,若要求al,a2,cl,c2的值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是():intal,a2;charcl;c2;scanfi(tt%d%c%d%c",&a,&cI,&a2,&c2);A.10Aロ20B〈CR> B.10ロAロ20ロB〈CR>C.10A20B<CR> D.10A20dB<CR>.し!有定義intx;floaty;且執(zhí)行scanf(“%3d%~&x,&y);語句時,從第一列開始輸入數(shù)據(jù)12345ロ678V回車〉,貝リx的值為(1),y的值為(2)(1)A.12345 B.123 C.45 D.345A.無定值 B.45.000000 C.678.000000 D.123.000000.已有如下定義和輸入語句,若要求al,a2,cl,c2的值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是()(注:口表示空格,<CR>表示回車)intal,a2; charcl,c2;scanfC4%d%dH,&al,&a2);scanfi(tt%c%cn,&cl,&c2);A.1020AB<CR> B.10d20<CR>AB<CR>C.10ロロ20ロロAB〈CR> D.10d20AB<CR>.有程序段和輸入數(shù)據(jù)的形式,程序中輸入語句的正確形式應(yīng)當為()main(){inta;floatf;printfi("\nlnputnumber:”);)輸入語句printff,\nf=%「a=%d\n”,f,a);}輸入的數(shù)據(jù)為4.5<CR>2<CR>A.scanfC'%d,%f',&a,&f); B.scanfC%£%d”,&f,&a);C.scanf(€t%d%f,&a,&f); D.scanf^%f%dH,&f,&a);9.閱讀以下程序,當輸入數(shù)據(jù)為:25,13,10〈CR>,正確的輸入結(jié)果為()main()(intx,y,z;scanfC%d%d%d”,&x,&y,&z);printfpx+y+z=%d\n”,x+y+z);)A.x+y+z=48B.x+y+z=35C.x+z=35D,不確定值.根據(jù)題目中已給出的數(shù)據(jù)的輸入和輸出形式,程序中輸入輸出的語句的正確內(nèi)容是()main()(intx;floaty;printfpenterx,y:”);輸入語句輸出語句輸入為:2ロ3.4輸出為:x+y=5.40scanf(t€%d,%f1,&x,&y);printf(t4\nx+y=%4.21",x+y);scan単%d%f',&x,&y);printfl(t€\nx+y=%4.2f',x+y);scanf(t<%d%f',&x,&y);printf(4fc\nx+y=%6.1f*,x+y);scanfC%d%3.l『,&x,&y);printfp\nx+產(chǎn)%4.2F,x+y);.以下說法正確的是()A.輸入項可以為一個實型常量,如scanf(n%f,,3.5);B.只有格式控制,沒有輸入項,也能正確輸入,如scanf(”a=%d,b=%d");C當輸入一個實型數(shù)據(jù)時,格式控制部分應(yīng)規(guī)定小數(shù)點后的位數(shù),如scanff%4.2口&f);D,當輸入數(shù)據(jù)時,必須指明變量的地址,如scanf(44%r,&f);.有輸入語句:scanf「a=%d,b=%d,c=%d”,&a,&b,&c);為使變量a的值為l,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)是()A.132<CR> B.1,3,2<CR>C.a=1□b=3nc=2<CR> D.a=I,b=2,c=3<CR>.已知ch是字符變量,下面正確的賦值語句是()A.ch=,123,;B.ch=Vff;C.ch=、08';D.ch=7.已知ch是字符變量,下面不正確的賦值語句是()A.ch='a+b'; B.chKO'; C.ch=7+9 D. ch=5+9;.若有以下定義,且各變量均有初值,則正確的賦值語句是()inta,b;floatx;A.a=l,b=2; B.b-H-; C. a=b=5 D. 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;printfi("\na:dec=%d,oct=%x,unsigned=%u\n,,,a,a,a);).以下程序的輸出結(jié)果為()main(){ printff*%f,%4.3f*\n”,3.14,3.15); }.以下程序的輸出結(jié)果為()

main()charc=,a*;printfi("c:dec=%d,oct=%o,hex=%x,ASCn=%c\n,,,c,c,c,c);).已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()printfT*d=%d*%3d*%-3d*\n",d,d,d);.以有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()prin氓"*d=%u*%6u*%-7u*\n",d,d,d);.以有定義floatdl=3.5,d2=?3.5;執(zhí)行以下語句后的輸出結(jié)果是()printfC*d1=%f*%.4f*%10.4f*\n,dl,dl,dl);printfC*d2=%f*%.6f*%-12.5f*\n”,d2,d2,d2);.以下程序輸出結(jié)果為()main()intx=l,y=2;printfi(',x=%dy=%d*sum*=%d\nH,x,y,x+y);print]”10squaredis:%d\nM,10*10);.以下程序的輸出結(jié)果為()main(){intx=10;floatpi=3.1416;printf("(2)%6d\n",x);printf("(4)%5.1f\n",pi);printf("(2)%6d\n",x);printf("(4)%5.1f\n",pi);printf("(6)%14.e\n",pi);printf("(8)%12g\n",pi);printfl;"(3)%f\n",56.1);printf("(5)%e\n",568.1);printf("(7)%g\n",pi);9,假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a,b中的值進行交換,請?zhí)羁?a+=( ) b=a<); a-=();.設(shè)變量a,b,c均為整型,以下語句借助中間變量t把a,b,c中的值進行交換,即:把b中的值給a,把c中的值給b,把a中的值給c.例如:交換前a=10,b=20,c=30,交換后a=20,b=30,c=10,請?zhí)羁?(); a=b; b=c; ( );.設(shè)x,y,z均為int型變量,m為!ong型變量,則在16位機上執(zhí)行下面賦值語句后,y=( ),z=( ),m=().y=(x=32767,x-l); z=m=0xfffif;.如有intx;則執(zhí)行下面語句后x值是()x=7; x+=x-=x+x;.若有inta,b;則以下語句的功能是()a+=b; b=a-b; a-=b;.在scanf函數(shù)調(diào)用語句中,可以在格式字符和%之間加一星號,它的作用是();當輸入以下數(shù)據(jù):10_20__30_40<CR>,下面語句的執(zhí)行結(jié)果是()intaI,a2,a3; scanf(H%d%d*%d%dH,&al,&a2,&3);.若有以下定義和語句,為使變量cl的到字符A,變量c2得到字符B正確的格式輸入形式是()charcl,c2; scanR"%4c%4c”,&cI,&c2);.執(zhí)行以下程序時,若從第一列開始輸入數(shù)據(jù),為使變量a=3,b=7,x=8.5,y=71.82,clゴA',c2='",正確的數(shù)據(jù)輸入形式是()mian()|inta,b;floatx,y; charcl,c2;scanRa=%db=%d",&a,&b);scanffx=%fk%F,&x,&y);scanffcl=%cc2=%c”,&cl,&c2);printf(,,a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c,,,a,bx,y,cl,c2);)三、程序改錯題以下程序的功能是,輸入長方形的兩邊長(邊長可以取整數(shù)和實數(shù)),輸出它的面積和周長。main{inta,b,s,l;scanfC%d,%d”,&a,&b);s=a*b;l=a+b;printffl=%f,s=%f\n”,l);)四、程序設(shè)計題1、編寫程序,從鍵盤輸入梯形的上下底邊長度和高,計算梯形的面積。2、編寫程序,從鍵盤輸入某學生的四科成績,求出總分和平均分,找出最高分和最低分。3、編寫攝氏溫度、華氏溫度轉(zhuǎn)換程序。要求:從鍵盤輸入ー個攝氏溫度,屏幕就顯示對應(yīng)的華氏溫度,輸出取兩位小數(shù)。轉(zhuǎn)換公式:F=(C+32)x9/5第4章程序結(jié)構(gòu)ー、選擇題:1、若charc='A';則c=(c>='A'&&c<=,Z,)?(c+32):c的值是()A.'A'B.'a'C.7?A.'A'B.'a'C.7?D.'z'2、設(shè)x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為()x=y=z=1;t=-H-x||++y&&++z;A,不定值 B.2 C.1 D.03、執(zhí)行以下語句后x的值是()a=b=c=O;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A.34 B.4 C.35 D.34、下面的程序段所表示的數(shù)學函數(shù)關(guān)系是()y=-l;ify=-l;if(x!=0)if(x>0)y=1;y=-1 (x<0) ; 0 (x= 0)y=1 (x<0) ; -1 (x=0)y=0 (x<0) ; -1 (x=0)y=-1(x<0); 1(x=0):5、下列語句中,錯誤的是()A.while(x=y)5; B.while(0); D.6、循環(huán)語句fbr(x=0,y=0;(y!=123)||(xA,無限次 B,不確定次 C.4次elsey=0;1(x>0)0(x>0)1(x>0)0(x>0)dox-H-while(x=10);do2;while(a=b);<4);x++)J的循環(huán)次數(shù)為()3次7、若有整型變量i,j;則以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)為()for(i=5;i;i++)for(j=0;jv4;j++){…}A.20 B.24 C.25 D.308、假定a和b為int型變量,則執(zhí)行以下語句后b的值為()a=1;b=10;do{b-=a;a-H-;)while(b-<0);A.9 B.-2 C.-1 D.89、設(shè)x和y均為int型變量,則執(zhí)行下面的循環(huán)后y的值為()for(y=l,x=l;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.不能使用"d。語句while(條件)”的循環(huán)"do語句while(條件)”的循環(huán)必須使用“break”語句退出循環(huán)”do語句while(條件)”的循環(huán)中,當條件為非〇時結(jié)束循環(huán)”do語句while(條件)”的循環(huán)中,當條件為〇時結(jié)束循環(huán)若abed都是int類型變量且初值為〇,以下選項中不正確的賦值語句是().A.a=b=c=100;B.d++; C.c+b;D.d=(c=22)-(b++);若變量12正確定義,要將a和b中的數(shù)進行交換,下面不正確的語句是()。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;printfi(itk=%d?k=%o,k=%x,,,k,k,k);}A.k=ll,k=12,k=ll B.k=ll,k=13,k=13C.k=ll,k=013,k=0xb D.k=ll,k=13,k=b以下關(guān)于if語句的錯誤描述是()〇A.條件表達式可以是任意的表達式B.條件表達式只能是關(guān)系表達式或邏輯表達式C,條件表達式的括號不可省D.與else配對的if語句是其之前最近的未配對的if語句15、執(zhí)行了以下程序段后,x,w的值為().intx=O,y=1,z=2,w;if(x-H-)w=x;elseifi[x++&&y>=1)w=y;elseiRx++&&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){contimue;if(i=5)break;i++;}}A.1 B.10C.6 D,死循環(huán),不能確定次數(shù)17> 對于下面①,②兩個循環(huán)語句,()是正確的描述。①while。);②fbr(A.①②都是無限循環(huán) B.①是無限循環(huán),②錯誤C.①循環(huán)一次,②錯誤 D.①②皆錯誤二、填空題1、結(jié)構(gòu)化程序設(shè)計規(guī)定的三種基本結(jié)構(gòu)是結(jié)構(gòu),結(jié)構(gòu)和結(jié)構(gòu)。2、若有定義語句"inta=25,b=14,c=191,下面程序段被執(zhí)行的結(jié)果是〇if(a-H-<=25&&b—<=2&&c++)printf("***a=%d,b=%d,c=%d\nM,a,b,c);elseprintf(44###a=%d,b=%d,c=%d\n”,a,b,c);3、以下兩條if語句可合并成一條if語句為0if(a<=b)x=1;elsey=2;if(a>b)print4“****y=%d\n”,y);elseprintf)["####x=%d\n”,x);4、設(shè)i,j,k均為型變量,則執(zhí)行如下語句后,k的值為〇fbr(i=0,j=10;iv=j;i++,j-)k=i+j;5、下列程序的功能是輸入ー個正整數(shù),判斷是否為素數(shù),若為素數(shù)輸出1,否則輸出〇,填空完成程序。main()(inti,x,y;scanf(,%ゼ,&x);for(i=2;i<=x/2;i++)if( ){y=0;break;}printf("%d\n",y);三、程序分析題1、閱讀程序,寫出運行結(jié)果main()(intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!okl)x=1;elseif(ok2)x=10;elsex=-1;prints"%d\n”,x);}2、閱讀程序,寫出運行結(jié)果main(){inty=9;for(;y>0;y-)if(y%3=0){printfif—y);cintinue;})四、程序設(shè)計題1、編程序,輸入一個整數(shù),輸出其符號(若ヨ),輸出1;若W0,輸出ー1)。2、編程序,輸入三個數(shù),輸出其中最小值。3、輸入ー個正整數(shù),是否既是5又是7的整倍數(shù),若是,則輸出Yes;否則輸出Noo4、某市出租車3公里的起租價為6元,3公里以外,按1.5元/公里計費?,F(xiàn)編寫程序,要求:輸入行車里程數(shù),輸出應(yīng)付車費。5、有一分段函數(shù):{x (-5<x<0)x-1 (x=0)x+1 (0<x<10)編寫程序,要求輸入x的值后,輸出y的值。6、編程序,輸入10個整數(shù),統(tǒng)計并輸出其中正數(shù)、負數(shù)和零的個數(shù)。7、打印輸出以下圖案。

****************************1231234512345671234567898、有兩個紅球、三個黃球、四個白球,任意取四個球,其中必須有一個紅球,編程輸出所有可能的方案。9、編程統(tǒng)計從鍵盤輸入的字符中數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。第5章數(shù)組ー、選擇題:1、若有以下說明,則數(shù)值為4的表達式是()inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=4a4,d,g;A.a[g-c]B.a[4]C.a「d'-c']D.a['d'—c]2、設(shè)有定義:chars[12]={"string”};貝リprintf(“泡、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)于語句printR“%d“,a[10]);正確的說法是()。A.正確執(zhí)行并輸出10B,能夠執(zhí)行但輸出0C.語法錯誤,不能執(zhí)行 D.雖然能夠執(zhí)行,但輸出結(jié)果不確定4、下列語句中,正確的是()A.chara[3][]={'abc','1'}; B.chara[][3]={“abc”,“1”};;C.chara[3]口={匕’,“ド}; D.chara[3][]={"a","1"};5、合法的數(shù)組定義是()A.inta[]={“string”}; B.inta[5]={0,l,2,3,4,5};C.chara={"string”}; D.chara[]={0,1,2,3,4,5};6、語句"prin句("%d\n”,strien("ats\nol2\l\\"));”的輸出結(jié)果是()A.11 B.10 C.9 D.87、函數(shù)調(diào)用“strcat(strcpy(strl,str2),str3)”的功能是()A.將字符串strl復(fù)制到str2中后再連接到str3之后B,將字符串strl連接到str2之后再復(fù)制到st3之后C.將字符串str2復(fù)制到strl中后再將字符串str3連接到strl之后D.將字符串str2連接到str!之后再將字符串strl復(fù)制到str3中8、設(shè)有如下定義,則正確的敘述為()charx[]={“abcde以’};chary[]={ta','b','c','d';e',T,'g'};A.數(shù)組x和數(shù)組y等價 B.數(shù)組x的長度大于數(shù)組y的長度C.數(shù)組x和數(shù)組y長度相同D.數(shù)組x的長度大于數(shù)組y的長度9、關(guān)于數(shù)組定義,以下說法不正確的是()?A,定義數(shù)組時,可以只為其中的部分元素賦值;B,多維數(shù)組在定義時只能省略第一維的長度;C多維數(shù)組在定義時不能省略的是第一維的長度;D,局部數(shù)組在定義時也可以賦初值;10、以下程序輸出的結(jié)果是()〇voidmain()inti,k,a[10],p[3];k=5;fbr(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i-H-)p[i]=a[i*(i+l)];for(i=0;i<3;i++)k+=p[i]*2;printf(tt%d\n,,,k);A.20 B.21 C.22 D.23數(shù)組名作為參數(shù)傳遞給函數(shù),作為實在參數(shù)的數(shù)組名被子處理為()。A,該數(shù)組的長度 B.該數(shù)組元素個數(shù)C,該數(shù)組各元素的值 D.該數(shù)組的首地址二、填空題1、設(shè)有定義語句‘'inta[3][4]={{1},{2},{3}則aロ][1]的值為(),a[2][l]的值為()2、若在程序中用到putcharい函數(shù)時,應(yīng)在程序開頭寫上包含命令(),若在程序中用到strlen()函數(shù)時,應(yīng)在程序開頭寫上包含命令3、下面程序的功能是輸岀a數(shù)組中最大元素的下標,請?zhí)羁?。main()(intk,p;inta[]={l,-9,7,2,-10,3);for(p=0,k=p;p<6;p++)if(a[p]>a[k]) printfT%d\n",k);4、下面程序的功能是將一個字符串str的內(nèi)容顛倒過來,請?zhí)羁铡?include"string.h"main()(inti,j,k;charstr[]={ヵ234567”};for(){k=str[i];str[i]=str[j];str[j]=k;}}三、程序分析題1、閱讀程序,寫出運行結(jié)果:main(){staticinta[][3]={9,7,5,34,2,4,6,8};inti,j,si=0,s2=0;fbr(i=0;i<3;i++)for(j=0;j<3;j++)(if(i==j)si=sl+a[i]|j];if(i+j=2)s2=s2+a[i][j];}print”"%d,%d\nM,si,s2);)2、說明下列程序的功能。main(){inti,j;floata[3][3],b[3][3],x;fbr(i=0;i<3;i-H-)fbr(j=0;j<3{ scanf(“%F,&x);a[i][j]=x;}fbr(i=0;i<3;i++)for(j=0;j<3;j++)b[j][i]=a[i][j];fbr(i=0;i<3;i++){printfCW");for(j=0;j<3;j++)printfC%fM,b[i][j]);)3、寫出下列程序的運行結(jié)果。main()(chara[ ;inti,j,k;fbr(i=0;i<5;i++){prin提“\n");for(j=O;j<i;j++)printf(“%c",'');for(k=O;k<i;k++)printf("%c",a[k]);四、程序設(shè)計題1、編程序,輸入單精度型ー維數(shù)組a[10],計算并輸出a數(shù)組中所有元素的平均值。2、編程序,輸入10個整數(shù)存入一維數(shù)組,再按逆序重新存放后再輸出。3、編程序,輸入兩個字符串(<40個字符),連接后輸岀(要求:不能使用系統(tǒng)提供的函數(shù))4、輸入一個字符串,將其中的所有大寫字母轉(zhuǎn)化為小寫字母,將所有小寫字母轉(zhuǎn)化為大寫字母,然后輸出。5、編程序,輸入ー個整型數(shù)據(jù),輸出各位數(shù)字之和。6、編寫ー個班級成績統(tǒng)計程序,要求:(1)讀入全班學生的4門成績,并計算每個人的平均成績;(2)統(tǒng)計班級各門課程的平均分7、有一個數(shù)組,內(nèi)放10個數(shù),編程找出其中最小的數(shù)及其下標。8、求一個4x4矩陣的對角線元素之和。第6章函數(shù)ー、選擇題:1、c語言中函數(shù)的隱含存儲類型是()autoB.staticC.externD.無存儲類型2、以下對C語言函數(shù)的有關(guān)描述中,正確的是〇A.調(diào)用函數(shù)時只能把實參的值傳送給形參,形參值不能傳送給實參C函數(shù)既可以嵌套定義又可以遞歸調(diào)用C.函數(shù)必須有返回值,否則不能使用函數(shù)D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中3、C語言中函數(shù)返回值的數(shù)據(jù)類型是由()決定。A.主調(diào)函數(shù)的類型 B.定義函數(shù)時指定的類型return語句中表達式的類型 D.聲明函數(shù)時的類型4、下列程序的輸出結(jié)果是()intm=13;intfun(intx,iny){intm=3;return(x*y-m);main(){inta=7,b=5;printfT%d\ftm(a,b)/m);}A.1 B.2 C.7 D.105、以下程序的輸出結(jié)果是()intd=l;voidfun(intn){longs;intd=5;d+=n-H-;printf("%d\t”,d);)main(){inta=3;fun(a);d+=a++;printfC%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ù)是()〇Func((expI,exp2),(exp3,exp4,cxp5));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ù)組名時,傳遞方式為,都是變量時,傳遞方式為。2、函數(shù)的形式參數(shù)的作用域為,全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名時,變量優(yōu)先。3、若自定義函數(shù)要求有返回值,則應(yīng)在該函數(shù)體中有一條語句;若自定義函數(shù)要求不返回一個值,則應(yīng)在對該函數(shù)的說明時加一個類型說明符〇4、下面函數(shù)要求計算兩個整數(shù)xヽy之和,并通過形參z傳回該兩個整數(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-H-)s=s+a[i];return(s/n);)2、寫出下列程序執(zhí)行的結(jié)果。intw=3;main(){intw=10;printf(H%d\nM,fun(5)*w);}fun(intk){ifi(k=O)returnw;retum(fiin(k-1)*k);}程序]結(jié)果: intfun(intn){staticintf=l;f=f4-n;return(f);)main(){inti;for(i=l;i<5;i++)pri!旗"%d”,fiin(i));}程序2結(jié)果: 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è)計題1、定義ー個函數(shù),求x的y次方。2、編一個函數(shù),若參數(shù)y為閏年,則返回1;否則返回〇。3、編ー個名為countc函數(shù),要求如下:形式參數(shù):array存放字符串的字符型數(shù)組名功能: 統(tǒng)計array數(shù)組中大寫字母的數(shù)目返回值: 字符串中大寫字母的數(shù)目4、編ー個名為link函數(shù),要求如下:形式參數(shù):sl[40],s2[40],s3[8O]存放字符串的字符型數(shù)組功能: 將數(shù)組s2連接到數(shù)組s!后存入數(shù)組S3中返回值:連接后字符串的長度編ー個函數(shù),返回ー維實型數(shù)組前n個元素的最大數(shù)、最小數(shù)和平均值。數(shù)組、n和最大數(shù)、最小數(shù)和平均值均作為函數(shù)的形式參數(shù),木函數(shù)無返回值。5、定義一個宏,將大寫字母變成小寫字母。第7章指針ー、選擇題:1、設(shè)有定義‘'inta=3,b,*p=&a;",則下列語句中使b不為3的語句是()A.b=*&a;B.b=*&p;C.b=a;D.b=*p;2、設(shè)指針x指向的整型變量值為25,貝リprint出"%d\n”,++*x);的輸出是()A.23 B.24 C.25D.263、若有說明:inti,j=7,*p=&i;則與i=j;等價的語句是()A.i=p; B.*p=*&j;C.i=&j;D.i=**p;4、若有說明:inta[10],*p=a;對數(shù)組元素的正確引用是()A.a[p] B.p[a]C.*(p+2)D.p+25、下面各語句行中,能正確進行賦字符串操作的語句是()A.chara[5]={uABCDE"};B.chars[5]={'A','B','C',;D','E'};C.char*s;s="ABCDEF”; D.char*s;scan出“%s”,&s);6、若有以下定義,則不能表示a數(shù)組元素的表達式是()inta[10],*p=a;A.*p B.a[10]C.*a D.a[p-a]7、若有以下定義,則值為3的表達式是()inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;A.p+=2,(p++) B.p+=2,++p C.p+=2,*p++D.p+=2,++*p8、執(zhí)行語句‘'chara[10]={“abed”},p=a;"后,*(p+4)的值是()A."abed" B.'d' C.'\0' D,不能確定9、設(shè)有定義語句"int(*ptr)U0];",其中ptr的是()A.10個指向整型變量的指針B,指向10個整型變量的函數(shù)指針C.ー個指向具有10個元素的一維數(shù)組的指針D.具有10個指針元素的ー維數(shù)組10、 若有以下定義,則數(shù)值為4的表達式是()intw[3][4]={{0,1},(2,4),{5,8}},(*p)[4]=w;A.*w[l]+lB.p++,*(p+l) C.w[2][2]D.p[l][l]11、若有下面的程序片段,則對數(shù)組元素的錯誤引用是()inta(J2]={0},*p[3],**pp,i;for(i=0;i<3;i-H-)p[i]=&a[i+4];PP=P;A.pp[O][l]B.a[10]C.p[3][l]D.*(*(p+2)+2)12、若有如下定義和語句,則輸出結(jié)果是()int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printfC%d,%d\n,9,*p,**pp);A.10,20B.10,10C.20,10D.20,2013、若有以下定義和語句,則對w數(shù)組元素的非法引用是()intw[2][3],(*pw)[3];pw=w;A.*(w[0]+2) B.*pw[2]C.pw[0][0] D.*(pw[1]+2)二、填空題1、“*”稱為運算符,“&”稱為運算符。2、若兩個指針變量指向同一個數(shù)組的不同元素,可以進行減法和運算。3、設(shè)inta[10],*p=a;則對a[3]的引用可以是p[ ]和?(p)〇4、若d是已定義的雙精度變量,再定義ー個指向雙精度變量d的指針變量p的語句是〇5、&后跟變量名,表示該變量的,?后跟指針變量名,表示該指針變量 ,&后跟指針變量名,表示該指針變量的〇6、設(shè)有char*a="ABCD”,則primf("%s”,a)的輸出是;而printf(“%c”,*a)的輸出是〇7、設(shè)有以下定義和語句,則?(*(p+2)+l)的值為0inta[3][2]={10,20,30,40,50,60},(*p)[2];P=a;8、以下程序的功能是從鍵盤上輸入若干字符(以回車鍵作為結(jié)束)組成一個字符串存入一個字符數(shù)組,然后輸出該字符數(shù)組中的字符串。請?zhí)羁?include"ctype.h"#include"stdio.h"main(){charstr[81],*sptr;inti;fbr(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”,"LT,“KL”};inti;fbr(i=0;i<4;i++)printf(€4%sM,a[i]);printf("\n”);}2、閱讀下列程序,寫出程序的主要功能main(){inti,a[10],*p=&a[9];fbr(i=0;i<10;i-H-)scanf("%d”,&a[i]);fbr(;p>=a;p-)printf(4t%d\n,,,*p);}3、閱讀下列程序,寫出程序運行的輸出結(jié)果chars[]="ABCD”;main()(char*p;for(p=s;p<s+4;p-H-)printf("%s\n”,p);4、閱讀下列程序,寫出程序運行的結(jié)果main()inti,b,c,a[]={1,10,-3,-21,7,13},*p_b,*p_c;b=c=1;p_b=pc=a;fbr(i=0;i<6;i-H-)(if(b<=*(a+i)){b=*(a+i);p_b=&a[i];}if(c>=*(a+i)){c=*(a+i);pc=&a[i];}|i=*a;*a=*p_b;*p_b=i;i=*(a+5);*(a+5)=*p_c;*p_c=i;printf("%d,%d,%d,%d,%d,%d\n”,a[0],a[l],a[2],a[3],a[4],a[5]);四、程序設(shè)計題1、編程序,輸入15個整數(shù)存入一維數(shù)組,再按逆序重新存放后再輸出。2、輸入一個字符串,按相反次序輸出其中的所有字符。3、輸入ー個ー維整型數(shù)組,輸出其中的最大值、最小值和平均值。4、輸入3個字符串,輸出其中最大的字符串。5、輸入2個字符串,將其連接后輸出。6、輸入10個整數(shù),將其中最大數(shù)和最后ー個數(shù)交換,最小數(shù)和第1個數(shù)交換。第8章結(jié)構(gòu)體與共用體ー、選擇題:1、設(shè)有定義語句‘'struct{intx;inty;}d[2]={{1,3},{2,7}};”,則prints"%d\n",d[0].y/d[0].x?d[1].x);的輸出是()A.0 B.1 C.3 D.62、設(shè)有定義語句‘'enumterm{my,your=4,his,her=his+10};",則print出"%d,%d,%d,%d",my,your,his,her);的輸出是()A.0,1,2,3 B.0,4,0,10C.0,4,5,15D.1,4,5,153、以下對枚舉類型名的定義中正確的是()enuma={one,two,three};enuma{al,a2,a3};enuma={ J2'J3'};enuma{“one”,“two”,“three"};4、若有如下定義,則print耳“%d\n",sizeoRthem));的輸出是()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,“Paid",17,“Mary",18,“Adam”,16};A.printfif“%c",c[3].name);B.printfif“%c",c[3].name[l]);C.prints“%c",c[2].name[l]);D.printR“%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、閱讀程序,寫出運行結(jié)果(字符〇的ASCH碼為16進制的30)main()union{charc;chari[4];}z;z.i[0]=0x39;z.i[l]=0x36;prints"%c\n",z.c);)2、閱讀程序,寫出運行結(jié)果main(){structstudent(charname[10];floatk1;floatk2;}a[2]={{"zhang",100,70},{“wang”,70,80}},*p=a;inti;printf("\nname:%stotal=%f”,p->name,p->kl+p->k2);printffヽmame:%stotal=%f",a[I].namc,a[1].k1+a[1].k2);)三、程序設(shè)計題.設(shè)計ー個程序,用結(jié)構(gòu)類型實現(xiàn)兩個復(fù)數(shù)相加。.定義ー個結(jié)構(gòu)類型變量(包括年、月、日)實現(xiàn):輸入一個日期顯示它是該年第幾天。第9章文件ー、選擇題:1、以下要作為函數(shù)fopen中第一個參數(shù)的正確格式是:()A.c:user\text.txt B.c:\rser\text.txtC.\user\text.txt D.''c:\\user\\text.txt”.若執(zhí)行fbpen函數(shù)時發(fā)生錯誤,則函數(shù)的返回值是:()A,地址值 B.0C.1 D.EOF.若要用fbpen函數(shù)時發(fā)生錯誤,則函數(shù)的返回值是:()A."ab+"B."wb+"C."rb+"D."ab”.若以“a+”方式打開ー個已存在的文件,則以下敘述正確的是:()A.文件打開時,原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可作添加和讀操作。B.文件打開時,原有文件內(nèi)容被刪除,位置指針移到文件開頭,可作重新寫和讀操作。C.文件打開時,原有文件內(nèi)容被刪除,只可作寫操作。D,以上各種說法皆不下確。.當順利執(zhí)行了文件關(guān)閉操作時,fclose函數(shù)的返回值是:()A.-1 B.TURE C.0 D.1.已知函數(shù)的高速用形式:fread(buflfer,size,count,巾);其中buffer代表的是()一個整型變量,代表要讀入的數(shù)據(jù)項總數(shù)一個文件指針,指向要讀的文件ー個指針,指向要讀入數(shù)據(jù)的存放地址ー個存儲區(qū),存放要讀的數(shù)據(jù)項.fscanf函數(shù)的正確調(diào)用形式是:()fscanf(用,格式字符串,輸也表列)fscanル格式字符串,輸出表列,fp)fscanf(格式字符串,文件指針,輸出表列)fscanf(文件指針,格式字符串,輸入表列).fXvrite函數(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ù)的作用是從指定文件讀入一個字符,該文件的打開方式必須是()A.只寫 B.追加C.讀或讀寫 D.答案B和C都正確.若調(diào)用ガutc函數(shù)輸出字符成功,則其返回值是:()A.EOF B.1 C.0D.輸岀的字符.函數(shù)調(diào)用語句:fseek(小,-20L,2);的含義是()A.將文件位置指針移到了距離文件頭20個字節(jié)處B.將文件位置指針從當前位置向后移動20個字節(jié)C.將文件位置指針從文件末尾處向后退20個字節(jié)D.將文件位置指針移到了距離當前位置20個字節(jié)處.利用fseek函數(shù)可以實現(xiàn)的操作是:()A.改變文件的位置指針 B.文件的順序讀寫C.文件的隨機讀寫 D,以上答案均正確.Rewind,函數(shù)的作用是:()A.使位置指針重新返回文件的開頭B.將位置指針指向文件中所要求的特定位置C.使位置指針指向文件的末尾D.使位置指針自動移至下ー個字符位置.函數(shù)他11(巾)作用是:()A.得到流式文件中的當前位置B,移動流式文件的位置指針C,初始化流式文件的位置指針 D.以上答案均正確—、填空題.在C程序中,數(shù)據(jù)可以用和兩種代碼形式存放。.函數(shù)調(diào)用語句:figetd(buf,n而);從中指向的文件中讀入個字符放到buf字符數(shù)組中。函數(shù)值為.Feof(m)函數(shù)用來判斷文件是否結(jié)束,如果遇到文件結(jié)束,函數(shù)值為,否則為()第四部分綜合模擬測試題模擬試題(一)選擇題:(共40分,每題2分).若有chara;intb;floatc:doubled:則表達式a*b+d-c值的類型是()A.float B.int C.char D.double.設(shè)變量c為字符型,則以下正確判斷字符c是小寫字母的表達式是()A.4a,<=c<='z' B.('a'v=c)||(c<=*z,)C.('a'v=c)&&(cv='z') D.('a'>=c)&&(cv='z').sizeof(double)的值是()A.1 B.2 C.4 D.8.若inta=?l,b=0,c=l;則表達式值為〇的是()A.a!=c B.a+c||bC.b||a<0&&c>0 D.a<=b&&b<=c.設(shè)變量a、b和c已正確定義并賦值,則以下符合C語言語法的表達式是()A.a+=7 B.b+c=a=7C.a=12.3%4 D.a=a+7=c+b6,在下面的條件語句中(其中SI和S2表示C語言語句),只有()一個在功能上與其他三個語句不等價A.if(a)Sl:elseS2; B.if(a==0)Sl;elseS2;C.if(a!=0)Sl;elseS2; D.if(a==0)S2;elseSI;.語句while(!E);括號中的表達式!E等價于()A.E!=l B.E!=0C.E=1D.E=0.有以下程序段中while循環(huán)執(zhí)行的次數(shù)是()intk=0;while(k=l)k++:A.零次 B.1次 C.死循環(huán)D.有語法錯若有說明:inta[10]={0,l,2,3,4};則數(shù)組元素a[5]的值是()

A.0B.1C.4A.0B.1C.4D.5.若有定義inta[][3]={{l,2},{3,4}};則數(shù)組a中共有( 各元素A.4 B.5 C.6 D.不定.下列數(shù)據(jù)中屬于“字符串常量’’的是()A.ABC B."A" C.'abc' D.'a'.若調(diào)用一個整型函數(shù),且此函數(shù)中沒有return語句,則正確的說法是()A.該函數(shù)沒有返回值B.該函數(shù)返回若干個系統(tǒng)默認值C.返回一個不確定的值D.能返回一個用戶所希望的函數(shù)值.以下關(guān)于函數(shù)參數(shù)的說法中正確的是()A.實參和與其對應(yīng)的形參各占用獨立的存儲單元B.實參和與其對應(yīng)的形參共占用ー個存儲單元C,只有當實參和與其對應(yīng)的形參同名時才共占用相同的存儲單元D.形參時虛擬的,不占用存儲單元.若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是(A.數(shù)組的首地址 B.數(shù)組中第一個元素的值C,數(shù)組中的全部元素的值 D.數(shù)組元素的個數(shù).設(shè)變量s已定義,要若表達式s=3.14*3*3與s=Pl*3*3等價(其中P1為宏名),則對P1正確的宏定義為()A.definePI3.14 B.definePI3.14;C.#definePI3.14 D.#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;,則下面的賦值語句中,會導(dǎo)致錯誤的是()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ù)時發(fā)生錯誤,則函數(shù)的返回值是()A.NULL B.1C.-1 D.地址值二.閱讀程序,寫出運行結(jié)果:(共40分,每題4分)程序1:程序1:main()(intx=13,y;y=(x%2!=0)?l:0;printfT%d”,y);}運行結(jié)果為:程序3:main(){inti,j,a=0;for(i=0;i<2;i-H-)for(j=0;j<=4;j-H-)a-H-;printff%d”,a);}運行結(jié)果為:程序5:main(){intj,k,s=0;inta[3][3]={1,23,4,5,6,7,8,9};for(k=0;k<3;k-H-)Mj=o;j<3;j++)if(j+k=2)s=s+a[k][j];printf("%d”,s):)運行結(jié)果為: 程序7:intfiinc(intn)程序2:main(){intm=2345,s=0;while(m!=0){s=s+m%10;m=m/10;}printfT%d”,s);)運行結(jié)果為:.程序4:main(){intk,s=0,a[5]={1,2,3,4,5};for(k=0;k<5;k++)s=s+a[k];printfp%d”,s);運行結(jié)果為:.程序6;main(){charstr[]={Mla2b3c4dn};intk,m=0;for(k=0;str[k]!=ヘ〇';k++)if(str[k]>='0'&&str[k]<='9')m++;printf("%d",m);)運行結(jié)果為:程序8main(){intk;fbr(k=2;k<n;k++)if(n%k=0)return0;(inta=5,b=9,c=7,m,*p,*q;m=a;return1;}main(){inta=23;p=&b;q=&c;if(m<*p)m=*p;if(m<*q)m=*q;printff%d”,func(a));printf("%d”,m);/ I運行結(jié)果為: 運行結(jié)果為: 程序%intfunc(int*a,intn){intm,*p;fbr(p=a,m=*p:p<a+n-1;p-H-)if(*p>m)m=*p;return(m);程序10:intfiinc(char*a,chark){intn;for(n=0;*(a+n)!='\〇';n-H-)if(*(a+n)=k)returnn;return-1;main(){inta[]={3,6,9,0,2,5,8』,4,7};imain(){char*a="program”;printfT%d",ftinc(a,10));printf("%d",func(a,'a'));/ 1運行結(jié)果為: i運行結(jié)果為: 三.編寫程序:(共20分).編寫程序求兩個正整數(shù)的最大公約數(shù)(6分).編寫ー個函數(shù),求n個整數(shù)中的最大數(shù)和最小數(shù),并通過形參將兩個結(jié)果傳回調(diào)用函數(shù)(7分).編寫函數(shù)實現(xiàn)對數(shù)組的前n個整數(shù)進行排序(7分)模擬試題(二)--選擇題:(共20分=2分x10).有定義:inta=2,b=3,c=8:下面表達式的值不為2的是()A.c%b B.c/b C.a-H- D.5.8/a.能正確表示數(shù)學表達式OVxVIO的C語言表達式為()A.0<x<10 B.!(a<0)||!(a>10)C.(x>0)&&(x<10) D.(x>0)||(x<10).有定義:inta=l,b=3;表達式a=a+2,a+b的值是()A.1 B.3 C.4 D.64i若inta=2,b=3,x;則執(zhí)行語句if(a〈b)x=aVb;elsex=a>b:后x值是()A.0 B.1 C.2 D.3.以下程序段執(zhí)行后m的值是()intk=0,m=0;while(k=5){mH;k-H-;}A.0 B.4 C.5 D,死循環(huán).執(zhí)行循環(huán)語句for(x=0,y=0;(x!=3)&&(x<8);x-H-)y-H-;后y的值是()A.3 B.8 C.0 D,不確定7?若有說明:inti,j=7,*p=&i,*q=&j;則與i=j;不等價的語句是()A.p=q; B.*p=*q; C.*&i=*q; D.*p=*&j;8?若有說明:inta[10],*p=a:對數(shù)組元素的正確引用是()A.a[p] B.p[a] C?*(p+2) D.p+2.下面各語句行中,能正確進行字符串操作的語句是()chara[5]={"ABCDE”};chars[5]={W,,B','C',,D',t’};char*s;s="ABCDEF”;char*s;scanf(€t%s",&s);.設(shè)有如下定義,則對data中的成員a的正確引用是()structsk{inta;floatb;}data,*p=&data;A.(*p).data.a B.(*p).aC.p->data.a D.p.data.a二.閱讀程序,寫出運行結(jié)果:(共40分=4分X10)程序1:voidmain(){intx=3,y=8,z=0;if(x>10)if(y>10)z=l;elsez=-1;printf("%d”,z);)運行結(jié)果為:程序3:voidmain(){intj,s=0:for(j=lsj<=10:j++)if(j%2!=0)s=s+j;printf("%d",s);)運行結(jié)果為:程序5:voidmain(){charstr[]={"20080512"):intk,m=0;fbr(k=0;str[k]!=MT;k++)m++;printf("%d",m);}運行結(jié)果為:一程序7:voidmain(){intj,i,s=0;inta[3][3]={1,23,4,5,6,7,8,9};for(i=0;i<3;i-H-)fbr(j=O;j<3;j++)if(j<i)s=s+a[i][j];printf("%d”,s);)運行結(jié)果為:程序2:voidmain(){intm=0,s=0;while(m++<4)s=s+m;printf("%d”,m);)運行結(jié)果為:程序4;voidmain(){intk,s=0,a[8]={1,2,3,4,5,6,7,8};for(k=0;k<8;k-H-){s=s+a[k];if(k=3)break;}primf("%d”,s);運行結(jié)果為:程序6:voidmain(){inta=2,*p=&a,*q;q=p;(*q)++;print”"%d",a);)運行結(jié)果為:一程序8;intfiinc(intn,intm){intk;for(k=n;k>0;k--)if(n%k=0&&m%k==0)break;returnk;voidmain(){printf("%d",func(18,24));}運行結(jié)果為:程序9:程序10:intfunc(int*a,intn,intk)voidmain(){inti;{intm;for(i=0;i<n;i-H-)structstudentif(*(a+i)=k){intnum;returni;charname[10];return(-1);intscore;}a[2]={{1011Jzhangsan”,75},voidmain(){1012,“Lisi",81}},*p=a;{if(p->score>a[1].score)m=p->sum;inta[10]={3,6,9,0,2,5,8,1,4,7);elsem=(p+1)->sum;print”"%d”,func(a,10

溫馨提示

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

評論

0/150

提交評論