桂電信科C語言程序設計作業(yè)習題集及答案_第1頁
桂電信科C語言程序設計作業(yè)習題集及答案_第2頁
桂電信科C語言程序設計作業(yè)習題集及答案_第3頁
桂電信科C語言程序設計作業(yè)習題集及答案_第4頁
桂電信科C語言程序設計作業(yè)習題集及答案_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設計習題集桂林電子科技大學信息科技學院2010.6161基礎知識單項選擇題 (每題 2 分,共 44 分)1 以下敘述正確的是_。A C 程序基本組成單位是語句C簡單 C 語句必須以分號作為結束符2 一個 C 語言程序是從_ 開始執(zhí)行的。A 程序中第一個函數(shù)BC 包含文件(頭文件)的第一個函數(shù)3 請選出合法的 C 語言賦值語句_。B C 程序每一行只能寫一個語句D 注釋語句可以嵌套名為 main 的函數(shù)D 程序中的第一個語句A a=b=58 B i+; C a=58,b=58 D k=int(a+b);4 下面標識符中,合法的用戶標識符是 _。A 1abcB include C a-

2、b-c123 D char5 以下所列的 C 語言整形常量中,正確的是_ 。A 0 x10 B 0976 C 076L D 01ff6 C 語言中下列運算符的操作數(shù)必須為整型的是_A %B +C /D =7 設 a 和 b 均為 int 型變量,則執(zhí)行以下語句后的輸出為_int a=20; int b=3; printf(%dn,a+=(b%=2);A 20B 21C 0D 238 已知 int i; ,則執(zhí)行語句i=2.6; 后, iC 2.6D的值為。不確定A 2B 39以下合法的字符常量為。A abB482 C Dxaf 10若 y 為 int 型變量,則執(zhí)行以下語句后,y 的值是。y=

3、8; y+=y-=y*y;A 64B-56C-112D-4811以下合法的浮點型常量是。A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +51213設 int 數(shù)據(jù)占用兩個字節(jié), float 數(shù)據(jù)占用四個字節(jié), double 數(shù)據(jù)占用 8 個字節(jié),且已 知 floata=2;int b=3; 則執(zhí)行下列語句輸出為printf( %d,sizeof(a*b)+2/5);A 4B 8C 6設 int 型占 2 個字節(jié),且 int i=-2;,A 0B -2C 655341415若 x、y、 z 均為整型常量,且 a=100,x=a+; y=-a; z=x+y-a-;A 100

4、B 400 若有以下定義和語句: int 結果是D 7則語句 printf( %u,i); 的輸出結果為D 65535則執(zhí)行下列語句后的 z 值為C 200u=010,v=0 x10,w=10,printf( %d,%d,%dn ,u,v,w); ,則輸出A 8,16,10 B 10,10,10 設 x、 y 為 int 型變量,則執(zhí)行下列語句后,x=5; y=x+*x+; y=-y*-y;A 529B 2401 C 1209C 8,8,10D 300D 8,10,10y 的值是_D 6251623假設在程序中 a,b,c 均被定義成整型,并且已賦大于 1 的值,則下列能正確表示代數(shù)式1的表達

5、式是_。abcA 1/a*b*c B 1/(a*b*c) C 1/a/b/(float)c D 1.0/a/b/c若有定義:int a=8,b=5,c;chard=A;,則執(zhí)行語句 c=a/b+d%a+0.5;后 c 的值為_ 。A 2B 2.5C 3D類型不一致,無法計算,編譯出錯在有以下程序:main () int i=10,j=1;i=i+j+;printf( %d,%d,%dn,i+,+j,i);執(zhí)行后輸出結果是_ 。A 12,3,11B 12,2,11C 11,3,11D 12,3,12已知 int i=65;,貝U putchar(i);printf(%d,i);printf(%C

6、,i);的輸出結果為_。A A,65,AB 65,65,AC A,A,65D A,A,A已知 int y,a,i=1;,則語句 printf( %d,%d,-i+,(y=a=3.6*3); 的輸出結果為_。A -1,10 B -2,1.8 C 0,3D 1,18有以下程序:main () char a,b,c,d;a= ; b= *xbc ;c=Oxab ; d= 023 ;printf( %c%c%c%cha,b,c,d);編譯時出現(xiàn)錯誤,以下敘述中正確的是_ 。A 程序中只有 a=;語句不正確B b= xbc ;語句不正確C d=023 ;語句不正確D a=;和 c=0 xab ;語句都不

7、正確填空題(第 1 題 2 分,其余每題 3 分,共 56 分)設 x 為 int 型變量,請寫出描述“ x 是偶數(shù)”的表達式是_。已知 scanf( a=%d,b=%d,c=%d,&a,&b,&c);,若從鍵盤輸入 2、3、4 三個數(shù)分別作為變量 a、b、c 的值則正確的輸入形式是_。設有語句 int a=3;,則執(zhí)行了語句 a+=a-=a*a 后,變量 a 的值是_。以下程序的輸出結果是_ 。main () int a=-10,b=-3;printf( %dn,-a+);printf( %dn,-a+b);以下程序的輸出結果是_ 。main ()1718192021

8、22123454 char c;5c=0362;printf(%d n,c);6 以下程序段(n 所賦的是八進制數(shù))執(zhí)行后輸出結果是_。int m=32767 ,n=032767; printf(%d,%on,m,n);7 字符串name101ddressbxaf的長度為:_。8 有以下程序段:int m=0,n=0; char c= a;scanf( %d%c%d&m,&c,&n);printf( %d,%c,%dn,m,c, n);若從鍵盤上輸入:10A10 回車,則輸出結果是_。9 以下程序的輸出結果是_ 。main () printf( %d,%o,%xn,10

9、,10,10);printf( %d,%d,%dn,10,010,0 x10);printf( %d,%xn,012,012);10 設 a、b、c 為整形變量,且 a=2、b=3、c=4,則執(zhí)行完語句 a*=16+(b+)-(+c); 變量 a的值為_ 。11 以下程序的輸出結果為_ 。main () int x=023;printf( %xn,-x);12 以下程序的結果為_。main () int a=2,b=3,c,d;c=(a+)+(a+)+(a+);d=(+b)+(+b)+(+b);printf(a=%d c=%dn ,a,c);printf(b=%d d=%dn ,a,d);13

10、 以下程序main () char ch1,ch2,ch3;scanf( %c%c%c&ch1,&ch2,&ch3);printf(%c%c%c%c%ch1, #,ch2, #,ch3);當輸入 ABC 時運行結果為【1】,當輸入 A BC 時運行結果為 【2】。14 若有定義:float x;,以下程序段的輸出結果是_ 。x=5.16894;printf( %fn ,(int)(x*1000+0.5)/(float)1000);之后,615 以下程序的功能是:輸入一個小寫字母,輸出對應的大寫字母,將程序補充完整。main ()main () int a; float

11、b,c;scanf( %2d%3f%4,&a,&b,&c);printf( na=%d,b=%f,c=%fn ,a,b,c);17 以下程序的運行結果是_。mai n() printf(%12.5fn ,123.1234567);printf(%12fn ,123.1234567);printf(%12.8dn ,12345);printf(%12.8sn , abcdefghij 18 運行以下程序時,如從鍵盤上輸入abcdefg /,則輸出結果是_。main () char ch1,ch2,ch3;ch1=getchar(); ch2=getchar(); ch3=

12、getchar();putchar(ch1); putchar(ch2); putchar(ch3); putchar(n);19 運行以下程序時,如從鍵盤上輸入:a=3,b=5 / 35,35.12 / abc/后,結果是_main () int a,b; float x,y; char c1,c2;scanf( a=%d,b=%d,&a,&b);scanf( %f,%e,&x,&y);scanf( %c%c%c&c1,&c1,&c2);printf(a=%d,b=%d,x=%f,y=%f,c 1= %c,c2=%cn ,a,b,x,y

13、,c1,c2);順序、選擇結構程序設計單項選擇題(每題 2 分,共 40 分) char ch;【1】/*從鍵盤輸入一個小寫字母*/【2】/*將該字母轉換為大寫字母*/【3】/*輸出轉換后的結杲*/16 當運行以下程序時,在鍵盤上從第- 列開始輸入9876543210 /(此處/代表回車),則程序的輸出結果是_71 以下程序運行后的輸出結果是 _。main () int a=0,b=0;a=10; b=20; printf( a+b=%dn,a+b);8A a+b=10 B a+b=30 C 30 D2 以下程序運行后的輸出結果是_。main() double d=3.2; int x,y;x

14、=1.2; y=(x+3.8)/5.0; printf( %dn ,d*y);A 3 B 3.2 C 0 D 3.073 以下程序運行后的輸出結果是_。main() double d; float f; long l; int i; i=f=l=d=20/3 ; printf( %d %ld%.1f %.1fn ,i,l,f,d);A 6 6 6.0 6.0 B 6 6 6.7 6.7 C 6 6 6.0 6.7 D 6 6 6.7 6.0出錯4 以下程序運行后的輸出結果是_main() int a=1,b=2; a=a+b; b=a-b;a=a-b;printf( %d,%dn,a,b);A

15、 1,2 B 1,1 C 2,2D 2,15 以下程序運行后的輸出結果是main() int x,y,z; x=y=2; z=3;y=x+-1;printf( y=+x-1;printf( y=z-1;printf( y=-z-1; printf(A 3 1 4 3 B 3 1 3 32 4 1 42 4 2 2%d %d ,x,y);%d %dn,x,y);%d %d ,z,x);%d %dn,z,x);C 3 1 4 3 D 2 1 3 22 4 1 21 3 1 26 以下程序運行后的輸出結果是_main() int x,y,z;x=y=1;z=x+,y+,+y;printf( %d,%

16、d,%dn,x,y,z);A 2,3,3 B 2,3,2 C 2,3,1 D 2,2,1 7 以下程序運行后的輸出結果是_。main() int x=4,y=7;x-=y; y+=x;9printf( %d %dn ,x,y);A 4 7B -3 -3 C -3 11 D -3 48 以下程序運行后的輸出結果是_。main () un sig ned short a=65536; int b; printf( %dn,b=a);A 65536 B 0C 1D -19 以下程序:#i nclude main () char c1,c2,c3,c4,c5,c6;scanf( %c%c%c%i&am

17、p;c1,&c2,&c3,&c4); c5=getchar(); c6=getchar();putchar(c1); putchar(c2);printf( %c%cn,c5,c6);程序運行后,若從鍵盤輸入(從第 1 列開始)12345678則輸出結果是_。A 1267B 1256C 1278D 124510 設 a、b 和 c 都是 int 型變量,且 a=3,b=0,c=5,則以下值為 0 的表達式是_A 和之前與其具有相同縮進位置的 if 配對B 和之前與其最近的 if 配對C 和之前與其最近不帶 else 的 if 配對D 和之前的第一個 if 配對12 若要

18、求在 if 后一對圓括號中表示a 不等于 0 的關系,則能正確表示這一關系的表達式為A a0B !aC a=0D a13 以下程序運行后的輸出結果是_。main () int a=2,b=-1,c=2;if(ab)if(b0) c=0;else c+;printf( %dn,c);A 0B 1C 2D 314 若 k 是 int 型變量,下面的程序段的輸出結果是 _k=-3;A a&bB a&b|c C a&b&cD a|b&c11 在嵌套使用 if 語句時,C 語言規(guī)定else 總是_10if(k=0) pri ntf(#)11else printf(

19、 &);A # B &C #&D15 以下程序運行后的輸出結果是_。main() int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf( %d,%d,%d,%dn ,a,b,c,d);A 0,1,2,0 B 0,0,0,3 C 1,1,2,0 D16 以下程序運行后的輸出結果是_。main() int x1=1,x2=0,x3=0; if(x1=x2+x3) printf( * ); else printf( #);A *B有語法錯誤 C #D無輸出結果17 當 a=1,b=3,c=5,d=4 時,執(zhí)行下面一行程序后,x

20、 的值是_。if(ab)if(cd)x=1;else if(ac)if(bd)x=2;else x=3;else x=6;else x=7;A 1B 2C 3D 618 下列敘述中正確的是_。A break 語句只能用于 switch 語句B 在 switch 語句中必須使用 defaultC break 語句必須與 switch 語句中的 case 配對使用D 在 switch 語句中不一定使用 break 語句20 以下程序運行后的輸出結果是_#include main() int x=1,y=0,a=0,b=0;switch(x) case 1:switch(y) case 0:a+;b

21、reak; case 1:b+;break;case 2:a+;b+;break;printf( a=%d,b=%dn ,a,b);A a=2,b=1 B a=1,b=1 C a=1,b=0 D a=2,b=2二 填空題 (每題 3 分,共 30 分)有語法錯誤,無輸出編譯有錯19 若有定義: float x=1.5; int a=1,b=3,c=2;則正確的 switch語句是_A switch(x) case1.0:printf( case2.0:printf(C switch(a+b)B switch(int)x)*n ); case 1:printf(*n ); case 2:prin

22、tf(D switch(a+b)*n );*n ); case 1:printf( *n );case 2+1:printf( *n ); case1:printf( case*n );*n ); 121 以下程序運行后的輸出結果是_。#include main() int i=010 , j=10; printf(%d,%dn,+i,j-);2 以下程序運行后的輸出結果是_。#include main() printf( %d%d%dn, 0 , 0 , 0 ); 3 以下程序運行后的輸出結果是_。main() int i=5,j,k; j=i+i+i+; k=(+i)+(+i)+(+i);

23、 printf( i=%5d j=%5dnk=%5dn ,i,j,k);4下面的程序運行時從鍵盤上輸入9876543210 y乙應使用 C 語言表達式_。9 下面的程序段的輸出結果是_ 。int x=3; if(x%2)?printf( *%d,x):printf(#%dn,x);10 以下程序運行后的輸出結果是_ 。main() int m=5;switch(m/2) case 1: m+; case 2: m+=3;case 5: m+=6;break; default: m-=7;printf( %dn,m);三程序填空(每空 5 分,共 30 分)1 下列程序的輸出結果是 16.00,

24、請?zhí)羁?。main () int a=9,b=2;13float x= 【1 】,y=1.1, z;z=a/2+b*x/y+1/2;printf(%5.2fn ,z);2 完成以下程序,輸入變量a,b,c 的值,判斷 a,b,c 能否組成三角形,計算三角形面積。(公式為:sJp( pa)( p b )( p)c)#in clude 【2】;main () int a,b,c;【3】printf( please in put the value of a,b,c)scanf( %d %d %d,【4】);if(【5】)【6】s=sqrt(p*(p-a)*(p-b)*(p-c);printf( Ye

25、s,this is a triangle!n the area is %.2f.nelse printf( No,this is not a tria ngle!n)循環(huán)結構程序設計-單項選擇題(每題 2 分,共 40 分)1 以下程序中,while 循環(huán)的循環(huán)次數(shù)是_。main () int i=0;while(i10) if(i20) break;while(a=14);A a=12 y=12a=14 y=16a=16 y=20a=18 y=24C a=12 y=12B a=12 y=12a=16 y=28D a=12 y=12a=14 y=26a=14 y=446 以下程序的執(zhí)行結果是_

26、。main() int x=23;do printf(%d,x-); while(!x);A 321B 23C7 有以下程序段,輸出結果是_。不輸出任何內(nèi)int x=3;do printf( %d ,x-=2); while(!(-i+;A 1 B 10 C 6 D2 以下程序的執(zhí)行結果是_。main() int n=9;while(n6) n-; printf( %d,n); 該程序的輸出結果是A 987 B 876 C 8765 D 9876 3 以下程序段,while 循環(huán)執(zhí)行的次數(shù)是。int k=0;while(k=1) k+;A 無限次 B有語法錯 C 一次也不執(zhí)行 D 執(zhí)行 1 次

27、4 以下敘述正確的是_。A do-while 語句構成的循環(huán)不能用其它語句構成的循環(huán)來代替死循環(huán)B do-while 語句構成的循環(huán)只能用C 用 do-while 語句構成的循環(huán),在D 用 do-while 語句構成的循環(huán),在 5以下程序的執(zhí)行結果是_。break 語句退出while 后的表達式為非零時結束循環(huán)while 后的表達式為零時結束循環(huán)15A 1 B 3 0C 1 -2 D8 以下程序的輸出結果是_。main() int a=0,i;for(i=1;i5;i+) switch(i) case 0: case 3: a+=2; case 1: case 2: a+=3; default

28、:a+=5;printf( %dn ,a);A 31 B 13 C 10 D 20 9 以下程序的輸出結果是。main() int i=0,a=0;while(i20) for(; ;)if(i%10)=0) break; else i-;i+=11; a+=i;printf( %dn,a);A 21 B 32 C 33 D 11 10 以下循環(huán)體的執(zhí)行次數(shù)是。16main() int i,j; for(i=0,j=1;i=j+1;i+=2,j-) printf(A 3 B 2 C 1 D 011 下列程序的輸出結果是_。main() int i,j,m=0,n=0;for(i=0; 2;i+

29、)for(j=0;j=i) m=1;n+;printf( %dn,n);A 4 B 2 C 1 D 0 12 下列程序的輸出結果是。main() int i,sum;for(i=1;i=3;sum+) sum+=i;printf( %dn,sum);A 6 B 3 C 死循環(huán) D 0 13 以下程序執(zhí)行后 sum 的值是_。main() int i,sum;for(i=1;i6;i+) sum+=i;printf( %dn,sum);A 15 B 14 C 不確定 D 014 以下程序執(zhí)行后的輸出結果是_。main() int i,n=0;for(i=2;i5;i+) do if(i%3) c

30、ontinue; n+; while(!i);n+;printf( n=%dn ,n);A n=5 B n=2 C n=3 D n=415 下列語句中,能正確輸出26 個英文字母的是_。A for(a=a;a=z;printf( %c,+a); B for(a=a;a=z;) printf( %c,a);C for(a=a;a=z;printf( %c,a+); D for(a=a;a=z;printf(%c,a);16 以下程序執(zhí)行后的輸出結果是_。main() int x=1,y=1;while(y=10) break;if(x%2=0) x+=5; continue; x-=3; y+;

31、printf( %d,%d,x,y);死循環(huán)%d n ,i);17A 6,6 B 7,6 C 10,3 D 7,317 以下程序執(zhí)行后的輸出結果是_。main() int a=5;while(!(a-5) switch(a) case 1:a+;case 4:a+=4;case 5:a+=5;break; default:a-=5;18printf( %dn,a);A 12B 7C 5D 1318 對于下面的 for 循環(huán)語句,可以斷定它執(zhí)行_ 次循環(huán)。for(x=0,y=0;(y!=67)&(x5);x+) printf(-);A 無限B不定C 5次D 4次19 在執(zhí)行以下程序時,如

32、果從鍵盤上輸入:ABCdef,則輸出結果為_ 。#in cludestdio.h 二填空題(每空 3 分,共 33 分)1 若輸入字符串:abcde0 & +x5) y=y-1;printf(%d,%d,%dn,x,y,z);4 下面程序的功能是:計算 1 到 10 之間的奇數(shù)之和及偶數(shù)之和,請?zhí)羁?。main () int a,b,c,i;a=c=0;for(i=0;i=else if(ch=printf( %c,ch);printf( n);A ABCdef B abcDEF20 當執(zhí)行以下程序時,_ 。int a=1;do a=a*a; while(!a);A 循環(huán)體將執(zhí)行 1 次

33、C 循環(huán)體將執(zhí)行無限次n )A & ch= Z) ch=ch+32;a & ch= z) ch=ch-32;C abcD DEFB循環(huán)體將執(zhí)行 2 次D系統(tǒng)將提示有語法錯誤195 下面程序的功能是:輸出 100 以內(nèi)能被 3 整除且個位數(shù)為 6 的所有整數(shù),請?zhí)羁?。main () int i,j;for(i=0; _【1 】;i+) j=i*10+6;if(_【2】)con ti nue;printf( %dn,j);6 以下程序的輸出結果是_。main () int s,i;for(s=0,i=1;i3;i+,s+=i);printf( %dn,s);7 要使以下程序段輸出1

34、0 個整數(shù),請?zhí)钊胍粋€整數(shù)。for(i=0;i=_ ;printf( %d n ,i+=2);8 程序的功能是根據(jù)以下近似公式求n值:21 1 11 -62 23 3 n n請?zhí)羁胀瓿汕髇的功能。#include math.h main () int n=30000; double s=0.0; long i;for(i=1;imax) max=x;if(xmi n)【2 】;scanf( %f, &x);21 while( 【3】);printf( %f,%f,max,mi n);3 下面的程序用來求出所有的水仙花數(shù)。所謂水仙花數(shù)是指一個3 位數(shù),它的各位數(shù)字的立方和恰好等于它本身。

35、main () int n,i,j,k;for(n=100;【1】)/*判斷 3 位數(shù) n 是否是水仙花數(shù)*/ i=n/100;/* i是 n 的百位上的數(shù)字*/j=【2】;/* j是 n 的十位上的數(shù)字*/k=n %10;/* k是 n 的個位上的數(shù)字*/if(【3】)prin tf(%dn,n);數(shù)組-單項選擇題(每題 2 分,共 40 分)1 以下對一維整型數(shù)組a 的正確定義(說明)的是_。A int a(10); B) int n=10,an; C int n; D #define SIZE 10scanf( %d,&n); int aSIZE;int an;2 若有定義(說明

