河南科技學(xué)院新科學(xué)院C語(yǔ)言試題st(九)_第1頁(yè)
河南科技學(xué)院新科學(xué)院C語(yǔ)言試題st(九)_第2頁(yè)
河南科技學(xué)院新科學(xué)院C語(yǔ)言試題st(九)_第3頁(yè)
河南科技學(xué)院新科學(xué)院C語(yǔ)言試題st(九)_第4頁(yè)
已閱讀5頁(yè),還剩121頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言試題(9)選擇題(50x2=100).一個(gè)c程序的執(zhí)行是從()?A)本程序的main函數(shù)開(kāi)始,到main函數(shù)結(jié)束B(niǎo))本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C)本程序的main函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D)本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序main函數(shù)結(jié)束.以下敘述不正確的是()oA)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B)一個(gè)C源程序必須包含一個(gè)main函數(shù)C)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面.一個(gè)C語(yǔ)言程序是由()?A)一個(gè)主程序和若干子程序組成 B)函數(shù)組成C)若干過(guò)程組成 D)若干子程序組成.若x,i,j和k都是int型變量,則執(zhí)行下面表達(dá)式后x的值為()?x=(i=4,j=16,k=32)TOC\o"1-5"\h\zA)4 B)16C)32 D)52.下列四組選項(xiàng)中,均不是C語(yǔ)言關(guān)鍵字的選項(xiàng)是()。A)defineB)getcC)includeD)whileIF char scanf gotype printf case pow.下面四個(gè)選項(xiàng)中,均是不合法的用戶(hù)標(biāo)識(shí)符的選項(xiàng)是().AB)floatC)b-aD)_123P_0laOgototempdo_AintINTTOC\o"1-5"\h\z.下面四個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是()。A)VB)、,CnO18' D)N0'N AO17' Af '101'An' V 'xab' 'xlf.下面正確的字符常量是()?A)"a"B)WOWD)".下面不正確的字符串常量是(A)'abc'B)"12'12“ C)"0" D)'M,.已知各變量的類(lèi)型說(shuō)明如下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是()oA)x%(-3) B)w+=-2C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3).以下不正確的敘述是()?A)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低B)在C程序中,APH和aph是兩個(gè)不同的變量C)若a和b類(lèi)型相同,在執(zhí)行了賦值表達(dá)式a=b后b中的值將放人a中,而b中的值不變。D)當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值。.以下符合C語(yǔ)言語(yǔ)法的賦值表達(dá)式是().A)d=9+e+f=d+9 B)d=9+e,f=d+9C)d=9+e,e++,d+9 D)d=9+e++=d+7.在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()。A)/ B)++C)1= D)%.在C語(yǔ)言中,int、char和short種類(lèi)型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)().A)由用戶(hù)自己定義 B)均為2個(gè)字節(jié)C)是任意的 D)由所用機(jī)器的機(jī)器字長(zhǎng)決定.若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是( )。A)2.5OOOOOB)2.750000C)3.5OOOOOD)0.8)0000.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+宜+i*f值的數(shù)據(jù)類(lèi)型為()。A)intB)foatC)double D)不確定.在C語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是()。A)補(bǔ)碼 B)反碼C)原碼 D)ASCH碼.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類(lèi)型為().A)nt B)noat C)double D)不確定.設(shè)有說(shuō)明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類(lèi)型為()?A)floatB)charC)intD)double.設(shè)以下變量均為int類(lèi)型,則值不等于7的表達(dá)式是().A)(x=y=6,x+y,x+l)B)(x=y=6,xny,y+1)C)(x=6,x+l,y=6,x+y)D)(y=6,y+l,x=y,x+l).printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5歹h如果字符串長(zhǎng)度大于5,則輸出按方式()?A)從左起輸出該字串,右補(bǔ)空格B)按原字符長(zhǎng)從左向右全部輸出C)右對(duì)齊輸出該字串,左補(bǔ)空格D)輸出錯(cuò)誤信息.已有定義inta=-2;和輸出語(yǔ)句:printf("%81x",a);以下正確的敘述是()?A)整型變量的輸出格式符只有%d一種B)%x是格式符的一種,它可以適用于任何一種類(lèi)型的數(shù)據(jù)C)%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%81x是錯(cuò)誤的D)%81x不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度.已有如下定義和輸入語(yǔ)句,若要求al,a2,cl,c2值分別為10,20,A和B,當(dāng)從第一列開(kāi)始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是()。intal,a2;charcl,c2;scanf(M%d%c%d%cn,&a1,&c1,&a2,&c2);A)10A20B<CR> B)10A20B<CR>C)10A20<CR> D)10A20反cR>。.已有定義intx;floaty;且執(zhí)行scanf("%3d%「,&x,&y);語(yǔ)句,若從第一列開(kāi)始輸入數(shù)據(jù)12345678(回車(chē)),則y的值為()。A)無(wú)定值 B)45.0000 C)678.000000D)123.00000.已有程序段和輸入數(shù)據(jù)的形式如下,程序中輸入語(yǔ)句的正確形式應(yīng)當(dāng)為()。main(){intajfloatfprintf(u\nlnputnumber:");輸入語(yǔ)句printf(u\nf=%f,a=%d\n,f,a);}Inputnumber:4.5 2<CR>A>canf(M%d,%f\&a,&f);B)scanf(H%f,%dM,&f,&a)C)scanf(',%d%f',&a,&f);D)scanf(n%f%dM,&f,&a);.閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為25,13,10vCR>正確的輸出結(jié)果為()。main(){intx,y,zscanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n,x+y+z);A)x+y+z=48 B)x+y+z=35C)x+z=35 D)不確定值.以下說(shuō)法正確的是()。A)輸入項(xiàng)可以為一實(shí)型常量,如scanf("%口3.5);B)只有格式控制,沒(méi)有輸入項(xiàng),也能進(jìn)行正確輸入,如scanf("a=%d,b=%d");C)當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf("%4.21&D)當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量的地址,如scanf("%F,&f);.有輸入語(yǔ)句:scanf("%d,%d,%d",&a,&b,&c);為使變量a的值為l,b為3,c為2,從鍵盤(pán)輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是().A)132(回車(chē))B)l,3,2(回車(chē))C)123(回車(chē))D)a=l,b=3,c=2(回車(chē)).已知ch是字符型變量,下面不正確的賦值語(yǔ)句是()oA)ch='a+b';B)ch=AO';C)ch='7'+'9';D)<h=5+9;.若有以下定義,則正確的賦值語(yǔ)句是()?inta,b;floatx;A)a=l,b=2, B)b++;C)a=b=5D)b=int(x);.下面正確的字符常量是().A、"c"B、7"C、"D、'k'.以下敘述不正確的是()oA,在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低B、在C程序中,MAX和max是兩個(gè)不同的變量C、若a和b類(lèi)型相同,在計(jì)算了賦值表達(dá)式a=b后,b中的值將放入a中,而b中的值不變D、從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值33.以下敘述正確的是()?A、在C程序中,每行只能寫(xiě)一條語(yǔ)句B、若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)據(jù)C、在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符D、在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都有能被準(zhǔn)確無(wú)誤地表示34.已知字母A的ASCII碼為十進(jìn)制65,且c2為字符型,則執(zhí)行c2=,A'+6/3'后,c2中的值為()?A、DB、68C、不確定的值D、C.若一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為()。A、0-255B、0?32767 C、0?65535D、0?2147483647.設(shè)在說(shuō)明:charw;intx;floaty;doublez;,則表達(dá)式w*x+z-y值的數(shù)據(jù)類(lèi)型為()。A、float B、char C>int D、double.若x、3j、k都是int型變量,則通過(guò)計(jì)算x=(i=4,j=16,k=32)表達(dá)式后,x的值為()。A、4 B、16 C、32 D、52.設(shè)以下變量均為int類(lèi)型,則值不等于7的表達(dá)式是()oA、(x=y=6,x+y,x+1) B、(x=y=6,x+y,y+l)C、(x=6,x+l,y=6,x+y) D、(y=6,y+1,x=y,x+1).若inta,b,c;則為它們輸入數(shù)據(jù)的正確輸入語(yǔ)句是()。A、read(a,b,c);B、scanf(tt%d%d%d,\a,b,c);C、scanf(t4%d%d%d'\&a,%b,%c);D、scanf(tt%d%d%d,\&a,&b,&c);.Afloata,b,c;要通過(guò)語(yǔ)句:scanfC%f%f%f;&a,&b,&c);分別為a,b,c輸入10,22,33。以下不正確的輸入形式是()oA>10B、10.0,22.0,33.0C>10.0 D、102220 22.033.0 3333.執(zhí)行語(yǔ)句:printfCI%10.5fl\n*\12345.678);的輸出是( 4A、112345.678001B、112345.67801C、112345.678001D、112345.6781.若有以下程序段,其輸出結(jié)果是()ointa=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);primf("%d,%d,%d\n'',a,b,c);A、3,0,-10B、0,0,5C、-10,3,-10D、3,0,3.若a為int鄭^,且a=125,執(zhí)行語(yǔ)句printf(4t%d,%o,%x\n,,,a,a+1,a+2);后的輸出是()。A、25,175,7DB、125,176,7FC、125,176,7DD、125,175,2F.若在鍵盤(pán)上輸入:283.1900,想使單精度實(shí)型變量c的值為283.19,則正確的輸入語(yǔ)句是()。A、scanfC4%f\&c);B、scanf(t4%8.4f;&c);C、scanf(i4%6.2f\&c);D、scanf(“%8”,&c);.if語(yǔ)句的控制條件()oA、只能用關(guān)系表達(dá)式 B、只能用關(guān)系表達(dá)式或邏輯表達(dá)式C、只能用邏輯表達(dá)式 D、可以用任何表達(dá)式.執(zhí)行以下程序段后,a,b,c的值分別是()。inta,b=1OO,c,x=10,y=9;a=(-x==y++)?—x:++y;if(x<9)b=x++;c=y;A、9,9,9 B、8,8,10C、9,10,9D、1,11,10.執(zhí)行下列程序段后,x、y和z的值分別是()ointx=10,y=20,z=30;if(x<y){z=x;x=y;y=z;}A、10,20,30B、20,30,30C>20,10,10D、20,30,20.以下程序的輸出結(jié)果是()omain(){intw=4,x=3,y=2,z=1;if(x>y&&!(z==w))printfCt%d\n,,,(w<x?w:z<y?z:x"));elseprinlf("%d\n”,(w>x?w:z>y?z:x"));)1A、1B、2C、3D、4.若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入3口4,則輸出結(jié)果是()(□表示空格)。main(){inta,b,s;scanf(M%d%dM,&a,&b);s=a;if(a<b)s=b;s*=s;printf(4t%d\n,,,s);}A、14B、16C、18D、20.使用語(yǔ)句scanf("x=%f,y=%f',&x,&y);輸入變量x、y的值3代表空格),正確的輸入是().A、1.25,2.4B、1.25a2.4C、x=1.25,y=2.4D、x=1.25ay=2.4一、選擇題(ID以下敘述中正確的是A)構(gòu)成C程序的基本單位是函數(shù)B)可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)main()函數(shù)必須放在其他函數(shù)之前C函數(shù)定義的格式是K&R格式(13)一個(gè)C語(yǔ)言程序是由一個(gè)主程序和若干子程序組成B)函數(shù)組成C)若干過(guò)程組成D)若干子程序組成(14)請(qǐng)選出可用作C語(yǔ)言用戶(hù)標(biāo)識(shí)符的是void,define,WORDa3_b3,_123,IFFOR,-abc,case2a,Do.Sizeof(15)下列各數(shù)據(jù)類(lèi)型不屬于構(gòu)造類(lèi)型的是A)枚舉型B)共用型C)結(jié)構(gòu)型D)數(shù)組型(17)以下不正確的敘述是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ù)值sizeof(float)是一個(gè)雙精度型表達(dá)式B)一個(gè)整型表達(dá)式一種函數(shù)調(diào)用一個(gè)不合法的表達(dá)式(19)若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為4163252(20)下面程序的功能是把316表示為兩個(gè)加數(shù)的和,使兩個(gè)加數(shù)分別能被13和11整除,請(qǐng)選擇填空。#includemain(){inti=0,j,k;do{i++;k=316-13*i;}while();j=k/ll;printf("316=13*%d+ll*%d”,i,j)kk/ll==Ok==0(22)下面程序的運(yùn)行結(jié)果是#includemain(){inty=10;do{y一;}while(—y);printf("%d\n”,y—);)-1180(25)設(shè)有intx=ll;則表達(dá)式(x++*l/3)的值是341112(27)F列程序的輸出結(jié)果是main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(*%d\n*,d*y);I33.203.07(31)設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為4個(gè)字節(jié)5個(gè)字節(jié)6個(gè)字節(jié)7個(gè)字節(jié)(33)以下不正確的定義語(yǔ)句是doublex[5]={2.0,4.0,6.0,8.0,10.0};inty[5]={0,1,3,5,7,9};charcl□={'1'J2'J3'J4'J5'};charc2[]={'\xl0/,'\xaz,'\x8z};(36)C語(yǔ)言允許函數(shù)類(lèi)型缺省定義,此時(shí)函數(shù)值隱含的類(lèi)型是floatintC)longD)double(37)以下程序有語(yǔ)法錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是main(){intG=5,k;voidprt_char();k=prtchar(G)A)語(yǔ)句voidprtchar();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說(shuō)明B)變量名不能使用大寫(xiě)字母C)函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾D)函數(shù)名不能使用下劃線(xiàn)(38)以下敘述中不正確的是A)在不同的函數(shù)中可以使用相同的名字的變量B)函數(shù)中的形式參數(shù)是局部變量C)在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D)在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效(39)有以下程序:ttincludeunionpw{inti;charch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;printf(*%d\n*,a.i);}程序的輸出結(jié)果是1314208209(41)卜面程序的運(yùn)行結(jié)果是#includemain(){inta=l,b=10;do{b-=a;a++;}while(b―<0);printf(*a=%d,b=%d\n*,a,b);Ia=3,b=lla=2,b=8a=l,b=-la=4,b=9(42)以卜程序的輸出結(jié)果是voidreverse(inta[],intn){inti,t;for(i=0;i{t=a[i];a[i]=a[n-l-i];a[n-l-i]=t;}Imain(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];printf("%d\n”,s);I22103430(43)有如下程序:longfib(intn)if(n>2)return(fib(n-l)+fib(n-2));elsereturn(2);}main()printf fib(3));}該程序的輸出結(jié)果是A)2468(44)假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入:PROGABCDEFGH1?1乩<回車(chē)),則輸出結(jié)果為main(intargc,char*argv口){while(—argc>0)printf(z/%sv,argv[argc]);printf("\n");IABCDEFGIJHLABCDEFGHIJKLIJKLABCDEFGH(45)以下程序有錯(cuò),錯(cuò)誤原因是main(){int*p,i;char*q,ch;&i;&ch;*p=40;*p=*q;p和q的類(lèi)型不一致,不能執(zhí)行*p=*q;語(yǔ)句*p中存放的是地址值,因此不能執(zhí)行*p=40;語(yǔ)句q沒(méi)有指向具體的存儲(chǔ)單元,所以*q沒(méi)有實(shí)際意義q雖然指向了具體的存儲(chǔ)單元,但該單元中沒(méi)有確定的值,所以執(zhí)行*p=*q;沒(méi)有意義,可能會(huì)影響后面語(yǔ)句的執(zhí)行結(jié)果(46)函數(shù)rewind的作用是A)使文件位置指針幣:新返回文件的開(kāi)始位置B)將文件位置指針指向文件中所要求的特定位置C)使文件位置指針指向文件的末尾D)使文件位置指針自動(dòng)移至下一個(gè)字符位置(47)設(shè)有以下說(shuō)明語(yǔ)句structexintx;floaty;charz;}example;則下面的敘述中不正確的是struct結(jié)構(gòu)體類(lèi)型的關(guān)鍵字example是結(jié)構(gòu)體類(lèi)型名x,y,z都是結(jié)構(gòu)體成員名structex是結(jié)構(gòu)體類(lèi)型名(48)設(shè)有以下語(yǔ)句:charx=3,y=6,z;z=x~y<<2;則z的二進(jìn)制值是00010100000110110001110000011000(49)閱讀以下程序及對(duì)程序功能的描述,其中正確的描述是#includemain(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n/z);scanfinfile);printf("Entertheoutfilename:\n/z);scanf(*%s*,outfile);if((in=fopen(infile,"r"))==NULL){printf("cannotopeninfile'n");exit(0);if((out-fopen(outfile,"w"))==NULL)printf("cannotopenoutfile'n");exit(0);}while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完成將磁盤(pán)文件的信息在屏幕上顯示的功能B)程序完成將兩個(gè)磁盤(pán)文件合二為一一的功能C)程序完成將一個(gè)磁盤(pán)文件復(fù)制到另一個(gè)磁盤(pán)文件中D)程序完成將兩個(gè)磁盤(pán)文件合并并在扉幕上輸出(50)C語(yǔ)言中,能識(shí)別處理的文件為A)文本文件和數(shù)據(jù)塊文件B)文本文件和二進(jìn)制文件C)流文件和文本文件D)數(shù)據(jù)文件和二進(jìn)制文件轉(zhuǎn)貼于:計(jì)算機(jī)二級(jí)考試一考試大【責(zé)編:oyshaoli糾錯(cuò)】二、填空題(1)數(shù)據(jù)的邏輯結(jié)構(gòu)有線(xiàn)性結(jié)構(gòu)和【1】?jī)纱箢?lèi)。解析:數(shù)據(jù)的邏輯結(jié)構(gòu)有線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu)兩大類(lèi)。(2)順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置【2】的存儲(chǔ)單元中。解析:常用的存儲(chǔ)表示方法有4種,順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)、索引存儲(chǔ)、散列存儲(chǔ)。其中,順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置也相鄰的存儲(chǔ)單元中。(3)一個(gè)類(lèi)可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的[3]o解析:本題考查了繼承的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。(4)軟件工程研究的內(nèi)容主要包括:【4】技術(shù)和軟件工程管理。解析:基于軟件工程的目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)和軟件工程管理。軟件開(kāi)發(fā)技術(shù)包括:軟件開(kāi)發(fā)方法學(xué)、開(kāi)發(fā)過(guò)程、開(kāi)發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開(kāi)發(fā)方法學(xué)。軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué),以及軟件心理學(xué)等內(nèi)容。(5)關(guān)系操作的特點(diǎn)是【5】操作。解析:在關(guān)系操作中,所有操作對(duì)象與操作結(jié)果都是關(guān)系。而關(guān)系定義為元數(shù)相同的元組的集合。因此,關(guān)系操作的特點(diǎn)是集合操作。(6)下面程序是指從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請(qǐng)?zhí)羁铡?includemain(){inti;chars[21],*p;for(i=0;i<20;i++)s[i]=getchar();s[i]=[6];p=[7]while(*p)putchar([8]);)解析:本題選通過(guò)for循環(huán)從鍵盤(pán)讀入20個(gè)字符,然后在最后賦一定值'\0'后為結(jié)束標(biāo)志,再使指針P指向字符串的首地址。最后通過(guò)while循環(huán)對(duì)字符串進(jìn)行掃描并輸出。(7)以下程序?qū)?shù)組a的4個(gè)元素和數(shù)組b的6個(gè)元素寫(xiě)到名為lett.dat的二進(jìn)制文件中,請(qǐng)?zhí)羁铡?includemain(){FILE*fp;chara[4]="1234",b[6]="abcedf”;if((fp=fopen(“【9】","wb"))=NULL)exit(0);fwrite(a,sizeof(char),4,fp);fwrite(b,[10],1,fp);fclose(fp);}解析:本題主要考查函數(shù)fwrite(char*pt,unsignedsize,unsignedn,FILE*fp),把pt所指向的n*size個(gè)字節(jié)輸出到fp所指定的文件中。(8)在C語(yǔ)言中(以16位PC機(jī)為例),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為[11]o解析:在一般系統(tǒng)中,一個(gè)float型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)(32位),一個(gè)double型數(shù)據(jù)占8個(gè)字節(jié)。(9)以下程序輸出的結(jié)果是【12】。main(){inta=5,b=4,c=3,d;d=(a>b>c);printf(*%d\n*,d);}解析:本題的關(guān)鍵在于對(duì)變量c的賦值運(yùn)算:d=(a>b>c)d=(5>4>3)先算5>3,為真,得1,即:d=(1>3),此時(shí)1>3,為假,得0。(10)以卜函數(shù)的功能是求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參n返回。例如,若x中的值為30,則有4個(gè)數(shù)符合要求,它們是1,3,5,15o請(qǐng)按題意,完成填空。試題程序:#include^includevoidfun(intx,intpp口,int*n){inti,j=0;[13]if(x%i==0)pp[j++]=i;[14];}main(){intx,aa[1000],n,i;clrscr();printf(*\nPleaseenteranintegernumber:'n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%d",aa[i]);printf('\n");}解析:本題題干信息是能整除且不是偶數(shù)的所有整數(shù)之和。循環(huán)語(yǔ)句中i從1開(kāi)始且每次增2,所以i始終是奇數(shù),*n=j;語(yǔ)句是記錄能夠符合題意的各個(gè)整數(shù)的各數(shù)。#include^includeintfun(int*s,intt,int*k){inti;*k=0;[15]if(s[*k]return[16];)main()inta[10]={876,675,896,101,301,401,980,431,451,777),k;clrscr();fun(a,10,&k);printf(*%d,%d\n”,k,a[k]);}解析:本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算,此外,一開(kāi)始應(yīng)認(rèn)*1<的值為數(shù)組中的某一下標(biāo)值,即*k=0。(12)mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁?。intmystrlen(char*str){inti;for(i=0;[17]!='\0';i++);return(i);}解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過(guò)程中,可以用*(str+i)來(lái)訪(fǎng)問(wèn)字符串中的第i個(gè)元素,判斷是否是結(jié)束標(biāo)志,如果不是,i=i+l,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到*(str+i)的值為'\0'為止,也可以用下標(biāo)的方式引用字符,如*(str+i)相當(dāng)于str[i]o(13)以下程序的輸出結(jié)果為[18]o#defineJFT(x)x*xmain(){inta,k=3;a=++JFT(k+1);printf解析:宏替換的原則是按原樣替換,本題中遇到形參X則以實(shí)參k+1替換,其他字符不變。所以JFT(k+1)經(jīng)替換后為k+l*k+l,所以a=++k+l*k+l,若k+1,若k的值為3,則經(jīng)過(guò)運(yùn)算為a=4+l*4+l=9o(14)以下定義的結(jié)構(gòu)體類(lèi)型擬包含兩個(gè)成員,其中成員變量inf。用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。structnode{intinfo;[19]link;};解析:本題中的結(jié)構(gòu)類(lèi)型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。(15)設(shè)有以下結(jié)構(gòu)體類(lèi)型:structst{charname[8];intnum;floats[4];}student[50];并且結(jié)構(gòu)體數(shù)組student中的元素都已有值,若要將這些元素寫(xiě)到硬盤(pán)文件fp中,請(qǐng)將以Ffwrite語(yǔ)句補(bǔ)充完整:fwrite(student,[20],1,fp);解析:fwrite函數(shù)的?般調(diào)用形式為:fwrite(buffer,size,count,fp),其中:buffer:是一個(gè)指針變量,是要輸出數(shù)據(jù)的起始地址size:要寫(xiě)的字節(jié)數(shù)count:要進(jìn)行寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)

