版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)編程練習(xí)題及參考答案計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)單項(xiàng)選擇練習(xí)題一、基本概念1.C語(yǔ)言程序是由構(gòu)成的。A)一些可執(zhí)行語(yǔ)言 B)main函數(shù) C)函數(shù) D)包含文件中的第一個(gè)函數(shù)是構(gòu)成C語(yǔ)言程序的基本單位。A)函數(shù) B)過程 C)子程序D)子例程C語(yǔ)言可執(zhí)行程序從開始執(zhí)行。B)程序中第一個(gè)函數(shù)D)B)程序中第一個(gè)函數(shù)D)包含文件中的第一個(gè)函數(shù)C)程序中的main函數(shù)C語(yǔ)言程序從main。函數(shù)開始執(zhí)行,所以這個(gè)函數(shù)要寫在.A)程序文件的開始 B)程序文件的最后C)它所調(diào)用的函數(shù)的前面 D)程序文件的任何位置以下說法中正確的是oA)C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B)在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義C語(yǔ)言程序總是從main()函數(shù)開始執(zhí)行C語(yǔ)言程序中的main()函數(shù)必須放在程序的開始部分.下列方法中錯(cuò)誤的是.A)主函數(shù)可以分為兩個(gè)部分:主函數(shù)說明部分和主函數(shù)體。B)主函數(shù)可以調(diào)用任何非主函數(shù)的其它函數(shù)。C)任何非主函數(shù)可以調(diào)用其它任何非主函數(shù)。D)程序可以從任何非主函數(shù)開始執(zhí)行。.下列關(guān)于C語(yǔ)言的說法錯(cuò)誤的是oA)C程序的工作過程是編輯、編譯、連接、運(yùn)行B)標(biāo)識(shí)符的命名由英文字母、數(shù)字和下劃線組成,與字母的大小寫無(wú)關(guān)C)C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)0)一個(gè)C程序總是從main函數(shù)開始執(zhí)行的.系統(tǒng)默認(rèn)的C語(yǔ)言源程序擴(kuò)展名為.C,需經(jīng)過之后,生成.exe文件,才能運(yùn)行。A)編輯、編譯 B)編輯、連接 C)編譯、連接D)編輯、改錯(cuò).下列說法中正確的是.A)由于C源程序是高級(jí)語(yǔ)言程序,因此一定要在TC軟件中輸入。B)由于C源程序是由字符流組成的,因此可以作為文本文件在任何文本編輯的軟件中輸入。C)由于c程序是高級(jí)語(yǔ)言程序,因此輸入后即可執(zhí)行。D)由于C程序是高級(jí)語(yǔ)言程序,因此它是由命令組成的。
二、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式1.不是C語(yǔ)言提供的合法關(guān)鍵字是 A)switch B)cher C)case D)default.C語(yǔ)言提供的合法關(guān)鍵字是 .A)next B)string C)docase D)struct.下列不屬于C語(yǔ)言中關(guān)鍵字的是 oA)long B)print C)default D)typedef4,下列不正確的標(biāo)識(shí)符是 oA).-al B).a[i] C)a2_i D)intt.下列C語(yǔ)言用戶標(biāo)識(shí)符中合法的是 oA)*y B)sutn C)int D)%5f.下面四個(gè)選項(xiàng)中,合法的標(biāo)識(shí)符是 oA)auto B)define C)6a D)c.下列C語(yǔ)言用戶標(biāo)識(shí)符中合法的是 oA)3ax B)x C)case D)-e2.以下選項(xiàng)中合法的用戶標(biāo)識(shí)符是 oA)long B)_2Test C)3Dmax D)A.dat.下列四組選項(xiàng)中,正確的C語(yǔ)言標(biāo)識(shí)符是 oA)%x B)a*b C)al23 b)123.請(qǐng)選出可用作C語(yǔ)言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符A)void B)a3_b3 C)For D)2adefine _123 -abc DOWORD sum Case sizeof11、下列四組字符串中都可以用作C語(yǔ)言程序中的標(biāo)識(shí)符的是 OA)print_3doodbaBc B)I\amone_halfstart$it3paiC)str_lCpppowwhile D)PxqMy->bookline#His.age.下列C語(yǔ)言標(biāo)識(shí)符中合法的變量名是 .A)2e3 B)you C)*y D)float.C語(yǔ)言中的簡(jiǎn)單數(shù)據(jù)類型包括 oA)整型、實(shí)型、邏輯型 B)整型、實(shí)型、邏輯型、字符型C)整型、字符型、邏輯型 D)整型、實(shí)型、字符型.下列可以正確表示字符型常量的是 oA)'\f B)"a" C)"\n"0)29715.下列常數(shù) 是正確的C語(yǔ)言字符常量。A)"x" B>3 C)“COMPUTER”D)'#'16.在下列常量中,屬于字符型常量的是 。A)A B)'a' C)"A"D)b17.以下選項(xiàng)中合法的字符常量是
A)“B" B)An' C)'68'18.下面字符常量表示錯(cuò)誤的是 D)EAya B" C)'\n19.已定義c為字符型變量,則下列語(yǔ)句中正確的是 。A)c='97' B)c="97" C)c='a'D)c="a"20.已知ch是字符型變量,不正確的賦值語(yǔ)句是 。Akh='a*b'; B)ch='\0'; C)ch='7'*'9';D)ch=5+9;21.C語(yǔ)言中字符型(char)數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是 °A)原碼 B)補(bǔ)碼 C)反碼D)ASCII碼22.在C語(yǔ)言中,字符型數(shù)據(jù)所占的內(nèi)存空間是 。4)2個(gè)字節(jié) B)4字節(jié) C)1字節(jié)D)由用戶自定義23.若int類型數(shù)據(jù)占2個(gè)字節(jié),則unsignedint類型數(shù)據(jù)的取值范圍是一 oA)0~255 B)0?65535 C)-32768-32767D)-256?25524.若有以下類型說明語(yǔ)句;chara;intb;floatc;doubled;則表達(dá)式a*b+d-c的結(jié)果類型為 。A)float B)char C)intb)double25.若有以下類型說明語(yǔ)句:charw;intx;floaty;doublez;則表達(dá)式w-x*y/z的結(jié)果為_2類型,表達(dá)式(int)(x+y-z*w)的結(jié)果為_J類型。A)float B)char C)intD)double26.C語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是 0A)%= B)/ C)=D)<=27.在C語(yǔ)言程序中,表達(dá)式8/5的結(jié)果是 。A)1.6 B)1 C)3D)028.設(shè)x為int型變量,則執(zhí)行語(yǔ)句x=10;x+=x;后,x的值為 A)10 B)20 C)40b)3029.為求出s=10!的值,則變量s的類型應(yīng)當(dāng)為 。A)int B)unsiged C)longb)以上三種類型均可30.如果in+a=l,b=2,c=3,d=4;則條件表達(dá)式,6?<1:(<:<<1?<::6"的值是 oA)1 B)2 C.)3D)431.在C語(yǔ)言程序中,表達(dá)式5%2的結(jié)果是 ?A)2.5 B)2 C)1D)332.如果inta=3,b=4;則條件表達(dá)式"a<b?a:b"的值是 。A)3 B)4 C)0D)1.若intx=2,y=3,z=4則表達(dá)式x<z?y:z的結(jié)果是.A)4 B)3 C)2 D)0.C語(yǔ)言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是.A)0 B)0或1 C)1 D)T或F.設(shè)a,b和c都是int型變量,且a=3,b=4,c=5,則下面表達(dá)式中,值為0的表達(dá)式是oA)'a'&&b B)a<=b C)a||b+cA&b-cD)!((a<b)AA!c||l).設(shè)x、y、z和k都是int型變量,則執(zhí)行表達(dá)式:x=(y=4,z=16,k=32)后x的值.TOC\o"1-5"\h\zA)4 B)16 C)32 0)52.下面表達(dá)式的值為4.A)11/3 B)11.0/3 C)(floa+)ll/3 D)(int)(11.0/3+0.5)*38.有:inta=2,b=10,c=3,d=4,m=2,n=l;執(zhí)行(m=a>b)4&(n=c>d)后n的值為A)0 B)1 C)2 D)沒有結(jié)果39.已知intx=5,y=5,z=5;執(zhí)行語(yǔ)句x%=y+z;后,x的值是A)0 B)1 C)5 t?640.已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語(yǔ)句c2='A'*'6'-,3,;后,c2中的值為_A)68 B)D C)錯(cuò)誤 D)d.下列關(guān)于C語(yǔ)言的敘述錯(cuò)誤的是。A)大寫字母和小寫字母的意義相同B)不同類型的變量可以在一個(gè)表達(dá)式中C)在賦值表達(dá)式中等號(hào)(=)左邊的變量和右邊的值可以是不同類型D)同一個(gè)運(yùn)算符號(hào)在不同的場(chǎng)合可以有不同的含義.有:intw=ll,x=12,y=3,m;執(zhí)行下面語(yǔ)句后m的結(jié)果是。m=(w<x)?w:x;m=(m<y)?m:y;A)1 B)2 C)3 D)以上結(jié)果都不對(duì)43.有:intw=7,x=12,y=3,m;執(zhí)行下面語(yǔ)句后m的值是.m=(w>x)?w:x;m=(m>y)?m:y;A)12 B)0 C)3 D)1*44.設(shè)整型變量m,n,a,b,c,d均為0,則執(zhí)行"(m=a==b)||(n=c==d)”后,m.n的值是.A)0,0 B)O,1 C)l,0 D)l,l45.設(shè)整型變量a=2,則執(zhí)行下列語(yǔ)句后,浮點(diǎn)型變量b的值不為0.5的是。A)b=1.0/a B)b=(float)(l/a) C)b=l/(float)aD)b=l/(a*1.0)46.執(zhí)行語(yǔ)句“x=(a=3,b=a--)“后,x,a,b的值依次為。A)3,3,Z B)3,2,2 C)3,2,3 b)2.3.247.若已定義x和y為double類型,則表達(dá)式“x=l,y=x+3/2"的值是。TOC\o"1-5"\h\zA)1 B)2 C)2.0 D)2.5*48.表達(dá)式“1?(0?3:2)(10?1:0)”的值是()。A)3 B)2 C)1 D)049.若“intn;float”13.8廣,則執(zhí)行》"((時(shí)開)%3”后,n的值是.A)i B)4 C)4,333333 D)4.650.設(shè)intx=0,y=l;表達(dá)式(x||y)的值是。A)0 B)1 C)2 D)-1*51.設(shè)a是char型變量,a='l',則把其值變成整數(shù)1的表達(dá)式是。A)(int)a B)int(a) C)a=a-48 D)a/(int)a.設(shè)x為int型變量,則執(zhí)行語(yǔ)句x=10;x*=x;后,x的值為.A)10 B)20 C)100 D)0.若有語(yǔ)句inta=l,b;doubley=2.3;b=(int)y;則b的值為。A)3 B)2 C)1 D)2.3.已知intx;chary;則下面錯(cuò)誤的scant函數(shù)調(diào)用語(yǔ)句為。A)scanf('、%d,%d",Ax,&y); B)scanf「%d,%c”,x,y)C)scanf("%d%d”,&x,&y) D)scanfC'%d,%c",&x,&y)*55.使用語(yǔ)句scanf("x=%f,y=%f",&x,&y);輸入變量x、y的值(代表空格),正確輸入是oA)1.25,2.4 B)1.25口2.4C)x=1.25,y=2.4 b)x=1.25y=2.4.在C語(yǔ)言的庫(kù)函數(shù)中,可以輸出char型變量x值的語(yǔ)句是。A)getchar(x); B)fputc(x)C)putchar(x) b)puts(x).設(shè)正x、y均為整型變量,且x=10y=3,貝!J語(yǔ)句printf("%d,%d\n”,x--,++y);的輸出結(jié)果是.A)10,3 B)9,3 C)9,4 D)10,4.以下說法正確的是?!甔,+101是一個(gè)錯(cuò)誤的表達(dá)式C語(yǔ)言不允許類型的混合運(yùn)算C)強(qiáng)制類型轉(zhuǎn)換時(shí),類型說明符必須加括號(hào)D)(int)x+y和(int)(x+y)是完全等價(jià)的表達(dá)式59.表達(dá)式sizeof(double)是?
A)函數(shù)調(diào)用 B)double型表達(dá)式C)int型表達(dá)式達(dá)式62.以下運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是:b)非法表D)!=b)非法表D)!=三、選擇結(jié)構(gòu)I.在c語(yǔ)言中,能代表邏輯值“真”的是。A)true B)大于。的數(shù) C)非。整數(shù) D)非0的數(shù)2.表示關(guān)系x<=y<=z的c語(yǔ)言表達(dá)式為。A)(x<=y)4<&(y<=z) B)(x<=y)ANt)(y<=z)C)(x<=y<=z) D)(x<=yJA(y<=z)3.能正確表示邏輯關(guān)系:,“0或asO”的C語(yǔ)言表達(dá)式是。A)a>=10ora<=0 B)a>=0|a<=10C)a>=10<&<&a<=0 t>)a>=10IIa<=04、判斷char型變量cl是否為大寫字母的表達(dá)式為。A),A'<=cl<='Z, B)(cl>='A')&(cl<='Z')C)CA'<=cl)AND(Z>=cl) t?(cl>='A')&&(cl<="Z').有定義charc;c=9etchar();表示字符變量c為大寫字母的正確表達(dá)式為?A),A'=<c<="Z' B)c>='A'&&c<='Z C)A=<c<=Z D)c>=A&&c<=Z.設(shè)有語(yǔ)句"inta=4;b=3,c=-2,d=2;",則邏輯表達(dá)式“a>0&&b&&c<0&&d>0"的值是.A)1 B)0 C)-l D)出錯(cuò).設(shè)a為整型變量,則不能正確表達(dá)數(shù)學(xué)關(guān)系10<a<15的C語(yǔ)言表達(dá)式是。A)10<a<15 B)a==ll||a==12||a==13||Q==14C)a>104Aa<15 D)!(a<=10>&A!(a>=15).為表示邏輯表達(dá)式79<X<90,應(yīng)使用的C語(yǔ)言表達(dá)式是.A)(X>79)&&(X<90) B)(X>79)!=(X<90)C)79<X<90 0)(X>79)||(X<90).在下面的條件語(yǔ)句中(其中si和s2表示是C語(yǔ)言的語(yǔ)句),只有一個(gè)在功能上與其它三個(gè)語(yǔ)句不等價(jià),它是A)if(a)si;elses2; B)if(a==0)s2;elsesi;C)if(a!=0)si;elses2; D)if(a==0)si;elses2;.假定所有變量均已正確定義,則下列程序段運(yùn)行后y的值是。inta=0,y=10;if(a=O)y--;elseif(a>0)y++;elsey+=y;A)20 B)ll C)9 D)01L假定所有變量均已正確定義,則下列程序段運(yùn)行后x的值是。
a=b=c=O;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A)34 B)4 C)35 0)3.C語(yǔ)言對(duì)嵌套if語(yǔ)句的規(guī)定是:else語(yǔ)句總是與配對(duì)。A)其之前最近的if B)第一個(gè)ifC)縮進(jìn)位置相同的if D)其之前最近的且尚未配對(duì)的if.在C語(yǔ)言語(yǔ)句中,用來(lái)決定分支流程的表達(dá)式是?A)可用任意表達(dá)式 B)只能用邏輯表達(dá)式或關(guān)系表達(dá)式C)只能用邏輯表達(dá)式 D)只能用關(guān)系表達(dá)式.C語(yǔ)言中用 表示邏輯“真工A)true B)A)true B)整數(shù)值1.若k是int型變量,且有下面的程序段:intk;k=-3;if(k<=0)printf「####");else上面程序段的輸出結(jié)果是A)#### B)&&&&無(wú)輸出結(jié)果.main(){intx=0,a=0,b=0;switch(xXcase0: b++;case1: a++;case2: a++;b++;}printfCa=%d,b=%d\n,',a,b);)該程序的輸出結(jié)果是oA)a=2,b=l B)a=l,b=l17以下程序的輸出結(jié)果是:()main(){intx=-10,y=l,z=l;if(y<0)z=0;elsez=z+l;printfC%d\n'*,z);C)非零整數(shù)值D)falseC)####&&&&D)有語(yǔ)法錯(cuò)誤C)a=l,b=OD)a=2,b=2A)0 B)1 C)2 b)318.以下程序段的輸出結(jié)果是ointa=lO,b=5O,c=3O;if(a>b)a=b;b=c;c=a;printf(Ha=%2db=%2dc=%2d\n",a/b/c);A)a=10b=50c=10 B)a=10b=30c=10C)a=50b=30c=10 D)a=50b=30c=5019.若inti=10;執(zhí)行下列程序后,變量i的正確結(jié)果是。switch(i){case9:i*=l;case10:i+=l;case11:i+=l;default: i*=l;)A)13 B)12 C)ll 0)10四、循環(huán)結(jié)構(gòu).在C語(yǔ)言中,下列說法中正確的是()odo-while語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代替.do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出。do-while語(yǔ)句構(gòu)成的循環(huán)在while后的表達(dá)式非零時(shí)結(jié)束循環(huán)。do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)。.break語(yǔ)句不能出現(xiàn)在語(yǔ)句中()A)switchB)for C)whileD)if...else.對(duì)于break語(yǔ)句和continue語(yǔ)句的說法錯(cuò)誤的是()break語(yǔ)句不能用于循環(huán)語(yǔ)句和switch語(yǔ)句之外的任何其他語(yǔ)句中。break和continue也可以用于if語(yǔ)句中continue語(yǔ)句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行。break語(yǔ)句是結(jié)束整個(gè)循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。.語(yǔ)句while(!y);中的表達(dá)式!y等價(jià)于A)y==OB)y!=1C)y=!OD)y==l.若有、'inta=l,x=l;",則循環(huán)語(yǔ)句“while(a<10)x++;a++;”的循環(huán)執(zhí)行().A)無(wú)限次 B)不確定次 C)10次 D)9次.有以下程序段intk=0while(k)k++;則while循環(huán)體執(zhí)行的次數(shù)是A)無(wú)限次 B)有語(yǔ)法錯(cuò),不能執(zhí)行C)一次也不執(zhí)行 D)執(zhí)行1次.下列循環(huán)語(yǔ)句中有語(yǔ)法錯(cuò)誤的是()Awhile(x=y)5;Bwhile(O);Cdo2;while(x==b);Ddox++while(x==10);.當(dāng)運(yùn)行時(shí)輸入:abcd$abcde,,下面程序的運(yùn)行結(jié)果是.#include<stdio.h>main(){charc;while(putchar(getchar())!=printf("end");)A)abcdfabcdeB)abcd$endC)abcdendD)abcd$abcdeend.以下程序段()
x=-l;do[x=x*x;}while(x>0);A)是死循環(huán)B)循環(huán)執(zhí)行一次C)循環(huán)執(zhí)行二次t>)有語(yǔ)法錯(cuò)誤10.下面程序段執(zhí)行后的結(jié)果為:()intsum=0,n=10;do{sum=sum+n;n++;}while(n<10)printfC%d,%d",sum,n)A.0,10B)10,11C)0,11D)以上結(jié)果都不對(duì).對(duì)以下程序段的敘述正確的是 .intx=l;do{x=-l*x;}while(lx)A)是死循環(huán)B)循環(huán)執(zhí)行一次C)循環(huán)執(zhí)行二次D清語(yǔ)法錯(cuò)誤.循環(huán)丫。?=0,*=14=10&&、>0;1++);”的循環(huán)執(zhí)行()。A)無(wú)限次 B)不確定次 C)10次 D)9次.執(zhí)行語(yǔ)句{for(j=0;卜=3;j++)。=1;}后變量」的值是.A)0B)3 C)4D)1.有如下程序main(){inti,sum=2;for(i=l;i<=3;i+=2)sum+=i;prin+f(''%d\n",sum);)該程序的執(zhí)行結(jié)果是A)6 B)3 C)死循環(huán)D)415、執(zhí)行語(yǔ)句"for(i=0;i++<3;)s"后,變量i的值為( ).A、2 B、3C,4D、516.設(shè)x和y均為int型變量,則執(zhí)行以下的循環(huán)后,y的值為()。for(y=1,x=1;y<=50;y++)(if(x>=0)break;if(x%2==l){x+=5;continue;}x-=3;)A)2B)4C)6D)8五數(shù)組.以下對(duì)一維數(shù)組a的正確說明是:A)chara(10): B)inta口;C)intk=5,a[k](b)chara[]=Ca'/b',,c');.以下能對(duì)一維數(shù)組a進(jìn)行初始化的語(yǔ)句是:(C)A)inta[5]=(0,l,2,3,4,)B)inta(5)={}C)inta[]={0,l,2}D)intq{5}={10*1}.在C語(yǔ)言中對(duì)一維整型數(shù)組的正確定義為.A)inta(10); B)intn=10,a[n];C)intn;a[n];D)#defineN10inta[N];4、已知:inta[10];則對(duì)a數(shù)組元素的正確引用是(A、a[10]B、a[3.5]C、a(5)D、a[10-10].執(zhí)行下面的程序段后,變量k中的值為A)不定值B)33 C)30 D)10intk=3,s[2];s[0]=k;k=s[0]*10;.下列說法中錯(cuò)誤的是A構(gòu)成數(shù)組的所有元素的數(shù)據(jù)類型必須是相同的B用指針法引用數(shù)組元素允許數(shù)組元素的下標(biāo)越界C一維數(shù)組元素的下標(biāo)依次是1、2、3......D定義數(shù)組時(shí)的長(zhǎng)度可以是整型常量表達(dá)式.若有以下數(shù)組說明,則數(shù)值最大的和最小的元素下標(biāo)分別是(inta[12]={l,2,3,4,5,6,7,8,9,10,11,12);A)l,12B)0,ll C)l,ll DX),12.若有以下數(shù)組說明,貝iji=10;a[a[i]]元素?cái)?shù)值是()。inta[12]={l,4,7,10,2,5,8,ll,3,6,9,12};TOC\o"1-5"\h\zA)10 B)9 C)6 b)5.假定int類型變量占用兩個(gè)字節(jié),其有定義:intx[10]={0,2,4);,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是A)3 B)6 C)10 D)20.若有說明:inta[][3]={l,2,3,4,5,6,7);則數(shù)組a的第一維的大小為:( )A)2B)3C)4 D)無(wú)確定值.若有說明:inta[][3]={q,2,3}<4,5}<6,7?;則數(shù)組a的第一維的大小為:()A)2B)3C)4 D)無(wú)確定值.以下定義語(yǔ)句中,錯(cuò)誤的是
A)inta[]={l,2); B)char*a[3];C)chars[10]="test*'; D)intn=5,a[n];.下面程序段的輸出結(jié)果是:inti;intx[3][3]={1,2,3,4,5,6,7,8,9);for(i=0;i<3;i++)printf("%d",x[i][2-i]);A)159B)147C)357D)369.對(duì)二維數(shù)組的正確定義是()A)inta[][]={1,2,3,4,5,6); B)inta[2][]={1,2,3,4,5,61;C)inta[][3]={1,2,3,4,5,6); D)inta[2,3]={l,2,3,4,5,6);.已知inta[3][4];則對(duì)數(shù)組元素引用正確的是 .A)a[2][4]啊1,3] C)a[2][0] D)a(2)(l)*16.若有以下的定義:int 能正確表示t數(shù)組元素地址的表達(dá)式是A)At[3][2]B)t[3] C)t[l][2]D)t[2]17.下面程序的輸出結(jié)果是。main()(intm[3][3]={{1},{2},{3});intn[3][3]={1,2,3};printf("%d",m[l][0]+n[0][0]);printf("%d",m[0][l]+n[l][0]);)A)30B)34C)56A)30B)34C)56D)11六、函數(shù).C語(yǔ)言中函數(shù)返回值的類型是由決定的.A)函數(shù)定義時(shí)指定的類型 B)return語(yǔ)句中的表達(dá)式類型C)調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型0)形參的數(shù)據(jù)類型.在C語(yǔ)言中,函數(shù)的數(shù)據(jù)類型是指()A函數(shù)返回值的數(shù)據(jù)類型 B)函數(shù)形參的數(shù)據(jù)類型C調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型D在意指定的數(shù)據(jù)類型.C程序中函數(shù)返回值的類型是由決定的.A)函數(shù)定義時(shí)指定的函數(shù)類型B)函數(shù)中使用的最后一個(gè)變量的類型C)調(diào)用函數(shù)時(shí)臨時(shí)確定 D)調(diào)用該函數(shù)的主調(diào)函數(shù)類型.C語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式為( )A)由系統(tǒng)選擇B)單向值傳遞C)由用戶指定傳遞方式D.地址傳遞.在函數(shù)調(diào)用時(shí),以下說法正確的是()A)函數(shù)調(diào)用后必須帶回返回值B)實(shí)際參數(shù)和形式參數(shù)可以同名C)函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量D)主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個(gè)文件里.在C語(yǔ)言程序中,有關(guān)函數(shù)的定義正確的是().A)函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B)函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C)函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套D)函數(shù)的定義和函數(shù)的均可以嵌套.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是().A)在C語(yǔ)言程序中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳遞給形參,形參的值不能傳送給實(shí)參BK語(yǔ)言函數(shù)既可以嵌套定義又可遞歸調(diào)用C)C語(yǔ)言函數(shù)必須有返回值,否則不能使用函數(shù)t?ac語(yǔ)言程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中.C語(yǔ)言中對(duì)函數(shù)的描述正確的是.A)可以嵌套調(diào)用,不可以遞歸調(diào)用 B)可以嵌套定義C)嵌套調(diào)用,遞歸調(diào)用均可 D)不可以嵌套調(diào)用.以下敘述中正確的是A)構(gòu)成C程序的基本單位是函數(shù)B)可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)C)main。函數(shù)必須放在其它函數(shù)之前D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義.用數(shù)組名作為函數(shù)調(diào)用時(shí)的實(shí)參時(shí),傳遞給形參的是.A)數(shù)組首地址 B)數(shù)組第一個(gè)元素的值
C)數(shù)組全部元素的值 D)數(shù)組元素的個(gè)數(shù).有一函數(shù)的定義如:voidfun(char*sX……},則不正確的函數(shù)調(diào)用是()。A.main(){chara[2O]=**abcdefgh,';fun(a);)B.main(){chara[2O]=f,abcdefgh'";fun(4a[0]);}main(){chara[2O]=",abcdefgh";char*p=a;fun(p);)main。{chara[20]=<*abcdefgh";fun(a[]);}*12.函數(shù)的功能是交換x和y中的值,且通過正確調(diào)用返回交換結(jié)果。不能正確執(zhí)行此功能的函數(shù)是()oA.B.C.funa(int*x,int*y)A.B.C.funa(int*x,int*y){inti,*p=&i;*p=*x;*x=*y;*y=*p;)funa(intx,inty){intt;t=x;x=y;y=t;}funa(int*x,int*y){intp;p=*x;*x=*y;*y=p;)D.funa(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;
13,函數(shù)的功能是交換變量x和y中的值,且通過正確調(diào)用返回交換的結(jié)果。能正確執(zhí)行此功能的函數(shù)是().A、funa(int*x,int*y)A、funa(int*x,int*y)(int*p;*p=x;*x=*y; *y=*|)C、func(int*x,int*y){*x=*y;*y=*x;)B、funb(intx,inty){intt;t=x;x=y;y=t;)D、fund(int*x,int*y){intt;t=*x;*x=*y;*y=t;).有如下程序intfunc(in+a,intb){return(a+b);)main(){intx=2,y=x,z=8,r;r=func(func(x,y),func(y,z));printfC%d\n”,r); )該程序的輸出的結(jié)果是A)12 B)13 C)14 D)15.以下程序的輸出結(jié)果是inta,b;voidfun(){a=100;b=200;)main(){inta=100,b=100;fun();printfC%d%d\n",a,b);}A)100200B)100100C)2001CX)D)200200.下列說法中正確的是:(A)A.局部變量在一定范圍內(nèi)有效,且可與該范圍外的變量同名。B.如果一個(gè)源文件中,全局變量與局部變量同名,則在局部變量范圍內(nèi),局部變量不起作用.C.局部變量缺省情況下都是靜態(tài)變量。D.函數(shù)體內(nèi)的局部靜態(tài)變量,在函數(shù)體外也有效..在C語(yǔ)言中,表示靜態(tài)存儲(chǔ)類別的關(guān)鍵字是:A)autoB)registerC)staticD)extern.未指定存儲(chǔ)類別的變量,其隱含的存儲(chǔ)類別為()oA)autoB)staticC)externD)register七.指針.語(yǔ)句int*p;說明了.A)p是指向一維數(shù)組的指針B)p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)C)P是指向int型數(shù)據(jù)的指針D)p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針.變量的指針,其含義是指該變量的:()A)值 B)地址C)名 D)一個(gè)標(biāo)志.若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是()A)pb=&xB)pb=xC)*pb=4xD)*pb=*x4、已知:inta,*p=(&a;則下列函數(shù)調(diào)用中錯(cuò)誤的是( ).A、scanfC'%d",&a);B、scanf(、'%d",p);C、printf("%d”,a):D、printfC'%d”,p);.對(duì)于同類型的指針變量,不可能進(jìn)行的運(yùn)算是()。A)- B)= C)+ t))==.對(duì)于基類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是A)< B)= C)+ D)-.下列不正確的定義是().A.int*p=&i,i; B)int*p,i;C.inti,*p=&i; O)inti,*p;.若有說明:intn=2,*p=&n,*q=p,則以下非法的賦值語(yǔ)句是:A)p=qB)*p=*qC)n=*qD)p=*p,a=10,b=0;p=<&a;a=*p+b;執(zhí)行該程序段后,a的值為A)編譯出錯(cuò)B)10 C)11 b)12.有語(yǔ)句:inta[10],;則—是對(duì)指針變量p的正確定義和初始化.A)intp=*a;B)int*p=a;C)intp=&a;D)int*p=&a;.若有說明語(yǔ)句“inta[5],*p=a;",則對(duì)數(shù)組元素的正確引用是().A)a[p] B)p[a] C)*(p+2) D)p+2.若指針變量p指向整型數(shù)組a[10]的首地址,即p=a;則下列數(shù)組元素a[i](0<i<10)的表示方法中正確的是:()A)p+iB>&(a+i)C)*(a+i)D)*(p+i*2).有如下程序inta[10]=(1,2,3,4,5,6,7,8,9.10),*P=a;則數(shù)值為9的表達(dá)式是A)*P+9 B)*(P+8) C)*P+=9D)P+8.若有以下定義,則不能表示a數(shù)組元素的表達(dá)式是()。inta[10]={l,2,3,4,5,6,7,8,9,10],*p=a;A)*pB)a[10] C)*a D)a[p-a].已知inta[5],*p=a;下面的敘述中正確的是。A)p+1與a+1等價(jià) B)p[l]與*p等價(jià)C)*(p+l)與a+1等價(jià) D)p[l]與a++等價(jià).若有以下說明:inta[10]={l,2,3,4,5,6,7,8,9,10],*p=a;則數(shù)值為4的表達(dá)式是A)*p+4 B)*(p+4)C)*(p+3)D)p+3.下面程序的輸出結(jié)果是A)0 B)1 C)2D)輸出錯(cuò)誤main(){intq[]={l,2,3,4,5,6,7,8,9.0}t*p;p=a;printfC%d\nM,*p+l);).執(zhí)行語(yǔ)句charc[10]={,,abcd"}J*pc=c;后,*(pc+4)的值是( )A)''abed"B)'\0'C)'d'D)不確定.下列函數(shù)的功能是.voidfun(int*pl,int*p2){intp;p=*pl;*pl=*p2;*p2=p;)A)交換*pl和*p2的值 B)語(yǔ)法正確,但無(wú)法交換*pl和*p2的值C)交換*pl和*p2的地址 D)有語(yǔ)法錯(cuò)誤20.有如下程序main(){chars[]="ABCD”,*P;for(p=s+l;p<s+4;p++)prin+f }該程序的輸出結(jié)果是A)ABCD B)A C)B D)BCD
BCDBCCDCDCDDbD21.請(qǐng)讀程序,輸出結(jié)果為:()#include<stdio.h>inta[]={2,4(6,8);main(){inti,b[4];int22.內(nèi)存空間被分成不同區(qū)域,其中用函數(shù)22.內(nèi)存空間被分成不同區(qū)域,其中用函數(shù)void*malloc(unsignedintsize);申請(qǐng)的內(nèi)存在分配。A)程序區(qū)B)靜態(tài)存儲(chǔ)區(qū)C)堆區(qū)D)棧區(qū)for(i=0;i<4;i++){b[i]=*p;P++;}printf("%d\n",b[2]);)A)6 B)8C)4D)2八、結(jié)構(gòu)體.若有以下說明語(yǔ)句:structstudent{intnum;charname[];floatscore;}stu;則下面的敘述不正確的是:()struct是結(jié)構(gòu)體類型的關(guān)鍵字structstudent是用戶定義的結(jié)構(gòu)體類型num,score都是結(jié)構(gòu)體成員名stu是用戶定義的結(jié)構(gòu)體類型名.若有以下說明語(yǔ)句:structdate{intyear;intmonth;intday;Jbrithday;則下面的敘述不正確的是struct是聲明結(jié)構(gòu)體類型時(shí)用的關(guān)鍵字structdate是用戶定義的結(jié)構(gòu)體類型名brithday是用戶定義的結(jié)構(gòu)體類型名year,day都是結(jié)構(gòu)體成員名.已知:(設(shè)整型2字節(jié),字符型1字節(jié),浮點(diǎn)型4字節(jié))struct{inti;charc;floata;}test;貝!]sizeof(test)的值是 。A)4B)5C)6D)7.以下對(duì)結(jié)構(gòu)變量stul中成員age的非法引用是structstudent{intage;intnum;Jstul,*p;p=<Sstul;A)stu1.ageB)student.ageC)p->aget>)(*p).age.有如下定義structperson{charname[9];intage;};structpersonclass[10]=f'Tom,\17/*John*\19,“Susarr,18jAdam"/6J;根據(jù)上述定義,能輸出字母A的語(yǔ)句是printfC%c\n*\class[3].name);printfC%c\n*\class[3].name[O]);printfC%c\n,\class[3].name[l]);printfC%c\n*\class[2].name[3]);.存放100個(gè)學(xué)生的數(shù)據(jù)、包括學(xué)號(hào)、姓名、成績(jī)。在如下的定義中,不正確的是()。A.structstudent{intsno;charname[20];floatscore;}stu[100];structstudentstu[100]{intsno;charname[20];floatscore};struct{intsno;charname[20];floatscore;}stu[100];structstudent{intsno;charname[20];floatscore;);structstudentstu[100];.設(shè)有定義語(yǔ)句“struct{intx;inty;}d[2]={{l,3},{2,7}};”則、'printfC%d\n",d[O].y/d[O].x*d[l].x);“輸出的是()?A.O B)1 C)3 D)6.設(shè)有如下定義,則對(duì)data中的a成員的正確引用是()。structsk{inta;floatb;}data,*p=Adata;A)(*p))data.a B)(*p).aC)p->data.a D)p.data.a9、已知:structsk{inta;floatb;Idata,*p;若有p=&data,則對(duì)data中的成員a的正確引用是( )。A>(*p).data.aB、p->data.aC、(*p).aD、p.data.a.設(shè)有如下定義:strucksk{inta;floatb;}data;int*p;若要使P指向data中的a域,正確的賦值語(yǔ)句是A)p=<&a;B)p=data.a;C)p=Adata.a;b)*p=data.a;.以下對(duì)結(jié)構(gòu)變量stul中成員age的非法引用是()。structstudent{intage;intnum;Jstul/p;p=4stul;A、stul.ageB、student.ageC、p->ageD、(*p).age12、設(shè)有以下說明語(yǔ)句:typedefstructstu{inta;floatb;}stutype;則下面敘述中錯(cuò)誤的是()oA、struct是結(jié)構(gòu)類型的關(guān)鍵字B、structstu是用戶定義的結(jié)構(gòu)類型C、a和b都是結(jié)構(gòu)成員名D、stutype是用戶定義的結(jié)構(gòu)體變量名*13、已知:union{inti;charc;floata;Jtest;貝!)sizeof(test)的值是( ),>A.6B、5C、4D、7★14、執(zhí)行以下語(yǔ)句后的輸出結(jié)果為()oenumweekday{sun,mon=3,tue,wed,thu);enumweekdayworkday;workday二wed;printfC%d\n,\workday);D、編譯時(shí)出錯(cuò)A、3B、5CD、編譯時(shí)出錯(cuò)★根據(jù)下面的定義,回答15、16題structtest{intml;charm2;floatm3;unionuu{charul[5];intu2[2];}ua;}myaa;.下面哪個(gè)選項(xiàng)能正確表示結(jié)構(gòu)體變量的ml成員A)myaa.tnlB)test.mlC)test->mlD)myaa->ml.sizeof(structtest)的值是A)12 B)16 C)14 D)9九、字符串.在C語(yǔ)言中,以—作為字符串結(jié)束標(biāo)志A)、n' B)''C)O'O)'\O'.下列數(shù)據(jù)中屬于“字符串常量”的是()oTOC\o"1-5"\h\zA)"a" BXABC} C)'abc\O' D)'a'.字符串"BCD”在內(nèi)存占用的字節(jié)數(shù)是().A.4 B.6 C.1 b.5.下面不正確的字符串常量是:( )A)'PROGRAM'B',12'12"C"0"D""5)設(shè)有數(shù)組定義:chararray[]="abcd";則數(shù)組array所占的空間為A)4個(gè)字節(jié)B)5個(gè)字節(jié)C)6個(gè)字節(jié)D)7個(gè)字節(jié).下述對(duì)C語(yǔ)言中字符數(shù)組的描述種錯(cuò)誤的是.A序符數(shù)組可以存放字符串B)字符數(shù)組中的字符串可以整體輸入和輸出C)可在賦值語(yǔ)句中通過賦值運(yùn)算符三”對(duì)字符數(shù)組整體賦值D)可在對(duì)字符數(shù)組定義時(shí)通過賦值運(yùn)算符、”對(duì)字符數(shù)組整體初始化.已知charx[]="hello", 則關(guān)于兩個(gè)數(shù)組長(zhǎng)度的正確描述是.A)相同 B)x大于yC)x小于y D)以上答案都不對(duì).給出以下定義:charx[]="abcdefg";chary[X'a'.'b'/c'/d'.'e'/f則正確的敘述為A)數(shù)組x和數(shù)組y等價(jià) B)數(shù)組x和數(shù)組y的長(zhǎng)度相同C)數(shù)組x的長(zhǎng)度大于數(shù)組y的長(zhǎng)度D)數(shù)組x的長(zhǎng)度小于數(shù)組y的長(zhǎng)度9、若有以下語(yǔ)句,則正確的描述是( ).staticcharx[]="12345";staticchary[]={T,'2','3','4','5');A、x數(shù)組長(zhǎng)度大于y數(shù)組長(zhǎng)度 B、x數(shù)組和y數(shù)組的長(zhǎng)度相同C、x數(shù)組長(zhǎng)度小于y數(shù)組長(zhǎng)度 D、x數(shù)組等價(jià)于y數(shù)組10,已知:chars[20]=*'programming*',*ps=s:則不能引用字母。的表達(dá)式是().A、ps[2]B、s[2]C、ps+2D、ps+=2,*ps.判斷兩字符串si,s2是否相等,應(yīng)使用().A)if(sl==s2)B)if(sl=s2)C)if(strcpy(sl,s2)) D)if(strcmp(sl,s2)==0).以下printf語(yǔ)句的輸出結(jié)果為:printfC%d\nM,strlenCschool"));A)7B)6 C語(yǔ)在語(yǔ)法錯(cuò)誤 D)不定值.對(duì)字符數(shù)組s賦值,不合法的一個(gè)是()A)chars[]="Beijing";B)chars[20]={"beijing");C)chars[20];s="Beijing";b)chars[20]={,B,,,e,,,i,,,j,,,i,,,n,.,g,}i.對(duì)字符數(shù)組s什賦初值,str不能作為字符串使用的一個(gè)是()A)charstr[]="shanghai";charstr[]={"shanghai"};charstr[9]={,s,,,h,,,a,,,n,,'g,,,h,,,a,,,i'Z\0');charstr[8]={'s'/h'/a'/n'/g'/h'/a'/i');.合法的數(shù)組定義是A)inta[]=f'string"); B)inta[5]={0/l,2,3,4,5);C)chara=C*string*'};b)chara[5]={0,1,2,3,4,5};.對(duì)字符數(shù)組s賦值,不合法的是:A)chars[]="china";chars[20]={"china");chars[20];s="china";b)charsROX'c'/h'/i'.'n'/a'):.下面初始化與此初始化charc[]="amhappy”;等價(jià)的是()charc[charc[]={'r/am'/happy');C)chcrc[]<T,>/a/m'/.,h'/d/pVpVy):D)charc[]={,r,'am','happy,/\O');.下面各語(yǔ)句中,能正確進(jìn)行賦字符串操作的語(yǔ)句是().chars[5]=CABCDE");chars[5]={'A','B','C,'D',E);char*s;s="ABCDE”;D.char*s;scanf(“%s”,&s);19.下列字符串賦值方式不正確的是()A),charstr[20]; B),char*str;str="Iamaboy!"; str="Iamaboy!”;C).char*str=*'Iamaboy!";b).charstr[20]=MIamaboy!";*20.下列語(yǔ)句中,正確的是().A)chara[3][]=('abc';l');B)chara[][3]={'abc',T);C)chara[3][]={'a,,"lM);D)chara[][3]=CaB;T');*21.下列定義的字符數(shù)組中,“printfC%s\n”,str[2]);“的是輸出是().staticstr[3][20]={"basic","foxpro”/windows');A)basic B)foxpro C)windows D)輸出語(yǔ)句出錯(cuò)十、文件.在C語(yǔ)言中,文件由().A.字符(字節(jié))序列組成 B)記錄組成C.數(shù)據(jù)行組成 D)數(shù)據(jù)塊組成.下面各函數(shù)中能實(shí)現(xiàn)打開文件功能的是A)fopenB)fgetcC)fputcD)fclose.若文件型指針fp指向某文件的末尾,則函數(shù)feof(fp)的返回值是()。A)0 B)-l C)非0值 D)NULL.下列語(yǔ)句中,把變量fp說明為一個(gè)文件型指針的是。A)FILE*fp;B)FILEfp;C)file*fp; 0)filefp;5、在進(jìn)行文件操作時(shí),寫文件的一般含義是( ).A、將磁盤中的信息存入計(jì)算機(jī)內(nèi)存B、將計(jì)算機(jī)內(nèi)存中的信息存入磁盤C、將計(jì)算機(jī)CPU中的信息存入磁盤D、將磁盤中的信息存入計(jì)算機(jī)CPU.以讀寫方式打開一個(gè)已有的文本文件filel,并且FILE*fp,下面fopen函數(shù)正確的調(diào)用方式是().A)fp=fopenC*filer,**rM)B)fP=fopen(',filer,CJfp=fopenC,filelM/rb0)D)fp=fopenC'filel",'、w").標(biāo)準(zhǔn)庫(kù)函數(shù)fputs(pl,p2)的功能是().A.從pl指向的文件中讀一個(gè)字符串存入p2指向的內(nèi)存.從p2指向的文件中讀一個(gè)字符串存入pl指向的內(nèi)存C.從pl指向的內(nèi)存中讀一個(gè)字符串寫到p2指向的文件中D.從p2指向的內(nèi)存中讀一個(gè)字符串寫到pl指向的文件中*8.為輸出打開一個(gè)已存在的非空文件"file”,正確的語(yǔ)句是A)fP=fopenC,file"/'r,)B)fp=fopen(''fileM/W)CJfp=fopenC,file","r+0)D)fp=fopen('、file","a")十一、編譯預(yù)處理1堆C語(yǔ)言程序中,以#號(hào)帶頭的行是預(yù)編譯處理().A.命令 B)語(yǔ)句 C)函數(shù) D片符串.下列正確的預(yù)編譯命令是()。definePI3)14159#defineP(a,b)strcpy(a,b)#definestdio.hD)#definePI3.14159;.下列命令或語(yǔ)句中,正確的是()o#defineMYNAME="ABC"#includestdio.hfor(i=0;i<10;i**);structintstu{intname);.下列命令或語(yǔ)句中,錯(cuò)誤的是()oA)#definePI3.14159 B)#include<math.h>;B)if(2); D)for(;;)if(l)break;計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)程序填空練習(xí)題程序填空:閱讀程序。在劃線處填寫適當(dāng)?shù)谋磉_(dá)式或語(yǔ)句,使程序完整并符合題目要求1.輸入一個(gè)字符,判斷該字符是數(shù)字、字母、空格還是其他字符。main(){charch;ch=getchar();if( )printf("工tisanEnglishcharacter\n");elseif()printf("工tisadigitcharacter\nH);elseif()printf("ItisaspacecharacterXn11);printf(HItisothercharacter\nH);}10個(gè)學(xué)生成績(jī)按交換法排序。main(){floatscore[10],tempi;inti,j;printf(HPleaseenterscore:\nH);for(i=0;i<10;沁?)for(i=0;i<9;2?)forj<10;j**)if(score[j]>score[i])printf("Sortedresults:%”);for(i=0;i<10;i++)printf("%4.0f\n",score[i]);}自定義一函數(shù)求n!,編寫程序輸入n,輸出n!.longjc(intn){int longp=l;while(i<=n)i++;) }tnain(){intn;printf("Pleaseentern:");scanf("%d",&n);printf("%d!=%ld\n",n,);}.下列程序的功能是從輸入的整數(shù)中,統(tǒng)計(jì)大于零的整數(shù)個(gè)數(shù)和小于零的整數(shù)個(gè)數(shù)。用輸入0來(lái)結(jié)束輸入,用i,j來(lái)放統(tǒng)計(jì)數(shù)。main(){nj=O,j=O;printff'inputainteger,0forend\n");scanf「%d”,&n);while {if(n>0)i=;if(n<0)j=; ;)prin+fCi=%4d,j=%4d\n",i,j);).下面程序的功能是在a數(shù)組中查找與x值相同的元素所在位置。數(shù)據(jù)從a[l]元素開始存放。#include<stdio.h>main(){intQ[ll],i,x;printf("input10integers:");for(i=1;i<=10;i++)scanfC%d",Aa[i]);printff'inputthenumberyouwanttofindx:");scanf(*'%d");a[0]=x;i=10;while(x!=) ;if()printfC'theposofxis:%d\n",i);elseprintff*cannotfindx!\n");.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過來(lái)。#indude"string.hMmain(){inti,j :charstr[]=[l2345677for(i=OJ=strlen(str)-l;;i++,j--){k=str[i];;str[j]=k;}).下面函數(shù)實(shí)現(xiàn)s什len函數(shù)的功能,即計(jì)算指針p所指向的字符串中的實(shí)際字符個(gè)數(shù)。unsignedintMyStrlen(char*p)(intlen;len=0:for(;*p1='\0';p++)returnlen;).下面是判斷一個(gè)數(shù)是否為素?cái)?shù)的函數(shù)#include<math.h>intIsPrimeNumber(){inti;if(number<=1) /*負(fù)數(shù)、。和1都不是素?cái)?shù)*/return0;for(i=2;i<sqrt(number);i++)(if(()==0) /*被整除,不是素?cái)?shù)*/return0;)return1;).編程計(jì)算1+3+5+。。。+101的值#include<stdio.h>mainO{inti,sum=0;for(i=1;;)sum=sum+i;printf("sum=%d\n",sum);}.輸入一個(gè)學(xué)生的成績(jī)(在。?100分之間),進(jìn)行五級(jí)評(píng)分并顯示。main(){intscore;scanf("%d”,&score);if(score>=0<&<&score<=100)switch()(case10:case9:printf("Excellent\nM);break;case8:printf("Good\nh);break;case7:printf("Middle\nM);break;case6:printf("Pass\nw);.default:printf(wNopass\nw);}).排序函數(shù):用交換法按成績(jī)由高到低對(duì)學(xué)生成績(jī)重新排序voidSort(floatscore[]Jntn){inti,j;刊oattempi;for(i=0; /?){forj<n;j**)if( ){tempi=score[j];score[i]=tempi;})).編程計(jì)算1+3+5...+99的值main(){inti,sum=0;i=kwhile(){sum=sum?i; ;)printf(,,sum=%d\n,\sum);).下面程序的功能是在a數(shù)組中查找與x值相同的元素所在位置。#include<stdio.h>main(){inta[10],i.x;printf("input10integers:");for(i=0;i<10;i**)scanfC'%d*\(Sa[i]);printfC'inputthenumberyouwanttofindx:");scanfC%d\<Sx);for(i=0;i<10;i**)if(a[i]==x)if( )printff'theposofxis:%d\nwj+l);elseprintfC'cannotfindx!\nM);).用指針作函數(shù)參數(shù),對(duì)輸入的兩個(gè)整數(shù)按大小順序輸出。voidswap(int*plJnt*p2){intp;main(){inta,b;scanf(“%d,%d“,&a,&b);if(a<b)swap();printf(“\n%d,%d\n”,a,b);).從鍵盤輸入一個(gè)字符,判斷它是否是英文字母。#include<stdio.h>voidmain(){charc;printfC'inputacharacter:H);c=getchar();if(c>=&&c<=||c>=*a*&&c?二*z*)printf(uyes\nH);elseprintf(uNoH);)*16.以下使用數(shù)組來(lái)處理打印斐波那契數(shù)列的前20項(xiàng)的程序。打印時(shí),每行打印10個(gè)數(shù)字。斐波那契數(shù)列的格式為:當(dāng)n=0時(shí),f[0]=0,當(dāng)n=l時(shí),f[l]=l,當(dāng)n>l時(shí),f[n]=f[n-l]+f[n-2]#include"stdio.h"main(){intfbn[20];intline=0,j;fbnq[O]=O;fbnq[l]=l;for(i=2;卜20;j++)fbnQ[jl=fbnq[J-l]+fbnq[i-2];for(j=0;j<20;J++){printfC'%d\fbnq[j]);line++;if(line==10){line=0;printfC'Xn*');))*18.下面的函數(shù)是一個(gè)求階乘的遞歸調(diào)用函數(shù)。facto(intn){if(n==1);elsere+urn();)19.程序讀入20個(gè)整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個(gè)數(shù),并計(jì)算非負(fù)數(shù)之和。/include<stdio.h>main(){inti,a[20],s,count;s=count=0;for(i=0;i<20;i++)scanf("%d”,<&a[i]);for(i=0;i<20;i++){if(a[i]<0)continue;s+=a[il;count++;printff's=%d\tcount=%d\nM,s,count");}判斷正誤題()1.一個(gè)c源程序總是從main()函數(shù)開始執(zhí)行的。()2.C語(yǔ)言程序中當(dāng)被調(diào)函數(shù)的定義在主調(diào)函數(shù)之后,在調(diào)用函數(shù)之前要進(jìn)行函數(shù)聲明。()3.在一個(gè)C程序中,有語(yǔ)句inti,a[i]是可以的。()4.while結(jié)構(gòu)和dowhile結(jié)構(gòu)在任何情況下得出的結(jié)果相同。()5.在函數(shù)傳值調(diào)用過程中,形參變量的操作不影響實(shí)參變量值,即形參值不會(huì)傳給實(shí)參。()6.switch語(yǔ)句是屬于循環(huán)語(yǔ)句()7.C語(yǔ)言中,根據(jù)變量值存在的時(shí)間(生存期)分為動(dòng)態(tài)變量和靜態(tài)變量。()8.在C語(yǔ)言中,預(yù)處理命令以開頭,以分號(hào)結(jié)束。()9.數(shù)組是由同一類型的數(shù)據(jù)元素構(gòu)成,在內(nèi)存中占連續(xù)的存儲(chǔ)空間。()10.實(shí)現(xiàn)算法的三種基本結(jié)構(gòu)是順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。()11.在TurboC語(yǔ)言中,變量名都用小寫字母,符號(hào)常量都用大寫字母表示。()12.定義一個(gè)含有5個(gè)元素并且名稱為num的整型數(shù)組,所用的Turboc命令為intnum(5);,()13.在初始化指針變量時(shí),使指針變量pl指向變量a的表示方法為*pl=a.。()14.在Turboc的函數(shù)調(diào)用中,用簡(jiǎn)單變量實(shí)現(xiàn)參數(shù)的數(shù)據(jù)傳遞,這個(gè)數(shù)據(jù)傳遞方向是單向的,并且總是將形式參數(shù)值傳遞給實(shí)際參數(shù)。()()15.如果要使指針變量p2指向一個(gè)名為array的數(shù)組,則初始化該指針變量的方法為p2=arrayo()16.眾所周知:結(jié)構(gòu)體是一種構(gòu)造型的數(shù)據(jù)類型,在一個(gè)結(jié)構(gòu)體中,每個(gè)結(jié)構(gòu)體變量的所有成員的數(shù)據(jù)類型是相同的.()17.在Turboc中,有字符型變量,也有字符串變量.()18.執(zhí)行chara[]="china”;和charb[]={'a','b','c','d','e'};兩條語(yǔ)句后,則數(shù)組a和數(shù)組b的長(zhǎng)度是相同的.()19.指針變量的含義是指向變量的值.()20.一個(gè)Turboc程序都是由一個(gè)C函數(shù)組成的.()21.數(shù)組和指針可以通用,所以他們無(wú)區(qū)別()22.在一個(gè)函數(shù)的復(fù)合語(yǔ)句中定義的變量可以在本函數(shù)范圍有效。()23.在程序中除了可以使用系統(tǒng)提供的基本類型外,還可以使用用typedef定義的各種新的數(shù)據(jù)類型。()*24.在C語(yǔ)言中文件被稱為流式文件,是一個(gè)字符的序列.()25.C語(yǔ)言的主函數(shù)是可以帶參數(shù)的。()26.用數(shù)組名作為函數(shù)調(diào)用的實(shí)參傳遞給形參的是數(shù)組第一個(gè)元素的值.()27.C語(yǔ)言中,根據(jù)變量值的生存期分為動(dòng)態(tài)變量和靜態(tài)變量。()28.在調(diào)用函數(shù)時(shí),實(shí)參和形參類型可以不一致。()29.在函數(shù)傳值調(diào)用過程中,形參變量的操作不影響實(shí)參變量值,即形參值不會(huì)傳給實(shí)參。()30.如果一個(gè)源文件中,全局變量與局部變量同名,則在局部變量范圍內(nèi),局部變量不起作用。()31.一個(gè)C語(yǔ)言程序是由函數(shù)組成。()32.調(diào)用scanf()函數(shù)時(shí)的所有實(shí)參都要有&(取地址)符號(hào)。 ()33.在switch語(yǔ)句中,可根據(jù)需要使用或不使用break語(yǔ)句。()34.do-while和for循環(huán)均是先執(zhí)行循環(huán)體語(yǔ)句后判斷表達(dá)式。( )35.strcpy(strl,"Hello!");作用是將字符串"Hello!”賦給數(shù)組strl.()36.調(diào)用函數(shù)時(shí)實(shí)參和形參類型可以不一致。()37.C程序運(yùn)行步驟是編輯、編譯、連接、執(zhí)行。()38.C語(yǔ)言的變量名必須用小寫,常量用大寫。( )39.charstr[10]="abed";char*pstrl,*pstr2;str="abc";pstrl=str;此賦值語(yǔ)句是不正確的。()40.a&&b&&c只有a為真(非0)時(shí),才需要判斷b的值,只有a、b都為真的情況下才需要判斷c的值()41.馮?諾依曼原理的基本思想是存儲(chǔ)程序與程序控制。()42.程序運(yùn)行時(shí),程序與數(shù)據(jù)被寫入計(jì)算機(jī)內(nèi)存中;然后由CPU逐一讀出每一條指令,數(shù)據(jù),按指令對(duì)數(shù)據(jù)進(jìn)行運(yùn)算;運(yùn)算的結(jié)果寫回內(nèi)存。()43.C語(yǔ)言程序中#include〈stdio.h>作用是將系統(tǒng)提供的stdio.h頭文件包含到本文件中。()44.標(biāo)識(shí)符命名規(guī)則是由英文字母、數(shù)字和下劃線組成,大小寫無(wú)關(guān),允許數(shù)字開頭.()45.在循環(huán)控制中,break語(yǔ)句用于結(jié)束本次循環(huán),continue語(yǔ)句用于結(jié)束整個(gè)循環(huán)。()46.在一個(gè)函數(shù)的函數(shù)體里給出另外一個(gè)函數(shù)的定義。()47.用c語(yǔ)言開發(fā)的一個(gè)程序所要經(jīng)歷的過程是編輯,編譯和運(yùn)行。()48.C語(yǔ)言中賦值符號(hào)的結(jié)合方向是從左向右的。()49.共用體將不同的數(shù)據(jù)類型組合在一起,共占同一段內(nèi)存的用戶自定義數(shù)據(jù)類型。()50.C語(yǔ)言的文本文件的存儲(chǔ)格式為存儲(chǔ)每個(gè)字符的ASCII碼,那么對(duì)于整數(shù)1000在文件中占2個(gè)字節(jié)。()51.C語(yǔ)言中,根據(jù)變量的作用域?qū)⒆兞糠譃槿肿兞亢途植孔兞俊?)52.共用體將不同的數(shù)據(jù)類型組合在一起,共占同一段內(nèi)存的用戶自定義數(shù)據(jù)類型。()53.C語(yǔ)言中能處理的文件的類型包括文本文件和擴(kuò)展名為.doc的word文件。()54.在c語(yǔ)言中,可以有空函數(shù)()55.do-while和for循環(huán)均是先執(zhí)行循環(huán)體語(yǔ)句后判斷表達(dá)式。()56.調(diào)用函數(shù)時(shí)實(shí)參和形參類型可以不一致。部分參考答案:.V2.V3.X 4.X5.V6.X 7.V8.X9.V 10.J、.x12.713.x 14.x15.716.x 17.x18.x19.x 20.xx22.x23. X24.-J25.J 26.X27.J 28.J29. -J30.XY32、x33、734、x35、436、x37、J38、x39、Y40、4Y42.743.V44.x45.x46.x47.x48.x49.y/50.x計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)程序改錯(cuò)練習(xí)題及參考答案一、下面每個(gè)程序的劃線處有語(yǔ)法或邏輯錯(cuò)誤,請(qǐng)找出并改正,使其得到符合題意的執(zhí)行結(jié)果。1.求n!=lx2x3x4x…xn 參考答案:main(){longintsum; sum=「intn,i=l;scanf("%d",n);printfC\n-);whiled<n){sum=sum*i;printfC'sum=%d".sum);)2.求一個(gè)數(shù)組中最大值及其下標(biāo)。main(){intmax,j,m;inta[5];■for(j=l;j<=5;j++)scan*'%d".a);max=a[O];for(i=l;.i<=5;J++)for(j=0;j<5;j++if(max>叫D{max=a[j];m=j;)printfC'下標(biāo):%d\n最大值:%d”.工m.max);).求3+4inta=3,b=4;main(){inta.c;c=a+b;Drintf「c=%d");).用一個(gè)函數(shù)求兩個(gè)數(shù)之和。sum(x,y){floatz;z=x+y;return;)main(){floata.b;intc;scanf("%f,%f",&a,&b);c=sum(a,b);printf("\nSumisscanfC'%d"dn);while(i<=n)printf("sum=%ld”.sum);for(j=0;j<5;j++)
scanf("%d”da[iD;if(max<arjl)max); printfC下標(biāo):祝下最大值:%d”,intc;printfCc=%d*,,c);floatsum(floatx,floaty);return(z);floatc;printf("\nSumis5.用指針作函數(shù)參數(shù),對(duì)輸入的兩個(gè)整數(shù)按大小順序輸出。{intt;swap(pl,p2)int*pl,*p2;{int*p;*p=*p];*t>l=*p2;*t>2=*p;)main(){inta,b;int*ql,*q2;scanf("%d,%d",&a,&b);&ql=a,&q2=b;if(a<b)swap(*ql.*Q2);printf("\n%d.%d\n”.Ql.Q2);printf("\n%d,%d\n"*ql*q2):t=*pl;*pl=*p2;*p2=t;ql=&a,q2=&b;swap(ql,q2);.程序讀入20個(gè)整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個(gè)數(shù),并計(jì)算非負(fù)數(shù)之和.#include"stdio.h"main()(inti,a[20],s,count;s=count=0;for(i=0;i<20;i--)scanfC%d"s=count=0;for(i=0;i<20;i--)scanfC%d",<&a[i]);for(i=l;i<20;i--)scanf("%d”.皿);for(i=0;i<20;i++)(continue;if(a[i]<0)break;continue;s+=a[i];count++;printfC's=%d)printf「s=%fcount=%f\n”.s,count);printfC's=%dcount=%d\nM,s,count);.x,y兩個(gè)數(shù)中,讓x中存較大的數(shù),y存較小的數(shù)#include<stdio.h>main()(intx,y=200,z=0;x=180;if(x<y){z=x;x=y;y=z;}z=x;x=y;y=z;{z=x;x=y;y=z;}printfrx=%d,y=%d\n”.&xdy);printfC'x=%d,y=%d\n,',x,y);).從鍵盤輸入整數(shù)x的值,并輸出y的值.main(){floatx.y;scanff'%dM,x);y=3.5+x;).求1+2+3+4+…+100,并輸出.Main()finti,sumi=l;While(i<=100){sum=sum*i;i++;)printf("%c",sum))*10、求一個(gè)4x4矩陣的對(duì)角線元素之和main(){inta[4][4],sum=0;intij;printfC'EnterdataAn");for(i=0;i<=4;i++)for(i=OJ<=4;J++)scanfC%d\&a[i][j]);for(i=O;i<4;i++)for(j=0;j<4;j++)sum=sum+a「ill~M;printfC'sum=%5d\n",sum);).求5x6inta=5,b=6;main()finta,c;c=a*b;printf「c=%d"):)intx;floaty;printf('*y=%f',y);.編程計(jì)算下面分段函數(shù),輸入x,輸出yIx-1x<0y=\lx-\0<x<10[3x-11x>10main(){intx,y;printffXnInputx:\n°);scanf「%d”,x);if(x<0)y=x-l;elseif(x>=0]|x<=10)丫=2x-l;elsey=3x-l;printf(''y
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能監(jiān)控系統(tǒng)在車庫(kù)管理中的應(yīng)用方案
- 公共建筑節(jié)能施工方案研究
- 云計(jì)算軟件售后支持方案
- 高校食堂衛(wèi)生管理方案
- 食品配送行業(yè)售后服務(wù)標(biāo)準(zhǔn)方案
- 平頂山2024年03版小學(xué)三年級(jí)下冊(cè)英語(yǔ)第一單元測(cè)驗(yàn)卷
- 商品包裝設(shè)計(jì)的視覺效應(yīng)探析
- 屋面瓦更換施工合同(2篇)
- 學(xué)校校園馬拉松活動(dòng)方案
- IT服務(wù)合同解約協(xié)議
- DL∕T 5210.6-2019 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第6部分:調(diào)整試驗(yàn)
- 一例登革熱合并凝血功能障礙患者的個(gè)案護(hù)理20190-7
- 門診病歷書寫模板全
- 《圖形創(chuàng)意設(shè)計(jì)》PPT課件(完整版)
- 全國(guó)醫(yī)療服務(wù)價(jià)格項(xiàng)目規(guī)范(2012版)
- 二年級(jí)乘除法口算題大全500題(可直接打印)
- 六年級(jí)英語(yǔ)Unit1-How--can--I--get-there教材分析
- 針織學(xué)(雙語(yǔ))課件Chapter2
- EJA技術(shù)交流會(huì)資料
- 輸變電工程基礎(chǔ)工程施工工藝(附實(shí)景圖)
- 江蘇如東LNG接收站使用協(xié)議
評(píng)論
0/150
提交評(píng)論