C語言試題及答案_第1頁
C語言試題及答案_第2頁
C語言試題及答案_第3頁
C語言試題及答案_第4頁
C語言試題及答案_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 1 章C 語 言 概 述 習(xí) 題1.單項選擇題(1)C語百是在B語言的根底上產(chǎn)生的.A.回車符B.冒號C.逗號D.分號在C語言中,每個語句必須以D結(jié)束.A.回車符B.冒號C.逗號D.分號標識符和關(guān)鍵字間,要用CP仙.A.回車符B.冒號C.空格D.分號(4) 用C語言編寫的源文件經(jīng)過編譯,假設(shè)沒有產(chǎn)生編譯錯誤,那么系統(tǒng)將(B ) oA.生成可執(zhí)行目標文件B.生成目標文件C.輸由運行結(jié)果 D.自動保存源文件(5) 以下說法中正確的選項是(B ) oA.由于C源程序是高級語言程序,因此一定要在TC軟件中輸 入B.由C源程序是字符流組成,因此可以作為文本文件在任何文 本編輯的軟件中輸入C.由于C程

2、序是高級語言程序,因此輸入后即可執(zhí)行D.由于C程序是高級語言程序,因此它由命令組成(6) 以下說法中正確的選項是(A ) oA. C語言程序由主函數(shù)和0個或多個函數(shù)組成 B. C語言程序由主程序和子程序組成C. C語言程序由子程序組成D. C語言程序由過程組成(7) 以下說法中錯誤的選項是(D ) oA.主函數(shù)可以分為兩個局部:主函數(shù)說明局部和主函數(shù)體(8) 函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù)C.任何非主函數(shù)可以調(diào)用其他任何非主函數(shù)D.程序可以從任何非主函數(shù)開始執(zhí)行2.填空題(1) C語言只有37個關(guān)鍵字和 9 種限制語句.(2) C語言是一種“中級語言,既具有高級語言的特點又具有低級語言的特

