C語言全部章節(jié)習(xí)題集及答案_第1頁
C語言全部章節(jié)習(xí)題集及答案_第2頁
C語言全部章節(jié)習(xí)題集及答案_第3頁
C語言全部章節(jié)習(xí)題集及答案_第4頁
C語言全部章節(jié)習(xí)題集及答案_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計1 語言概述一、單項選擇題 第一章 C語言概述一、選擇題:1、一個C程序的執(zhí)行是從( A )。A本程序的main函數(shù)開始,到main函數(shù)結(jié)束B本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束2、在 C 語言中,每個語句必須以( D )結(jié)束。 A. 回車符 B. 冒號 C. 逗號 D. 分號 3、C 語言規(guī)定:在一個源程序中,main函數(shù)的位置( C )。A. 必須在最開始 B. 必須在系統(tǒng)調(diào)用的庫函數(shù)的后面 C. 可以任意 D. 必須在最后4、一個C 語言程序

2、是由( B )。A. 一個主程序和若干子程序組成 B. 函數(shù)組成 C. 若干過程組成 D. 若干子程序組成5、下列說法中錯誤的是( D )。 A. 主函數(shù)可以分為兩個部分:主函數(shù)說明部分和主函數(shù)體 B. 主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù) C. 任何非主函數(shù)可以調(diào)用其他任何非主函數(shù) D. 程序可以從任何非主函數(shù)開始執(zhí)行6、用 C 語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯誤,則系統(tǒng)將( C )。 A. 生成可執(zhí)行目標(biāo)文件 B. 生成目標(biāo)文件 C. 輸出運行結(jié)果 D. 自動保存源文件 二、填空題:1、C 語言只有 32 個關(guān)鍵字和 9 種控制語句。2、每個源程序有且只有一個 main 函數(shù),系

3、統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。 3、C 語言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以 * 符號作為開始標(biāo)記,以 */ 符號作為結(jié)束標(biāo)記。4、C 語言中,輸入操作是由庫函數(shù) scanf 完成的,輸出操作是由庫函 數(shù) printf 完成的。5、系統(tǒng)默認(rèn)的C 語言源程序文件的擴展名是 .c ,經(jīng)過編譯后生成的目標(biāo)文件的擴展名是 .obj ,經(jīng)過連接后生成的可執(zhí)行文件的擴展名是 .exe 。6、C 語言的標(biāo)識符只能由字母、數(shù)字和 下劃線 三種字符組成。第三章 數(shù)據(jù)類型、運算符和表達(dá)式一、選擇題:1、以下選項中,不正確的 C 語言浮點型常量是( C )。 A. 160. B. 0.12 C.

4、2e4.2 D. 0.02、以下選項中,( D )是不正確的 C 語言字符型常量。 A. 'a' B. 'x41' C. '101' D. "a"3、在 C 語言中,字符型數(shù)據(jù)在計算機內(nèi)存中,以字符的( C )形式存儲。 A. 原碼 B. 反碼 C. ASCII 碼 D. BCD碼4、若x、i、j和k都是int型變量,則計算下面表達(dá)式后,x的值是( C )。x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.525、算術(shù)運算符、賦值運算符和關(guān)系運算符的運算優(yōu)先級按從高到低依次為( B )。 A. 算術(shù)運算、

5、賦值運算、關(guān)系運算 B. 算術(shù)運算、關(guān)系運算、賦值運算 C. 關(guān)系運算、賦值運算、算術(shù)運算 D. 關(guān)系運算、算術(shù)運算、賦值運算 6、若有代數(shù)式 ,則不正確的C語言表達(dá)式是( C )。A.a/b/c*e*3 B. 3*a*e/b/c C.3*a*e/b*c D. a*e/c/b*3 7、表達(dá)式!x|a=b 等效于( D )。 A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b) 8、設(shè)整型變量 m,n,a,b,c,d 均為1,執(zhí)行 (m=a>b)&&(n=c>d)后, m,n 的值是( A)。 A. 0,0 B. 0,