36、)int a10;,則對數(shù)組 a 的元素正確引用的是_main () int i,k,a10,p3;k=5;for(i=0;i10;i+) ai=i;for(i=0;i3;i+) pi=ai*(i+1);for(i=0;i3;i+) k+=pi*2;printf( %dn,k);A 20B 21C 22D 235 以下對一維整型數(shù)組a 初始化的語句中正確的是_A int a10=(0,0,0,0,0);B int a10=();C int x=2,a10=10*x;D int a10=0;6 若有以下說明,則數(shù)值為4 的表達式是_。int a12=1,2,3,4,5,6,7,8,9,10,11

37、,12;A a10B a3.5C a(5)3 執(zhí)行卜面程序段后,變量k 的值是int k=3,s2;s0=k; k=s1*10;A 不定值B 33C 304 以下程序的輸出結果是。D a10-10D 1022char c= a,d,g;A ag-c B a4 C a d-c D a d-c7 下列程序運行后的輸出結果是_。#define MAX 10 void main() int i,sum,a=1,2,3,4,5,6,7,8,9,10; sum=1;for(i=0;i=1); for(j=i-1;j0;j-) printf( %d ,aj);A 1000 B 1001 C 1010 D 1

38、1009 以下對二維數(shù)組a 的正確定義(說明)的是_。A int a3; B float a(3,4); Cdouble a14; D float a(3)(4);10 若有定義(說明)int a34; ,則對數(shù)組 a 的元素的引用非法的是_。A a22*1 B a13 C a4-20 D a0411 以下不能對二維數(shù)組a 進行正確初始化的語句是_。A int a23=0;B int a3=1,2,0;C int a23=1,2,3,4,5,6; D int a3=1,2,3,4,5,6;12 下列數(shù)組定義語句中,正確的是_。A char a=a,b,c,d,e,f;B char a23=a,

