計算機程序設計基礎(C語言)分類考試題_第1頁
計算機程序設計基礎(C語言)分類考試題_第2頁
計算機程序設計基礎(C語言)分類考試題_第3頁
計算機程序設計基礎(C語言)分類考試題_第4頁
計算機程序設計基礎(C語言)分類考試題_第5頁
已閱讀5頁,還剩118頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機程序設計基礎(C語言)編程練習題及參考答案計算機程序設計基礎(C語言)單項選擇練習題一、基本概念1.C語言程序是由構成的。A)一些可執(zhí)行語言 B)main函數 C)函數 D)包含文件中的第一個函數是構成C語言程序的基本單位。A)函數 B)過程 C)子程序D)子例程C語言可執(zhí)行程序從開始執(zhí)行。B)程序中第一個函數D)B)程序中第一個函數D)包含文件中的第一個函數C)程序中的main函數C語言程序從main。函數開始執(zhí)行,所以這個函數要寫在.A)程序文件的開始 B)程序文件的最后C)它所調用的函數的前面 D)程序文件的任何位置以下說法中正確的是oA)C語言程序總是從第一個定義的函數開始執(zhí)行B)在C語言程序中,要調用的函數必須在main()函數中定義C語言程序總是從main()函數開始執(zhí)行C語言程序中的main()函數必須放在程序的開始部分.下列方法中錯誤的是.A)主函數可以分為兩個部分:主函數說明部分和主函數體。B)主函數可以調用任何非主函數的其它函數。C)任何非主函數可以調用其它任何非主函數。D)程序可以從任何非主函數開始執(zhí)行。.下列關于C語言的說法錯誤的是oA)C程序的工作過程是編輯、編譯、連接、運行B)標識符的命名由英文字母、數字和下劃線組成,與字母的大小寫無關C)C程序的三種基本結構是順序、選擇、循環(huán)0)一個C程序總是從main函數開始執(zhí)行的.系統(tǒng)默認的C語言源程序擴展名為.C,需經過之后,生成.exe文件,才能運行。A)編輯、編譯 B)編輯、連接 C)編譯、連接D)編輯、改錯.下列說法中正確的是.A)由于C源程序是高級語言程序,因此一定要在TC軟件中輸入。B)由于C源程序是由字符流組成的,因此可以作為文本文件在任何文本編輯的軟件中輸入。C)由于c程序是高級語言程序,因此輸入后即可執(zhí)行。D)由于C程序是高級語言程序,因此它是由命令組成的。

二、數據類型、運算符與表達式1.不是C語言提供的合法關鍵字是 A)switch B)cher C)case D)default.C語言提供的合法關鍵字是 .A)next B)string C)docase D)struct.下列不屬于C語言中關鍵字的是 oA)long B)print C)default D)typedef4,下列不正確的標識符是 oA).-al B).a[i] C)a2_i D)intt.下列C語言用戶標識符中合法的是 oA)*y B)sutn C)int D)%5f.下面四個選項中,合法的標識符是 oA)auto B)define C)6a D)c.下列C語言用戶標識符中合法的是 oA)3ax B)x C)case D)-e2.以下選項中合法的用戶標識符是 oA)long B)_2Test C)3Dmax D)A.dat.下列四組選項中,正確的C語言標識符是 oA)%x B)a*b C)al23 b)123.請選出可用作C語言用戶標識符的一組標識符A)void B)a3_b3 C)For D)2adefine _123 -abc DOWORD sum Case sizeof11、下列四組字符串中都可以用作C語言程序中的標識符的是 OA)print_3doodbaBc B)I\amone_halfstart$it3paiC)str_lCpppowwhile D)PxqMy->bookline#His.age.下列C語言標識符中合法的變量名是 .A)2e3 B)you C)*y D)float.C語言中的簡單數據類型包括 oA)整型、實型、邏輯型 B)整型、實型、邏輯型、字符型C)整型、字符型、邏輯型 D)整型、實型、字符型.下列可以正確表示字符型常量的是 oA)'\f B)"a" C)"\n"0)29715.下列常數 是正確的C語言字符常量。A)"x" B>3 C)“COMPUTER”D)'#'16.在下列常量中,屬于字符型常量的是 。A)A B)'a' C)"A"D)b17.以下選項中合法的字符常量是