6、1 C. 1,0 D. 1,1 9、 設(shè)有語句 int a=3;,則執(zhí)行了語句 a+=a-=a*=a;后,變量 a 的值是( B )。 A. 3 B. 0 C. 9 D. -12 10、在以下一組運算符中,優(yōu)先級最低的運算符是( D )。 A. * B. != C. + D. = 11、設(shè)整型變量 i 值為2,表達(dá)式(+i)+(+i)+(+i)的結(jié)果是( B )。 A. 6 B. 12 C. 15 D. 表達(dá)式出錯 12、若已定義 x 和 y為double 類型,則表達(dá)式 x=1,y=x+3/2 的值是( C )。 A. 1 B. 2 C. 2.0 D. 2.5 13、sizeof (doub

7、le)的結(jié)果值是( A )。 A. 8 B. 4 C. 2 D. 出錯 14、設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:a<b? a : c<d? a : d的結(jié)果為( D )。 A. 4 B. 3 C. 2 D. 1 15、設(shè)a 為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10<a<15的 C 語言表達(dá)式是( A )。 A. 10<a<15 B. a= =11| a= =12 | a= =13 | a= =14 C. a>10 && a<15 D. !(a<=10) && !(a>=15) 16、設(shè) f是實型

8、變量,下列表達(dá)式中不是逗號表達(dá)式的是( D )。 A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0) 17、 表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是( C )。A. int B. float C. double D. 不確定 18、已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行語句C2=A+6-3;后c2中的值是( A )。 A. D B. 68 C. 不確定的值 D. C 19、以下用戶標(biāo)識符中,合法的是( B )。 A. int B. nit C. 123 D. a+b 20、C

9、 語言中,要求運算對象只能為整數(shù)的運算符是( A )。 A. % B. / C. > D. * 21、若有說明語句:char c='72';則變量c在內(nèi)存占用的字節(jié)數(shù)是( A )。 A. 1 B. 2 C. 3 D. 4 22、字符串"ABC"在內(nèi)存占用的字節(jié)數(shù)是( B )。 A. 3 B. 4 C. 6 D. 8 23、要為字符型變量 a賦初值,下列語句中哪一個是正確的( B )。 A. char a="3" B. char a=3; C. char a=%; D. char a=*; 24、下列不正確的轉(zhuǎn)義字符是( C )。 A

10、. B. ' C. 074 D. 0 二、填空題:1、C 語言中的邏輯值“真”是用 1 表示的,邏輯值“假”是用 0 表示的。 2、若x和n都是int型變量,且x的初值為12,n的初值為5,則計算表達(dá)式x%=(n%=2)后x的值為 0 。 3、設(shè) c='w',a=1,b=2,d=-5, 則表達(dá)式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b=a=2的值分別為 1 、 0 、 1 、 1 。 4、設(shè) float x=2.5,y=4.7; int a=7;,表達(dá)式 x+a%3*(int)(x+y)%2/4的值

11、為 2.5 。5、判斷變量 a、b 的值均不為 0 的邏輯表達(dá)式為a!=0&&b!=0 。 6、求解賦值表達(dá)式 a=(b=10)%(c=6),表達(dá)式值、a、b、c 的值依次為 4,4,10,6 。 7、求解逗號表達(dá)式 x=a=3,6*a 后,表達(dá)式值、x、a 的值依次為18,3,3 。8、數(shù)學(xué)式a/(b*c)的 C 語言表達(dá)式 a/b/c 。三、編程題:1、設(shè)長方形的高為 1.5,寬為 2.3,編程求該長方形的周長和面積。2、編寫一個程序,將大寫字母 A轉(zhuǎn)換為小寫字母 a。1main()float x=1.5,y=2.3;printf(“area is %6.2fn”,x*y)