39、 b;C char a3=a, b,c,d,e,f;D char a=a, b, c, d, e, f ;13 下列程序運行后的輸出結果是_。main() int a44,i,j,k;for(i=0;i4;i+) for(j=0;j4;j+) aij=i-j;for(i=1;i4;i+) for(j=i+1;j4;j+) k=aij; aij=aji; aji=k; for(i=0;i4;i+) printf( n );for(j=0;j4;j+) printf(%4d,aij);A 0 -1 -2 -3B012310 -1 -2-101221 0 -1-2 -10132 1 0-3 -2 -

40、10C 0 -1 -2 -3D012310 1 2-10-1 -22-1 0 1-210 -2123141516171819203 -2 -1 0 以下程序的輸出結果是main() int i,a44=1,3,5,2,4,6,3,5,7;printf( % d % d % d % dn, a03 , a12 ,a21 , a30) ;A 0650 B 1470 有以下程序:main() int x32=0,i;for(i=0;i3;i+) scanf( printf(若運行時輸入:A 2 0 0-3 2 1 0C 5430輸出值不定%d,xi);%3d%3d%3dn,x00,x01,x10);

41、2 4 6,則輸出結果 B 20 4 C 2 4 0下列描述不正確的是_。A 字符型數(shù)組中可以存放字符串 B 可以對字符型數(shù)組進行整體輸入和輸出C 可以對整型數(shù)組進行整體輸入和輸出D 不能在賦值語句中通過賦值運算符“ 對于以下定義,敘述正確的是_char x= abcdef ;char x=a, b c, d,e,f;A 數(shù)組 x 和數(shù)組 y 等價BC 數(shù)組 x 的長度大于數(shù)組 y 的長度 以下選項中,不能正確賦值的是A char s110;s1= Ctest ;C char s320= Ctest ;若有定義和語句: char s=10;s=(以下表示空格)A abcdB a當執(zhí)行下面程序時