A)“B" B)An' C)'68'18.下面字符常量表示錯誤的是 D)EAya B" C)'\n19.已定義c為字符型變量,則下列語句中正確的是 。A)c='97' B)c="97" C)c='a'D)c="a"20.已知ch是字符型變量,不正確的賦值語句是 。Akh='a*b'; B)ch='\0'; C)ch='7'*'9';D)ch=5+9;21.C語言中字符型(char)數據在內存中的存儲形式是 °A)原碼 B)補碼 C)反碼D)ASCII碼22.在C語言中,字符型數據所占的內存空間是 。4)2個字節(jié) B)4字節(jié) C)1字節(jié)D)由用戶自定義23.若int類型數據占2個字節(jié),則unsignedint類型數據的取值范圍是一 oA)0~255 B)0?65535 C)-32768-32767D)-256?25524.若有以下類型說明語句;chara;intb;floatc;doubled;則表達式a*b+d-c的結果類型為 。A)float B)char C)intb)double25.若有以下類型說明語句:charw;intx;floaty;doublez;則表達式w-x*y/z的結果為_2類型,表達式(int)(x+y-z*w)的結果為_J類型。A)float B)char C)intD)double26.C語言中運算對象必須是整型的運算符是 0A)%= B)/ C)=D)<=27.在C語言程序中,表達式8/5的結果是 。A)1.6 B)1 C)3D)028.設x為int型變量,則執(zhí)行語句x=10;x+=x;后,x的值為 A)10 B)20 C)40b)3029.為求出s=10!的值,則變量s的類型應當為 。A)int B)unsiged C)longb)以上三種類型均可30.如果in+a=l,b=2,c=3,d=4;則條件表達式,6?<1:(<:<<1?<::6"的值是 oA)1 B)2 C.)3D)431.在C語言程序中,表達式5%2的結果是 ?A)2.5 B)2 C)1D)332.如果inta=3,b=4;則條件表達式"a<b?a:b"的值是 。A)3 B)4 C)0D)1.若intx=2,y=3,z=4則表達式x<z?y:z的結果是.A)4 B)3 C)2 D)0.C語言中,關系表達式和邏輯表達式的值是.A)0 B)0或1 C)1 D)T或F.設a,b和c都是int型變量,且a=3,b=4,c=5,則下面表達式中,值為0的表達式是oA)'a'&&b B)a<=b C)a||b+cA&b-cD)!((a<b)AA!c||l).設x、y、z和k都是int型變量,則執(zhí)行表達式:x=(y=4,z=16,k=32)后x的值.TOC\o"1-5"\h\zA)4 B)16 C)32 0)52.下面表達式的值為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)沒有結果39.已知intx=5,y=5,z=5;執(zhí)行語句x%=y+z;后,x的值是A)0 B)1 C)5 t?640.已知字母A的ASCII碼為十進制數65,且c2為字符型,則執(zhí)行語句c2='A'*'6'-,3,;后,c2中的值為_A)68 B)D C)錯誤 D)d.下列關于C語言的敘述錯誤的是。A)大寫字母和小寫字母的意義相同B)不同類型的變量可以在一個表達式中C)在賦值表達式中等號(=)左邊的變量和右邊的值可以是不同類型D)同一個運算符號在不同的場合可以有不同的含義.有:intw=ll,x=12,y=3,m;執(zhí)行下面語句后m的結果是。m=(w<x)?w:x;m=(m<y)?m:y;A)1 B)2 C)3 D)以上結果都不對43.有:intw=7,x=12,y=3,m;執(zhí)行下面語句后m的值是.m=(w>x)?w:x;m=(m>y)?m:y;A)12 B)0 C)3 D)1*44.設整型變量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.設整型變量a=2,則執(zhí)行下列語句后,浮點型變量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í)行語句“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類型,則表達式“x=l,y=x+3/2"的值是。TOC\o"1-5"\h\zA)1 B)2 C)2.0 D)2.5*48.表達式“1?(0?3:2)(10?1:0)”的值是()。A)3 B)2 C)1 D)049.若“intn;float”13.8廣,則執(zhí)行》"((時開)%3”后,n的值是.A)i B)4 C)4,333333 D)4.650.設intx=0,y=l;表達式(x||y)的值是。A)0 B)1 C)2 D)-1*51.設a是char型變量,a='l',則把其值變成整數1的表達式是。A)(int)a B)int(a) C)a=a-48 D)a/(int)a.設x為int型變量,則執(zhí)行語句x=10;x*=x;后,x的值為.A)10 B)20 C)100 D)0.若有語句inta=l,b;doubley=2.3;b=(int)y;則b的值為。A)3 B)2 C)1 D)2.3.已知intx;chary;則下面錯誤的scant函數調用語句為。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.使用語句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語言的庫函數中,可以輸出char型變量x值的語句是。A)getchar(x); B)fputc(x)C)putchar(x) b)puts(x).設正x、y均為整型變量,且x=10y=3,貝!J語句printf("%d,%d\n”,x--,++y);的輸出結果是.A)10,3 B)9,3 C)9,4 D)10,4.以下說法正確的是?!甔,+101是一個錯誤的表達式C語言不允許類型的混合運算C)強制類型轉換時,類型說明符必須加括號D)(int)x+y和(int)(x+y)是完全等價的表達式59.表達式sizeof(double)是?

