c語言模擬題十套附答案_第1頁
c語言模擬題十套附答案_第2頁
c語言模擬題十套附答案_第3頁
c語言模擬題十套附答案_第4頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一部分:選擇題(40分,20小題/套)概述1、下面關(guān)于C語言的敘述中,正確的是(D)A.每行只能寫一條語句 B.程序中必須包含有輸入語句main函數(shù)必須位于文件的開頭 D,每條語句最后必須有一個分號2、下面關(guān)于C語言的敘述中,錯誤的是(B)A,若一條語句較長,也可分寫在下一行上B,構(gòu)成C語言源程序的基本單位是表達(dá)式C.C語言源程序中大、小寫字母是有區(qū)別的ー個C語言源程序可由一個或多個函數(shù)組成3、關(guān)于C語言數(shù)據(jù)類型的敘述,正確的是〇A,枚舉類型不是基本類型 B,數(shù)組不是構(gòu)造類型C,變量必須先定義后使用 D,不允許使用空類型4、C程序中main函數(shù)的位置(C)A,必須在最開始 B.必須在系統(tǒng)庫函數(shù)后面C.可以在自定義函數(shù)后面 D.必須在最后5、C語言的函數(shù)體由(B)括起來A1〇B.{}C.[]D./**/6、關(guān)于C語言的敘述中,不正確的是(C)A.C程序可由一個或多個函數(shù)組成 B.C程序必須包含ー個main()函數(shù)C.C程序的基本組成單位是函數(shù) D.注釋說明只能位于一條語句的后面7、ー個程序的執(zhí)行是從(C)A.本程序的第一個函數(shù)開始,到最后ー個函數(shù)結(jié)束B.本程序的main函數(shù)開始,到main函數(shù)結(jié)束C.本程序的main函數(shù)開始,到最后ー個函數(shù)結(jié)束D.本程序的第一個函數(shù)開始,到main函數(shù)結(jié)束8、結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)是(C)A,函數(shù)結(jié)構(gòu)、分支結(jié)構(gòu)、判斷結(jié)構(gòu)B.函數(shù)結(jié)構(gòu)、嵌套結(jié)構(gòu)、平行結(jié)構(gòu)C.順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu) D.分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、嵌套結(jié)構(gòu)9、調(diào)試程序是指對程序進(jìn)行(C)A.編輯B.編譯C.查錯和排錯 D.連接10、C語言中,復(fù)合語句的構(gòu)成是將一系列語句置于(C)A.begin與end之間 B.ー對圓括號"()"之間C.ー對花括號“{}”之間D.ー對方括號“□”之間11、構(gòu)成C語言源程序的基本單位是(D)A.語句B.過程C.表達(dá)式D,函數(shù)語法基礎(chǔ)12、在C語言中,正確的用戶標(biāo)識符是(B)A.3fB._forC.structD._f.513、C語言的基本數(shù)據(jù)類型包括(A)A,整型、實型、字符型 B.整型、實型、字符型、邏輯型C,整型、字符型、邏輯型 D.整型、實型、邏輯型14、以下(D)是正確的常量A.E-5B.1E5.1C.‘a(chǎn)l2' D.32766L15、以下(D)是正確的變量名A.a.bee B.-pl1C.intD.p_l116、以下(C)是正確的字符常量A."c" B.ソダ C.'W' D."\32a”17、以下(A)是不正確的字符串常量A.'abc'B. C.‘‘〇'' D.""18、C語言的整型數(shù)據(jù)在內(nèi)存中的存儲形式是(C)A,原碼B.反碼C.補碼D.ASCII碼19、以下(B)是正確的浮點數(shù)(e后面的數(shù)必須為整數(shù)e前面必須要有數(shù)字A.e3B..62C.2e4.5D.12320、下列不屬于C語言關(guān)鍵字的是(D)A.continueB.integerC.staticD.signed21、C語言的字符型數(shù)據(jù)在內(nèi)存中的存儲形式是(D)A.原碼B.補碼C.反碼D.ASCII22、在C語言中,變量所分配的內(nèi)存空間大小是(A)A,由變量的類型決定 B.由用戶自己決定C.任意的 D.均為兩個字節(jié)23、若有定義:inta=2;則正確的賦值表達(dá)式是(A)A.a-=(a*3)B.double(-l)C,a*3D.a*4=324、語句x=(a=3,b=++a);運行后,x、a、b的值依次為()A.3,3,4B.4,4,3C.4,4,4D.3,4,325、語句a=(3/4)+3%2;運行后,a的值為(B)A.0B.1C.2D.326、以下四項中,符合C語言語法的語句是(〇注意分號A.inta+b=c; B.inta=12:b=12:c=12;C.inta=l2,b=l2,c=12; D.inta,b=12,floatc=2127、若有定義:intx,a;則語句x=(a=3,a+l);運行后,x、a的值依次為()A.3,3 B.4,4 C.4,3D.3,428、若變量已正確定義并賦值,符合C語言語法的表達(dá)式是〇A.a=8+b+c,a++B,a=3aC.int(12.3%4)D.a=a+l=c+b29、若有定義:inta,b;doublex;則以下不符合C語言語法的表達(dá)式是()A.x%(-3)B.a+=-lC.a=b=2D.x=a+b30、若有定義:intx=2,y=3;floati;則以下符合C語言語法的表達(dá)式是(B)A.x=x*3=2B.x=(y==l)C.i=float(x)(形式錯誤:正確的是:i=(float)x是將數(shù)據(jù)類型括號起來) D.i%(-3)31、若有定義:intx;則語句x=(2*3)+6%5;運行后,x的值是()A.8B.7C.6D.532、下面關(guān)于C語言變量的敘述中,錯誤的是(C)A.可以用const關(guān)鍵字定義變量 B.在C程序中,SUM和sum是不同的變量C.變量名必須由字母或下劃線組成(可是是字母和數(shù)字組合) D.變量的類型確定了變量的取值范圍33、若有定義:intx=5,y=6;則表達(dá)式x=(y==6)的值為〇A.5B.1C.6D.034、下面敘述正確的是(B)A.2/3與2.0/3.0等價 B.(inり2.0/3與2/3等價++5與6等價 D.A與,,A”等價35、下面敘述中,錯誤的是(A)A.C語言基本的算術(shù)運算符不包含模運算符“%”B,算術(shù)運算符的優(yōu)先級高于關(guān)系運算符C.自加和自減運算符的結(jié)合方向是”自右向左”C語言規(guī)定在表達(dá)式求值時,按其中運算符的優(yōu)先級先高后低的次序進(jìn)行36、下面敘述正確的是(A)A.強制類型轉(zhuǎn)換運算的優(yōu)先級髙于算術(shù)運算B.若a和b是整型變量,(a+b)++是合法的(自加自減運算只能用于簡單變量,不能用于表達(dá)式或常量)C.是不合法的 D.“A"+"B”是合法的只能字符間運算37、若有定義:inti=lj=5;則表達(dá)式(++j)*(i--)的值為(C)A.1B.OC.6 D.7(i先運算再減減,加了括號也ー樣38、設(shè)整型變量a為5,使b不為2的表達(dá)式是(C)A.b=(++a)/3B.b=6-(-a)C.b=a%2D.b=a/239、若有定義:inta=l,b=2,c=3;則語句++all++b&&++c;運行后b的值為(C)A.1B.OC.2 D.3(&&的優(yōu)先級髙于II,即先進(jìn)行++b&&++c運算,?,<<,?,&,人(異或),I優(yōu)先級依次降低 )40、若有定義:inti,j;則表達(dá)式(i=2,j=5,i++,i+j++)的值是(B)A.7 B.8 C,9 D.10(i++要算完)41、若有定義:inta,b;則表達(dá)式(a=2,b=5,a*2,b++,a+b)的值是(B)A.7 B.8 C.9 D.1042、若有定義:inti=2,j=5;則表達(dá)式(i+l,j+l,(++i+(j--))的值為(A)A.8 B.6 C.7 D.5紅字部分先算43、若已定義:inti=3,k;則語句k=(i一)+(「);運行后k的值為(C)A.4 B.5 C.6 D.7(i先運算再ー44、C語言的運算符按運算對象的個數(shù)可以分為(C)A.單目運算符一種 B.單目和雙目運算符C.單目、雙目和三目運算符 D.單目、雙目、三目和四目運算符45、若已定義:floatm;擬從鍵盤輸入135.78這?數(shù)據(jù)給變量m,則應(yīng)選用的語句是(D)A.scanf(“%5.2f”,&m); B.scanf(“%3.2ド,&m);C.scanf(4fc6.2f\&m); D.scanf("%6「',&m);46、已知doublea;使用scanf()函數(shù)輸入ー個數(shù)值給變量a,正確的函數(shù)調(diào)用是()A.scanf("%ld”,&a); B.scanf("%lド,&a);C.scanf("%c",&a); D.scanf("%u",&a);47、已知chara;使用scanf()函數(shù)輸入一個字符給變量a,不正確的函數(shù)調(diào)用是(B)A.scanf(“%d”,&a);B.scanf(“%『,&a);不可能是實數(shù)C.scanf("%c",&a);D.scanf("%u”,&a);十進(jìn)制無符號48、putchar。函數(shù)的功能是向終端輸出(B)A,多個字符 B. 4字符 C.?個實型變量值 D.一個整型變量表達(dá)式49、以下程序段運行后的輸出結(jié)果是(C)intk=ll;primf("k=%d,k=%〇,k=%x\n”,k,k,k);A.k=ll,k=13,k=c B.k=ll,k=12,k=13C.k=ll,k=13,k=b D.k=ll,k=13,k=a50、若有定義:intx=1234,y=123,z=12;貝リ語句printf(“%4d+%3d+%2d”,x,y,z);運行后的輸出結(jié)果為(D)A.123412312B.12341234123412341231231231212C.1234+1234+1234D.1234+123+1251、已有如下定義和輸入語句,inta;charcl,c2;scanf("%d%c%c”,&a,&cI,&c2);若要求a、cl、c2的值分別為10、A和B,正確的數(shù)據(jù)輸入是〇A.10ABB.10ABC.10ABD.10AB52、以下程序段的運行結(jié)果是(A)inta=0,b=0,c=0;if(a&&++b)(因為a=0又是與運算,故不進(jìn)行&&后面的運算了)C++;printf(M%d,%d\nM,b,c);A.0,0B,1,2C,2,2D,1,053、以下程序的運行結(jié)果是〇voidmain()(inta=65;charc='A';printf("%x,%d”,a,c);)A.65,a B.41,a C.65,65D.41,6554、若已定義:inta=5;floatb=63.72;以下語句中能輸出正確值的是(B)A.printf("%d%d”,a,b); B.printf(M%d%2f,,a,b);C.printf(“%2f%2ド,a,b); D.printf("%2f%d”,a,b);55、運行以下程序段時編譯出錯,其原因是(A)charcl='8',c2="2008';printf(”%c,%d\n”,cl,c2);A.c2是字符變量,只能賦以字符常量,不能賦以字符串常量B,字符串要用“2008”表示,而‘2008,不是字符串表示C.’2008’只能賦值給字符數(shù)組D,字符變量不能用%d格式輸出56、若已定義:inta=3,b=15,c;則語句c=a>b:運行后c的值為(B)A.1B.0C.tD.f57、在C語言中,判定邏輯值為“真“的最正確的敘述是(B)A,1B.非〇的數(shù)C.大于〇的數(shù) D.非0的整數(shù)58、若已定義:inta=-36,b=-30,c;則語句c=a<b;運行后c的值為(A)A.1B.tC.O D.f(有符號的比較,按負(fù)數(shù)進(jìn)行比較)59、能正確表示數(shù)學(xué)關(guān)系式800>=y>=500的C語言表達(dá)式為(A)A.(y<=800)&&(y>=500) B.(y<=800)AND(y>=500)C.800>=y>=500 D.(y<=800)&(y>=500)60、若有定義:intx=3,y=4;則表達(dá)式!xlly的值為(A)(!,算術(shù)運算符,關(guān)系運算符,&&,II,賦值運算符優(yōu)先級依次降低)注意:表達(dá)式的最后結(jié)果不是零就是ーA.1B.0C.3 D.461、若有定義:inti=7J=8;則表達(dá)式i>=jlli<j的值為()A.1B.變量i的值C.0D.變量j的值62、若希望當(dāng)a的值為奇數(shù)時,表達(dá)式的值為“真”,a的值為偶數(shù)時,表達(dá)式的值為“假“。則不能滿足要求的表達(dá)式是〇A.a%2==lB.!(a%2==0)C.!(a%2)D.a%263、若有定義:intx=3,y=4,z=5;則值為〇的表達(dá)式是()A.'x'&&yB.x<=yC.xlly+z&&y-zD.!((x<y)&&!zlll)64、若有定義:inta=5,b=2,c=l;則表達(dá)式a-b<cllb==c的值是()A.0B.1C.3D.-165、C語言中,能正確表示條件10<x<20的邏輯表達(dá)式是〇A.10<x<20 B.x>10llx<20 C.x>10&&<20 D.(x>10)&&(x<20)66、以下運算符中優(yōu)先級最低的是〇A.?B.&C.?D.I67、已知doublea=5.2;則正確的賦值表達(dá)式是(A)A.a+=a-=(a=4)*(a=3)B.a=a*3=2C.a%3 (賦值語句必須有“=w) D.a=double(-2)68、已知chara=R;則正確的賦值表達(dá)式是〇A.a=(a++)%4B.a+2=3C.a+=256-D.a='\078'69、已知inta='R';則正確的表達(dá)式是(A)A.a%10B.a=int(3e2)要將(int)C.2*a=a++D.a=a+a=a+370、設(shè)有語句floatx=3.0,y=3.0;使x值為6.0的表達(dá)式是〇A.x*=y-4B.x*=yC.x=y+4D.x+=y71、若有定義:11〇21*=3.5,訕2=8;則表達(dá)式?+2%3/4的值為()A.3o75B.3.5C.3 D.472、設(shè)有語句intx=3,y=3,a=l,b=2;表達(dá)式(x=a>b)&&(y=b>a)的值是()A.8B.1C.5 D.073、若有定義:inta=2,b=3;floatx=3.5,y=2.5;則表達(dá)式(。〇at)(a+b)/2+(int)x%(int)y的值是()A.3.5B.3.0C.2.5D.2.074、若有定義:intb=7;floata=2.5,c=4.7;則表達(dá)式a+(b/2*(inり(a+c)/2)/4的值是(B)A.2.5B.3.5C.4.5D.5.575、若有定義:inta=6,b=2;charcl='a\c2="b=則表達(dá)式a+b%5+c2-cl的值是(C)A.7 B.8C.9D,表達(dá)式錯誤76、在下列運算符中,優(yōu)先級最高的運算符是(C)A.<=B.!=C.!D.II77>設(shè)有定義:charc;floatf;inti;unsignedu;doubled;下列各表達(dá)式的類型分別是(A)l.u+9 2.d!=f&&(i+2) 3.8.2*i+cA.1.unsigned,2.int,3.double B.1.double,2.double,3.doubleC.1.int,2.double,3.char D.1.unsigned,2.double,3.int控制結(jié)構(gòu)78、以下程序段運行時,若從鍵盤輸入10,則輸出結(jié)果是(Dinta;scanf("%d”,&a);if(a++>10)(先與10比較,再a++;)printf("%d\n”,a);elseprintf("%d\n”,++a);(++a后輸出)A.2B.11C.3D.1279、以下程序的運行結(jié)果是〇voidmain()(intx,y=l,z;z=-l;if(z==0)z=-z;elsex=y>0?3:5;printf("%d\n”,x);}A.-1B.3C.1D.580>對于整型變量x,下屬if語句()與賦值語句:x=x%2==0?l:0;不等價。A.if(x%2!=0)x=0;elsex=l; B.if(x%2)x=l;elsex=0;C.if(x%2==0)x=l;elsex=0; D.if(x%2==l)x=0;elsex=l;81、以下程序段運行的結(jié)果是〇inta,b,c,x;a=b=c=0;x=15;if(!a)X-;elseif(b);if(c)x=3;elsex+=4;printf("%d\n”,x);A.15B.17C.18D.1982、若有定義:inta=l,b=2,c=3;則執(zhí)行以下程序段后a,b,c的值分別為(Dif(a<b){c=a;a=b;b=c;}(c=l,a=2,b=c=l)A.a=l,b=2,c=3 B.a=2,b=3,c=l C.a=2,b=3,c=3 D.a=2,b=l,c=l83、以下程序段運行后變量a的值為〇intx=6,y=5;inta;a=(—x==y++)?x:y+1A.OB.1C.6D.584、以下程序的運行結(jié)果是(Cvoidmain()(intn=,e,;switch(n-)(n將一直減下去,知道遇到break為止,n=e后面語句沒有,所以就輸出error,因為后面沒跟break,所以繼續(xù)向下執(zhí)行直到遇到break為止){defalut:printf("error");case'a':case'b':printf("good'');break;casee:printf("pass’');case,d':printf("wam'');)}A.errorB.goodC.errorgoodD.warn85、以下程序的運行結(jié)果是(Cvoidmain()intn='c';switch(n++)(defalut:printf("error”);case'a':case'b':printf("good'');break;case'c':printf("pass");(因為后面沒跟break,所以繼續(xù)往下執(zhí)行輸出warn)case'd':printf("wam'');})A.passB.warnC.passwarnD.error86、以下程序的運行結(jié)果是(Dvoidmain()(intn=5;if(n++>6)(n先與6比較,再n++printf("%d\n”,n);elseprintf("%d\n”,++n);(先++后輸出)A.4B.5C.6D.787、下面關(guān)于switch語句的敘述中,錯誤的是(A)case后面的表達(dá)式可以是關(guān)系表達(dá)式switch語句是多分支選擇語句C,每一個case后面的值必須互不相同,否則會出現(xiàn)矛盾的現(xiàn)象D.在執(zhí)行ー-個case分支后,可用ーbreak語句使流程跳出switch語句88、若有定義:inta=l,b=2,c=3;則以下程序段運行后c的值為(Dif(a>b)c=a*b;elsec=a-b;A.2B.0C.1D.-189、若有定義:intx;以下不會產(chǎn)生死循環(huán)的是(AA.for(;(x=getchar())!=,\n,;);B.while(l){x++;}for(i=10;;i++); D.for(;;x+=l);90、在循環(huán)語句的循環(huán)體中,break語句的作用是(DA.暫停程序的運行 B.結(jié)束本次循環(huán)C,繼續(xù)執(zhí)行break語句之后的循環(huán)體各語句D.提前結(jié)束循環(huán),接著執(zhí)行該循環(huán)后續(xù)的語句91、以下程序段運行后,循環(huán)體中的“count+=2;”語句運行的次數(shù)為(Ainti,j,count=0;for(i=l;i<=4;i++)(count+=2;printf(M%dM,count);)A.4次B.10次C.16次D.20次92、在c語言中while循環(huán)和do-while循環(huán)的主要區(qū)別是(BA.do-while循環(huán)體內(nèi)可以使用break語句,while循環(huán)體內(nèi)不能使用break語句B.do-while的循環(huán)體至少無條件執(zhí)行一次,while的循環(huán)體不是do-while循環(huán)體可以使用continue語句,while循環(huán)體內(nèi)不能使用continue語句while的循環(huán)體至少無條件執(zhí)行ー次,do-while的循環(huán)體不是93、以下程序段運行后,循環(huán)體運行的次數(shù)為(A)inti=0,x;for(;i<10;i++)x=x+i;A.10B.OC.1D,無限94、以下程序段運行后變量n的值為(Dinti=l,n=l;for(;i<3;i++) (遇到continue后直接返回驗證循環(huán)條件,不在往下執(zhí)行{continue;n=n+i;}A.4B.3C.2D.195、有以下程序:voidmain()(inti;for(i=0;i<3;i++)switch(i)(casel:printf("%d”,i);case2:printf("%d”,i);case3:printf("%d”,i);})執(zhí)行后輸出的結(jié)果是(AA.11122B.01222C.013020D.12096、以下程序的運行結(jié)果是(Cvoidmain()(intsum=0,item=0;while(item<5)item++;sum+=item;

if(sum>=6)break;(當(dāng)sum>=6時馬上跳出循環(huán),不在管item是否大于5了)printf("%d\n”,sum);)A.10B.15C.6D.797、以下程序的運行結(jié)果是(Bvoinmain(){intsum=0,item=0;while(item<5)Iitem++;if(item==2)(檢査item是否等于2,如果是則跳出循環(huán),在檢測item是否小于5,如果item不等2則進(jìn)行sum+=item運算)continue;sum+=item;)printf("%d\n”,sum);)A.10B.13C.15D.198、以下程序段執(zhí)行后變量sum的值為(Cinti,j=l,sum=0;for(i=l,i<=3,i++)Isum+=j;j++;)A.5B.3C.6 D.499、以下程序的運行結(jié)果是(D#include<studio.h>main()(inty=10;do{y-;}while(—y);printf("%d\n”,y--);B.2C.-1B.2C.-1D.0數(shù)組100、C語言中數(shù)組元素下標(biāo)的數(shù)據(jù)類型是〇A.實型常量 B,整型常量或整型表達(dá)式C.任何類型的表達(dá)式 D.字符型常量101、下列數(shù)組定義中,正確的是()A.inta[10]; B.intn=10,a[n];C.intN=10;inta[N]; D.intn;scanf(“%d”,&n);inta[n];102、若已定義:inta[13];則不能正確引用a數(shù)組的元素的是()A.a[0]B.a[10]C.a[10+3]D.a[13-5]103、若有定義:inta[3]={〇」,2};則a[l]的值為〇A.0B.1C.2D.3104、若有定義:inta[5]={l,2,3,4,5};則語句a[l]=a⑵+a[2+2]-a[3-l];運行后a[l]的值為〇A.6B.5C.1D.2105、以下合法的數(shù)組定義是(C)A.inta[]="string”; 數(shù)組類型定義錯誤 B.inta[5]={0,1,23,4,5};注意數(shù)組的存儲空間大小C.chara口={0,l,2,3,4,5}; D.chars={ttstring,,|;少了一個中括號口,chars[]=^^string,, 是正確的 大括號可以去掉,或者可以改成char*s=“string”106、若有如下程序段:chars[10];s="abcd";printf("%s\n”,s);則(A)oA1執(zhí)行時輸出:abedB.執(zhí)行時輸出:aC1執(zhí)行時輸出:ab D?編譯不通過107、下面程序段的運行結(jié)果是(C)inti=0,a[]={7,5,7,3,8,3);do{afi]+=2; 首先循環(huán)一次}while(a[++i]>5); a[l]==5所以跳出循環(huán)向下執(zhí)行for(i=0;i<6;i++)printf("%d",a[i]);A.9795105 B.9593103C.957383D.757383108、下面程序段的運行結(jié)果是(A)inti=0,a[]={1,2,3,4,5);do{a[i]+=10;}while(a[++i]>2);for(i=0;i<5;i++)printf("%d",a[i]);A.112345B.12345C.1112131415D.1112345109、西面關(guān)于數(shù)組的敘述中,正確的是(A)A,數(shù)組必須先定義,然后使用B,定義數(shù)組時,可不加類型說明符C,定義數(shù)組后,可通過賦值運算符“=”對該數(shù)組名直接賦值D.在數(shù)據(jù)類型中,數(shù)組屬于基本類型110、一下程序段的運行結(jié)果是(C)inti=0,a[]={653,7};do{a[i]++;}while(a[i]<4);for(i=0;i<4;i++)printf("%d",a[i]);A.6537B.7563C.7537D.5673111、有如下程序段:intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12);printf("%d\n",t[21[l]);則執(zhí)行該程序段后輸出結(jié)果是〇A.8B.7 C.4D.2112、以下程序段運行后s的值是(B)inta[3][3]={1,2,3,1,2,3,12,3};intij,s=l;for(i=0;i<3;i++)for(j=i;j<3;j++)s*=a[i][j];1*2*3*2*3*3A.18B.108 C.2D.12113、以下不能對二維數(shù)組arr進(jìn)行正確初始化的語句是(C)A.intan?⑵[3]={〇}; B.intarr[][3]={1,2,3,4,5};C.intarr⑵[3]={{1,2},{3,4},{5,6}};3行四列 D.intarr[2][3]={{l},{3,4,5}};114、若有定義:inta[3][4]={{l,2},{0},{1,2,3}}貝ね[1][1]的值為〇A.0B.{1,2}C.1D.3115、若有定義:inta[3][3];則表達(dá)式&a⑵ロトa[〇]的值為〇A.7B.8C.6D.9116^若有定義:inti=O,x=O;int2[3][3]={1,2,3,4,5,6,7,8,9};則以下程序段運行后ス的值為(C)for(;i<3;i++)x+=a[i][2-i]; 0+3+5+7A.0B.12C.15D.18117、若有定義inta[2][3];則對數(shù)組元素的非法引用的是(D)A.a[0][l/2]B.a[l][l]C.a[4-4][0]D.a[0][3]118、以下數(shù)組定義中,正確的是()A.inta[2][]={l,2,3,4,5}; B.inta[][2]={{0},{}};C.inta⑵⑵={{1,2},{3}}; D.inta[][]={1,2,3,4};119、若有定義inta[][3]={l,2,3,4,5,6,7,8,9);則表達(dá)式sizeof(a)/sizeof(a[0])的值為(A)a表示第一行的首地址所以內(nèi)存空間只有第一行的3*24-2

A.3B.4C.5A.3B.4C.5D.9120、以下程序段運行后s的值是(A)inta[3][3]={1,2,3,4,5,1,2,3,41;inti,j,s=l;for(i=0;i<3;i++)for(j=i+l;j<3;j++) s*=a[i][j];2*3*1A.6B.120C.24D.480121、設(shè)已定義:inta[][4]={0,0};則下列描述錯誤的是〇A,數(shù)組a的每個元素都可得到初值〇 B.二維數(shù)組a的第一維大小為1C,數(shù)組a的行數(shù)為1D.只有元素a⑼⑼和a⑼5可得到初值〇,其余元素均得不到初值0122、設(shè)已定義:charstrl[10],str2[10]=,,Fujian,,;則能將字符串"Fujian”賦給數(shù)組strl的正確語句是()A.strlゴFujian" B.strcpy(strl,str2);C.strcpy(str2,strl);D.strl=str2;123、有如下定義:charstr[3][2]={3,3,セい〇ソゼ,f};則語句:printグ%s”,str[0]);的輸出結(jié)果是(D) str[0]相當(dāng)于strA.abB.abcefC.abc\OD.abc124、設(shè)有如下數(shù)組定義:charstr[8]={"Fujian"};則分配給數(shù)組str的存儲空間是(〇字節(jié) 空格也算A.6B.7C.8D.9125>若有定義:chara[]="abcdef';charb[]="xyz";則以下程序段運行后屏幕輸出為()strcpy(a,b);printf("%c",a[2]);A.cB.zC.\0D.d126、以下程序段運行后屏幕輸出為〇chara[]="abc\Omis";printf("%d",strlen(a));A.5 B.8 C.3 D.4127、若有定義:inta=2;則語句a=strcmp("miss","miss");運行后a的值為()A.1 B.0 C,-1 D.2128、以下對C語言字符數(shù)組描述中,正確的是(C)A.nJ.以用!ength函數(shù)計算字符數(shù)組中字符串的長度 !ength函數(shù)只能計算出字符個數(shù),不計算、〇B,可以在賦值語句中通過賦值運算符”メ對字符數(shù)組整體賦值C,存放在字符數(shù)組中的字符串,以へ0,作為該字符串結(jié)束標(biāo)志D,字符數(shù)組只能存放字符串,不能存放字符129、以下程序段運行后屏幕輸出為(A)charstr[80];strcpy(str,"hello”);printf(',%d,,,strlen(str));A.5B.6C.7D.80130、若有定義:charstrl[6]=,,abcdmH,*ps,*str2=,,abcdef,;W,J(B)是正確的A.strcpy(strl,str2);strl的存儲空間小于str2 B,表達(dá)式strcmp(strl,st⑵的值大于〇C.strl=str2; D,表達(dá)式strlen(strl)的值為6應(yīng)該為5131、已有定義:charstrl[15]={“u又versity”}>str2[15];則以下語句中正確的是(D)A.str2=strl;B.str2ゴcollege”;要改成str[]str是ー個地址常量scanf(u%sM,&str2);字符串不用加& D.printf(u%s^strl);132、設(shè)已定義:charsl[20]=,,Youare”,s2[9]="welcome!”;若要形成字符串"Youarewelcome!,9,正確的語句是()A.strcat(sl,s2);B.strcpy(sl,s2);C.sl+s2;D.sl&s2函數(shù)133、在C語言中,數(shù)組名作為函數(shù)調(diào)用的實參時,傳遞給形參的是〇A,數(shù)組元素的個數(shù) B.數(shù)組的第一個元素值C.數(shù)組中全部元素的值 D.數(shù)組的首地址134、以下程序的運行結(jié)果是〇intfun(intarray[4][4]){intj;for(j=0;j<4;j++)printf("%2d",array[2][j]);printf("\n");)main()(inta[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0);fun(a);}A.2005B.1004C.0120D.0450135、C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是〇A.float型B.long型C.int型D.double型136、以下程序運行后屏幕輸出為(B)#include<studio.h>intf(intx,inty)return(x+y);

)main()inta=2,b=3,c;c=f(a,b);printf(H%d+%d=%d\nゝa,b,c);)A.0B.2+3=5C.2+3=0137、以下程序運行后屏幕輸出為(D)#include<stdio.h>inta=2,b=3;intmax(inta,intb)(intc;c=a>b?a:b;retum(c);)main()(inta=4;printf('1%du,max(a,b));)A.3,2B.2C.3 D.4138、以下程序的運行結(jié)果是〇fun(inti)(inta=2;a=i++;printf("%d",a);}main()(inta=5,c=3;fun(c);printf("%d",a);}A.45B.35 C.44139、若有如下函數(shù)定義:intfun()(staticintk=0;return++k;)D.3+2=5D.D.3+2=5D.33inti;for(i=l;i<=5;i++)fun();printf(n%dn,fun());A.OB.1 C.5D.6140、下面程序的輸出結(jié)果是:()#include<stdio.h>intglobal=100;fun()(intglobal=5;return++global;}voidmain(){printf("%d\n",fun());}A.100B.101 C.5D.6141、下列關(guān)于C語言函數(shù)的描述中,正確的是(B)A,函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B,函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C,函數(shù)的定義和函數(shù)的調(diào)用都可以嵌套D,函數(shù)的定義和函數(shù)的調(diào)用都不可以嵌套142、以下程序的運行結(jié)果是〇fun(intx,inty)(intz;z=(x<y)?(x+y):(x-y);return(z);]main()(inta=10,b=6;printf("%d\n",fun(a,b));}A.4B.6C.10D.6143、以下程序運行結(jié)果是(B)voidmain()(intmin(floatx,floaty);floata=-7.9,b=-6.3;intc;注意c的數(shù)據(jù)類型負(fù)數(shù)的比較樣按數(shù)學(xué)方式進(jìn)行即(-7.9小于ー6.3 )c=min(a,b);printf("%d\n",c);}intmin(floatx,floaty){floatz;if(x>y)z=y;elsez=x;return(z);}A.-7.9 B.-7C.-6.3D.-6144、以下程序的運行結(jié)果是(C)#defineM(a,b)a*bmain() 注意括號問題〇|intx=3,y=2,sl,s2;sl=M(x+y,x-y);s2=M(x-y,x+y);printf("%d,%d\n",sl,s2);)A.-1,7B.5,5C.7,-1D.5,-5145、以下敘述中,正確的是(B)A."#definePRICE=30”定義了與30等價的符號常量PRICEB.預(yù)編譯處理命令行都必須以“が’開頭C,程序中使用帶參的宏時,參數(shù)類型要與宏定義時一致宏名無類型D.宏名只能包含大寫字母和數(shù)字字符146、以下敘述中,正確的是(A)A.宏展開不占用運行空間,只占用編譯時間B.預(yù)編譯處理命令行必須以分號結(jié)束C.ー個源程序只能有一個預(yù)編譯處理命令行D.使用帶參數(shù)的宏定義時,應(yīng)該說明每個參數(shù)的數(shù)據(jù)類型147、以下的敘述中不正確的是(C)A,宏展開不占用運行時間,只占用編譯時間 B,宏名無類型C,宏名必須用大寫字母表示 D.預(yù)處理命令行都必須以#號開始148、若有定義:#definePI3,在表達(dá)式PI*2*2的值為〇A.12B.4C.3D.不確定149、以下程序運行后,屏幕輸出為(C)#defineMIN(a,b)((a)<(b)?(a):(b))main(){intx=2,y=3,z;z=2*MIN(x,y);printf("%d",z);1A.2B.3 C.4D.6150、下列#include命令中,正確的是(D)A.#inciue[string.h]B.#include{string.h}C.#include(string.h)D.#include<string.h>151、下面程序的輸出結(jié)果是〇#include<stdio.h>#defineONE1#defineTWOONE+1#defineTHREETWO+1voidmain()(printf("%d\n",THREE-ONE);)A,產(chǎn)生錯誤 B.1C.2D.3152、以下敘述中正確的是〇A.預(yù)處理命令行必須位于C源程序的起始位置B.在C語言中,預(yù)處理命令行都以“#”開頭C,每個C程序必須在開頭包含預(yù)處理命令行:#include<stdio.h>C語言的預(yù)處理只能實現(xiàn)宏定義和條件編譯的功能153、以下程序的運行結(jié)果是〇#defineADD(x)x+xmain(){intm=l,n=2,k;k=ADD(m+n)*3;printf("%d",k);1A.9B.10C.12D.18154、下面程序的運行結(jié)果是〇#defineM10#defineS(x)x*x#defineF(x)(x*x)main()(intnl,n2;nl=1000/S(M);n2=1000/F(M);printf(n%d,%d\nn,nl,n2);)A.10,10B.1000,10C.10,1000D.1000,1000指針155、設(shè)有以下語句,則(D)是對a數(shù)組元素的不正確引用,其中〇<=310。inta[10]={0,1,2,3,4,5,6,7,8,9),*p=a;A.a[p-alB.*(&a[i])C.p[i]D.*(*(a+i))156、若有定義int*pl,*p2;則指針變量pl、p2不能進(jìn)行運算的是(C)A.<B.=C.+D.-157、以下關(guān)于指針概念的敘述中,錯誤的是(C)A.ー個指針變量只能指向同一類型的變量 B,ー個變量的地址稱為該變量的指針C.兩個同類型的指針變量可以作加減運算D.任何指針變量都可以與空指針NULL進(jìn)行比較158、以下程序段運行后?(p+3)的值為(A)chara[]=^^good^^;char*p;p=a;AJd'B.AO'C,存放'd’的地址 D.,〇'159、以下程序段運行后?(++p)的值為(C)chara[5]="work";char*p;p=a;A.lw'B.存放'w'的地址 C.,〇,D.存放'O'的地址160、若有定義:int*p,a=4;p=&a;則以下均代表地址的是(B)A.a,pB.&a,pC.&a,*pD.a,*p⑹、若有說明語句:double*p,a;則能通過scanf語而正確給輸入項讀入數(shù)據(jù)的程序段是(D)A.*p=&a;scanf("%lf',p); B.*p=&a;scanf("%lF',*p);C.p=&a,scanf("%ir',*p); D.p=&a;scanf(u%lf',p);162、若已定義:intx=12;對①int*p=&x;和②*p=x;這兩條語句的正確理解是(A)A.語句①是在對指針變量p定義時初始化,使p指向x;而語句②是將變量x的值賦給指針變量P所指向的變量B.語句①和②中的?p含義相同,都表示給指針變量賦值C.語句①是在對指針變量p定義時初始化,使p指向x;而語句②是將變量x的值賦給指針變量PD.語句①和②的執(zhí)行結(jié)果都是把變量x的地址賦給指針變量p163、下面語句正確的是(B)A.int*p;*p=20B.char*s="abcdef";printf(lt%s\n",s);C.charstr[]="abcd";str++;D.charstr口={‘a(chǎn)','b','c'};printf("%s",str);164、若有定義inta⑵[3],*p=a[0];則以下不能表示數(shù)組元素a[l]⑵的是(B)A.*(a[l]+2)B.*(p[l]+2)表示第二行第三個數(shù) C.p[5]D.*(p+5)注意:165、若已定義:inta=5,*p;且p=&a;則以下表示中不正確的是(D)A.&(*p)==&aB.*(&a)==aC.&(*p)==pD.*(p++)==a++166、若有以下程序段,其中〇<=i<4,0<=j<3,則不能正確訪問a數(shù)組元素的是()inti,j,(*p)[3];inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12);p=a;A.*(*(a+i)+j)B.p[i][j]C.(*(p+i))[j]D.p[i]+j167、以下程序段的運行結(jié)果是(B)intx[]={2,3,4,5,6,7},*p=x;inti,s=O;for(i=l;i<6;i++)s+=p[i++];printf("%d",s);A.12B.15C.25D.27168、下面程序的運行結(jié)果是(C)main()(intx=36,y=63;int*p,*q,*t;p=&x;q=&y;t=p;p=q;q=t;printf("%d,%d\n",x,y);)A.36,36B.63,63C.36,63D.63,36169、以下程序段運行后x的值為〇int昨{1,2,3,4,5,6,7};inti,x,*p;x=l;p=&a[2];for(i=0;i<3;i++)x*=*(p+i);A.不確定 B.24C.120D.60170、以下程序段運行后x的值為(B)inta[]={l,2,3},b[]={4,2,5);int*p,*q;inti,x;p=a;q=b;for(i=0;i<3;i++)if(*(p+i)==*(q+i))x=*(p+i)*2;A.2 B.4C,5D,不確定171、以下程序運行結(jié)果是(B)main()(charaロゴ1357”,*p;for(p=a;p<a+4;p++)printf("%s",p);D.7531531311C.7531A.1357B.1357357577D.7531531311C.7531172、下面程序的輸出結(jié)果是(A)#include<stdio.h>voidmain()(inti;char*s=HabcM;for(i=0;i<3;i++)printf(H%s\nH,s+i);)A.abcbecB.cbeabcC.abccbeD.aababc173、下面程序的輸出結(jié)果是(A)#include<stdio.h>voidmain()(char*str=,,12345",*ps=str+4;printf(H%c\nn,ps[-4]);}A.1B.2C.3D.錯誤174、以下程序執(zhí)行時,輸入12345V回車〉,輸出為(A)#include<stdio.h>#defineN5voidmain()(inta[Nl;int*p=a;while(p<a+N)scanf(n%d",p++);while(p>a)printf(n%dn,*(-p));A.54321B.12345C.23451D.43215.以下程序段的運行結(jié)果是(D)intx[]={2,3,4,5,6,7},*p=x;inti,s=O;for(i=l;i<6;i+=2)s+=*(p+i);printf("%d",s);A.27 B.25 C.12 D.15.以下程序運行結(jié)果(A)main()(inta[]={9,8,7,6,5,4},*p,*q,i;p=a;q=p+5;for(i=0;i<6;i++)printf("%d%d",*(p+i),*(q-i));1A.948576675849B.948576 C.495867 D.495867768594結(jié)構(gòu)體和共用體.以下程序段的運行結(jié)果(B)union(intnum;charstr[2];}s;s.num=20;s.str[O]="A';s.str[l]='\O';printf("%d",s.num);A.20 B.65C.OD.A.定義ー個結(jié)構(gòu)體變量后,該變量所占內(nèi)存大小是(C)A.結(jié)構(gòu)體中第一個成員所需內(nèi)存容量B.結(jié)構(gòu)體中最后一個成員所需內(nèi)存容量C.結(jié)構(gòu)體中各成員所需內(nèi)存容量總和D.結(jié)構(gòu)體成員中占內(nèi)存容量最大者所需的容量.設(shè)有如下定義:unionu_type(intx;floaty;doublez;charm;}a,b,c;執(zhí)行語句a.x=8;a.y=7.5;a.m=N,;b.x=9;后,共用體變量a中的值為(B)A.9 B.'N' C.7.5D.8.若有定義:structteacherintnum;charname[10];charsex;intage;floatscore;}teacher1;則變量teacherl所占用的內(nèi)存字節(jié)數(shù)是〇A.5 B.14 C.19 D.20.下列對結(jié)構(gòu)體類型變量定義不正確的是〇A.structteacher(intnum;intage;}teach1;B.struct(intnum;intage;}teachl,teach2;C.struct(intnum;intage;}teacher;structteacherteach1;D.structteacher(intnum;intage;};structteacherteach1;.若有定義:structteacher(intnum;charsex;intage;}teacherl;則下列敘述不正確的是〇A.struct是結(jié)構(gòu)體類型的關(guān)鍵字B.structteacher是用戶定義的結(jié)構(gòu)體類型C.num,sex,age都是結(jié)構(gòu)體變量teacher!的成員D.teacher1是結(jié)構(gòu)體類型名.以下程序的運行結(jié)果是()#include<stdio.h>unionUtype(inti;floatf;}u[2];voidmain()(printf(n%d\nn,sizeof(u));)A.2 B.4 C.6 D.8.以下程序的運行結(jié)果是()#include<stdio.h>unionUtype(inti;flaotf;1;struct(charch[2];inti;unionUtypeu;}a;voidmain()(printf("%d\n",sizeof(a));}A.5 B.6 C.7 D.8.以下C語言共用體類型數(shù)據(jù)的描述中,不正確的是(D)A.共用體變量占的內(nèi)存大小等于所需內(nèi)存最大的成員所占的內(nèi)存B.共用體類型可以出現(xiàn)在結(jié)構(gòu)體類型定義中C.在定義共用體變量的同時允許對第一個成員的值進(jìn)行初始化(定義對公用體變量的賦值和使用都只能是對變量的成員進(jìn)行)D.同一共用體各成員的首地址不相同 (是相同的).設(shè)有如下語句:structstudent(intnum;intage;);structstudentstu[3]={{101,I8},{102,21},{103,19}};

structstudent*p=stu;則下面表達(dá)式的值為!02的是(D)A.(p++)->num B.(p++)->age C.(*p).ageD.(*++p).num.根據(jù)下面定義,能打印出字母H的語句是(D)structstu(charname[81;intage;};structstuclass[l2]={nWang",l6,"Zhang",18,"Hon",l9,"Cheng",20};A.printf("%c\n",class[31.name); B.printf("%c\n",class[3].name[l]);C.printf("%c\n",class[2].name); D.printf("%c\n",class[2].name[0]);枚舉、自定義類型和位運算.對枚舉類型進(jìn)行定義,不正確的是(A)。A.enumb{1,2,3}; B.enuma{A,B,C};枚舉值是常量不是變量,不在程序中用賦值語句再對它賦值,只能將枚舉值賦值給變量,不能將為元素的數(shù)值賦值給變量(d=X是正確的,而d=0是錯誤的,d=(enumc)2;意思是將E賦值給d是可以的)C.enumc{D=3,E,F}; D.enumd{X=0,Y=5,Z=9};.假定已有如下變量說明和枚舉定義:charch;intj,k;enumday{sun,mon,tue,wed,thu,fri,sat};inta[sat];判斷下列語句是否符合語法規(guī)則,結(jié)果是(A)。sun=0;/*語句1*/j=mon+tue;/?語句2*/if(a[mon]>0)j++;/*語句3*/A.語句1錯誤,語句2和語句3正確 B.語句2正確,語句1和語句3錯誤C.語句3正確,語句1和語句2錯誤 D.語句1正確,語句2和語句3錯誤.設(shè)有如下定義:typedefint*INTEGER:INTEGERp,*q;則(C)是正確的敘述。A.p是int型變量 B.q是基類型為int的指針變量C.p是基類型為int的指針變量 D.程序中可用INTEGER代替int類型名.在對無符號數(shù)的位運算中,操作數(shù)左移一位相當(dāng)于()。A.操作數(shù)除以2B.操作數(shù)乘以2C.操作數(shù)除以4D.操作數(shù)乘以4.若有定義:inta=20,b=28,c;則執(zhí)行語句c=(aAb)?2;Jsc的值為()。A.2 B.5 C.32 D.92A是異或

.若有定義:inta=5,b=7,c;則執(zhí)行語句c=a&b;后c的值為()。A.12 B.2 C.6 D.5.下面程序的輸出結(jié)果為()。#include<stdio.h>voidmain()(enumWeekday{sun=7,mon=1,tue,wed,thu,fri,sat};enumWeekdayday=sat;printf(n%d\n'\day);}A.7 B.6 C.5 D.4.若有以下類型說明,敘述正確的是(C)。typedefstruct(intnum;char*name;intscore; STU是結(jié)構(gòu)體類型名}STU,*PSTU;A.STU是變量名B.PSTU是變量名C.PSTU是指向結(jié)構(gòu)體類型STU的指針類型名D.類型說明語句有錯誤.下面程序段的運行結(jié)果是()。inta=5,b=6;printf("%d",alb);A.5 B.6 C.7 D.8.若有以下類型說明,則(B)是正確的敘述。typedefunion(charstr[2];inti;}sp;A.sp是ー個共用體變量名B.sp是ー個共用體類型名C.unionsp是共用體類型名D.typedefunion是共用體類型名.定義枚舉類型的關(guān)鍵字是()。A.define B.enumC.unionD.struct文件.以下程序的功能是()。#include<stdio.h>main()FILE*fp;longintn;fp=fopen("wj.txt","rb");fseek(fp,O,SEEK_END);n=ftell(fp);fclose(fp);printf("%ld",n);}A.計算文件wj.txt的起始地址 B.計算文件wj.txt的終止地址C.計算文件wj.txt內(nèi)容的字節(jié)數(shù) D.將文件指針定位到文件末尾.設(shè)有一文本文件test.txt,其內(nèi)容為"cprogram"(不包含引號),以下程序段的運行結(jié)果是()。FILE*fp;char*str;if((fp=fopen("test.txt","r"))!=NULL)str=fgets(str,5,fp);printf("%s",str);A.cproB.cprogC.progrD.cprogram.在C語言程序中,對文件操作的一般步驟是()。A.打開文件,定義文件指針,讀寫文件,關(guān)閉文件B.定義文件指針,讀文件,寫文件,關(guān)閉文件C.定義文件指針,打開文件,讀寫文件,關(guān)閉文件D.操作文件,定義文件指針,修改文件,關(guān)閉文件.下面程序運行后的結(jié)果是()。#include<stdio.h>main()(FILE*fp;inti=10,j=20,k,n;fp=fopen("d_f.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d_f.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);1A.1020 B.1030 C.2030 D.2010.以下程序運行后,屏幕顯示writeok!,下列說法正確的是()。#include<stdio.h>main()(FILE*fp;fp=fopen(',data.txtH,,,wtM);if(fp!=NULL)(fprintf(fpJ%s\n”,"Filewritesuccessed!\nn);fclose(fp);printf('*writeok!\nM);)}A.當(dāng)前工作目錄下存在data.txt文件,其中的內(nèi)容為"writeok!"B.fclose(fp);語句的功能是打開文件C.當(dāng)前工作目錄下一定不存在data.txt文件D.當(dāng)前工作目錄下一定存在data.txt文件.以下程序運行后,屏幕顯示Fileopenerror!,則可能的原因是()。#include<stdio.h>main()(FILE*fp;charstr[256];fp=fopen("test.txt","rt");if(fp==NULL)(printf("Fileopenerror!");return;}fscanf(fp,H%sn,str);fclose(fp);}A.當(dāng)前工作目錄下有test.txt文件,但test.txt文件太小B.test.txt文件不能關(guān)閉C.當(dāng)前工作目錄下沒有test.txt文件D.當(dāng)前工作目錄下有test.txt文件,但test.txt文件太小.以下程序的可執(zhí)行文件名為cmdline.exeo#include<stdio.h>#include<stdlib.h>voidmain(intargc,char*argvfl)(if(argc!=2)(printf(nYouforgottotypeyournameoryoutypedmoreparameters\n”);exit(l);}printf(,,Hello%s\n",argv[l]);)在DOS命令行輸入:cmdlineharryv回車〉,則輸出結(jié)果是()。A.YbuforgottotypeyournameoryoutypedmoreparametersB.HelloharryC.HellocmdlineD.Hello.對下面程序正確的描述是(C)。#include<stdio.h>#include<stdlib.h>voidmain()(FILE*in,*out;if((in=fopen("infile.txt","r"))==NULL)(printf("cannotopeninfile\n");exit(O);}if((out=fopen("outfile.txt","w"))==NULL)(printf("cannotopenoutfile\n");exit(O);)while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A.程序?qū)崿F(xiàn)在屏幕上顯示磁盤文件infile.txt的內(nèi)容B.程序?qū)崿F(xiàn)將兩個磁盤文件infile.txt和outfile.txt的內(nèi)容合二為ーC.程序?qū)崿F(xiàn)將磁盤文件infile.txt復(fù)制到磁盤文件outfile.txtD.程序?qū)崿F(xiàn)將兩個磁盤文件合并在屏幕上輸出.以下敘述中正確的是(D)。A.C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)B.打開?個已有的文件進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋C.在ー個程序中當(dāng)對文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個數(shù)據(jù)D.當(dāng)對文件的寫操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失.對下面程序正確的描述是(A)。#include<stdio.h>main()(inti;FILE*fp;if((fp=fopen("test.txt","rb+"))!=NULL){i=fgetc(fp);i=i+l;}fseek(fp,O,SEEK_SET);fputc(i,fp);fclose(fp);)A.將文件中第一個字節(jié)的內(nèi)容加1并重新寫入到第一個字節(jié)B.將文件中第一個字節(jié)的內(nèi)容加1并寫入到第二個字節(jié)中C.以只讀方式打開文本文件test.txtD.以只讀方式打開二進(jìn)制文件test.dat220.若在fopen函數(shù)中使用文件的方式是"wb+”,該方式的含義是(D)。A.為讀/寫打開ー個文本文件 B.為輸出打開ー個文本文件C.為讀/寫建立一個新的文本文件 D.為讀/寫建立一個新的二進(jìn)制文件第二部分:改錯題(每小題10分,2小題/套)說明如下:⑴修改程序中每對"/**/"之間存在的錯誤;(2)不得刪改程序中的"/**/"注釋和其它代碼;(3)源程序均在考生文件夾中,務(wù)必以原文件名保存程序;(4)按alt+tab鍵,切換考試程序與TurboC!按alt+enter鍵,切換TurboC窗口大小。第1套.程序CmodyOll.c的功能是:從字符串?dāng)?shù)組strl中取出ACSI!碼值為偶數(shù)旦下標(biāo)為偶數(shù)的字符依次存放到字符串t中。例如,若strl所指的字符串為:4AZ18c?Ge9a0z!貝ijt所指的字符為:4Z8z注意:數(shù)組下標(biāo)從〇開始。.程序Cmody012.c中,函數(shù)fun(intn)的功能是:根據(jù)參數(shù)n,計算大于10的最小n個能被3整除的正整數(shù)的倒數(shù)之和。例如: CmodyOll.c #include<math.h>#include<stdio.h>#include<string.h>#include<conio.h>voidmain()(charstrl[10014200];inti,j;/**/i=0;/**/改成j=0clrscr();strcpy(strl,n4AZ18c?Ge9a0z!n);fbr(i=O;i<strlen(str1);i++)(/**/if((strl[i]%2==0)&&(i%2!=〇))/**/將!=改成==t[j]=strl[i];j++;})tu]=*\o*;printf(n\nOriginalstring:%s\nn,str1);printf(u\nResultstring:%s\nu,t);} Cmody012.c #include<string.h>#include<conio.h>#include<math.h>#include<stdio.h>#defineM50doublefun(intn)(doubley=0.0;inti,j;j=0;for(i=l;;i++)(/**/if((i<10)&&(i%3=0))/**/改為i>10(/**/y+=l/i;/**/改為y+=l,o/ij++;}if(j==n)break;}returny;)voidmain()(clrscr();printf(nfun(8)=%8.31f\nH,fun(8));}第4套.程序Cmody021.c輸出如下所示圖形:***.程序Cmody022.c的功能是求解百元買百雞問題:設(shè)ー一只公ヌQ2元、ー只母雞1元、ー只小雞0.5元。問?百元買ー百只雞,公雞、母雞、小雞數(shù)可分別為多少?有多少種分配方案? Cmody021.c #include<stdio.h>voidmain()(/**/inti;j;/**/將中間的分號去掉for(i=l;i<=5;i++)(for(j=l;j<=5-i;j++)printf(n*');1**1for(j=l;j<=5;j++)/**/j<=2*i-lprintf(n*n);printf(ヽ”);)) Cmody022.c #include<stdio.h>#include<conio.h>/**/intfun();/**/把分號去掉(inthen,cock,chicken,n=0;clrscr();for(cock=0;cock<=50;cock+=l)for(hen=0;hen<=100;hen=hen+1)(chicken=2*(100-hen-2*cock);/**/if(cock+hen+chicken=100)/**/=改為==(n++;printf("%d-->hen:%d,cock:%d,chicken:%d\n”,n,hen,cock,chicken);if(n==20)getch();))returnn;)voidmain()(intnum;num=fun();printf(M\nThereare%dsolutions.\n",num);getch();)第3套.程序Cmody031.c的功能是:從鍵盤上輸入兩個整數(shù),及ー個運算符(+、ー、*、/或%),進(jìn)行相應(yīng)的運算后輸出運算的結(jié)果。如輸入:1+2將輸出:1+2=3.程序Cmody032.c的功能是:輸出201-300之間的所有素數(shù),統(tǒng)計總個數(shù)。 Cmody031.c #include<stdio.h>#include<conio.h>voidmain()(intm,n,result,flag=O;/**/charch,/**/把逗號該分號;clrscr();printf(MInputanexpression:0);scanf(u%d%c%d",&m,&ch,&n);/**/switchch/**/switch(ch)(case,+,:result=m+n;break;case,-,:result=m-n;break;case***:result=m*n;break;case,%,:result=m%n;break;case7*:result=m/n;break;default:{printf(',Error!\n,');flag=l;}}if(!flag)printf(,,%d%c%d=%d\n",m,ch,n,result);getch();) Cmody032.c #include<stdio.h>#include<math.h>voidmain()(intnum;printf(,,\nM);num=fun();printf(M\nThetotalofprimeis%d”,num);getch();}intfun()(intm,i,k,n=0;for(m=201;m<=300;m++)(k=sqrt(m+l);for(i=2;iv=k;i++)/**/if(m/i==0)/**/什么是素數(shù)if(m%i==0)break;/**/if(i==k)/**/if(i==k+l)(printf("%-4d",m);n++;if(n%10==0)printf("\

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論