42、,如果輸入#include#includemain() char ss10= 12345 ;gets(ss); strcat(ss, printf(A ABC6789%sn,ss);B ABC67對字符型數(shù)組進行整體賦值數(shù)組 x 和數(shù)組 y 的長度相等 數(shù)組 x的長度小于數(shù)組 y 的長度B char s2=C, t , e, s,t;D char s430;strcpy(s4, Ctest );abcd;pri ntf(”sn,s);,則輸出結果是_C abcdABC 則輸出結果是. D 編譯不通過6789);C 12345ABC6 D ABC45678填空題 (每空若 int 類型變量占兩個

43、字節(jié),定義 數(shù)是3 分,共 24 分)int x10=0,2,4; ,則數(shù)組 x 在內(nèi)存中所占的字節(jié)124252 若有定義 char a= 141141abct;,則數(shù)組 a 在內(nèi)存中所占的字節(jié)數(shù)是_。3 下列程序的輸出結果是_ 。main() int i,a10;for(i=9;i=0;i-) ai=10-i;printf( %d%d%dn,a2,a5,a8);4 下列程序運行的結果是_ 。main() char ch7=65ab21; int i,s=0;for(i=0;chi=0 & chi=9;i+=2) s=10*s+chi-0;printf(%dn ,s) ;5 有定義語句