A)函數調用 B)double型表達式C)int型表達式達式62.以下運算符中優(yōu)先級最高的運算符是:b)非法表D)!=b)非法表D)!=三、選擇結構I.在c語言中,能代表邏輯值“真”的是。A)true B)大于。的數 C)非。整數 D)非0的數2.表示關系x<=y<=z的c語言表達式為。A)(x<=y)4<&(y<=z) B)(x<=y)ANt)(y<=z)C)(x<=y<=z) D)(x<=yJA(y<=z)3.能正確表示邏輯關系:,“0或asO”的C語言表達式是。A)a>=10ora<=0 B)a>=0|a<=10C)a>=10<&<&a<=0 t>)a>=10IIa<=04、判斷char型變量cl是否為大寫字母的表達式為。A),A'<=cl<='Z, B)(cl>='A')&(cl<='Z')C)CA'<=cl)AND(Z>=cl) t?(cl>='A')&&(cl<="Z').有定義charc;c=9etchar();表示字符變量c為大寫字母的正確表達式為?A),A'=<c<="Z' B)c>='A'&&c<='Z C)A=<c<=Z D)c>=A&&c<=Z.設有語句"inta=4;b=3,c=-2,d=2;",則邏輯表達式“a>0&&b&&c<0&&d>0"的值是.A)1 B)0 C)-l D)出錯.設a為整型變量,則不能正確表達數學關系10<a<15的C語言表達式是。A)10<a<15 B)a==ll||a==12||a==13||Q==14C)a>104Aa<15 D)!(a<=10>&A!(a>=15).為表示邏輯表達式79<X<90,應使用的C語言表達式是.A)(X>79)&&(X<90) B)(X>79)!=(X<90)C)79<X<90 0)(X>79)||(X<90).在下面的條件語句中(其中si和s2表示是C語言的語句),只有一個在功能上與其它三個語句不等價,它是A)if(a)si;elses2; B)if(a==0)s2;elsesi;C)if(a!=0)si;elses2; D)if(a==0)si;elses2;.假定所有變量均已正確定義,則下列程序段運行后y的值是。inta=0,y=10;if(a=O)y--;elseif(a>0)y++;elsey+=y;A)20 B)ll C)9 D)01L假定所有變量均已正確定義,則下列程序段運行后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語言對嵌套if語句的規(guī)定是:else語句總是與配對。A)其之前最近的if B)第一個ifC)縮進位置相同的if D)其之前最近的且尚未配對的if.在C語言語句中,用來決定分支流程的表達式是?A)可用任意表達式 B)只能用邏輯表達式或關系表達式C)只能用邏輯表達式 D)只能用關系表達式.C語言中用 表示邏輯“真工A)true B)A)true B)整數值1.若k是int型變量,且有下面的程序段:intk;k=-3;if(k<=0)printf「####");else上面程序段的輸出結果是A)#### B)&&&&無輸出結果.main(){intx=0,a=0,b=0;switch(xXcase0: b++;case1: a++;case2: a++;b++;}printfCa=%d,b=%d\n,',a,b);)該程序的輸出結果是oA)a=2,b=l B)a=l,b=l17以下程序的輸出結果是:()main(){intx=-10,y=l,z=l;if(y<0)z=0;elsez=z+l;printfC%d\n'*,z);C)非零整數值D)falseC)####&&&&D)有語法錯誤C)a=l,b=OD)a=2,b=2A)0 B)1 C)2 b)318.以下程序段的輸出結果是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的正確結果是。switch(i){case9:i*=l;case10:i+=l;case11:i+=l;default: i*=l;)A)13 B)12 C)ll 0)10四、循環(huán)結構.在C語言中,下列說法中正確的是()odo-while語句構成的循環(huán)不能用其它語句構成的循環(huán)來代替.do-while語句構成的循環(huán)只能用break語句退出。do-while語句構成的循環(huán)在while后的表達式非零時結束循環(huán)。do-while語句構成的循環(huán),在while后的表達式為零時結束循環(huán)。.break語句不能出現(xiàn)在語句中()A)switchB)for C)whileD)if...else.對于break語句和continue語句的說法錯誤的是()break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中。break和continue也可以用于if語句中continue語句只結束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。break語句是結束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。.語句while(!y);中的表達式!y等價于A)y==OB)y!=1C)y=!OD)y==l.若有、'inta=l,x=l;",則循環(huán)語句“while(a<10)x++;a++;”的循環(huán)執(zhí)行().A)無限次 B)不確定次 C)10次 D)9次.有以下程序段intk=0while(k)k++;則while循環(huán)體執(zhí)行的次數是A)無限次 B)有語法錯,不能執(zhí)行C)一次也不執(zhí)行 D)執(zhí)行1次.下列循環(huán)語句中有語法錯誤的是()Awhile(x=y)5;Bwhile(O);Cdo2;while(x==b);Ddox++while(x==10);.當運行時輸入:abcd$abcde,,下面程序的運行結果是.#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>)有語法錯誤10.下面程序段執(zhí)行后的結果為:()intsum=0,n=10;do{sum=sum+n;n++;}while(n<10)printfC%d,%d",sum,n)A.0,10B)10,11C)0,11D)以上結果都不對.對以下程序段的敘述正確的是 .intx=l;do{x=-l*x;}while(lx)A)是死循環(huán)B)循環(huán)執(zhí)行一次C)循環(huán)執(zhí)行二次D清語法錯誤.循環(huán)丫。?=0,*=14=10&&、>0;1++);”的循環(huán)執(zhí)行()。A)無限次 B)不確定次 C)10次 D)9次.執(zhí)行語句{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í)行結果是A)6 B)3 C)死循環(huán)D)415、執(zhí)行語句"for(i=0;i++<3;)s"后,變量i的值為( ).A、2 B、3C,4D、516.設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五數組.以下對一維數組a的正確說明是:A)chara(10): B)inta口;C)intk=5,a[k](b)chara[]=Ca'/b',,c');.以下能對一維數組a進行初始化的語句是:(C)A)inta[5]=(0,l,2,3,4,)B)inta(5)={}C)inta[]={0,l,2}D)intq{5}={10*1}.在C語言中對一維整型數組的正確定義為.A)inta(10); B)intn=10,a[n];C)intn;a[n];D)#defineN10inta[N];4、已知:inta[10];則對a數組元素的正確引用是(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;.下列說法中錯誤的是A構成數組的所有元素的數據類型必須是相同的B用指針法引用數組元素允許數組元素的下標越界C一維數組元素的下標依次是1、2、3......D定義數組時的長度可以是整型常量表達式.若有以下數組說明,則數值最大的和最小的元素下標分別是(inta[12]={l,2,3,4,5,6,7,8,9,10,11,12);A)l,12B)0,ll C)l,ll DX),12.若有以下數組說明,貝iji=10;a[a[i]]元素數值是()。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類型變量占用兩個字節(jié),其有定義:intx[10]={0,2,4);,則數組x在內存中所占字節(jié)數是A)3 B)6 C)10 D)20.若有說明:inta[][3]={l,2,3,4,5,6,7);則數組a的第一維的大小為:( )A)2B)3C)4 D)無確定值.若有說明:inta[][3]={q,2,3}<4,5}<6,7?;則數組a的第一維的大小為:()A)2B)3C)4 D)無確定值.以下定義語句中,錯誤的是