12、;2.main()char c=A;printf(“%d”,c+32);4 最簡單的C程序設(shè)計順序程序設(shè)計一、單項選擇題 1、printf("f=%3.2f%",3.478);的輸出結(jié)果是( A )。A. f=3.48% B. f=3.5% C. f=3.48% % D. f=347.8% 2、printf("%c,%d",'a', 'a');的輸出結(jié)果是( A )。 A. a,97 B. a 97 C. 97,a D. 97 a 3、有以下程序段char c1,c2,c3,c4,c5,c6; scanf("cc

13、cc",&c1,&c2,&c3,&c4);c5=getchar( ); c6=getchar( );putchar(c1);putchar(c2);printf("ccn",c5,c6);程序運行后,若從鍵盤輸入(從第1列開始):123<回車>45678<回車>。則輸出結(jié)果是:( D )A1267 B1256  C1278 D12454、若一個 int 類型的數(shù)據(jù)占 2 字節(jié),則程序段:int x= 1;printf("%u,%d",x,x);的輸出結(jié)果是( A )。 A. 65

14、535, 1 B. 1,65535 C. 32767, 32768 D. 32768,32767 5、在TC 中g(shù)etchar、putchar、printf、scanf 四個函數(shù),均包含在頭文件( B )中。 A. math.h B. stdio.h C. stbio.h D. stdlib.h 6、復(fù)合語句是用( C )括起來的語句組。 A. ( ) B. C. D. < > 7、下列格式符中,哪一個可以用于以八進制形式輸出整數(shù)( C )。 A. %d B. %8d C. %o D. %ld 8、下列格式符中,哪一個可以用于以十六進制形式輸出整數(shù)( B )。 A. %16d B.

15、 %8x C. %d16 D. %d 9、a 是int類型變量,c是字符變量,下列輸入語句中哪一個是錯誤的( B )。 A. scanf("%d,%c",&a,&c); B. scanf("%d%c",a,c); C. scanf("%d%c",&a,&c); D. scanf("d=%d,c=%c",&a,&c); 10、要使double x; long a;的數(shù)據(jù)能正確的輸出,輸出語句應(yīng)是( D )。 A. printf("%d, %f",a,

16、 x); B. printf("%d, %1f",a, x);C. scanf("%1d, %1f",&a, &x); D. printf("%1d, %lf",a, x);二、程序改錯題 1、以下程序的功能是,從鍵盤輸入一個字符并鳴笛輸出。 # include "stdio.h" mian( ) char c getchar(c); putchar('007') ; /*鳴笛*/ c=putchar( ); 改為:putchar( ); 2、以下程序的功能是,輸入長方形的兩邊長(邊

17、長可以取整數(shù)和實數(shù)),輸出它的面積和周長。 main int a,b,s,l; scanf("%d,%d",&a,&b); s=a*b; l=a+b; 改為:1=2*(a+b); printf("l=%f,s=%fn",l,s); 三、寫出程序運行結(jié)果1、 main( ) int a,b; scanf("%2d%*2s%2d",&a,&b); printf("%dn",a+b); 運行時輸入:12345678 ,輸出結(jié)果是 68 。2、 main( ) int a=3,b=5,x,y

18、; x=a+1,b+6; y=(a+1,b+6); printf("x=%dny=%dn",x,y); 輸出結(jié)果是 x=4,y=11 _。四、編程題 1、輸入 3 個整數(shù),計算它們的和與平均值,平均值的結(jié)果保留 2 位小數(shù)。 1. main( ) int a,b,c,sum; float ave; scanf(“%d%d%d”,&a,&b,&c); sum=a+b+c; ave=sum/3.0; printf(“sum=%d,ave=%.2fn”,sum,ave);2、輸入兩個實數(shù)a,b,然后交換它們的值,最后輸出(提示:要交換兩個數(shù)得借助一個中間變

19、量temp。首先讓temp存放a的值,然后把b存入a,再把temp存入b就完成了)。1.void main( ) float a,b,temp; printf("input a and b:"); scanf("%d,%d",&a ,&b); temp = a; a = b; b = temp; printf("a=%d , b=%dn", a , b); 5 選擇結(jié)構(gòu)程序一、單項選擇題 1、假定所有變量均已正確定義,下列程序段運行后x 的值是( B )。 a=b=c=0, x=35; if(!a) x-; else