3、點;既適合于開發(fā)系統(tǒng)軟件又適合于編寫 應(yīng)用程序.(3) 每個源程序有且只有一個 金函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序.(4) 在C語言程序中允許由現(xiàn)的字符集是ASCII碼字符集C 語言的程序中有特殊含義的英語單詞稱為保存字 .(6) C語言標識符的長度是前 8 位有效.(7) C語言中,標識符的定義規(guī)那么是以字母或下劃線為開頭 .(8) C語言程序的注釋可以由現(xiàn)在程序中的任何地方,它總是以/*符號作為開始標記,以上_符號作為結(jié)束標記.第2章數(shù)據(jù)類型運算符和表達式習(xí)題1 .單項選擇題(1) 以下選項中,正確的 C語言整型常量是 D oA. 32L B. 510000 C. D. 567(2

4、) 以下選項中,D 是不正確的C語言字符型常量.A. ' a' B. 'x41' C. '101' D. "a"(3) 在C語言中,字符型數(shù)據(jù)在計算機內(nèi)存中,以字符的 C 形式存儲.A. 原碼 B. 反碼 C. ASCII 碼 D. BCD 碼(4) 字符串的結(jié)束標志是C oA. 0 B. '0' C. '0' D. "0"(5) 算術(shù)運算符、賦值運算符和關(guān)系運算符的運算優(yōu)先級按從高到低依次為 B.A.算術(shù)運算、賦值運算、關(guān)系運算B.算術(shù)運算、關(guān)系運算、賦值運算C.關(guān)系運算、

5、賦值運算、算術(shù)運算D.關(guān)系運算、算術(shù)運算、賦值運算,&& ! C. &&, | , ! D. !(6) 邏輯運算符中,運算優(yōu)先級按從高到低依次為D oA. && , ! , | B. |&& | 表達式!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,1 C. 1,0 D. 1,1(9) i

6、nt b=0 , x=1 ;執(zhí)行語句 if(x+) b=x+1; 后,x, b 的 值依次為 A.A. 2,3 B. 2,0 C. 3,0 D. 3,2(10)設(shè)有語句int a=3;,那么執(zhí)行了語句 a+=a-=a*=a; 后,變 量a的值是_B.A. 3 B. 0 C. 9 D. -12(11)在以下一組運算符中,優(yōu)先級最低的運算符是D oA. * B. != C. + D.=(12) 設(shè)整型變量i值為2,表達式(+i)+(+i)+(+i) 的結(jié)果是 B.A. 6 B. 12 C. 15 D.表達式由錯(13) 假設(shè)已定義x 和y為double 類型,那么表達式x=1 , y=x+3/2

7、的值是_C.(都為整型)A. 1 B. 2 C. D.表是長度字節(jié)(14) size of (double)的結(jié)果值是 AA. 8 B. 4 C. 2 D.由錯(15) 設(shè) a=1 , b=2, c=3, d=4,那么表達式:a<b? a : c<d? a : d的結(jié)果為 d oA. 4 B. 3 C. 2 D. 1(16)設(shè)a為整型變量,不能正確表達數(shù)學(xué)關(guān)系:10<a<15的C語 表達式是 A.A. 10<a<15B. a= =11| a= =12 | a= =13| a= =14C. a>10 && a<15D. !(a<

8、;=10) && !(a>=15)(17)設(shè)f是實型變量,以下表達式中不是逗號表達式的是D.A. f= , B. f>0, f<10 C. f=, f>0 D. f=,(18)設(shè)ch是char型變量,其值為'A',那么下面表達式的值是,B .ch=(ch>='A'&& ch<='Z')? (ch+32):chA. A B. a C. Z D. Z(19)以下運算符中,結(jié)合性與其他運算符不同的是上.A. + B. % C. / D. +(20)以下用戶 標識符中,合法的是 B oA

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

10、 C oA. B. ' C. 074 D. 02.填空題(1) C語言中的邏輯值“真是用 ! 0表示的,邏輯值“假 是用 0 表示的.(2) 符號常量的定義方法是#define N 10.(3) 無符號根本整型的數(shù)據(jù)類型符為unsigned int ,雙精度實型數(shù)據(jù)類型符為double ,字符型數(shù)據(jù)類型符為char .(4) 設(shè) c='w',a=1,b=2,d=-5, 那么表達式'x'+1>c,'y'!=c+2, -a-5*b<=d+1, b=a=2的值分別為、0 、1、 表達式錯誤 .(5)設(shè) float x=,y=; in

11、t a=7;,表達式 x+a%3*(int)(x+y)%2/4 的值為 o(6) 判斷變量a、b的值均不為0的邏輯表達式為 (a!=0)&&(b!=0).(7) 求解賦值表達式a=(b=10)%(c=6),表達式值、a、b、c的值依次為4,4,10,6.(8) 求解逗號表達式x=a=3,6*a 后,表達式值、x、a的值依次為 18,3,3.(9) 數(shù)學(xué)式a/(b*c)的C語言表達式 a/(b*c).第3章順序結(jié)構(gòu)程序設(shè)計習(xí)題1.選擇題(1) printf("f=% %;的輸生結(jié)果是 A.A. f=% B. f=% C. f=% % D. f=%(2) printf(&

12、quot;%c,%d",'a','a');的輸生結(jié)果是 A .A. a,97 B. a 97 C. 97,a D. 97 a(3) scanf("%c",&a);假設(shè)要給變量輸入大寫字母A,那么以下正確的輸入是 B oA. 'A' <CR> B. A <CR> C. "A" <CR> D.以上都不對 假設(shè)一個int 類型的數(shù)據(jù)占2字節(jié),那么程序段:int x=-1;printf("%u,%d",x,x);的輸生結(jié)果是 A .A. 65

13、535, -1 B. -1,65535C. 32767, 32768 D.32768,32767(5) 在 TC 中,getchar、putchar、printf 、scanf 四個函數(shù), 均包含在頭文件 B中.A. B.C, D.(6) 復(fù)合語句是用 C 括起來的語句組.A. ( ) B, C, D. < >(7) 以下格式符中,哪一個可以用于以八進制形式輸由整數(shù) C oA. %d B. %8d C. %o D. %ld(8) 以下格式符中,哪一個可以用于以十六進制形式輸由整數(shù)B.A. %16d B. %8x C. %d16 D. %d(9) a是int類型變量,c是字符變量,以

14、下輸入語句中哪一個是錯誤的 B oA. 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)B.是D oA. printf("%d, %f',a, x);printf("%d, %1f',a, x);C. scanf(&qu

15、ot;%1d, %1f",&a, &x);D.printf("%1d, %lf",a, x);2.程序改錯題(以下各個程序段均有5個錯誤,請先找由錯誤的位置,然后再改正)(1) 以下程序的功能是,從鍵盤輸入一個字符并鳴笛輸由.#include ""mian()寫由程序運行結(jié)果(1)main()int a,b;scanf("%2d %*2s%2d,&a,&b);printf("%dn",a+b);運行時輸入:輸由:68(2)main()int a=3,b=5,x,y;x=a+1, b+

16、6;y=(a+1, b+6);printf("x=%dny=%dn",x,y);)輸由:x=4y=11第4章 選擇結(jié)構(gòu)程序設(shè)計習(xí)題1 .單項選擇題(1)選擇結(jié)構(gòu)程序設(shè)計的特點是B oA.自上向下逐個執(zhí)行B.根據(jù)判斷條件,選擇其中一個分支執(zhí)行C.反復(fù)執(zhí)行某些程序代碼D.以上都是(2)假定所有變量均已正確定義,以下程序段運行后x的值是B_.a=b=c=0, x=35;if(!a) x-; else if(b); if(c) x=3; else x=4;A. 34 B. 4 C. 35 D. 3(3)下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是A oif(x<0) y= -1;el

17、se if(x>0) y=1;else y=0;(4) 以下各語句序列中,能夠且僅輸由整型變量a、b中最大值的是(C ) oA. if(a>b) printf("%d'n",a); printf("%d'n",b);B. printf("%d'n",b); if(a>b) printf("%d'n",a);C. if(a>b) printf("%dn",a); else printf("%dn",b);D. if(a&l

18、t;b) printf("%dn",a); printf("%dn",b);(5) 以下程序段的輸由結(jié)果是 Aint x=5;if(x>0) y=1;else if(x=0) y=0;else y= 1;printf("%d",y);A. 1 B. 5 C. 0 D. 2(6) 程序段 int x=5,y=8,max; max=(x>y)?x:y;printf("%d",max); 的輸生結(jié)果是 B .A. 5 B. 8 C. 3 D. 13(7) 程序段 int x=3,a=1;switch(x) c

19、ase 4: a+;case 3:a+;case 2: a+;case 1: a+; printf ("%d",a);的輸生結(jié)果是 D oA. 1 B. 2 C. 3 D. 4(8) 以下語句應(yīng)將小寫字母轉(zhuǎn)換為大寫字母,其中正確的選項是(B ).(ch>='a'&ch<='z') ch=ch-32;(ch>='a'&&ch<='z')ch=ch-32;=(ch>='a'&&ch<='z')?ch-32:&

20、#39;'=(ch>'a'&&ch<'z')?ch-32:ch;2.閱讀程序,寫生運行結(jié)果(1)void main ()(int a=10, b=4, c=3;if(a<b) a=b ;if(a<c) a=c ;printf("%d, %d, %dn, a,b, c);輸由:10, 4, 3(2)(3)int k,a=1,b=2;k=(a+=b) ? 2:3;printf("%d",k);輸由:3void main ( )(int x=100, a=10, b=20, ok1=5, o

21、k2=0;if(a<b) if(b!=15)if(!ok1) x=1;else if(ok2) x=10;else x=-1;printf("%dn", x);輸由:-1 ;switch (s)(case 1: k+=1;case 2: k+=2;default: k+=3;(4) void main()printf("d ,k);(輸由:6(5)int s=1,k=0;void main()case 2: k+=2;break;(int s=1,k=0;switch (s)(case 1: k+=1;break;第5章 循環(huán)結(jié)構(gòu)程序設(shè)計習(xí)題1 .單項選擇題

22、(1) for(i=1;i<9;i+=1);A. 7 B. 8 C. 9default: k+=3;printf( "d ,k);輸由:1該循環(huán)共執(zhí)行了 B次.D. 10int 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 的值為 B.A. 99 B. 100 C. 101 D. 102(4)以下for語句中,書寫錯誤的選項是 D oA. for(i=1;i<5;i+); B. i=1;for(;i<5;i+);C. for(i=1;i<5;

23、) i+;D. for(i=1,i<5,i+);(5) C 語句,在循環(huán)條件初次判斷為假,還會執(zhí)行一次循環(huán)體.A. for B. while C. do-while D.以上都不是(6)循環(huán)結(jié)構(gòu)的特點是C .A.從上至下,逐個執(zhí)行B.根據(jù)判斷條件,執(zhí)行其中一個分支D.以上都對C.滿足條件時反復(fù)執(zhí)行循環(huán)體i 、j已定義為int 類型,那么以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)是 A ofor(i=5;i;i-)for(j=0;j<4;j+)A. 20 B. 24 C. 25 D. 30(8) C語言while 語句中,用于條件的表達式是D.A.關(guān)系表達式B.邏輯表達式C. 算術(shù)表達式D. 任

24、意表達式(9) int a=1, x=1;循環(huán)語句 while(a<10) x+; a+; 的循環(huán)執(zhí)行D oA.無限次 B.不確定次 C. 10 次 D. 9 次(10)以下程序段執(zhí)行后 s的值為4.int i=1, s=0; while(i+) if(!(i%3) break ; else s+=i ;A. 2 B. 3 C. 6 D.以上均不是2 .填空題(1)三種循環(huán)語句是等價 價的.(2)當循環(huán)體中的switch語句內(nèi)有break語句,那么只跳由 swicth 語 句.同樣,當switch語句中有循環(huán)語句,內(nèi)有 break 語句,那么只跳 出循環(huán)語句.循環(huán)體執(zhí)行遇到continu

25、e 語句時跳過本次循環(huán)進入下次循環(huán) O(4)以下程序的功能是輸入一個正整數(shù),判斷是否是素數(shù),假設(shè)為素數(shù) 輸由1 ,否那么輸由0 ,請為程序填空.void main()(int i, x, y=1;scanf("%d", &x);for(i=2; i<=x/2; i+)if ( x%i=0 ) y=0; break; printf("%dn",y);(5)輸入N個實數(shù),輸由其中的最大值、最小值.#include <>void main()int n,i;float no1,nmax,nmin;scanf("%d"

26、;,&n); scanf("%f",&no1);nmax=no1;nmin=no1 ;for(i=2;i<=n;i+)scanf("%f", &no1 1if(no1>nmax) nmax=no1;if(no1<nmin) nmin=no1;)printf("MAX=%f MIN=%fn",nmax,nmin);)(6)輸入假設(shè)干個字符,分別統(tǒng)計數(shù)字字符的個數(shù)、英文字母的個數(shù),當輸入換行符時輸由統(tǒng)計結(jié)果,運行結(jié)束.#include <>void main()char ch;int

27、s1=0,s2=0 ;while( ch=getchar() )!='n')if(ch>='0'&&ch<='9') s1+;if(ch>='a'&&ch<='z' |ch>=,A 11ch<= ' Z,) s2+;)3 .閱讀以下程序,寫由程序運行的輸生結(jié)果for( ;y>0; y-)void main() int y=9;if(y%3=0) printf("%d", -y);continue;)輸由:852(2

28、)main()int k,n,m;n=10;m=1;k=1;while(k+<=n)m*=2;printf("%d'n",m);輸由:1024(3)void main ( ) int i=5;doswitch (i%2)case 4: i-;break;case 6: i-;continue;i- ; i- ;printf("i=%d " i); while(i>0);輸由:i=3 i=1 i=-1(4) #include <>void main( )int k=0; char c='A'doswitch(

29、c+)case 'A': k+;break;case 'B': k-;case 'C': k+=2; break;case 'D': k=k%2;break;case 'E': k=k*10; break;default: k=k/3;k+;while(c<'G'); printf("k=%dn", k);輸由:8輸入數(shù)據(jù):2,4#include <>4.程序改錯void main()(int s=1,t=1,a,n;int i ;scanf("%d

30、, %d",&a,&n);for(i=1;i<n;i+) t=t*10+1; s=s+t;s*=a;printf("SUM=%dn",s);輸由:2468(1)以下程序是顯示200, 300所有能被7整除的數(shù),每行顯示 5個數(shù),此程序有5處錯.main()int i,n=0;/*n用來記錄每行已打印數(shù)的個數(shù)*/while(i<300)單項選擇題(1)C語言總是從 A 函數(shù)開始執(zhí)行.A. mainB.處于最前的C.處于最后的 D.隨機選一個(2)函數(shù)在定義時,省略函數(shù)類型說明符,那么該函數(shù)值的類型為A. int B. floatC. lo