A)inta[]={l,2); B)char*a[3];C)chars[10]="test*'; D)intn=5,a[n];.下面程序段的輸出結果是: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.對二維數組的正確定義是()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];則對數組元素引用正確的是 .A)a[2][4]啊1,3] C)a[2][0] D)a(2)(l)*16.若有以下的定義:int 能正確表示t數組元素地址的表達式是A)At[3][2]B)t[3] C)t[l][2]D)t[2]17.下面程序的輸出結果是。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六、函數.C語言中函數返回值的類型是由決定的.A)函數定義時指定的類型 B)return語句中的表達式類型C)調用該函數時的實參的數據類型0)形參的數據類型.在C語言中,函數的數據類型是指()A函數返回值的數據類型 B)函數形參的數據類型C調用該函數時的實參的數據類型D在意指定的數據類型.C程序中函數返回值的類型是由決定的.A)函數定義時指定的函數類型B)函數中使用的最后一個變量的類型C)調用函數時臨時確定 D)調用該函數的主調函數類型.C語言規(guī)定,簡單變量做實參時,它和對應形參之間的數據傳遞方式為( )A)由系統(tǒng)選擇B)單向值傳遞C)由用戶指定傳遞方式D.地址傳遞.在函數調用時,以下說法正確的是()A)函數調用后必須帶回返回值B)實際參數和形式參數可以同名C)函數間的數據傳遞不可以使用全局變量D)主調函數和被調函數總是在同一個文件里.在C語言程序中,有關函數的定義正確的是().A)函數的定義可以嵌套,但函數的調用不可以嵌套B)函數的定義不可以嵌套,但函數的調用可以嵌套C)函數的定義和函數的調用均不可以嵌套D)函數的定義和函數的均可以嵌套.以下對C語言函數的有關描述中,正確的是().A)在C語言程序中,調用函數時,只能把實參的值傳遞給形參,形參的值不能傳送給實參BK語言函數既可以嵌套定義又可遞歸調用C)C語言函數必須有返回值,否則不能使用函數t?ac語言程序中有調用關系的所有函數必須放在同一個源程序文件中.C語言中對函數的描述正確的是.A)可以嵌套調用,不可以遞歸調用 B)可以嵌套定義C)嵌套調用,遞歸調用均可 D)不可以嵌套調用.以下敘述中正確的是A)構成C程序的基本單位是函數B)可以在一個函數中定義另一個函數C)main。函數必須放在其它函數之前D)所有被調用的函數一定要在調用之前進行定義.用數組名作為函數調用時的實參時,傳遞給形參的是.A)數組首地址 B)數組第一個元素的值