20、if(b); if(c) x=3; else x=4; A. 34 B. 4 C. 35 D. 3 2、有以下程序段,其輸出結(jié)果是:( A )inta,b,c; a=10;b=50;c=30;if(a>b) a=b,b=c; c=a; printf("a=%d b=%d c=%dn",a,b,c);A.a=10 b=50 c=10B.a=10 b=50 c=30 C.a=10 b=30 c=10 D.a=50 b=30 c=50 3、有以下程序段,其輸出結(jié)果是:( D ) intx=1,y=2,z=3; if(x>y)if(y<z)printf("

21、;%d",+z);elseprintf("%d",+y); printf("%dn",x+);A.331B.41C. 2D.14、程序段int x=5,y=8,max; max=(x>y)?x:y; printf("%d",max);的輸出結(jié)果是( C )。 A. 5 B. 3 C. 8 D. 13 5、程序段 int x=3,a=1;switch(x) case 4: a+;case 3: a+;case 2: a+;case 1: a+; printf ("%d",a);的輸出結(jié)果是( D )。

22、 A. 1 B. 2 C. 3 D. 4 6、下列語句應(yīng)將小寫字母轉(zhuǎn)換為大寫字母,其中正確的是( B )。 A.if(ch>='a'&ch<='z') ch=ch-32; B.if(ch>='a'&&ch<='z')ch=ch-32; C.ch=(ch>='a'&&ch<='z')?ch-32:; D.ch=(ch>'a'&&ch<'z')?ch-32:ch; 7、

23、有以下程序段,其輸出結(jié)果是:( C )intx=1,y=0,a=0,b=0;switch(x) case1:switch(y)case0:a+;break;case1:b+;break;case2:a+;b+;break;case3:a+;b+;printf("a=%d,b=%dn",a,b); A.a=1,b=0B.a=2,b=2C. a=2,b=1D. a=1,b=1二、填空題1、當(dāng)a,b,c的值分別為3,4,5時,以下各語句執(zhí)行后a,b,c的值為多少? (1)if(a>c) a=b;b=c;c=a; else a=c;c=b;b=a; 執(zhí)行后a,b,c的值為_5

24、_,_5_,_4_ (2)if(a<c) a=c; else a=b;c=b;b=a; 執(zhí)行后a,b,c的值為_5_,_5_,_4_ (3)if(a!=c) ; else a=c;c=b;b=a; 執(zhí)行后a,b,c的值為_3_,_3_,_4_2、若整數(shù)x分別等于95、87、100、43、66、79,則以下程序段運行后屏幕顯示是什么? switch(x/10) case 6: case 7: printf("Passn"); break; case 8: printf("Goodn"); break; case 9: case 10: printf(

25、"VeryGoodn"); break; default: printf("Failn"); x等于 95時,程序段運行后屏幕上顯示 VeryGood x等于 87時,程序段運行后屏幕上顯示 Good x等于100時,程序段運行后屏幕上顯示 VeryGood x等于 43時,程序段運行后屏幕上顯示 Fail x等于 66時,程序段運行后屏幕上顯示 Pass x等于 79時,程序段運行后屏幕上顯示 Pass 三、閱讀程序,寫出運行結(jié)果 1、 void main ( ) int a=10, b=4, c=3; if(a<b) a=b ; if(a<

26、;c) a=c ; printf("%d, %d, %dn", a, b, c) ; 10,4,32、void main ( ) int x=100, a=10, b=20, ok1=5, ok2=0 ; if(a<b) if(b!=15) if(!ok1) x=1; else if(ok2) x=10; else x=-1; printf("%dn", x); -13、 int k,a=1,b=2; k=(a+=b) ? 2:3; printf("%d",k); 34、void main()int s=1,k=0;switch

27、 (s) case 1: k+=1;case 2: k+=2;default: k+=3;printf(“%d”,k); 65.void main()int s=1,k=0;switch (s)case1: k+=1;break; case 2: k+=2;break; default: k+=3;printf(“%d”,k) 1四、選做題1、輸入 3 個整數(shù),按從大到小的順序輸出。1. main() int a,b,c,t;scanf(“%d%d%d”,&a,&b,&c);if(a<b)t=a;a=b;b=t;if(a<c)t=a;a=c;c=t;if(b

28、<c)t=b;b=c;c=t; printf(“%d,%d,%dn”,a,b,c);2、請將以下語句改寫成switch語句。if(s>0)&&(s<=10) if(s>=3)&&(s<=6) x=2; else if(s>1)|(s>8) x=3; else x=1;else x=0;2. switch(s>0)&&(s<=10) case 1: switch (s>=3)&&(s<=6) case 1: x=2; break; case 0: switch (s&

29、gt;1)|(s>8) case 1: x=3; break; case 0: x=1; break; break;case 0: x=0; break;6 循環(huán)控制一、單項選擇題 1、for(i=1;i<9;i+=1);該循環(huán)共執(zhí)行了( B )次。 A. 7 B. 8 C. 9 D. 10 2、int a=2;while(a=0) a-;該循環(huán)共執(zhí)行了( A )次。 A. 0 B. 1 C. 2 D. 3 3、執(zhí)行完循環(huán) for(i=1;i<100;i+);后,i 的值為( A )。 A. 99 B. 100 C. 101 D. 102 4、以下 for語句中,書寫錯誤的是

30、 C 。 A. for(i=1;i<5;i+) B. i=1;for(;i<5;i+) C. for(i=1;i<5;i+); D. for(i=1;i<5;) i+; 5、( A )語句,在循環(huán)條件初次判斷為假,還會執(zhí)行一次循環(huán)體。 A. for B. while C. do-while D. 以上都不是 6、有以下程序段inti=5;do if(i%3=1)if(i%5=2)printf("*%d",i);break;i+;while(i!=0);其運行結(jié)果是( B )A.*2*6B. *7C.*5D. *3*57、i、j已定義為 int 類型,

31、則以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)是( A ) 。 for(i=5;i;i-) for(j=0;j<4;j+) A. 20 B. 24 C. 25 D. 30 8、以下不構(gòu)成無限循環(huán)的語句或語句組是( C )。A.n=10;while(n);n-; B.n=0; while(1)n+;C.n=0;do+n;while(n<=0); D.for(n=0,i=1;i+)n+=i;9、有以下程序段inty=9;for(y>0;y-)if(y%3=0)printf("%d",-y);其運行結(jié)果是( D )。A. 875421 B.963 C.852 D. 74110