44、:char s100 , d100 ; int j=0 , i=0 ;且 s 中已賦字符串,請?zhí)羁找詫崿F(xiàn) 字符串復制。(注意:不得使用逗號表達式)while(si) dj=_; j+ ; dj=0;6 下面程序運行的結果是_ 。main() char s= abcdef ;s3= 0 ;printf( %sn,s);7 以下程序的輸出結果是_ 。main() char ch35= AAAA , BBB, CC;printf( n ,ch1);8 以下程序的輸出結果是_ 。main() char ch=abc,x34; int i;for(i=0;i3;i+) strcpy(xi,ch);for

45、(i=0;i=0.0 & * 1000) sum+= 【1 】;xn=【2】;n+; scanf(%f,&a);ave= 【3】;print( Output: n );printf( ave=%fn ,ave); for(i=0;in;i+) if(【4】)printf(%fn ,xi);2 以下程序的功能是求出矩陣x 的上三角元素之積。其中矩陣x 的行列數(shù)和元素的值均由鍵盤輸入。請?zhí)羁铡?defi ne M 10main () int xMM; int n,i,j; long s=1;printf( En ter a in teger(=10):n);scanf( %d,&a

46、mp;n);printf( En ter %d data on each line for the array xn” ,n);for( 【1】)for(j=0;j n;j+) scanf(%d, &xij);for(i=0;i n; i+)for( 【2】)【3】;printf( %ld,s);3 以下程序,數(shù)組 a 中存放一個遞增數(shù)列。輸入一個整數(shù),并將它插入到數(shù)組a 中,使之仍為一個遞增數(shù)列。請?zhí)羁铡ain () int a 【1】=1,10,20,30,40,50,60,70,80,90,x,i,p;scanf( %d,&x);for(i=0,p=10;i10;i+)