fp:文件型指針選擇題01-05DCCDB06-10AAcBA11-15ACBBA16-20DDBCB21-25DDACA26-30ACBCC31-35CDBDC36-40BCDAD41-45BABDD46-50ABBCB單選題:1、有以下程序#include<stdio.h>intabc(intu,intv);main(){inta=24,b=16,c;c=abc(a,b);printf(*%d\n",c);1intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w}returnu;輸出結(jié)果是:A.16 B.7 C.8 D.9答案:C2、設(shè)有如下的變量定義: inti=8,k,a,b;unsingedlongw=5doublex=l,42,y=5.2則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是.A.a+=a-=(b=4)*(a=3)B.x%(-3);a=a*3=2y=float(i)答案:A3、設(shè)x為int型變量,則執(zhí)行以下語(yǔ)句后,x的值為x=10;x+=x-=x-x;A.10B.204030答案:B4、C語(yǔ)言提供的合法的數(shù)據(jù)類(lèi)型關(guān)鍵字是一DoubleshortintegerChar答案:B5、表達(dá)式:10!=9的值是—A.trueB.非零值C.OD.1答案:D6、下面程序的輸出是main(){intx=023;printf(n%d\nMr-x);}171823D.24答案:B7、定義如下變量: intn=10則下列循環(huán)的輸出結(jié)果是 while(n>7){ n-;printf("%d\n",n);}A.1098B.987109879876答案:B8、若K為整型,以下while循環(huán)執(zhí)行()次K=0while(K=0)K=K-1A.執(zhí)行10次B.無(wú)限循環(huán)一次也不執(zhí)行D.執(zhí)行一次答案:C9、在執(zhí)行以下程序時(shí),為了使輸出結(jié)果為t=4,則給a和b輸入的值應(yīng)滿(mǎn)足的條件是main(){ints,3a,b;scanf(M%d,%dn,&a,&b);s=l; t=1;if(a<0)s=s+1;if(a>b)t=s+1;elseif(a==b)t=5;elset=2*s;printf(,,t=%d\n,',t);}A.0>a>bB.a=0<bC.a=b<0a<b<0答案:D10、若執(zhí)行下面的程序時(shí)從鍵盤(pán)上輸入3和4,則輸出是main(){inta,b,s;a=3,b=4;scanf(,,%d%dM,&a,&b);s=a+b;printf(,'%d\n,,,s-);printf(',%d\n,-s);)A.7,7B.7,56,77,6答案:B11、有以卜程序#include<stdio.h>main(){inta,b,c=246;a=c/100%9;b=(-l)&&(-l);printf(,,%d,%d\n'\a,b);)輸出結(jié)果是A.2,1B.3,24,32,-1答案:A12、下列程序的輸出結(jié)果是main(){staticints[][3]={{1,2,3},{4,5,6)};intt;t=(s[O][O],s[lj[l],s[O][lJ+s[l][2]);printf(M%d\n';t);}5B.6C.7D.8答案:D13、以下程序的輸出結(jié)果是main(){intk=17;printf(*'%d,%o,%x\n'\k,k,k);)A.17,021,0x1117,17,1717,0x11,02117,21,11答案:D14、請(qǐng)讀程序:main(){floatx,y;scanf(M%r,&x);if(x<0.0)y=0.0elseif((x<5.0)&&(x!=2.0))y=1.0/(x+2.0);elseif(x<10.0)y=1.0/x;elsey=10.0;printf(H%f\n';y);}若運(yùn)行時(shí)從鍵盤(pán)上輸入2.0(表示回車(chē)),則上面程序的輸出結(jié)果是0.0000000.2500000.5000001.000000答案:C15> 請(qǐng)讀程序:main(){intx=l,y=0,a=0,b=0;switch(x){casel:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}primf("a=%d,b=%d\rT,a,b);}上面程序輸出結(jié)果是a=2,b=1a=l,b=lC.a=l,b=0D.a=2,b=0答案:A16、若有定義和語(yǔ)句:chars[10];s=〃abcd〃;printf("%s\n〃,s);則結(jié)果是(以下n代表空格)A.輸出abedB.輸出aC.輸出abcd|ipn|i(iD.編譯不通過(guò)答案:D17、C語(yǔ)言可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是()A.程序中的一條可執(zhí)行語(yǔ)句B.程序中第一個(gè)函數(shù)C.程序中的main函數(shù)D.包含文件中的第一個(gè)函數(shù)答案:C18、以下敘述正確的是()A.在C程序中,main函數(shù)必須位于程序的最前面C程序的每行中只能寫(xiě)一條語(yǔ)句C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D.在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤答案:C19、以下敘述中不正確的是A.預(yù)處理命令行都必須以#號(hào)開(kāi)始B.在程序中凡是以#號(hào)開(kāi)始的語(yǔ)句行都是預(yù)處理命令行C.C程序在執(zhí)行過(guò)程中對(duì)預(yù)處理命令行進(jìn)行處理D,以下是正確的宏定義#defineIBM_PC答案:C20、以下正確的敘述是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)算符答案:D21、已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語(yǔ)句c2=A,+6-3;后,c2中的值為D68C.不確定的值D.C答案:B22>下面程序段的運(yùn)行結(jié)果是intn=O;while(n++<=2);printf(,,%d,,,n);2B.3C.4D.有語(yǔ)法錯(cuò)答案:C23、判斷char型變量cl是否為小寫(xiě)字母的正確表達(dá)式是A.'a'v=ck='z'(cl>=a)&&(cl<=z)C.('a'>=cl)ll('z'v=cl)D.(cl>=,a,)&&(cl<=,z,)答案:D24>已知intx=10,y=20,z=30似下語(yǔ)句執(zhí)行后x,y,z的值是if(x>y)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=20答案:B25、以下描述中正確的是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)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?“假”)的操作D.do-while循環(huán)中,根據(jù)情況可以省略while答案:C26、有一堆零件(100到200之間),如果分成4個(gè)零件一組的若干組,則多2個(gè)零件;若分成7個(gè)零件一組,則多3個(gè)零件;若分成9個(gè)零件一組,則多5個(gè)零件。下面程序是求這堆零件總數(shù),請(qǐng)選擇填空。include<stdio.h>main(){inti;for(i=100;i<200;i++)if((i-2)%4==0) if(!((i-3)%7)) if() printf(,'%d,',i);)i%9=5i%9!=5(i-5)%9!=0i%9==5答案:D27、以下正確的說(shuō)法是A.定義函數(shù)時(shí),形參的類(lèi)型說(shuō)明可以放在函數(shù)體內(nèi)B.return后邊的值不能為表達(dá)式C.如果函數(shù)值的類(lèi)型與返回值類(lèi)型不一致,以函數(shù)值類(lèi)型為準(zhǔn)D.如果形參與實(shí)參類(lèi)型不一致,以實(shí)參類(lèi)型為準(zhǔn)答案:C28>下面判斷正確的是char*a="china";等價(jià)于char*a;*a="china";charstr[10]={"china"};等價(jià)于charstr[10];str[]={"china',);char*s="china”;等價(jià)于char*s;s=MchinaH;charc[4]="abc*d[4]="abc”;等價(jià)于charc[4]=d[4]=MabcM;答案:C29、若定義:inta=511,*b=&a;,貝ijprintf("%d\n”,*b);的輸出結(jié)果為A.無(wú)確定值a的地址512D.511答案:B30、以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;} )1106D.死循環(huán),不能確定次數(shù)答案:D31、若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入9,則輸出結(jié)果是main(){inin;scanf(H%dn,&n);if(n++<10)printf(n%d\nM,n);elseprintf(M%d\nM,n-);}1110C.9D.8答案:B32、若a、b、cl、c2、x、y、均是整型變量,正確的switch語(yǔ)句是switch(a+b);{case1:y=a+b;break;caseO:y=a-b;break;case3:y=b-a,break;}switch(a*a+b*b){case3:case1:y=a+b;break;}switcha{casecl:y=a-b;break;casec2:y=a*d;break;default:x=a+b;}switch(a-b){default:y=a*b;break;case4:x=a+b;break;case10:y=a-b;break;}答案:D33、以下程序的輸出結(jié)果是longfun(intn){longs;if(n==1IIn==2)s=2;elses=n-fun(n-1);returns;}main(){printf(',%ld\n,\fun(3));}123D.4答案:A34、若有以下程序段,intcl=l,c2=2,c3;c3=1.0/c2*cl;則執(zhí)行后,c3中的值是A.0B.0.512答案:A35、能正確表示邏輯關(guān)系:"aN=10或aWO”的C語(yǔ)言表達(dá)式是A.a>=10ora<=0B.a>=0lla<=10C.a>=10&&a<=0D.a<=0IIa>=10答案:D36、在C語(yǔ)言中,不正確的int類(lèi)型的常數(shù)是A.32768B.O037OxAF答案:A37、以下程序的輸出結(jié)果是main(){chara[10]={T,2,3,4,5,6,7,8,9,0},*p;inti;i=8;p=a+i;printf(,,%s\n'\p-3);}A.6B.6789C.6D.789答案:B38、以下程序的輸出結(jié)果是intd=l;fun(intp){staticintd=5;d+=p;printf(M%dd);return(d);}main(){inta=3;printf(*'%d\nH,fun(a+fun(d)));}A.699B.669C.61515D.6615答案:C39、算法的表示方法有( )。A.自然語(yǔ)言,傳統(tǒng)流程圖,N-S流程圖,偽代碼,計(jì)算機(jī)語(yǔ)言B.高級(jí)語(yǔ)言,匯編語(yǔ)言,機(jī)器語(yǔ)言C.C語(yǔ)言,QBASIC語(yǔ)言,InterDevD.圖形圖像法,描述法,編程法E.計(jì)算機(jī)語(yǔ)言答案:A40、合法的C語(yǔ)言賦值語(yǔ)句是()a=b=lk=int(a+b);a=1,b=2-i;答案:D填空題:1、main(){intsum=0,i;scanf("%d",&i);while(i<=10){sum=sum+i;i++;}printf("%d",sum);)輸入1輸出 答案:552、把數(shù)組元素按順序存放的過(guò)程稱(chēng)為.答案:排序3、設(shè)ij,k均為int型變量,則執(zhí)行完下面的for循環(huán)后,k的值為.for(i=0j=10;i<=j;i++,j-)k=i+j;答案:104、應(yīng)該用聲明數(shù)組的大小,因?yàn)檫@樣能夠更容易調(diào)整程序。答案:符號(hào)常量5、寫(xiě)出該程序運(yùn)行的結(jié)果。main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}答案:9,11,9,106、寫(xiě)出該程序運(yùn)行的結(jié)果。main()charst='A';inti=10;st=st+i;i=st%i;printf("%C,%d\n”,st,i);}(已知字母A的ASCII碼為65)答案:K,57、已知字母a的ASCH碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=,a,+8-3的值為 答案:r8、執(zhí)行下列語(yǔ)句后x的值是.X=y=z=5;X=y==z;答案:149、若有定義:inta=2,b=3;floatx=3.5,y=2.5;則下面表達(dá)式的值為(float)(a+b)/2+(int)x%(int)y答案:3.50000010、若從鍵盤(pán)輸入58,則以下程序輸出的結(jié)果是.main(){inta;scanf("%d",&a);if(a>50)printf("%d",a);if(a>40)printf("%d",a);if(a>30)printf("%d",a);}答案:58585811、以下程序的輸出結(jié)果是。main(){chars[]="abcdef;s[3]=b\0';printf("%s\n",s);}答案:abc12、下列程序段的輸出結(jié)果是?intn='c';switch(n++){default:printf("error*');break;case*a':case*A':case*b':caseB:printf("good");break;case'c':case'C':printf("pass");cased:case,D':printfC,warm,');}答案:passwarm13、表示”整數(shù)x的絕對(duì)值大于5”時(shí)值為“真”的C語(yǔ)言表達(dá)式是o答案:x>5llx<-514、下面程序的功能是:計(jì)算1到10之間奇數(shù)之和及偶數(shù)之和,請(qǐng)?zhí)羁?。include<stdio.h>main(){inta,b,c,i;a=c=O;for(i=0;i<10;i+=2){a+=i;;c+=b;)printf("偶數(shù)之fll=%d\nM,a);printf("奇數(shù)之和二%d\n”,c-l1);}答案:b=i+l15、下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其它元素不變。請(qǐng)?zhí)羁铡?include<stdio.h>#include<string.h>main(){chara[]=HclanguageH,t;inti,j,k;k=strlen(a);for(i=0;i<=k-2;i+=2)for(j=i+2;j<=k;)if(){t=a[i];a[i]=a[j];a[j]=t;}puts(a);printf("\nH);}答案:j+=216、以下程序的功能是:從鍵盤(pán)上輸入若干個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)計(jì)算出平均成績(jī),并輸出低于平均分的學(xué)生成績(jī),用輸入負(fù)數(shù)結(jié)束輸入。請(qǐng)?zhí)羁?。main(){floatx[1000],sum=0.0,ave,a;intn=0,i;printf(HEntermark:\nn);scanf(M%f,,&a):while(a>=0.0&&n<1000){sum+;x[n]=;n++;scanf("%f",&a);}ave=;printf("Output:\nH);printf(,,ave=%f\nH,ave);for(I=0;I<n;I++)ifprintf(n%f\n",x[I]);}答案:=aasum/nx[iJ<AVE<font>17、有如下程序片段:inia,b,c;printf(Hinputa,b,c:*');scanf(M%d%d%dM,&a,&b,&c);要使a=l,b=2,c=3,正確的輸入形式為。答案:12318、以下程序段的輸出結(jié)果是o#include<stdio.h>voidmain(){inta=0234:printf(n%-3d,%-6d,*%-06d,*%06d,%%06d\nn,a,a,a,a,a);)答案:156,*156,*000156,%06d程序設(shè)計(jì)題:1、在[200,900]范圍內(nèi)同時(shí)滿(mǎn)足以下兩個(gè)條件的十進(jìn)制數(shù):⑴其個(gè)位數(shù)字與十位數(shù)字之和除以10所得的余數(shù)是百位數(shù)字;⑵該數(shù)是素?cái)?shù);問(wèn)有多少個(gè)這樣的數(shù)?答案:#include<math.h>main(){inti,k,j,a,b,c,flag=O;for(i=200;i<=900;i++){a=i/100;b=(i-a*100)/10;c=i%10;k=sqrt(i+l);for(j=2;j<=k;j++)if(i%j==O)break;if(j>=k&&(b+c)%10==a)flag++;}printf("%d",flag);)參考答案:142、求五位數(shù)各數(shù)字的平方和為100的最大的五位數(shù)。答案:main(){longi,a,b,c,d,e,temp;for(i=99999;i>=10000;i-){e=i%10;temp=i/10;d=temp%10;temp=temp/10;c=temp%10;temp=temp/10;b=temp%10;temp=temp/10;a=temp;if(a*a+b*b+c*c+d*d+e*e==100)break;}printf("%ld\n",i);}/*參考答案:94111*/3、編程序求在5000以?xún)?nèi)被17或者23整除的正整數(shù)數(shù)的個(gè)數(shù)。答案:main(){intm,k=0;for(m=1;m<=5000;m++){if(m%17==0llm%23==0)k++;}printf("%d\n",k);}本題參考答案:499程序設(shè)計(jì)題:1、有50個(gè)學(xué)生一起買(mǎi)小吃,共花錢(qián)200元,其中每個(gè)大學(xué)生花5元,每個(gè)中學(xué)生花3元,每個(gè)小學(xué)生花2元,問(wèn)大、中、小學(xué)生的人數(shù)分配共有多少種不同的解(去掉某類(lèi)學(xué)生為0的解)?答案:#include<math.h>main(){inta,b,c;inti=0;for(a=l;a<=50;a++){for(b=l;b<=50;b++){for(c=l;c<=50;c++)if(((2*a+3*b+5*c)==200)&&((a+b+c)==50))i=i+l;}}printf("%d",i);}參考答案是:82、編寫(xiě)程序,計(jì)算在0至50的范圍內(nèi)有多少個(gè)數(shù),其每位數(shù)的乘積大于每位數(shù)的和。答案:main(){intk,a,b,c,d;inti=0;for(k=10;k<=50;k++){a=k/10;b=k%10;c=a+b;d=a*b;if(d>c)i=i+l;}printf("%d",i);}參考答案是:233、求500以?xún)?nèi)(含500)能被5或9整除的所有自然數(shù)的倒數(shù)之和。按四舍五入的方式精確到小數(shù)點(diǎn)后第二位。答案:main(){inti;floats=0;for(i=l;i<=500;i++)if(i%5==0lli%9==0)s=s+(float)l/i;printf("total=%.2f\n",s);}本題目參考答案:1.48單選題:1、表示關(guān)系X<=Y<=Z的C語(yǔ)言表達(dá)式為o(X<=丫)&&(丫<=Z)(X<=Y)AND(Y<=Z)(X<=Y<=Z)(X<=Y)&(Y<=Z)答案:A2、為表示關(guān)系XNYNZ應(yīng)使用C語(yǔ)言表達(dá)式:_(X>=Y)&&(Y>=Z)(X>=Y)and(Y>=Z)(X>Y>Z)(X>Y)&(Y>Z)答案:A3、閱讀下列程序段,其正確輸出為()a=10;b=50;c=30;if(a>b)a=b;b=c;c=a;printf(ua=%d,b=%d,c=%d,\n",a,b,c);a=10,b=50,c=10B.a=10,b=30c=10C.a=50,b=30,c-10D.a=50,b=30,c=50答案:B4、設(shè)A=3,B=4,執(zhí)行printf("%d,%d”,(A,B),(B,A));的輸出是.A.3,4B.4,3C.3,3D.4,4答案:B5、設(shè)有以下定義:#defineN3#defineY(n) ((N+l)*n)則執(zhí)行語(yǔ)句:z=2*(N+Y(5+l));后,z的值為.A.出錯(cuò)B.42C.48D.54答案:C6、下列程序執(zhí)行后的輸出結(jié)果是main(){intx='f;printf("%c\n",'A'+(x-'a'+l));)A.GHID.J答案:A7,若有定義和語(yǔ)句:chars[10];s="abcd";printf("%d\n",s)則結(jié)果是A.輸出abedB.輸出aC.輸出adebD.編譯不能通過(guò)答案:D8、以下敘述正確的是()do-while語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代替do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出C.用do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)。D.用do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)。答案:D9、為避免嵌套的條件分支語(yǔ)句if...else的二義性,C語(yǔ)言規(guī)定,C程序中的else總是與—組成配對(duì)關(guān)系。A.其上面距它最近的,并且沒(méi)有其他else與其配對(duì)的if相配對(duì)B.在同一行上的ifC.縮排位置相同的ifD.在其之前未配對(duì)的if答案:A10、 下面程序的輸出是main(){inta=-Lb=4,k;k=(a++<=0)&&(!(b-<=0));printf(1,%d%d%d%\nn,k,a,b);)003012103112答案:C11>以下程序的輸出結(jié)果是main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<3;j++) {if(j%2)continue;x++; } x++ }printf(',x=%d\nn,x);}x=4x=8x=6x=12答案:B12、以下循環(huán)體的執(zhí)行次數(shù)是main(){inti,j;for(i=0,j=l;i<=j+1;i+=2,j-)printf(M%d\n",i);)321D.O答案:C13、有以下程序 main(){intij;for(j=10;j<ll;j++) {for(i=9;i<j;i++)if(!(j%i))break;if(i=j-l)printf(H%dH,j);} }輸出結(jié)果是1110C.9D.1011答案:B14^執(zhí)行下面語(yǔ)句后的輸出為()inti=-l;if(i<=O)printf(H****\nH)elseprintf(',%%%%\n^,)A****%%%%%%%%CD.有語(yǔ)法錯(cuò),不能執(zhí)行答案:D15、以下敘述中不正確的是( )A.在不同的函數(shù)中可以使用相同名字的變量B,函數(shù)中的形式參數(shù)是局部變量C.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D.在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效答案:D16、下列說(shuō)法正確的是.A.調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元B,調(diào)用函數(shù)時(shí),實(shí)參的個(gè)數(shù)、類(lèi)型和順序與形參可以不一致C.調(diào)用函數(shù)時(shí)形參可以是表達(dá)式D.調(diào)用函數(shù)時(shí),將為形參分配內(nèi)存單元答案:D17、下列不正確的轉(zhuǎn)義字符是(A.VM01'AO'答案:C18、C語(yǔ)言程序由函數(shù)組成。它的.A.主函數(shù)必須在其他函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)B.主函數(shù)可以在其他函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)C.主函數(shù)必須在其他函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)D.主函數(shù)必須在其他函數(shù)之后,函數(shù)內(nèi)可以嵌套定義函數(shù)答案:B19、一個(gè)C程序的執(zhí)行是從()A.本程序的main函數(shù)開(kāi)始,到main函數(shù)結(jié)束B(niǎo).本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C.本程序的main函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D.本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序main函數(shù)結(jié)束答案:A20、以下敘述正確的是()A.在C程序中,main函數(shù)必須位于程序的最前面C程序的每行中只能寫(xiě)一條語(yǔ)句C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D.在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤答案:C21、下面四個(gè)選項(xiàng)中,均是合法的浮點(diǎn)數(shù)的選項(xiàng)是A.+le+l5e-9.403e2-.6012e-4-8e5123e1.2e-.4+2e-l-e3.8e-45.e-0答案:B22、在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類(lèi)型允許是A.整型常量B,整型表達(dá)式C.整型常量或整型表達(dá)式D.任何類(lèi)型的表達(dá)式答案:A23、已知intx=10,y=20,z=30似下語(yǔ)句執(zhí)行后x,y,z的值是if(x>y)z=x;x=y;y=z;A.x=10,y=2O,z=3OB.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=20答案:Bif(y!=10)24、以下程序的輸出結(jié)果是main(){inta=100,x=10,y=20,ok1=5,ok2=0;if(x<y)if(y!=10)if(!okl) a=l;else if(ok2)a=10;a=?l;printf("%d\rT,a);}10C.-1D.值不確定答案:C25、以下程序的輸出結(jié)果是main(){intx=2,y=-l,z=2;if(x<y)if(y<0)z=0;elsez+=l;printf(M%d\nM,z);)3210答案:B26、若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor<CR>(<CR>表示回車(chē)),則下面程序的運(yùn)行結(jié)果是#include<stdio.h>main(){charc;intv0=0,vl=0,v2=0;do{switch(c=getchar()){case'a':case'A': case*e':caseE: case'i':caseT: case'o^caseO':case'u'icase'U,:vl+=1;default:vO+=1;v2+=1; } }while(c!=\n*);printf(nvO=%d,vl=%d,v2=%d\n';v0,vl,v2);}A.v0=7,vl=4,v2=7v0=8,vl=4,v2=8v0=ll,vl=4,v2=llD.v0=12,vl=4,v2=12答案:D27、以下程序有語(yǔ)法錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是main(){intG=5,k;voidprt_char();...k=prt_char(G);...)A.語(yǔ)句voidprt_char();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說(shuō)明B.變量名不能使用大寫(xiě)字母C.函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾D.函數(shù)名不能使用下劃線(xiàn)答案:C28、若有說(shuō)明:ima[3][4];則數(shù)組a中各元素A.可在程序的運(yùn)行階段得到初值0B.可在程序的編譯階段得到初值0C.不能得到確定的初值D.可在程序的編譯或運(yùn)行階段得到初值0答案:D29、以下敘述中不正確的是A.預(yù)處理命令行都必須以#號(hào)開(kāi)始B.在程序中凡是以#號(hào)開(kāi)始的語(yǔ)句行都是預(yù)處理命令行C.C程序在執(zhí)行過(guò)程中對(duì)預(yù)處理命令行進(jìn)行處理D.以下是正確的宏定義#defineIBM_PC答案:C30、以下程序的輸出結(jié)果是main()(inta,b;for(a=l,b=l;a<=100;a++){if(b>=10)break;if(b%3==l){b+=3;continue;}}printf("%d\n",a);}10165D.4答案:D31、若變量a、i已正確定義,且i已正確賦值,合法的語(yǔ)句是A.a==l++i;a=a++=5;a=int(i);答案:B32、有如下程序段int*p,a=10,b=1p=&a;a=*p+b;執(zhí)行該程序段后,a的值為121110D.編譯出錯(cuò)答案:B33、有如下程序main(){inta[3][3]={{1,2},{3,4},{5,6}},ij,s=0;for(i=1;i<3;i++)for(j=0;j<i;j++)s+=a[i]|j]printf("%d\n,s);}該程序的輸出結(jié)果是14192021答案:A34、下列程序的輸出結(jié)果是main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\nH,d*y);}33.203.07答案:C35、設(shè)intx=l,y=l;表達(dá)式(!xlly-)的值是012答案:B36、下列程序的運(yùn)行結(jié)果是#3(:111(1匕<stdio.h>main(){inta=2,c=5;printf(,,a=%d,b=%d\n,',a,b);}a=%2,b=%5a=2,b=5a=d,b=da=%d,b=%d答案:B37、能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是(a>=0IIb>=0)&&(a<0IIb<0)(a>=0&&b>=0)&&(a<0&&b<0)(a+b>0)&&(a4-b<=0)a*b>0答案:D38、若已定義:inta[9],*p=a:并在以后的語(yǔ)句中未改變p的值,不能表示a[l]地址的表達(dá)式是p+1a+1a++++p答案:C39、N-S流程圖里不含有()。A.判斷框B.流程線(xiàn)C.矩形框D.文字描述答案:B40、若有說(shuō)明:“doublea:”,則正確的輸入語(yǔ)句應(yīng)該是()A.scanf("%lf',a);B.scanf("%f',&a);C.scanf("%lf',&a)D.scanf("%le",&a);答案:D填空題:1、把數(shù)組元素按順序存放的過(guò)程稱(chēng)為.答案:排序2、下列程序的功能是:求100-200之間的不能被3整除的數(shù)輸出,請(qǐng)?zhí)羁?main(){intn;;{if(n%3==0)continue;printf(,'%d,',n);}}答案:for(n=100;n<=200;n++)3、若想通過(guò)以下輸入語(yǔ)句使a中存放字符串1234,b中存放字符5,則輸入數(shù)據(jù)的形式應(yīng)該是? ...chara[10],b;scanf("a=%sb=%c",&a,&b);printf("%s,%c\n",a,b);...答案:a=1234b=54、#include<stdio.h>main(){inti=0,j=0,a=6;if((++i>0)II(j++>0))a++;printf("i=%d,j=%d,a=%d\n",i,j,a);)結(jié)果:答案:I=l,j=0,a=75,從鍵盤(pán)輸入一個(gè)大寫(xiě)字母,要求改用小寫(xiě)字母輸出,程序如下,請(qǐng)?zhí)羁眨篿nclude<stdio.h>main(){charcl,c2;cl=getchar();printf("%c,%d\n",cl,cl);;printf("%c,%d\n",c2,c2);}答案:c2=cl+32;6、以下程序不用第三個(gè)變量,實(shí)現(xiàn)將兩個(gè)數(shù)進(jìn)行對(duì)調(diào)操作,請(qǐng)?zhí)羁眨篿ncludemain(){inta,b;scanf("%d%d",&a,&b);printf("a=%db=%d\n",a,b);a=();b=a-b;a=a-b;printf("a=%db=%d\n",a,b);}答案:a+b7,表示條件:lOvxvlOO或xvO的C語(yǔ)言表達(dá)式是。答案:(X>10&&X<100)IIX<08、當(dāng)a=5,b=4,c=2時(shí),表達(dá)式a>b!=c的值是答案:19、在C語(yǔ)言中,輸入操作是由庫(kù)函數(shù)完成的,輸出操作是由庫(kù)函數(shù) 完成的。答案:scanf,printf10、若有定義:intb=7;floata=2.5,c=4.7;則下面表達(dá)式的值為a+(int)(b/3*(int)(a+c)/2)%4答案:5.50000011、設(shè)有以下程序:main(){intnl,n2;scanf(M%dn,&n2);while(n2!=0){nl=n2%10;n2=n2/10;printf(n%d';nl);})程序運(yùn)行后,如果從鍵盤(pán)上輸入1298;則輸出結(jié)果為。答案:892112、以下程序運(yùn)行后的輸出結(jié)果是。main(){chars[]=n9876n,*p;for(p=s;p<s+2;p++)printf(n%s\nn,p);}答案:987687613>以下程序的輸出結(jié)果是main(){inta=l,b=2;a=a+b;b=a-b;a=a-b;printf(H%d,%d\nM,a,b);)答案:2,114^下列程序段的輸出結(jié)果是omain(){charb[]=HHello,you";b[5]=0;printf(M%s\nH,b);}答案:Hello15、下列程序段的輸出結(jié)果是ointn=,c,;switch(n++){default:printf("erroru);break;case'a'xase*A':case'b':case'B':printf("good");break;casefxase'C':printf(“pass");case*d*:case,D,:printf(Mwarm,*);}答案:passwarm16、若輸入字符串:abcdev回車(chē)>,則以下while循環(huán)體將執(zhí)行次。while((ch=getchar())==,e,)printf(M*M);答案:017、下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其它元素不變。請(qǐng)?zhí)羁铡?include<stdio.h>#include<string.h>main(){chara[]=MclanguageH,t;inti,j,k;k=strlen(a);for(i=0;i<=k-2;i+=2)for(j=i+2;j<=k;)if(){t=a[i];a[i]=a[j];a|j]=t;}puts(a);printf(',\nn);}答案:j+=2a[i]>a[j]18、下面程序的輸出結(jié)果是o#include<stdio.h>voidmain(){inti=-200,j=25;printf("%d,%d",i,j);printf(ni=%d,j=%d\n",i,j);}答案:-200,25,i=-200,j=25程序設(shè)計(jì)題:1、本程序演示打印出如下圖案(菱形)****************************[程序分析]先把圖形分成兩部分來(lái)看待,前四行一個(gè)規(guī)律,后三行一個(gè)規(guī)律,利用雙重for循環(huán),第一層控制行,第二層控制列。答案:main(){inti,j,k;for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論