32、、有以下程序段int i,j;for(i=3;i>=1;i-)for(j=1;j<=2;j+)printf("%d",i+j);printf("n");其運行結(jié)果是( D )。A.234B.432C.23D.4534554334 34 45 23二、判斷題( )1、do while(0); 程序塊至少會執(zhí)行一次( )2、語句 for(i=0;i=10;i+) ; 至多循環(huán)10次( )3、for( ; ; )表示無限循環(huán)。( )4、下面的循環(huán)不能正常結(jié)束:   for (s=0,i=1; i<=10; ) s=s+i;

33、 i+; ( )5、continue語句是終止整個循環(huán)的執(zhí)行。 ( )6、對for(表達(dá)式1;表達(dá)式3;)可理解為for(表達(dá)式1;1;表達(dá)式3;)。( )7、下列程序段執(zhí)行循環(huán)二次     x=-1; do x=x*x;while(!x);( )8、下列程序段能計算s=10!的值     i=1;s=1;  do s=s*i;i+; while(i<=10);( )9、下列程序段將輸出3和0 , int x=3; doprintf(“%dn”,x-=2);while(!-x);三、程序填

34、空題 1.有1020個西瓜,第一天賣一半多兩個,以后每天賣剩下的一半多兩個,問幾天后賣完? main( ) int day,x1,x2; day=0; x1=1020; while( x1!=0 ) x2= x1/2+2 ; x1= x1-x2 ; day+; printf("day=%dn",day); 2.輸入若干個字符,分別統(tǒng)計數(shù)字字符的個數(shù)、英文字母的個數(shù),當(dāng)輸入換行符時輸出統(tǒng)計結(jié)果,運行結(jié)束。 #include <stdio.h> void main( ) int s1=0,s2=0; char ch; while( ch=getchar() )!=&

35、#39;n') if(ch>='0'&&ch<='9') s1+; if(ch>='a'&&ch<='z' | ch>=A&&ch<=Z ) s2+; printf(“%d,%d”,s1,s2); 3.下面程序的功能是計算1-3+5-7+-99+101的值,請?zhí)羁铡?include <stdio.h>main( ) int i=1,t=1,s=0; for(i=1;i<=101; i=i+2 ) s=s+t*i ; t=-

36、t ; printf(“%dn”,s);四、閱讀下列程序,寫出程序運行的輸出結(jié)果 1void main( ) int y=9; for( ;y>0; y-) if(y%3=0) printf("%d", -y); continue; 程序運行后輸出結(jié)果為 852 2. main( ) int n1,n2;scanf("%d",&n2);while(n2!=0) n1=n2%10; n2=n2/10; printf("%d",n1); 程序運行后,如果從鍵盤上輸入1298;則輸出結(jié)果為 8921 3. main ( ) i