47、if(x=p;i_) ai+1=ai;【3】;for(i=0;i=10;i+) printf(%5dn,ai);printf( n);4 以下程序的功能是:將t 數(shù)組的內(nèi)容連接到 s 數(shù)組內(nèi)容的后面,使 s 數(shù)組保存連接后的新字符串。main () static char s30= abcdefg ,t= abcd; int i=0,j=0;while(si!=0)【1】;while(tj!=0) si+j=tj; j+; 【2】;printf(%sn,s);27單項選擇題 (每題 2 分,共 40 分)1 以下正確的函數(shù)定義是_。A 實參和與其對應的形參各占用獨立的存儲單元B 實參和與其對應

48、的形參共占用一個存儲單元C 有當實參和與其對應的形參同名時才共占用相同的存儲單元D 形參是虛擬的,不占用存儲單元3 若調(diào)用一個函數(shù),且此函數(shù)中沒有return 語句,則正確的說法是_。A 該函數(shù)沒有返回值B該函數(shù)返回若干個系統(tǒng)默認值C 能返回一個用戶所希望的函數(shù)值D 返回一個不確定的值4以下正確的描述是_。A 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C 函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套D 函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套5 若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是_。A 數(shù)組的首地址B數(shù)組中第一個元素的值C 數(shù)組中的全部元素的值D數(shù)組元素的