31、ng D. doubleB. voidD.以上都是A.函數(shù)可嵌套定義,也可嵌套調(diào)用B.函數(shù)可嵌套定義,(2)以下 B 函數(shù),真正地沒有返回值.A. int a()int a=2;return (a); b()printf("c");C. int a()int a=2;return a; (3)在C語言中,有關(guān)函數(shù)的說法,以下正確的選項是但不可嵌套調(diào)用C.函數(shù)不可嵌套定義,但可嵌套調(diào)用D.函數(shù)不可嵌套定義,也不可嵌套調(diào)用(4)以下函數(shù)調(diào)用語句中,含有實參的個數(shù)為 fun(2,3),(4,5+6,7);A. 1 B. 2 C. 5 D. 6函數(shù)調(diào)用可以在D.A.函數(shù)表達式中B.

32、函數(shù)語句中C.函數(shù)參數(shù)中D.以上都是(6)被調(diào)函數(shù)返回給主調(diào)函數(shù)的值稱為A.形參 B.實參 C.返回值 D.參數(shù),可以不進行函數(shù)類型說明.A.被調(diào)函數(shù)的返回值是整型 或字符型時B,被調(diào)函數(shù)的定義在主調(diào)函數(shù)定義之前時C,在所有函數(shù)定義前,已在函數(shù)外預(yù)先說明了被調(diào)函數(shù)類型D,以上都是(8)被調(diào)函數(shù)通過 D 語句,將值返回給主調(diào)函數(shù).A. if B. for C. while D. return(9)被調(diào)函數(shù)調(diào)用結(jié)束后,返回到 B oA.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句處B.主函數(shù)中該被調(diào)函數(shù)調(diào)用語句處C.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的前一語句D.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的后一語句(10)以下對C語