C)數組全部元素的值 D)數組元素的個數.有一函數的定義如:voidfun(char*sX……},則不正確的函數調用是()。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.函數的功能是交換x和y中的值,且通過正確調用返回交換結果。不能正確執(zhí)行此功能的函數是()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,函數的功能是交換變量x和y中的值,且通過正確調用返回交換的結果。能正確執(zhí)行此功能的函數是().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); )該程序的輸出的結果是A)12 B)13 C)14 D)15.以下程序的輸出結果是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.局部變量在一定范圍內有效,且可與該范圍外的變量同名。B.如果一個源文件中,全局變量與局部變量同名,則在局部變量范圍內,局部變量不起作用.C.局部變量缺省情況下都是靜態(tài)變量。D.函數體內的局部靜態(tài)變量,在函數體外也有效..在C語言中,表示靜態(tài)存儲類別的關鍵字是:A)autoB)registerC)staticD)extern.未指定存儲類別的變量,其隱含的存儲類別為()oA)autoB)staticC)externD)register七.指針.語句int*p;說明了.A)p是指向一維數組的指針B)p是指向函數的指針,該函數返回一int型數據C)P是指向int型數據的指針D)p是函數名,該函數返回一指向int型數據的指針.變量的指針,其含義是指該變量的:()A)值 B)地址C)名 D)一個標志.若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達式是()A)pb=&xB)pb=xC)*pb=4xD)*pb=*x4、已知:inta,*p=(&a;則下列函數調用中錯誤的是( ).A、scanfC'%d",&a);B、scanf(、'%d",p);C、printf("%d”,a):D、printfC'%d”,p);.對于同類型的指針變量,不可能進行的運算是()。A)- B)= C)+ t))==.對于基類型相同的兩個指針變量之間,不能進行的運算是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,則以下非法的賦值語句是:A)p=qB)*p=*qC)n=*qD)p=*p,a=10,b=0;p=<&a;a=*p+b;執(zhí)行該程序段后,a的值為A)編譯出錯B)10 C)11 b)12.有語句:inta[10],;則—是對指針變量p的正確定義和初始化.A)intp=*a;B)int*p=a;C)intp=&a;D)int*p=&a;.若有說明語句“inta[5],*p=a;",則對數組元素的正確引用是().A)a[p] B)p[a] C)*(p+2) D)p+2.若指針變量p指向整型數組a[10]的首地址,即p=a;則下列數組元素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;則數值為9的表達式是A)*P+9 B)*(P+8) C)*P+=9D)P+8.若有以下定義,則不能表示a數組元素的表達式是()。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等價 B)p[l]與*p等價C)*(p+l)與a+1等價 D)p[l]與a++等價.若有以下說明:inta[10]={l,2,3,4,5,6,7,8,9,10],*p=a;則數值為4的表達式是A)*p+4 B)*(p+4)C)*(p+3)D)p+3.下面程序的輸出結果是A)0 B)1 C)2D)輸出錯誤main(){intq[]={l,2,3,4,5,6,7,8,9.0}t*p;p=a;printfC%d\nM,*p+l);).執(zhí)行語句charc[10]={,,abcd"}J*pc=c;后,*(pc+4)的值是( )A)''abed"B)'\0'C)'d'D)不確定.下列函數的功能是.voidfun(int*pl,int*p2){intp;p=*pl;*pl=*p2;*p2=p;)A)交換*pl和*p2的值 B)語法正確,但無法交換*pl和*p2的值C)交換*pl和*p2的地址 D)有語法錯誤20.有如下程序main(){chars[]="ABCD”,*P;for(p=s+l;p<s+4;p++)prin+f }該程序的輸出結果是A)ABCD B)A C)B D)BCD