49、個數(shù)6 以下不正確的說法是_。A 在不同函數(shù)中可以使用相同名字的變量B 形式參數(shù)是局部變量C 在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有定義D 在函數(shù)內(nèi)的復合語句中定義的變量在本函數(shù)范圍內(nèi)有定義7 已知一個函數(shù)的定義如下:double fun (i nt x, double y) . 則該函數(shù)正確的函數(shù)原型聲明為_。A double fun(int x,double y) B fun(int x,double y)C double fun(int,double);D fun(x,y);8 關于函數(shù)聲明,以下不正確的說法是_。A 如果函數(shù)定義出現(xiàn)在函數(shù)調(diào)用之前,可以不必加函數(shù)原型聲明B 如果在所有函數(shù)

50、定義之前, 在函數(shù)外部已做了聲明, 則各個主調(diào)函數(shù)不必再做函數(shù)原 型聲明C 函數(shù)在調(diào)用之前,一定要聲明函數(shù)原型,保證編譯系統(tǒng)進行全面的調(diào)用檢查D 標準庫不需要函數(shù)原型聲明9 調(diào)用函數(shù)的實參與被調(diào)用函數(shù)的形參應有如下關系_。函數(shù)A double fun(int x,int y) z=x+y; return z; C fun (x,y) int x,y; double z ;z=x+y; return z; 2 以下正確的說法是_ B double fun(int x,y) intz; return z; D doublefun(int x,int y) double z; return z; 2

51、8A 只要求實參與形參個數(shù)相等B只要求實參與形參順序相同29C 只要求實參與形參數(shù)據(jù)類型相同 D 上述三點均需具備10 凡在函數(shù)中未指定存儲類別的變量,其隱含的存儲類別是_。A 自動B靜態(tài)C外部D寄存器11 在源程序的一個文件中定義的全局變量的作用域是_。A 在本文件的全部范圍B該程序的全部范圍C 一個函數(shù)的范圍D從定義該變量的位置開始至該文件的結束12 下列程序運行后的輸出的數(shù)據(jù)是_。int sum(int n) int p=1,s=0,i;for(i=1;i=n;i+) s+=(p*=i); return s;main() printf( sum(5)=%dn ,sum(5); A sum

52、(5)=151 B sum(5)=152 C sum(5)=153 D sum(5)=15513 下列程序運行后的輸出結果是_。int c=1;main() static int a=5;int b=6;printf( a=%d,b=%d,c=%dn ,a,b,c); func();printf( a=%d,b=%d,c=%dn ,a,b,c); func();func() static int a=4;int b=10;a+=2;c+=10;b+=c;printf( a=%d,b=%d,c=%dn ,a,b,c);main() int a=6,b=2,c; c=f(a)/f(b);print

53、f( %dn ,c);int f(int x) int y; y=x+*x+; return y;A a=5,b=6,c=1B a=5,b=6,c=11C a=5,b=6,c=1D a=5,b=6,c=1a=6,b=21,c=11a=5,b=6,c=11a=8,b=31,c=21a=5,b=21,c=11a=5,b=6,c=11a=8,b=31,c=21a=5,b=21,c=11a=5,b=6,c=11a=8,b=31,c=21a=6,b=21,c=11a=5,b=6,c=11a=5,b=31,c=2114 運行下面的程序后,其輸出結果是_30A 9 B 6 C 36 D 18 15 下列程序

54、輸出結果是。#includemy() static int x=3;x+;return(x);main() int i,x;for(i=0;i=2;i+) x=my(); printf( %dn,x);A 3 B 4 C 5D 616 下列程序的輸出結果是_。#includeint abc(int u,int v) int w;while(v) w=u%v; u=v; v=w; return u;main() int a=24,b=16,c;c=abc(a,b); printf( %dn,c);A 8B 6C 5D 417 下列程序運行后的輸出結果是_ int i,j; for(i=j=0;s

55、i!= sj=0 ;A s=abcdefgca B s=abdefga C s=bcdefgc D18 下列程序運行后的輸出結果是_。void main() int m=4,n=2,k;k=fun(m,n); printf(%dn,k);k=fun(m,n); printf(%dn,k);int fun(int x,int y)main() static char s=p(s); printf(p(char s)abcdefgca s=%sn ,s);0 ;i+) if(si!=a+2) sj+=si;程序有錯31 static int n=3,i=2;i+=n+1; n=i+x+y;retu