33、言函數(shù)的有關(guān)描述中,正確的選項是 A .A.在C中,調(diào)用函數(shù)時,只能把實參的值傳送給形參,形參的值不 能傳送給實參B. C函數(shù)既可以 嵌套定義 又可遞歸調(diào)用C.函數(shù)必須有返回值,否那么不能使用函數(shù)D.| C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中 (11)C語言中函數(shù)的隱含存儲類型是A.A. auto B. static C. extern D.無存儲類型(12)能把函數(shù)處理結(jié)果的兩個數(shù)據(jù)返回給主調(diào)函數(shù),在下面的方法中不正確的選項是 A oA. return 這兩個數(shù)B.形參用兩個元素的數(shù)組C.形參用兩個這種數(shù)據(jù)類型的指針D.用兩個全局變量2,填空題(1) 變量的作用域主要取決于變

34、量定義的位子,變量的生存期既取決于變量存儲類型 ,又取決于變量存儲方式 <(2) 說明變量時,假設(shè)省略存儲類型符,系統(tǒng)默認其為整形 存儲類別,該存儲類別的類型符為:Jnt o(3) 靜態(tài)型局部變量的作用域是靜態(tài)局部變量定義的復(fù)合語句或函數(shù)體內(nèi) ,生存期是 整個程序運行期內(nèi).(4) 函數(shù)中的形參和調(diào)用時的實參都是數(shù)組名時,傳遞方式為 地址傳遞 ,都是變量時,傳遞方式為 值傳遞.(5) 函數(shù)的形式參數(shù)的作用域為整個函數(shù)體內(nèi),全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名時,函數(shù)體內(nèi)定義的局部變量優(yōu)先.(6) 假設(shè)自定義函數(shù)要求返回一個值,那么應(yīng)在該函數(shù)體中有一條return 語句,假設(shè)自定義函數(shù)

