版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C語言試題(9)選擇題(50x2=100).一個c程序的執(zhí)行是從()?A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束B)本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C)本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D)本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束.以下敘述不正確的是()oA)一個C源程序可由一個或多個函數(shù)組成B)一個C源程序必須包含一個main函數(shù)C)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說明只能位于一條語句的后面.一個C語言程序是由()?A)一個主程序和若干子程序組成 B)函數(shù)組成C)若干過程組成 D)若干子程序組成.若x,i,j和k都是int型變量,則執(zhí)行下面表達式后x的值為()?x=(i=4,j=16,k=32)TOC\o"1-5"\h\zA)4 B)16C)32 D)52.下列四組選項中,均不是C語言關(guān)鍵字的選項是()。A)defineB)getcC)includeD)whileIF char scanf gotype printf case pow.下面四個選項中,均是不合法的用戶標識符的選項是().AB)floatC)b-aD)_123P_0laOgototempdo_AintINTTOC\o"1-5"\h\z.下面四個選項中,均是合法轉(zhuǎn)義字符的選項是()。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,.已知各變量的類型說明如下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語言語法的表達式是()oA)x%(-3) B)w+=-2C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3).以下不正確的敘述是()?A)在C程序中,逗號運算符的優(yōu)先級最低B)在C程序中,APH和aph是兩個不同的變量C)若a和b類型相同,在執(zhí)行了賦值表達式a=b后b中的值將放人a中,而b中的值不變。D)當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值。.以下符合C語言語法的賦值表達式是().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語言中,要求運算數(shù)必須是整型的運算符是()。A)/ B)++C)1= D)%.在C語言中,int、char和short種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)().A)由用戶自己定義 B)均為2個字節(jié)C)是任意的 D)由所用機器的機器字長決定.若有定義:inta=7;floatx=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是( )。A)2.5OOOOOB)2.750000C)3.5OOOOOD)0.8)0000.設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+宜+i*f值的數(shù)據(jù)類型為()。A)intB)foatC)double D)不確定.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是()。A)補碼 B)反碼C)原碼 D)ASCH碼.表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為().A)nt B)noat C)double D)不確定.設(shè)有說明:charw;intx;floaty;doublez;則表達式w*x+z-y值的數(shù)據(jù)類型為()?A)floatB)charC)intD)double.設(shè)以下變量均為int類型,則值不等于7的表達式是().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如果字符串長度大于5,則輸出按方式()?A)從左起輸出該字串,右補空格B)按原字符長從左向右全部輸出C)右對齊輸出該字串,左補空格D)輸出錯誤信息.已有定義inta=-2;和輸出語句:printf("%81x",a);以下正確的敘述是()?A)整型變量的輸出格式符只有%d一種B)%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)C)%x是格式符的一種,其變量的值按十六進制輸出,但%81x是錯誤的D)%81x不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度.已有如下定義和輸入語句,若要求al,a2,cl,c2值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(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);語句,若從第一列開始輸入數(shù)據(jù)12345678(回車),則y的值為()。A)無定值 B)45.0000 C)678.000000D)123.00000.已有程序段和輸入數(shù)據(jù)的形式如下,程序中輸入語句的正確形式應(yīng)當為()。main(){intajfloatfprintf(u\nlnputnumber:");輸入語句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);.閱讀以下程序,當輸入數(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)不確定值.以下說法正確的是()。A)輸入項可以為一實型常量,如scanf("%口3.5);B)只有格式控制,沒有輸入項,也能進行正確輸入,如scanf("a=%d,b=%d");C)當輸入一個實型數(shù)據(jù)時,格式控制部分應(yīng)規(guī)定小數(shù)點后的位數(shù),如scanf("%4.21&D)當輸入數(shù)據(jù)時,必須指明變量的地址,如scanf("%F,&f);.有輸入語句:scanf("%d,%d,%d",&a,&b,&c);為使變量a的值為l,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)當是().A)132(回車)B)l,3,2(回車)C)123(回車)D)a=l,b=3,c=2(回車).已知ch是字符型變量,下面不正確的賦值語句是()oA)ch='a+b';B)ch=AO';C)ch='7'+'9';D)<h=5+9;.若有以下定義,則正確的賦值語句是()?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程序中,逗號運算符的優(yōu)先級最低B、在C程序中,MAX和max是兩個不同的變量C、若a和b類型相同,在計算了賦值表達式a=b后,b中的值將放入a中,而b中的值不變D、從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值33.以下敘述正確的是()?A、在C程序中,每行只能寫一條語句B、若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)據(jù)C、在C程序中,%是只能用于整數(shù)運算的運算符D、在C程序中,無論是整數(shù)還是實數(shù),都有能被準確無誤地表示34.已知字母A的ASCII碼為十進制65,且c2為字符型,則執(zhí)行c2=,A'+6/3'后,c2中的值為()?A、DB、68C、不確定的值D、C.若一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為()。A、0-255B、0?32767 C、0?65535D、0?2147483647.設(shè)在說明:charw;intx;floaty;doublez;,則表達式w*x+z-y值的數(shù)據(jù)類型為()。A、float B、char C>int D、double.若x、3j、k都是int型變量,則通過計算x=(i=4,j=16,k=32)表達式后,x的值為()。A、4 B、16 C、32 D、52.設(shè)以下變量均為int類型,則值不等于7的表達式是()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ù)的正確輸入語句是()。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;要通過語句: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í)行語句: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í)行語句printf(4t%d,%o,%x\n,,,a,a+1,a+2);后的輸出是()。A、25,175,7DB、125,176,7FC、125,176,7DD、125,175,2F.若在鍵盤上輸入:283.1900,想使單精度實型變量c的值為283.19,則正確的輸入語句是()。A、scanfC4%f\&c);B、scanf(t4%8.4f;&c);C、scanf(i4%6.2f\&c);D、scanf(“%8”,&c);.if語句的控制條件()oA、只能用關(guān)系表達式 B、只能用關(guān)系表達式或邏輯表達式C、只能用邏輯表達式 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í)行以下程序時從鍵盤上輸入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.使用語句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)可以在一個函數(shù)中定義另一個函數(shù)main()函數(shù)必須放在其他函數(shù)之前C函數(shù)定義的格式是K&R格式(13)一個C語言程序是由一個主程序和若干子程序組成B)函數(shù)組成C)若干過程組成D)若干子程序組成(14)請選出可用作C語言用戶標識符的是void,define,WORDa3_b3,_123,IFFOR,-abc,case2a,Do.Sizeof(15)下列各數(shù)據(jù)類型不屬于構(gòu)造類型的是A)枚舉型B)共用型C)結(jié)構(gòu)型D)數(shù)組型(17)以下不正確的敘述是A)在C程序中,逗號運算符的優(yōu)先級最低B)在C程序中,APH和aph是兩個不同的變量C)若a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值不變D)當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值sizeof(float)是一個雙精度型表達式B)一個整型表達式一種函數(shù)調(diào)用一個不合法的表達式(19)若x,i,j和k都是int型變量,則計算表達式x=(i=4,j=16,k=32)后,x的值為4163252(20)下面程序的功能是把316表示為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,請選擇填空。#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)下面程序的運行結(jié)果是#includemain(){inty=10;do{y一;}while(—y);printf("%d\n”,y—);)-1180(25)設(shè)有intx=ll;則表達式(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個字節(jié)5個字節(jié)6個字節(jié)7個字節(jié)(33)以下不正確的定義語句是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語言允許函數(shù)類型缺省定義,此時函數(shù)值隱含的類型是floatintC)longD)double(37)以下程序有語法錯誤,有關(guān)錯誤原因的正確說法是main(){intG=5,k;voidprt_char();k=prtchar(G)A)語句voidprtchar();有錯,它是函數(shù)調(diào)用語句,不能用void說明B)變量名不能使用大寫字母C)函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾D)函數(shù)名不能使用下劃線(38)以下敘述中不正確的是A)在不同的函數(shù)中可以使用相同的名字的變量B)函數(shù)中的形式參數(shù)是局部變量C)在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D)在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(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)卜面程序的運行結(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乩<回車),則輸出結(jié)果為main(intargc,char*argv口){while(—argc>0)printf(z/%sv,argv[argc]);printf("\n");IABCDEFGIJHLABCDEFGHIJKLIJKLABCDEFGH(45)以下程序有錯,錯誤原因是main(){int*p,i;char*q,ch;&i;&ch;*p=40;*p=*q;p和q的類型不一致,不能執(zhí)行*p=*q;語句*p中存放的是地址值,因此不能執(zhí)行*p=40;語句q沒有指向具體的存儲單元,所以*q沒有實際意義q雖然指向了具體的存儲單元,但該單元中沒有確定的值,所以執(zhí)行*p=*q;沒有意義,可能會影響后面語句的執(zhí)行結(jié)果(46)函數(shù)rewind的作用是A)使文件位置指針幣:新返回文件的開始位置B)將文件位置指針指向文件中所要求的特定位置C)使文件位置指針指向文件的末尾D)使文件位置指針自動移至下一個字符位置(47)設(shè)有以下說明語句structexintx;floaty;charz;}example;則下面的敘述中不正確的是struct結(jié)構(gòu)體類型的關(guān)鍵字example是結(jié)構(gòu)體類型名x,y,z都是結(jié)構(gòu)體成員名structex是結(jié)構(gòu)體類型名(48)設(shè)有以下語句:charx=3,y=6,z;z=x~y<<2;則z的二進制值是00010100000110110001110000011000(49)閱讀以下程序及對程序功能的描述,其中正確的描述是#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)程序完成將磁盤文件的信息在屏幕上顯示的功能B)程序完成將兩個磁盤文件合二為一一的功能C)程序完成將一個磁盤文件復(fù)制到另一個磁盤文件中D)程序完成將兩個磁盤文件合并并在扉幕上輸出(50)C語言中,能識別處理的文件為A)文本文件和數(shù)據(jù)塊文件B)文本文件和二進制文件C)流文件和文本文件D)數(shù)據(jù)文件和二進制文件轉(zhuǎn)貼于:計算機二級考試一考試大【責編:oyshaoli糾錯】二、填空題(1)數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和【1】兩大類。解析:數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和非線性結(jié)構(gòu)兩大類。(2)順序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置【2】的存儲單元中。解析:常用的存儲表示方法有4種,順序存儲、鏈式存儲、索引存儲、散列存儲。其中,順序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置也相鄰的存儲單元中。(3)一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的[3]o解析:本題考查了繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。(4)軟件工程研究的內(nèi)容主要包括:【4】技術(shù)和軟件工程管理。解析:基于軟件工程的目標,軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開發(fā)方法學(xué)。軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟學(xué),以及軟件心理學(xué)等內(nèi)容。(5)關(guān)系操作的特點是【5】操作。解析:在關(guān)系操作中,所有操作對象與操作結(jié)果都是關(guān)系。而關(guān)系定義為元數(shù)相同的元組的集合。因此,關(guān)系操作的特點是集合操作。(6)下面程序是指從終端讀入的20個字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請?zhí)羁铡?includemain(){inti;chars[21],*p;for(i=0;i<20;i++)s[i]=getchar();s[i]=[6];p=[7]while(*p)putchar([8]);)解析:本題選通過for循環(huán)從鍵盤讀入20個字符,然后在最后賦一定值'\0'后為結(jié)束標志,再使指針P指向字符串的首地址。最后通過while循環(huán)對字符串進行掃描并輸出。(7)以下程序?qū)?shù)組a的4個元素和數(shù)組b的6個元素寫到名為lett.dat的二進制文件中,請?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個字節(jié)輸出到fp所指定的文件中。(8)在C語言中(以16位PC機為例),一個float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為[11]o解析:在一般系統(tǒng)中,一個float型數(shù)據(jù)在內(nèi)存中占4個字節(jié)(32位),一個double型數(shù)據(jù)占8個字節(jié)。(9)以下程序輸出的結(jié)果是【12】。main(){inta=5,b=4,c=3,d;d=(a>b>c);printf(*%d\n*,d);}解析:本題的關(guān)鍵在于對變量c的賦值運算:d=(a>b>c)d=(5>4>3)先算5>3,為真,得1,即:d=(1>3),此時1>3,為假,得0。(10)以卜函數(shù)的功能是求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個數(shù)通過形參n返回。例如,若x中的值為30,則有4個數(shù)符合要求,它們是1,3,5,15o請按題意,完成填空。試題程序:#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)語句中i從1開始且每次增2,所以i始終是奇數(shù),*n=j;語句是記錄能夠符合題意的各個整數(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,但在使用時要注意對k的指針運算,此外,一開始應(yīng)認*1<的值為數(shù)組中的某一下標值,即*k=0。(12)mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁?。intmystrlen(char*str){inti;for(i=0;[17]!='\0';i++);return(i);}解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過程中,可以用*(str+i)來訪問字符串中的第i個元素,判斷是否是結(jié)束標志,如果不是,i=i+l,繼續(xù)取下一個元素進行判斷,直到*(str+i)的值為'\0'為止,也可以用下標的方式引用字符,如*(str+i)相當于str[i]o(13)以下程序的輸出結(jié)果為[18]o#defineJFT(x)x*xmain(){inta,k=3;a=++JFT(k+1);printf解析:宏替換的原則是按原樣替換,本題中遇到形參X則以實參k+1替換,其他字符不變。所以JFT(k+1)經(jīng)替換后為k+l*k+l,所以a=++k+l*k+l,若k+1,若k的值為3,則經(jīng)過運算為a=4+l*4+l=9o(14)以下定義的結(jié)構(gòu)體類型擬包含兩個成員,其中成員變量inf。用來存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請將定義補充完整。structnode{intinfo;[19]link;};解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個指向自身的結(jié)構(gòu)體指針。(15)設(shè)有以下結(jié)構(gòu)體類型:structst{charname[8];intnum;floats[4];}student[50];并且結(jié)構(gòu)體數(shù)組student中的元素都已有值,若要將這些元素寫到硬盤文件fp中,請將以Ffwrite語句補充完整:fwrite(student,[20],1,fp);解析:fwrite函數(shù)的?般調(diào)用形式為:fwrite(buffer,size,count,fp),其中:buffer:是一個指針變量,是要輸出數(shù)據(jù)的起始地址size:要寫的字節(jié)數(shù)count:要進行寫多少個size字節(jié)的數(shù)據(jù)項
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語言語法的表達式是.A.a+=a-=(b=4)*(a=3)B.x%(-3);a=a*3=2y=float(i)答案:A3、設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為x=10;x+=x-=x-x;A.10B.204030答案:B4、C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是一DoubleshortintegerChar答案:B5、表達式: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.無限循環(huán)一次也不執(zhí)行D.執(zhí)行一次答案:C9、在執(zhí)行以下程序時,為了使輸出結(jié)果為t=4,則給a和b輸入的值應(yīng)滿足的條件是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í)行下面的程序時從鍵盤上輸入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、請讀程序: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);}若運行時從鍵盤上輸入2.0(表示回車),則上面程序的輸出結(jié)果是0.0000000.2500000.5000001.000000答案:C15> 請讀程序: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、若有定義和語句:chars[10];s=〃abcd〃;printf("%s\n〃,s);則結(jié)果是(以下n代表空格)A.輸出abedB.輸出aC.輸出abcd|ipn|i(iD.編譯不通過答案:D17、C語言可執(zhí)行程序的開始執(zhí)行點是()A.程序中的一條可執(zhí)行語句B.程序中第一個函數(shù)C.程序中的main函數(shù)D.包含文件中的第一個函數(shù)答案:C18、以下敘述正確的是()A.在C程序中,main函數(shù)必須位于程序的最前面C程序的每行中只能寫一條語句C語言本身沒有輸入輸出語句D.在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤答案:C19、以下敘述中不正確的是A.預(yù)處理命令行都必須以#號開始B.在程序中凡是以#號開始的語句行都是預(yù)處理命令行C.C程序在執(zhí)行過程中對預(yù)處理命令行進行處理D,以下是正確的宏定義#defineIBM_PC答案:C20、以下正確的敘述是A.在C程序中,每行中只能寫一條語句B.若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)C.在C程序中,無論是整數(shù)還是實數(shù),都能被準確無誤地表示D.在C程序中,%是只能用于整數(shù)運算的運算符答案:D21、已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行語句c2=A,+6-3;后,c2中的值為D68C.不確定的值D.C答案:B22>下面程序段的運行結(jié)果是intn=O;while(n++<=2);printf(,,%d,,,n);2B.3C.4D.有語法錯答案:C23、判斷char型變量cl是否為小寫字母的正確表達式是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似下語句執(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)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句B.do-while循環(huán)山do開始,用while結(jié)束,在while(表達式)后面不能寫分號C.在do-while循環(huán)體中,一定要有能使while后面表達式的值變?yōu)榱?“假”)的操作D.do-while循環(huán)中,根據(jù)情況可以省略while答案:C26、有一堆零件(100到200之間),如果分成4個零件一組的若干組,則多2個零件;若分成7個零件一組,則多3個零件;若分成9個零件一組,則多5個零件。下面程序是求這堆零件總數(shù),請選擇填空。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、以下正確的說法是A.定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi)B.return后邊的值不能為表達式C.如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準D.如果形參與實參類型不一致,以實參類型為準答案:C28>下面判斷正確的是char*a="china";等價于char*a;*a="china";charstr[10]={"china"};等價于charstr[10];str[]={"china',);char*s="china”;等價于char*s;s=MchinaH;charc[4]="abc*d[4]="abc”;等價于charc[4]=d[4]=MabcM;答案:C29、若定義:inta=511,*b=&a;,貝ijprintf("%d\n”,*b);的輸出結(jié)果為A.無確定值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í)行以下程序時從鍵盤上輸入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語句是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語言表達式是A.a>=10ora<=0B.a>=0lla<=10C.a>=10&&a<=0D.a<=0IIa>=10答案:D36、在C語言中,不正確的int類型的常數(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.自然語言,傳統(tǒng)流程圖,N-S流程圖,偽代碼,計算機語言B.高級語言,匯編語言,機器語言C.C語言,QBASIC語言,InterDevD.圖形圖像法,描述法,編程法E.計算機語言答案:A40、合法的C語言賦值語句是()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ù)組元素按順序存放的過程稱為.答案:排序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ù)組的大小,因為這樣能夠更容易調(diào)整程序。答案:符號常量5、寫出該程序運行的結(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、寫出該程序運行的結(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碼為十進制數(shù)97,且設(shè)ch為字符型變量,則表達式ch=,a,+8-3的值為 答案:r8、執(zhí)行下列語句后x的值是.X=y=z=5;X=y==z;答案:149、若有定義:inta=2,b=3;floatx=3.5,y=2.5;則下面表達式的值為(float)(a+b)/2+(int)x%(int)y答案:3.50000010、若從鍵盤輸入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的絕對值大于5”時值為“真”的C語言表達式是o答案:x>5llx<-514、下面程序的功能是:計算1到10之間奇數(shù)之和及偶數(shù)之和,請?zhí)羁铡nclude<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中下標值為偶數(shù)的元素從小到大排列,其它元素不變。請?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、以下程序的功能是:從鍵盤上輸入若干個學(xué)生的成績,統(tǒng)計計算出平均成績,并輸出低于平均分的學(xué)生成績,用輸入負數(shù)結(jié)束輸入。請?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è)計題:1、在[200,900]范圍內(nèi)同時滿足以下兩個條件的十進制數(shù):⑴其個位數(shù)字與十位數(shù)字之和除以10所得的余數(shù)是百位數(shù)字;⑵該數(shù)是素數(shù);問有多少個這樣的數(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以內(nèi)被17或者23整除的正整數(shù)數(shù)的個數(shù)。答案:main(){intm,k=0;for(m=1;m<=5000;m++){if(m%17==0llm%23==0)k++;}printf("%d\n",k);}本題參考答案:499程序設(shè)計題:1、有50個學(xué)生一起買小吃,共花錢200元,其中每個大學(xué)生花5元,每個中學(xué)生花3元,每個小學(xué)生花2元,問大、中、小學(xué)生的人數(shù)分配共有多少種不同的解(去掉某類學(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、編寫程序,計算在0至50的范圍內(nèi)有多少個數(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以內(nèi)(含500)能被5或9整除的所有自然數(shù)的倒數(shù)之和。按四舍五入的方式精確到小數(shù)點后第二位。答案: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語言表達式為o(X<=丫)&&(丫<=Z)(X<=Y)AND(Y<=Z)(X<=Y<=Z)(X<=Y)&(Y<=Z)答案:A2、為表示關(guān)系XNYNZ應(yīng)使用C語言表達式:_(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í)行語句:z=2*(N+Y(5+l));后,z的值為.A.出錯B.42C.48D.54答案:C6、下列程序執(zhí)行后的輸出結(jié)果是main(){intx='f;printf("%c\n",'A'+(x-'a'+l));)A.GHID.J答案:A7,若有定義和語句:chars[10];s="abcd";printf("%d\n",s)則結(jié)果是A.輸出abedB.輸出aC.輸出adebD.編譯不能通過答案:D8、以下敘述正確的是()do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替do-while語句構(gòu)成的循環(huán)只能用break語句退出C.用do-while語句構(gòu)成的循環(huán),在while后的表達式為非零時結(jié)束循環(huán)。D.用do-while語句構(gòu)成的循環(huán),在while后的表達式為零時結(jié)束循環(huán)。答案:D9、為避免嵌套的條件分支語句if...else的二義性,C語言規(guī)定,C程序中的else總是與—組成配對關(guān)系。A.其上面距它最近的,并且沒有其他else與其配對的if相配對B.在同一行上的ifC.縮排位置相同的ifD.在其之前未配對的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í)行下面語句后的輸出為()inti=-l;if(i<=O)printf(H****\nH)elseprintf(',%%%%\n^,)A****%%%%%%%%CD.有語法錯,不能執(zhí)行答案:D15、以下敘述中不正確的是( )A.在不同的函數(shù)中可以使用相同名字的變量B,函數(shù)中的形式參數(shù)是局部變量C.在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D.在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效答案:D16、下列說法正確的是.A.調(diào)用函數(shù)時,實參與形參可以共用內(nèi)存單元B,調(diào)用函數(shù)時,實參的個數(shù)、類型和順序與形參可以不一致C.調(diào)用函數(shù)時形參可以是表達式D.調(diào)用函數(shù)時,將為形參分配內(nèi)存單元答案:D17、下列不正確的轉(zhuǎn)義字符是(A.VM01'AO'答案:C18、C語言程序由函數(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、一個C程序的執(zhí)行是從()A.本程序的main函數(shù)開始,到main函數(shù)結(jié)束B.本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C.本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D.本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束答案:A20、以下敘述正確的是()A.在C程序中,main函數(shù)必須位于程序的最前面C程序的每行中只能寫一條語句C語言本身沒有輸入輸出語句D.在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤答案:C21、下面四個選項中,均是合法的浮點數(shù)的選項是A.+le+l5e-9.403e2-.6012e-4-8e5123e1.2e-.4+2e-l-e3.8e-45.e-0答案:B22、在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是A.整型常量B,整型表達式C.整型常量或整型表達式D.任何類型的表達式答案:A23、已知intx=10,y=20,z=30似下語句執(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、若運行以下程序時,從鍵盤輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運行結(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、以下程序有語法錯誤,有關(guān)錯誤原因的正確說法是main(){intG=5,k;voidprt_char();...k=prt_char(G);...)A.語句voidprt_char();有錯,它是函數(shù)調(diào)用語句,不能用void說明B.變量名不能使用大寫字母C.函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾D.函數(shù)名不能使用下劃線答案:C28、若有說明:ima[3][4];則數(shù)組a中各元素A.可在程序的運行階段得到初值0B.可在程序的編譯階段得到初值0C.不能得到確定的初值D.可在程序的編譯或運行階段得到初值0答案:D29、以下敘述中不正確的是A.預(yù)處理命令行都必須以#號開始B.在程序中凡是以#號開始的語句行都是預(yù)處理命令行C.C程序在執(zhí)行過程中對預(yù)處理命令行進行處理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已正確賦值,合法的語句是A.a==l++i;a=a++=5;a=int(i);答案:B32、有如下程序段int*p,a=10,b=1p=&a;a=*p+b;執(zhí)行該程序段后,a的值為121110D.編譯出錯答案: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;表達式(!xlly-)的值是012答案:B36、下列程序的運行結(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同時為正或同時為負的邏輯表達式是(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:并在以后的語句中未改變p的值,不能表示a[l]地址的表達式是p+1a+1a++++p答案:C39、N-S流程圖里不含有()。A.判斷框B.流程線C.矩形框D.文字描述答案:B40、若有說明:“doublea:”,則正確的輸入語句應(yīng)該是()A.scanf("%lf',a);B.scanf("%f',&a);C.scanf("%lf',&a)D.scanf("%le",&a);答案:D填空題:1、把數(shù)組元素按順序存放的過程稱為.答案:排序2、下列程序的功能是:求100-200之間的不能被3整除的數(shù)輸出,請?zhí)羁?main(){intn;;{if(n%3==0)continue;printf(,'%d,',n);}}答案:for(n=100;n<=200;n++)3、若想通過以下輸入語句使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,從鍵盤輸入一個大寫字母,要求改用小寫字母輸出,程序如下,請?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、以下程序不用第三個變量,實現(xiàn)將兩個數(shù)進行對調(diào)操作,請?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語言表達式是。答案:(X>10&&X<100)IIX<08、當a=5,b=4,c=2時,表達式a>b!=c的值是答案:19、在C語言中,輸入操作是由庫函數(shù)完成的,輸出操作是由庫函數(shù) 完成的。答案:scanf,printf10、若有定義:intb=7;floata=2.5,c=4.7;則下面表達式的值為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);})程序運行后,如果從鍵盤上輸入1298;則輸出結(jié)果為。答案:892112、以下程序運行后的輸出結(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回車>,則以下while循環(huán)體將執(zhí)行次。while((ch=getchar())==,e,)printf(M*M);答案:017、下面程序的功能是:將字符數(shù)組a中下標值為偶數(shù)的元素從小到大排列,其它元素不變。請?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è)計題:1、本程序演示打印出如下圖案(菱形)****************************[程序分析]先把圖形分成兩部分來看待,前四行一個規(guī)律,后三行一個規(guī)律,利用雙重for循環(huán),第一層控制行,第二層控制列。答案:main(){inti,j,k;for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)業(yè)科技園區(qū)設(shè)施租賃協(xié)議4篇
- 啟迪未來點亮夢想
- 2025版收入證明模板制作與市場推廣合作合同3篇
- 2025年全球及中國氣體激光清洗設(shè)備行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國住宅用灌溉噴水閥行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球?qū)櫸锔闻K功能補充劑行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球印章套件行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球光伏發(fā)電箱變行業(yè)調(diào)研及趨勢分析報告
- 施工承包合同標準模板
- 2025版?zhèn)€人購房貸款還款順序合同模板3篇
- 小學(xué)六年級數(shù)學(xué)上冊《簡便計算》練習題(310題-附答案)
- 2023-2024學(xué)年度人教版一年級語文上冊寒假作業(yè)
- 培訓(xùn)如何上好一堂課
- 高教版2023年中職教科書《語文》(基礎(chǔ)模塊)下冊教案全冊
- 2024醫(yī)療銷售年度計劃
- 稅務(wù)局個人所得稅綜合所得匯算清繳
- 人教版語文1-6年級古詩詞
- 上學(xué)期高二期末語文試卷(含答案)
- 軟件運維考核指標
- 空氣動力學(xué)仿真技術(shù):格子玻爾茲曼方法(LBM)簡介
- 對表達方式進行選擇與運用
評論
0/150
提交評論