37、nt s,i; for(s=0,i=1;i<3;i+,s+=i); printf("%dn",s);程序運行后輸出結(jié)果為 5 4. #include <stdio.h> void main( ) int s=1,t=1,a,n; scanf("%d%d",&a,&n); for(int i=1;i<n;i+) t=t*10+1; s=s+t; s*=a; printf("SUM=%dn",s); 程序運行后,如果從鍵盤上輸入2,4;則輸出結(jié)果為 SUM=2468 五、程序改錯1、以下程序是顯示2

38、00,300所有能被7整除的數(shù),每行顯示5個數(shù),此程序有 5處錯。 1.main() int i=200,n=0; /*n用來記錄每行已打印數(shù)的個數(shù)*/ while(i<=300) if(i%7=0) /break; printf("%5d",i); n=n+1; if(n=5) /*滿5個換行*/ printf("n"); n=0; i+; 2、以下程序是求 1!+2!+3!+4!+5!+6!+7!的值,其中有 3 處錯誤。 2). main( ) int i,s=0,t=1; for(i=1;i<=7;i+) t=t*i; s=s+t;

39、printf("sum=%dn",s); 六、選做題1.求序列2/1,3/2,5/3,8/5,13/8,21/13,的前20項之和。1. main() float s=0,m=2.0,n=1.0,p; int i;for(i=1;i<=20;i+)s=s+m/n; p=m; m=m+n; n=p;printf(s=%fn”,s); 2.請完成用一元人民幣換成一分、兩分、五分的所有兌換方案。2.#include <stdio.h> main( ) int i,j,k,s=1; for(i=1;i<=20;i+) for(j=1;j<=50;j+)

40、 k=100-i*5-j*2;if(k>=0) printf(“%2d %2d %2d”,i,j,k); s=s+1; if(s%5=0) printf(“n”); 7 數(shù)組一、單項選擇題 1、int a4=5,3,8,9;其中 a3的值為( D )。A. 5 B. 3 C. 8 D. 9 2、以下 4 個字符串函數(shù)中,( A )所在的頭文件與其他 3 個不同。 A. gets B. strcpy C. strlen D. strcmp3、以下 4 個數(shù)組定義中,( D )是錯誤的。 A. int a7; B. #define N 5 long bN; C. char c5; D. in

41、t n,dn; 4、字符數(shù)組進行初始化,( B )形式是錯誤。 A. char c1 ='1', '2', '3' B. char c2 =123; C. char c3 = '1', '2', '3', '0' D. char c4 ="123" 5、在數(shù)組中,數(shù)組名表示( A )。 A. 數(shù)組第 1 個元素的首地址 B.數(shù)組第 2 個元素的首地址 C. 數(shù)組所有元素的首地址 D.數(shù)組最后 1 個元素的首地址6、若有以下數(shù)組說明,則數(shù)值最小的和最大的元素下標(biāo)分別