35、要求不返回一個值,那么應(yīng)在該函數(shù)說明 時加一個類型說明符void o(7) 假設(shè)函數(shù)的形式參數(shù)是指針類型,那么實參可以是數(shù)組名 、地址 或指針變量.(8) 函數(shù)的參數(shù)為char*類型時,形參與實參結(jié)合的傳遞方式為地址傳遞 .(9) 函數(shù)的實參為常量時,形參與實參結(jié)合的傳遞方式為值傳.(10) 對數(shù)組按值從大到小的順序排序后輸由,請?zhí)羁?#include <>void main()(float a7=2,6,3,8,3,12,9;int i?;void sort(float*,int);sort (a,7 );for(i=0;i<7;i+) printf("%f &q

36、uot;,ai);printf("n");void sort( float *p, int n )int i,j,k; float t;for(i=0;i<n-1;i+)k=i;for(j=i+1;j<n;j+)if( pk<pj ) k=j;if(k != i) t=*(p+i); *(p+i)=*(p+k); *(p+k)=t; (11) 以下函數(shù)在n個元素的一維數(shù)組中,我由最大值、最小值并傳送到調(diào)用函數(shù),請?zhí)羁?include <> void find(float *p, float *max, float *min, int n)(in

37、t k;float t;*max=*p; *min = *p;for(k=1;k<n;k+)(t=*(p+k);if( t>*max ) *max=t;if(t<*min) *min=t;)3.寫由以下程序運行結(jié)果:(1)main()(int i=1,p;p=fun(i,i+1);printf("%dn",p);)int fun(int a,int b)int f;if(a>b)f=1;else if(a=b)f=0;elsef=-1;return f;)(輸由:-1(2)鍵盤輸入 abcdef<CR>#include <>v

38、oid fun()(char c ;if(c=getchar( )!='n')fun();putchar(c);void main( ) fun( ); 輸由:fedcba#include <>#define C 5int x=1,y=C;void main( )int x;x=y+; printf("%d %d'n", x,y);if(x>4) int x ; x=+y;printf("%d %d'n",x,y) ; x+=y-;printf("%d %d'n",x,y);(

39、4)#include <>int c , a=4 ;func(int a , int b) c=a*b ; a=b-1 ; b+ ;return (a+b+1) ; void main( )int b=2 , p=0 ; c=1 ;p=func(b , a);printf("%d,%d,%d,%dn, a,b,c,p) ;輸由:4,2,8,9(5)unsigned fun6(unsigned num)unsigned k=1;do k*=num%10; num/=10; unsigned n=26;while(num);printf("%dn", fu

40、n6(n);return k;輸由:12void main()輸由:5 67 712 6第7章數(shù)組習(xí)題1 .單項選擇題(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. strcmp(3) 以下4個數(shù)組定義中,(D ) 是錯誤的.A. int a7; B. #define N 5 long bN; C. char c5;D. int n,dn;(4) 對字符數(shù)組進行初始化,(B )形式是錯誤.A. char c1 =

41、'1','2','3' B.char c2 =123;C. char c3 = '1', '2', '3', '0' D. char c4 ="123"(5) 在數(shù)組中,數(shù)組名表示A.數(shù)組第1個元素的首地址B.數(shù)組第2個元素的首地址C.數(shù)組所有元素的首地址D.數(shù)組最后1個元素的首地址(6) 假設(shè)有以下數(shù)組說明,那么數(shù)值最小的和最大的元素下標分別是(B ).int a12 = 1,2,3,4,5,6,7,8,9,10,11,12);A. 1,12 B. 0,11 C

42、. 1,11 D. 0,12(7) 假設(shè)有以下說明,那么數(shù)值為4的表達式是(D ) oint a12 =1,2,3,4,5,6,7,8,9,10,11,12); charc=' 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);的輸由是(A ).A. 6 B. 7 C. 11 D. 12(9) 設(shè)有定義:char s12 = "stri