56、rn(n);A 12B 12C 12D 121223251619 下列程序運行后的輸出結果是_。int x=1; main() int i=5;fun(i);printf( %d,%dn,i,x);fun(m) int m; m+=x; x+=m; char x= A; printf( %dn,x); printf( %d,%dn,m,x);A 65B AC AD 656,16,16,76,76,16,16,75,720 下列程序運行后,若從鍵盤輸入ABC!四個字符后,程序輸出是_。#includemain() void receiv();receiv();void receiv() char

57、 c;c=getchar();putchar(c);if(c!= ! ) receiv();putchar(c);A ABC!B ABC!ABC! C ABC!CBA D ABCABC二 填空題 (每空 3 分,共 30 分)1函數(shù)調(diào)用語句:fun( (a,b),(c,d,e);,實參個數(shù)為_。2 凡在函數(shù)中未指定存儲類別的局部變量,其默認的存儲類別為_。3 在一個 C 程序中,若要定義一個只允許本源程序文件中所有函數(shù)使用的全局變量,則該 變量需要定義的存儲類別為_ 。324C 語言規(guī)定,調(diào)用一個函數(shù)時,實參變量和形參變量之間的數(shù)據(jù)傳遞方式是_5 運行下面程序,其輸出結果是_。#include

58、 int x,y;one() int a,b;a=25,b=10; x=a-b;y=a+b;main() int a,b; a=9,b=5; x=a+b;y=a-b; one();printf( %d,%dn,x,y):6運行下面程序,其輸出結果是_#include main() void printd()int n=123; printd(n);void printd(int n) int i;if(n0) n=-n;putchar( putchar(n%10+ 0);if(i=n/10)!=0) printd(i);7 運行下面程序,從鍵盤輸入四個字符#include main() voi

59、d recursion(); recursion();void recursion() char c; c=getchar(); putchar(c);if(c!=#) recursion(); putchar(c);8 以下程序的輸出結果是_。#includevoid fun (i nt x) if(x/20) fun( x/2); printf(%d ,x); main () fun(3); printf(n ); 9 以下程序運行結果是_。int a=1;int f(in t c) static int a=2;c=c+1;return (a+)+c;- ); xyz#,其輸出是_33m

60、ain () int i,k=0;for(i=0;i2;i+) int a=3; k+=f(a); k+=a;printf( %dn,k);10以下程序的運行結果是_。int k=0;void fun (i nt m) m+=k; k+=m; printf( m=%dn k=%d ,m,k+); main () in t i=4;fun(i+); printf(i=%d k=%dn ,i,k);三程序填空題(每空 3 分,共 30 分)1 一個整數(shù)稱為完全平方數(shù),是指它的值是另一個整數(shù)的平方。例如81 是個完全平方數(shù),因為它是 9 的平方。下列程序是在三位的正整數(shù)中尋找符合下列條件的整數(shù):它既是完全平方數(shù),且三位數(shù)字中又有兩位數(shù)字相同:例如144( 12*12 )、676 (26*26 )等,程序找出并輸出所有滿足上述條件的三全數(shù)。程序如下:main () int n,k,a,b,c;for(k=1;k+) 【1】if(n999)【3】;a=n/100;b=【4】;c=n %10;if(flag(a,b,c) pri ntf(n=%d=%d*%d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論