BCDBCCDCDCDDbD21.請讀程序,輸出結果為:()#include<stdio.h>inta[]={2,4(6,8);main(){inti,b[4];int22.內存空間被分成不同區(qū)域,其中用函數22.內存空間被分成不同區(qū)域,其中用函數void*malloc(unsignedintsize);申請的內存在分配。A)程序區(qū)B)靜態(tài)存儲區(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八、結構體.若有以下說明語句:structstudent{intnum;charname[];floatscore;}stu;則下面的敘述不正確的是:()struct是結構體類型的關鍵字structstudent是用戶定義的結構體類型num,score都是結構體成員名stu是用戶定義的結構體類型名.若有以下說明語句:structdate{intyear;intmonth;intday;Jbrithday;則下面的敘述不正確的是struct是聲明結構體類型時用的關鍵字structdate是用戶定義的結構體類型名brithday是用戶定義的結構體類型名year,day都是結構體成員名.已知:(設整型2字節(jié),字符型1字節(jié),浮點型4字節(jié))struct{inti;charc;floata;}test;貝!]sizeof(test)的值是 。A)4B)5C)6D)7.以下對結構變量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;根據上述定義,能輸出字母A的語句是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個學生的數據、包括學號、姓名、成績。在如下的定義中,不正確的是()。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];.設有定義語句“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.設有如下定義,則對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,則對data中的成員a的正確引用是( )。A>(*p).data.aB、p->data.aC、(*p).aD、p.data.a.設有如下定義:strucksk{inta;floatb;}data;int*p;若要使P指向data中的a域,正確的賦值語句是A)p=<&a;B)p=data.a;C)p=Adata.a;b)*p=data.a;.以下對結構變量stul中成員age的非法引用是()。structstudent{intage;intnum;Jstul/p;p=4stul;A、stul.ageB、student.ageC、p->ageD、(*p).age12、設有以下說明語句:typedefstructstu{inta;floatb;}stutype;則下面敘述中錯誤的是()oA、struct是結構類型的關鍵字B、structstu是用戶定義的結構類型C、a和b都是結構成員名D、stutype是用戶定義的結構體變量名*13、已知:union{inti;charc;floata;Jtest;貝!)sizeof(test)的值是( ),>A.6B、5C、4D、7★14、執(zhí)行以下語句后的輸出結果為()oenumweekday{sun,mon=3,tue,wed,thu);enumweekdayworkday;workday二wed;printfC%d\n,\workday);D、編譯時出錯A、3B、5CD、編譯時出錯★根據下面的定義,回答15、16題structtest{intml;charm2;floatm3;unionuu{charul[5];intu2[2];}ua;}myaa;.下面哪個選項能正確表示結構體變量的ml成員A)myaa.tnlB)test.mlC)test->mlD)myaa->ml.sizeof(structtest)的值是A)12 B)16 C)14 D)9九、字符串.在C語言中,以—作為字符串結束標志A)、n' B)''C)O'O)'\O'.下列數據中屬于“字符串常量”的是()oTOC\o"1-5"\h\zA)"a" BXABC} C)'abc\O' D)'a'.字符串"BCD”在內存占用的字節(jié)數是().A.4 B.6 C.1 b.5.下面不正確的字符串常量是:( )A)'PROGRAM'B',12'12"C"0"D""5)設有數組定義:chararray[]="abcd";則數組array所占的空間為A)4個字節(jié)B)5個字節(jié)C)6個字節(jié)D)7個字節(jié).下述對C語言中字符數組的描述種錯誤的是.A序符數組可以存放字符串B)字符數組中的字符串可以整體輸入和輸出C)可在賦值語句中通過賦值運算符三”對字符數組整體賦值D)可在對字符數組定義時通過賦值運算符、”對字符數組整體初始化.已知charx[]="hello", 則關于兩個數組長度的正確描述是.A)相同 B)x大于yC)x小于y D)以上答案都不對.給出以下定義:charx[]="abcdefg";chary[X'a'.'b'/c'/d'.'e'/f則正確的敘述為A)數組x和數組y等價 B)數組x和數組y的長度相同C)數組x的長度大于數組y的長度D)數組x的長度小于數組y的長度9、若有以下語句,則正確的描述是( ).staticcharx[]="12345";staticchary[]={T,'2','3','4','5');A、x數組長度大于y數組長度 B、x數組和y數組的長度相同C、x數組長度小于y數組長度 D、x數組等價于y數組10,已知:chars[20]=*'programming*',*ps=s:則不能引用字母。的表達式是().A、ps[2]B、s[2]C、ps+2D、ps+=2,*ps.判斷兩字符串si,s2是否相等,應使用().A)if(sl==s2)B)if(sl=s2)C)if(strcpy(sl,s2)) D)if(strcmp(sl,s2)==0).以下printf語句的輸出結果為:printfC%d\nM,strlenCschool"));A)7B)6 C語在語法錯誤 D)不定值.對字符數組s賦值,不合法的一個是()A)chars[]="Beijing";B)chars[20]={"beijing");C)chars[20];s="Beijing";b)chars[20]={,B,,,e,,,i,,,j,,,i,,,n,.,g,}i.對字符數組s什賦初值,str不能作為字符串使用的一個是()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');.合法的數組定義是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};.對字符數組s賦值,不合法的是:A)chars[]="china";chars[20]={"china");chars[20];s="china";b)charsROX'c'/h'/i'.'n'/a'):.下面初始化與此初始化charc[]="amhappy”;等價的是()charc[charc[]={'r/am'/happy');C)chcrc[]<T,>/a/m'/.,h'/d/pVpVy):D)charc[]={,r,'am','happy,/\O');.下面各語句中,能正確進行賦字符串操作的語句是().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.下列語句中,正確的是().A)chara[3][]=('abc';l');B)chara[][3]={'abc',T);C)chara[3][]={'a,,"lM);D)chara[][3]=CaB;T');*21.下列定義的字符數組中,“printfC%s\n”,str[2]);“的是輸出是().staticstr[3][20]={"basic","foxpro”/windows');A)basic B)foxpro C)windows D)輸出語句出錯十、文件.在C語言中,文件由().A.字符(字節(jié))序列組成 B)記錄組成C.數據行組成 D)數據塊組成.下面各函數中能實現(xiàn)打開文件功能的是A)fopenB)fgetcC)fputcD)fclose.若文件型指針fp指向某文件的末尾,則函數feof(fp)的返回值是()。A)0 B)-l C)非0值 D)NULL.下列語句中,把變量fp說明為一個文件型指針的是。A)FILE*fp;B)FILEfp;C)file*fp; 0)filefp;5、在進行文件操作時,寫文件的一般含義是( ).A、將磁盤中的信息存入計算機內存B、將計算機內存中的信息存入磁盤C、將計算機CPU中的信息存入磁盤D、將磁盤中的信息存入計算機CPU.以讀寫方式打開一個已有的文本文件filel,并且FILE*fp,下面fopen函數正確的調用方式是().A)fp=fopenC*filer,**rM)B)fP=fopen(',filer,CJfp=fopenC,filelM/rb0)D)fp=fopenC'filel",'、w").標準庫函數fputs(pl,p2)的功能是().A.從pl指向的文件中讀一個字符串存入p2指向的內存.從p2指向的文件中讀一個字符串存入pl指向的內存C.從pl指向的內存中讀一個字符串寫到p2指向的文件中D.從p2指向的內存中讀一個字符串寫到pl指向的文件中*8.為輸出打開一個已存在的非空文件"file”,正確的語句是A)fP=fopenC,file"/'r,)B)fp=fopen(''fileM/W)CJfp=fopenC,file","r+0)D)fp=fopen('、file","a")十一、編譯預處理1堆C語言程序中,以#號帶頭的行是預編譯處理().A.命令 B)語句 C)函數 D片符串.下列正確的預編譯命令是()。definePI3)14159#defineP(a,b)strcpy(a,b)#definestdio.hD)#definePI3.14159;.下列命令或語句中,正確的是()o#defineMYNAME="ABC"#includestdio.hfor(i=0;i<10;i**);structintstu{intname);.下列命令或語句中,錯誤的是()oA)#definePI3.14159 B)#include<math.h>;B)if(2); D)for(;;)if(l)break;計算機程序設計基礎(C語言)程序填空練習題程序填空:閱讀程序。在劃線處填寫適當的表達式或語句,使程序完整并符合題目要求1.輸入一個字符,判斷該字符是數字、字母、空格還是其他字符。main(){charch;ch=getchar();if( )printf("工tisanEnglishcharacter\n");elseif()printf("工tisadigitcharacter\nH);elseif()printf("ItisaspacecharacterXn11);printf(HItisothercharacter\nH);}10個學生成績按交換法排序。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]);}自定義一函數求n!,編寫程序輸入n,輸出n!.longjc(intn){int longp=l;while(i<=n)i++;) }tnain(){intn;printf("Pleaseentern:");scanf("%d",&n);printf("%d!=%ld\n",n,);}.下列程序的功能是從輸入的整數中,統(tǒng)計大于零的整數個數和小于零的整數個數。用輸入0來結束輸入,用i,j來放統(tǒng)計數。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數組中查找與x值相同的元素所在位置。數據從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");.下面程序的功能是將一個字符串str的內容顛倒過來。#indude"string.hMmain(){inti,j :charstr[]=[l2345677for(i=OJ=strlen(str)-l;;i++,j--){k=str[i];;str[j]=k;}).下面函數實現(xiàn)s什len函數的功能,即計算指針p所指向的字符串中的實際字符個數。unsignedintMyStrlen(char*p)(intlen;len=0:for(;*p1='\0';p++)returnlen;).下面是判斷一個數是否為素數的函數#include<math.h>intIsPrimeNumber(){inti;if(number<=1) /*負數、。和1都不是素數*/return0;for(i=2;i<sqrt(number);i++)(if(()==0) /*被整除,不是素數*/return0;)return1;).編程計算1+3+5+。。。+101的值#include<stdio.h>mainO{inti,sum=0;for(i=1;;)sum=sum+i;printf("sum=%d\n",sum);}.輸入一個學生的成績(在。?100分之間),進行五級評分并顯示。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);}).排序函數:用交換法按成績由高到低對學生成績重新排序voidSort(floatscore[]Jntn){inti,j;刊oattempi;for(i=0; /?){forj<n;j**)if( ){tempi=score[j];score[i]=tempi;})).編程計算1+3+5...+99的值main(){inti,sum=0;i=kwhile(){sum=sum?i; ;)printf(,,sum=%d\n,\sum);).下面程序的功能是在a數組中查找與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);).用指針作函數參數,對輸入的兩個整數按大小順序輸出。voidswap(int*plJnt*p2){intp;main(){inta,b;scanf(“%d,%d“,&a,&b);if(a<b)swap();printf(“\n%d,%d\n”,a,b);).從鍵盤輸入一個字符,判斷它是否是英文字母。#include<stdio.h>voidmain(){charc;printfC'inputacharacter:H);c=getchar();if(c>=&&c<=||c>=*a*&&c?二*z*)printf(uyes\nH);elseprintf(uNoH);)*16.以下使用數組來處理打印斐波那契數列的前20項的程序。打印時,每行打印10個數字。斐波那契數列的格式為:當n=0時,f[0]=0,當n=l時,f[l]=l,當n>l時,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.下面的函數是一個求階乘的遞歸調用函數。facto(intn){if(n==1);elsere+urn();)19.程序讀入20個整數,統(tǒng)計非負數個數,并計算非負數之和。/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.一個c源程序總是從main()函數開始執(zhí)行的。()2.C語言程序中當被調函數的定義在主調函數之后,在調用函數之前要進行函數聲明。()3.在一個C程序中,有語句inti,a[i]是可以的。()4.while結構和dowhile結構在任何情況下得出的結果相同。()5.在函數傳值調用過程中,形參變量的操作不影響實參變量值,即形參值不會傳給實參。()6.switch語句是屬于循環(huán)語句()7.C語言中,根據變量值存在的時間(生存期)分為動態(tài)變量和靜態(tài)變量。()8.在C語言中,預處理命令以開頭,以分號結束。()9.數組是由同一類型的數據元素構成,在內存中占連續(xù)的存儲空間。()10.實現(xiàn)算法的三種基本結構是順序結構,選擇結構和循環(huán)結構。()11.在TurboC語言中,變量名都用小寫字母,符號常量都用大寫字母表示。()12.定義一個含有5個元素并且名稱為num的整型數組,所用的Turboc命令為intnum(5);,()13.在初始化指針變量時,使指針變量pl指向變量a的表示方法為*pl=a.。()14.在Turboc的函數調用中,用簡單變量實現(xiàn)參數的數據傳遞,這個數據傳遞方向是單向的,并且總是將形式參數值傳遞給實際參數。()()15.如果要使指針變量p2指向一個名為array的數組,則初始化該指針變量的方法為p2=arrayo()16.眾所周知:結構體是一種構造型的數據類型,在一個結構體中,每個結構體變量的所有成員的數據類型是相同的.()17.在Turboc中,有字符型變量,也有字符串變量.()18.執(zhí)行chara[]="china”;和charb[]={'a','b','c','d','e'};兩條語句后,則數組a和數組b的長度是相同的.()19.指針變量的含義是指向變量的值.()20.一個Turboc程序都是由一個C函數組成的.()21.數組和指針可以通用,所以他們無區(qū)別()22.在一個函數的復合語句中定義的變量可以在本函數范圍有效。()23.在程序中除了可以使用系統(tǒng)提供的基本類型外,還可以使用用typedef定義的各種新的數據類型。()*24.在C語言中文件被稱為流式文件,是一個字符的序列.()25.C語言的主函數是可以帶參數的。()26.用數組名作為函數調用的實參傳遞給形參的是數組第一個元素的值.()27.C語言中,根據變量值的生存期分為動態(tài)變量和靜態(tài)變量。()28.在調用函數時,實參和形參類型可以不一致。()29.在函數傳值調用過程中,形參變量的操作不影響實參變量值,即形參值不會傳給實參。()30.如果一個源文件中,全局變量與局部變量同名,則在局部變量范圍內,局部變量不起作用。()31.一個C語言程序是由函數組成。()32.調用scanf()函數時的所有實參都要有&(取地址)符號。 ()33.在switch語句中,可根據需要使用或不使用break語句。()34.do-while和for循環(huán)均是先執(zhí)行循環(huán)體語句后判斷表達式。( )35.strcpy(strl,"Hello!");作用是將字符串"Hello!”賦給數組strl.()36.調用函數時實參和形參類型可以不一致。()37.C程序運行步驟是編輯、編譯、連接、執(zhí)行。()38.C語言的變量名必須用小寫,常量用大寫。( )39.charstr[10]="abed";char*pstrl,*pstr2;str="abc";pstrl=str;此賦值語句是不正確的。()40.a&&b&&c只有a為真(非0)時,才需要判斷b的值,只有a、b都為真的情況下才需要判斷c的值()41.馮?諾依曼原理的基本思想是存儲程序與程序控制。()42.程序運行時,程序與數據被寫入計算機內存中;然后由CPU逐一讀出每一條指令,數據,按指令對數據進行運算;運算的結果寫回內存。()43.C語言程序中#include〈stdio.h>作用是將系統(tǒng)提供的stdio.h頭文件包含到本文件中。()44.標識符命名規(guī)則是由英文字母、數字和下劃線組成,大小寫無關,允許數字開頭.()45.在循環(huán)控制中,break語句用于結束本次循環(huán),continue語句用于結束整個循環(huán)。()46.在一個函數的函數體里給出另外一個函數的定義。()47.用c語言開發(fā)的一個程序所要經歷的過程是編輯,編譯和運行。()48.C語言中賦值符號的結合方向是從左向右的。()49.共用體將不同的數據類型組合在一起,共占同一段內存的用戶自定義數據類型。()50.C語言的文本文件的存儲格式為存儲每個字符的ASCII碼,那么對于整數1000在文件中占2個字節(jié)。()51.C語言中,根據變量的作用域將變量分為全局變量和局部變量。()52.共用體將不同的數據類型組合在一起,共占同一段內存的用戶自定義數據類型。()53.C語言中能處理的文件的類型包括文本文件和擴展名為.doc的word文件。()54.在c語言中,可以有空函數()55.do-while和for循環(huán)均是先執(zhí)行循環(huán)體語句后判斷表達式。()56.調用函數時實參和形參類型可以不一致。部分參考答案:.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計算機程序設計基礎(C語言)程序改錯練習題及參考答案一、下面每個程序的劃線處有語法或邏輯錯誤,請找出并改正,使其得到符合題意的執(zhí)行結果。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.求一個數組中最大值及其下標。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'下標:%d\n最大值:%d”.工m.max);).求3+4inta=3,b=4;main(){inta.c;c=a+b;Drintf「c=%d");).用一個函數求兩個數之和。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下標:祝下最大值:%d”,intc;printfCc=%d*,,c);floatsum(floatx,floaty);return(z);floatc;printf("\nSumis5.用指針作函數參數,對輸入的兩個整數按大小順序輸出。{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個整數,統(tǒng)計非負數個數,并計算非負數之和.#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兩個數中,讓x中存較大的數,y存較小的數#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);).從鍵盤輸入整數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、求一個4x4矩陣的對角線元素之和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);.編程計算下面分段函數,輸入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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論