43、ng"那么 printf("%dn ",sizeof(s);的輸由是(B ) oA. 6 B. 7 C. 11 D. 12(10)合法的數(shù)組定義是(A ) oA. 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);int a 3 =0,1,2,3,4);(11)合法的數(shù)組定義是(B ) oA. int a3 =0,1,2,3,4,5); B.D. intC. int a23=0,1,2,3,4,5,6;

44、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", str2);的輸由是(C) o static str320 = "basic", "foxpro&

45、quot;, "windows"A. basic B. foxproC. windows D.輸由語句由錯(14)以下各語句定義了數(shù)組,其中哪一個是不正確的(C ) oA. char a310="China","American","Asia"B. intx22=1,2,3,4;C. float x2尸1,2,4,6,8,10;D. intm3=1,2,3,4,5,6; (15)數(shù)組定義為int a32=1,2,3,4,5,6,值為6的數(shù)組元素是(B ) o A. a32B. a21C. a12 D.a232.填空

46、題(1) C語言中,數(shù)組的各元素必須具有相同的類型 ,元素的下標下限為0,下標必須是正整數(shù)、0、或者 常吊 .但在程序執(zhí)行過程中,不檢查元素下標是否越界 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, a12 = 6 o |(4) 設(shè)有定義語句 static int a34 =1,2,3;那么a10值為/,a11 值為 0 , a21的值為 0(5) 如定義語句為 char a = "windows"