42、是( B )。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12; A. 1,12 B. 0,11 C. 1,11 D. 0,12 7、若有以下說明,則數(shù)值為 4 的表達(dá)式是( D )。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12; char c=a, d, g ; A. ag-c B. a4 C. a'd'-'c' D. a'd'-c 8、設(shè)有定義:char s12 = "string" ; 則printf( "%dn",strlen(s); 的輸出是(

43、A )。 A. 6 B. 7 C. 11 D. 12 9、設(shè)有定義:char s12 = "string" 則printf("%dn ", sizeof(s); 的輸出是( D )。 A. 6 B. 7 C. 11 D. 12 10、合法的數(shù)組定義是( A )。 A. char a = "string " ; B. int a5 =0,1,2,3,4,5; C. char a= "string " ; D. char a =0,1,2,3,4,5 11、合法的數(shù)組定義是( D )。 A. int a3 =0,1,2

44、,3,4,5; B. int a 3 =0,1,2,3,4; C. int a23=0,1,2,3,4,5,6; D. int a23=0,1,2,3,4,5,; 12、下列語句中,正確的是 ( D )。A. char a3 ='abc', '1' B. char a 3 ='abc', '1' C. char a3 ='a', "1" D. char a 3 = "a", "1" 13、下列定義的字符數(shù)組中,輸出 printf("%sn&quo

45、t;, str2) ;的輸出是( C )。 static str320 = "basic", "foxpro", "windows" A. basic B. foxpro C. windows D. 輸出語句出錯14、下列各語句定義了數(shù)組,其中哪一個是不正確的( C )。 A. char a310="China","American","Asia" B. int x22=1,2,3,4; C. float x2 =1,2,4,6,8,10; D. int m3=1,2,3,4

46、,5,6; 15、數(shù)組定義為 int a32=1,2,3,4,5,6,值為6的數(shù)組元素是( B )。 A. a32 B. a21 C. a12 D. a23 16、下面的程序中哪一行有錯誤( D )。#include <stdio.h>main() float array5=0.0; /第A行 int i; for(i=0;i<5;i+) scanf("%f",&arrayi); for(i=1;i<5;i+) array0=array0+arrayi;/第B行 printf("%fn",array0); /第C行A. 第

47、A行 B. 第B行 C. 第C行 D. 沒有17、下面哪一項是不正確的字符串賦值或賦初值的方式( C )。A. char *str; str="string" B. char str7='s','t','r','i','n','g'C. char str110;str1="string" D. char str1="string",str2="12345678"18、若有以下說明和語句,則輸出結(jié)果是哪一項( C )。 (

48、strlen(s)為求字符串s的長度的函數(shù)) char s12="a book!" printf("%d",strlen(s);A. 12 B. 8 C. 7 D. 1119、若有以下說明和語句,則輸出結(jié)果是( B )。 char sp="tv0willn" printf("%d",strlen(sp);A. 14 B. 3 C. 9 D. 字符串中有非法字符20、若有以下說明和語句,則輸出結(jié)果是( C )。 char str=""c:abc.dat"" printf(&qu

49、ot;%s",str);A. 字符串中有非法字符 B. "c:abc.dat" C. "c:abc.dat" D. "c:abc.dat"二、填空題 1、C 語言中,數(shù)組的各元素必須具有相同的 數(shù)據(jù)類型,元素的下標(biāo)下限為 0,下標(biāo)必須是正整數(shù)、0、或者整型變量。但在程序執(zhí)行過程中,不檢查元素下標(biāo)是否越界。 2、C 語言中,數(shù)組在內(nèi)存中占一片連續(xù) 的存儲區(qū),由 數(shù)組名 代表它的首地址。數(shù)組名是一個 地址 常量,不能對它進行賦值運算。 3、執(zhí)行 static int b5, a 3 =1,2,3,4,5,6; 后,b4 =0,a

50、12 = 6。 4、設(shè)有定義語句 static int a34 =1,2,3; 則 a10值為 2 ,a11 值為 0 ,a21的值為 0 。 5、如定義語句為 char a = "windows",b = "95",語句 printf("%s",strcat(a,b);的輸出結(jié)果為 windows95 。6、根據(jù)以下說明,寫出正確的說明語句:men是一個有10個整型元素的數(shù)組。int men10 ; step是一個有4個實型元素的數(shù)組,元素值分別為1.9, -2.33, 0, 20.6。float step4 = 1.9, -2.3

51、3, 0, 20.6; grid是一個二維數(shù)組,共有4行,10列整型元素。int grid410;7、 array是一個一維整形數(shù)組,有10個元素,前6個元素的初值是9,4,7,49,32,-5,正確的說明語句為:int array10 = 9,4,7,49,32,-5;。該數(shù)組下標(biāo)的取值范圍是從 0 到 9 (從小到大)。用scanf函數(shù)輸入數(shù)組的第二個元素表示為:scanf("%d",&array1);。用賦值語句把39存入第一個元素表示為: array0 = 39;。把第六個和第四個元素之和存入第一個元素表示為:array0= array5+array3;。8、 寫出以下初始化數(shù)組的長度:int chn3;數(shù)組chn的長度為 6 。float isa=1.0,2.0,3.0,4.0,5.0;數(shù)組isa的長度為 20 。int doom8;數(shù)組doom的長度為 16 。float pci42;數(shù)組pci的長度為 32 。int ast33;數(shù)組ast的長度為 18 。int att34;數(shù)組att的長

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論