47、;,b = "2000",語句printf("%s",strcat(a,b);的輸由結(jié)果為 windows2000.(6) 輸入20個數(shù),輸由它們的平均值,輸由與平均值之差的絕對值為最小的數(shù)組元素.請?zhí)羁?include <>#include <>void main() float a20,pjz=0,s,t; inti,k;for(i=0; i < 20; i+)scanf( "f',&ai);for(i=0;i<20;i+)Pjz+=ai;pjz/=20;s=fabs(a0-pjz);fo

48、r(i=1;i<20;i+)if(fabs(ai-pjz)<s)s=fabs(ai-pjz);t=ai;printf( "f,%f",pjz,t);(7)以下程序以每行10個數(shù)據(jù)的形式輸由a數(shù)組,請?zhí)羁誺oid main()int a50,i;printf(" 輸入50個整數(shù):");for(i=0; i<50; i+) scanf( "%d", &ai ); for(i=1; i<=50; i+) if( i%10=0 )printf( "%3dn" , ai-1 ) ;else p

49、rintf( "%3d",ai-1);)(8)下面程序的功能是輸由數(shù)組s中最大元素的下標,請?zhí)羁誺oid main()int k, p;int s = 1, -9, 7, 2,-10, 3);for(p=0,k=p; p<6; p+) if(sp > sk) k = p ; printf("%dn" ,k);)3.閱讀程序,分析程序的功能.#include <>#include <>void main()char s80;int i ;for(i=0; i<80; i+) si=getchar();if(si=&

50、#39;n') break;)si='0' i=0;while(si)putchar(si+);putchar( ' n');)分析:輸入一個字符串,以回車 結(jié)束,并將其原樣輸由.#include <>#include <>void main()char str1080, c80;int i;for(i=0; i<10; i+)gets(stri);strcpy(c, str0);for(i=1; i<10; i+)if(strlen(c)<strlen(stri)strcpy(c,stri); printf(

51、"%sn", c);printf( "%dn", strlen(c);分析:輸入10個字符串,輸由10個字符串中最長的字符串和它的長度.#include <> #include <>void main()(char a1080, c80;int i, j, k;for(i=0; i<10; i+)gets(ai);for(i=0; i<9; i+)(k=i;for(j=i+1; j<10; j+)if(strcmp(aj,ak)<0) k=j;if(k!=i)(strcpy(c,ai);strcpy(ai,

52、 ak);strcpy(ak,c);單項選擇題(1) 指針pstr所指字符串的長度為D .char*pstr="t"1234abcdn"A. 15 B. 14 C. 13 D. 12(2) 對于char *pstr ;,以下正確的選項是 B .A. *pstr="Hi" B. pstr="Hi" C. *pstr="?Hi" D.*pstr="Hi"(3) 以下程序段的輸由結(jié)果為B.char astr5="1234"char *pstr=astr;printf(&q

53、uot;%c",pstr1-'0');A. 1 B. 2 C. ASCII碼值為1的字符 D.ASCII碼值為2的字符(4) 下述程序段的輸由結(jié)果為D.char astr="abcde"char *pstr=&astr5;while(-pstr>=astr)putchar(*pstr);putchar('n');A. abc B. cba C. abcde D. edcba(5) 假設(shè)有定義int a=1,*b,c;,以下不正確的選項是AA. b=a B. b=&a C. b=&a,c=*b D. c=a(6) 以下程序段的運行結(jié)果為_Coint num=1,2,3,4,5,6,7,8,9,*pnum=&num2;pnum+;+pnum;printf("%d

溫馨提示

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

評論

0/150

提交評論