C語言程序設(shè)計(jì)試題及答案解析_第1頁
C語言程序設(shè)計(jì)試題及答案解析_第2頁
C語言程序設(shè)計(jì)試題及答案解析_第3頁
C語言程序設(shè)計(jì)試題及答案解析_第4頁
C語言程序設(shè)計(jì)試題及答案解析_第5頁
已閱讀5頁,還剩200頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C C 語言程序設(shè)計(jì)試題語言程序設(shè)計(jì)試題第第 1 1、2 2、3 3 章章 概述、類型、表達(dá)式概述、類型、表達(dá)式一、選擇題一、選擇題1、一個 C 程序由若干個 C 函數(shù)組成,各個函數(shù)在文件中的位置順序?yàn)椋海ǎ〢、任意 B、第一個函數(shù)必須是主函數(shù),其他函數(shù)任意C、必須完全按照執(zhí)行的順序排列D、其他函數(shù)可以任意,主函數(shù)必須在最后2、下列四個敘述中,正確的是:()A、C 程序中的所有字母都必須小寫B(tài)、C 程序中的關(guān)鍵字必須小寫,其他標(biāo)示符不區(qū)分大小寫C、C 程序中的所有字母都不區(qū)分大小寫D、C 語言中的所有關(guān)鍵字必須小寫3、下列四個敘述中,錯誤的是:()A、一個 C 源程序必須有且只能有一個主函數(shù)B

2、、一個 C 源程序可以有多個函數(shù)C、在 C 源程序中注釋說明必須位于語句之后D、C 源程序的基本結(jié)構(gòu)是函數(shù)4、下面不是 C 語言合法標(biāo)識符的是:()A、abc B、5n C、_4m D、x35、以下敘述不正確的是:()A.分號是 C 語句的必要組成部分B.C 程序的注釋可以寫在語句的后面C.函數(shù)是 C 程序的基本單位D.主函數(shù)的名字不一定非用 main 來表示6、C 語言中允許的基本數(shù)據(jù)類型包括:()A. 整型、實(shí)型、邏輯型 B. 整型、實(shí)型、字符型C. 整型、字符型、邏輯型 D. 整型、實(shí)型、邏輯型、字符型7、C 語言中能用八進(jìn)制表示的數(shù)據(jù)類型為:()A、字符型、整型 B、整形、實(shí)型C、字符

3、型、實(shí)型、雙精度型 D、字符型、整型、實(shí)型、雙精度型8、下列屬于 C 語言合法的字符常數(shù)是:()A、 97 B、 ”A” C、 t D、 ”0”9、在 C 語言(VC 環(huán)境)中,5 種基本數(shù)據(jù)類型的存儲空間長度的排列順序?yàn)椋海ǎ?A、charint=long int =floatdoubleB、char=intlong int =floatdoubleC、charintlong int=float=doubleD、char=int=long int =floatdouble10、 在 C 語言中(VC 環(huán)境) ,一定是長整型常數(shù)的是:() A、0L B、4962710 C、0412765 D、

4、0 xa34b7fe11、 若有以下定義語句 char c1=b, c2=e; printf(“%d,%cn”,c2-c1,c2-a+A);則輸出結(jié)果是:() A、2,M B、3,E C、2,E D、輸出項(xiàng)與相應(yīng)的格式控制不一致,輸出結(jié)果不確定12、 以下合法的賦值語句是:() A、x=y=100 B、d-; C、x + y D、c = int(a+b);13、 設(shè)變量 t 為 int 型,下列選項(xiàng)中不正確的賦值語句是:() A、+t; B、n1=(n2=(n3=0); C、k=i=m; D、a=b+c=1;14、 在以下一組運(yùn)算符中,優(yōu)先級最高的是:() A、=10 or a=0 B、a=0

5、 C、a=10 | a=10 & a=016、 下列只有當(dāng)整數(shù) x 為奇數(shù)時,其值為“真”的表達(dá)式是:() A、x%2=0 B、!(x%2=0) C、(x-x/2*2)=0 D、!(x%2)17、 設(shè) a 為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系 10a15 的 C語言表達(dá)式是:() A、1 0 a 15 B、!(a=15) C、a10 & a15 D、!(a=15)18、 已知 x=43, ch=A ,y=0;則表達(dá)式(x=y&ch8)D #include 以下不是 C 語句的是:()Aa=8; Ba+; Cif(a8);Dfor(i=1;i x -2 )|(4 x 8)B!

6、( x 2 )&( x 8 )C( x = -2 )&( x 4 )&( x -2 )&( x 4 )|( x 8 )&( x 10;后,t 的值為 0 29.( )若 a 和 b 類型相同,在計(jì)算了賦值表達(dá)式 a=b 后 b中的值將放入 a 中,而 b 中的值不變30.( )在 C 程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符31.( )在 C 語言中,邏輯“真”等價于不等于 0 的數(shù)32.( )C 語言中字符型、整型、實(shí)型都能用八進(jìn)制表示33.( )在 VC 語言中,5 種基本數(shù)據(jù)類型的存儲空間長度的排列順序?yàn)?charintlong int floatdo

7、uble34.( )變量的三要素是:變量名、變量類型、變量的值。 三、多選題三、多選題1.目前程序設(shè)計(jì)采用的基本方法有:A面向過程的程序設(shè)計(jì)B面向?qū)ο蟮某绦蛟O(shè)計(jì)C面向問題的程序設(shè)計(jì)D面向機(jī)器的程序設(shè)計(jì) 第第 4 章章 順序結(jié)構(gòu)順序結(jié)構(gòu)一、選擇題一、選擇題1、下面程序的輸出是:() main() int k=11; printf(k=%d,k=%o,k=%xn,k,k,k); A) k=11,k=12,k=13 B) k=11,k=13,k=13C) k=11,k=013,k=oXb D) k=11,k=13,k=b 2、以下合法的 C 語言賦值語句是:() A)a=b=58 B)k=int(a

8、+b) ; C)a=58,b=58 D)- i; 3、以下程序的輸出結(jié)果是:() main() int x=10,y=3;printf(“%dn”,y=x/y); A)0 B)1 )3 D)不確定 4、若變量已正確說明為 int 類型,要給 a,b,c 輸入數(shù)據(jù),以下正確的輸入語句是:() A)read (a,b,c); B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,%a,%b,%c); D)scanf(“%d%d%d”,&a,&b,&b); 5、執(zhí)行下面程序段后,c3 中的值是:()int c1=1 , c2=2 , c3;c3=c

9、1/c2; A)0 B)1/2 C)0.5 D)1 6、若執(zhí)行以下程序段,其輸出結(jié)果是:()int a=0 , b=0 , c=0;c=(a-=a-5) , (a=b,b+3) ;printf(“%d , %d , %dn” , a,b,c); A)0,0,0 B)0,0,5 C)5,0,5 D)-10,0,-10 7、以下程序段的輸出是:()float a=57.666;printf(“*%2.2f*n”, a);A)*57* B)*58* C)*57.66* D)*57.67* 8、若有以下定義和語句:() int a=5,b b=a+;此處 b 的值是:()A) 7 B) 6 C) 5

10、D) 4 9、若有以下定義和語句:() char c1=b,c2=e; printf(%d,%cn,c2-c1,c2-a+A)則輸出結(jié)果是:()A) 2,M B) 3,E C) 2,e D) 輸出結(jié)果不確定 10、以下程序的輸出結(jié)果是:() main() int x=10,y=10; printf(%d%dn,x-,-y); A) 10 10 B) 9 9 C) 9 10 D) 10 9 11、在 C 語言中,如果下面的變量都是 int 類型,則輸出結(jié)果是:() sum=pad=5; pad=sum+,pad+,+pad; printf(%dn,pad);A) 7 B) 6 C) 5 D) 4

11、 12、以下程序的輸出結(jié)果:() #include main() int i=010,j=10; printf(%d,%dn,+i,j-); A) 11,10 B) 9,10 C) 010,9 D) 10,9 13、在 C 語言中,short 類型數(shù)據(jù)的范圍是-3276832767,下面程序段的輸出結(jié)果是:() short i =65536; printf(%dn,i);A) 65536 B) 0C) 1 D)超出取值范圍,無輸出結(jié)果 14、已知字符 A 的 ASCII 碼為十進(jìn)制的 65,下面程序的輸出是:() main() char ch1,ch2; ch1=A+5-3; ch2=A+6-

12、3; printf(%d,%cn,ch1,ch2); A) 67,D B) B,CC) C,D D) 不確定的值 15、若有定義和語句: char s; s=abcd; printf(%dn,s);則結(jié)果是:()A) 輸出 97 B) 輸出 aC) 輸出 adcb D) 編譯不能通過 16、若有定義:int x,y; char a,b,c; 并有以下輸入數(shù)據(jù)(此處代表換行,代表空格): 12 ABC 則能給 x 賦整數(shù) 1,給 y 賦數(shù) 2,給 a 賦字符 A,給 b 賦字符 B,給 c 賦字符 C 的正確程序段是:() A) scanf(x=%d y=%d,&x,&y); a

13、=getchar(); c=getchar(); B) scanf(%d%d,&x,&y); a=getchar(); b=getchar(); c=getchar(); C) scanf(%d%d%c%c%c,&x,&y,&a,&b,&c);D) scanf(%d%d%c%c%c%c%c%c,&x,&y,&a,&a,&b,&b,&c,&c); 17、兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入 6 和 4,則輸出結(jié)果是:() main() int x; scanf(%d,&am

14、p;x); if (x+5) printf(%d,x) else printf(%dn,x-); A) 7 和 5 B) 6 和 3 C) 7 和 4 D) 6和 4 18、若執(zhí)行下面的程序從鍵盤輸入 3 和 4,則輸出是:() main() int a,b,s; scanf(%d%d,&a,&b); s=a; if (ab) s=b; s=s*s; printf(%dn,s); A) 14 B) 16 C) 18 D) 20 19、設(shè) i 是 int 型變量,f 是 float 型變量,用下面的語句給這兩個變量輸入值scanf(i=%d,f=%f,&i,&f)

15、;為了把 100 和 765.12 分別賦給 i 和 f,則正確的輸入為:()A) 100765.12 B) i=100,f=765.12C) 100765.12 D) x=100,y=765.12 20、以下程序的輸出結(jié)果是:() #include main() int n; printf(%dn,n); A) -1 B) 0 C) 1 D) 不確定 二、判斷題二、判斷題1( )在 C 語言中,實(shí)型數(shù)據(jù)在內(nèi)存都中占 4 個字節(jié)。 2( )在 C 語言中,參加算術(shù)(+,-,*,/,%)運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。 3( )若有定義和語句:int a;char c;scanf(%d,%c,&

16、amp;a,&c);當(dāng)通過鍵盤輸入:10,A之后,則變量 a 中存放的是 10,變量 c 中存放的是A 。 4( )C 語言中,變量名只能是小寫字母表示,符號常量名可用大寫表示 5( )在 C 語言中,變量可以不要定義,直接使用 6( )一個 C 語言程序總是從主函數(shù)開始執(zhí)行的 7( )注釋語句必須用/*和*/括起來,且只能位于某一語句的后面8( ) “a”和a均是占用 1 個字節(jié)的內(nèi)存空間 的數(shù)據(jù) 三、多選題三、多選題 1.以下所列語句中,不合法的語句是:()A、a=1,b=2 B、+a;C、a=a+1=5;D、y= (int) a;E、a=b=c=10; 2.下列描述正確的是:()

17、A. putchar 函數(shù)的作用是向屏幕輸出一個字符B. putchar 函數(shù)能在屏幕上輸出控制字符C. putchar(c)函數(shù)中,c 只能是字符型變量,不能是整型變量D. putchar 函數(shù)能在屏幕上輸出轉(zhuǎn)義字符Eputchar 函數(shù)的使用需要包含“stdio.h”頭文件 3.下列描述正確的是:()A. getchar 函數(shù)只能接收一個字符B. getchar 函數(shù)得到的字符可以賦給一個字符變量C. getchar 函數(shù)得到的字符可以賦給一個整型變量D. getchar 函數(shù)得到的字符可以作為表達(dá)式的一部分Egetchar 函數(shù)是編程者自定義的函數(shù) 4.printf 函數(shù)中,關(guān)于格式字符

18、描述正確的是:()A格式字符 o 表示以八進(jìn)制無符號形式輸出整數(shù)B格式字符 u 表示以無符號十進(jìn)制形式輸出整數(shù)C格式字符 x 表示以無符號十六進(jìn)制形式輸出整數(shù)D格式字符 f 表示以實(shí)數(shù)形式輸出單、雙精度數(shù)E格式字符 e 表示以浮點(diǎn)數(shù)形式輸出單、雙精度數(shù) 5.假設(shè) intx,y,z;若從鍵盤給 x、y、z 輸入數(shù)據(jù),下列不正確的輸入語句是:()Ainput x、y、z; Bscanf(%d%d%d,&x,&y,&z);Cscanf(%d%d%d,x,y,z); Dread(%d%d%d,&x,&y,&z);Escanf(%d%d%d,&x,

19、&y,&z); 6.假設(shè) floatx,y,z;,并通過 scanf(%f%f%f ,&a,&b,&c);對 a 賦于 10.0,b 賦予 22.0,c賦予 33.0 的值,下面正確的輸入形式是:()(注:符號代表空格)A、1022 33B、10.022.033.0C、10.0,22.0,33.0D、10.022.033.0E、102233 7.若有 int a,c;char b;并通過 scanf(%f%c%f ,&a,&b,&c);對 a 賦于整數(shù) 10,b 賦予字符M,c 賦予整數(shù) 33 的值,下面正確的輸入形式是:()(注

20、:符號代表空格)A、10M33B、10M33C、 10M33D、10M33E、10M33 8.若有 char ch;,下面可以對變量 c 正確賦值的語句是:()Ach =A;Bgetchar(ch);Cch = getchar(); Dscanf(“%c”,&ch);Eprintf(“%c”,ch=B); 9.下面屬于轉(zhuǎn)義符的有:( )A t B n C %d D 376 E x20 10.若 a 為整型變量,則下列表達(dá)式的值為 0 的是( ),Aa % a Ba != aC3/4 D3 & 0Ea = 0 第第 5、6 章章選擇與循環(huán)結(jié)構(gòu)選擇與循環(huán)結(jié)構(gòu)一、選擇題一、選擇題1.

21、有以下程序 main( ) int i; for ( i=0; ibc) printf(%dn, d); else if ( (c-1 = d) =1) printf(%dn, d+1); else printf(%dn, d+2); 執(zhí)行后輸出結(jié)果是:() A)2 B)3 C)4 D)編譯時有錯,無結(jié)果 4.有以下程序 main() int i=0,s=0; do if (i%2) i+; continue; i+; s += i; while( ib?(ac?a:c):(b); A) 5 B) 4 C) 6 D) 不確定 6.以下程序中,while 循環(huán)的循環(huán)次數(shù)是:() main() i

22、nt i=0; while(i10) if(i1) continue; if(i=5) break; i+; A) 1 B) 10 C) 6 D) 死循環(huán),不能確定次數(shù) 7.以下程序的輸出結(jié)果是:() 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: a+=5; printf(%dn,a); A) 31 B) 13 C) 10 D) 20 8.以下程序的輸出結(jié)果是:() main() int a=4,b=5,c=0,d; d=!a & !b |

23、 !c; printf(%dn,d); A) 1 B) 0 C) 非 0 的數(shù) D) -1 9.以下程序的輸出結(jié)果是:() #include main() int i=0,a=0; while(i20) for( ; ; ) if(i%10)=0) break; else i-; i+=11; a+=i; printh(%dn,a); A) 21 B) 32 C) 33 D) 11 10.閱讀以下程序:( ) main() int x; scanf(%d,&x); if(x-5) printf(%dx); else printf(%dx+); 程序運(yùn)行后,如果從鍵盤上輸人 5,則輸出結(jié)

24、果是:()A)3 B) 4 C) 5 D) 6 11.假定 w、x、y、z、m 均為 int 型變量,有如下程序段: w=1; x=2; y=3; z=4; m=(wx)?w : x; m=(my)?m : y; m=(mz)?m: z;則該程序運(yùn)行后,m 的值是:()A) 4 B) 3 C) 2 D) 1 12.以下程序的輸出結(jié)果是:() main() int a, b; for(a=1, b=1; a=10) break; if (b%3=1) b+=3; continue; printf(%dn,a); A) 101 B) 6 C) 5 D) 4 13.若執(zhí)行以下程序時從鍵盤上輸入 9,

25、則輸出結(jié)果是:() main() int n; scanf (%d,&n); if(n+10) printf (%dn,n); elseprintf(%dn,n-); A) 11 B) 10 C) 9 D) 8 14.有以下程序段 int k=0while(k=1)k+; 則 while 循環(huán)執(zhí)行的次數(shù)是:() A) 無限次 B) 有語法錯,不能執(zhí)行 C) 一次也不執(zhí)行 D) 執(zhí)行 1 次 15.以下程序執(zhí)行后 sum 的值是:() main() int i , sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum); A)15 B)14 C) 不確定

26、D)0 16.有以下程序段 int x=3 do printf (%d,x -=2);while (!(-x); 其輸出結(jié)果是:() A) 1 B) 3 0 C) 1 -2 D) 死循環(huán) 17.若變量 c 為 char 類型,能正確判斷出 c 為小寫字母的表達(dá)式是:() A) a=c= a)|(c= z) C) (a=c) D) (c= a)&(c1) & (z8;y=i ) printf(“%d %d ” ,x-,y); A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 0 20.以下程序的輸出結(jié)果是:() main() int i; for

27、(i=1;i=6;i+) if(i%2) printf(“#”);continue; printf(“*”); printf(“n”); A)#*#*# B)# C)* D)*#*#* 21.以下程序的輸出結(jié)果是:() main() int i; for(i=A;i5) printf (“%dn” ,m); else printf (“%dn” ,m-); A )7 B )6 C)5 D)4 23.運(yùn)行以下程序后,如果從鍵盤上輸入 china#回車 ,則輸出結(jié)果為:() #include main() int v1=0,v2=0; char ch ; while (ch=getchar()!=

28、#) switch (ch ) case a: case h: default:v1+; case 0:v2+; printf(“%d,%dn” ,v1,v2); A) 2,0 B)5,0 C) 5,5 D)2,5 24.設(shè)有如下定義: int a=1,b=2,c=3,d=4,m=2,n=2; 則執(zhí)行表達(dá)式:(m=ab)&(n=cd)后,n 的值為:()A)1 B)2 C)3 D)0 25.以下程序的輸出結(jié)果是:() main() int i,j,x=0; for (i=0;i2;i+) x+; for(j=0;j3;j+) if (j%2) continue; x+; x+; pri

29、ntf(“x=%dn” ,x); A)x=4 B)x=8 C)x=6 D)x=12 26.設(shè) x 和 y 均為 int 型變量,則執(zhí)行以下的循環(huán)后,y 值為:() for(y=1,x=1;y=50;y+) if(x=10)break; if (x%2=1) x+=5;continue; x-=3; A)2 B)4 C)6 D)8 27.假定 a 和 b 為 int 型變量,則執(zhí)行以下語句后 b 的值為:() a=1;b=10; do b-=a; a+;while (b-3;j-) if(j%3) j-; -j;-j; printf(“%d ” ,j); A)6 3 B)7 4 C)6 2 D)

30、7 3 29.有以下程序 main() int x, i; for(i=1;i12 ? 15 :65 ? 8 :9 )后,變量 k 的值為:()A. 9 B. 8 C. 15 D. 1 32.以下程序運(yùn)行后,如果從鍵盤上輸人 5,則輸出結(jié)果是:()main( ) int x;scanf(%d,&x);if(x-5)printf(%d,x);elseprintf(%d,x+);A、3 B、4C、5 D、6 33.以下程序段的輸出結(jié)果是:()int k, j , s ;for(k=2;k6;k+,k+) s=1;for (j=k;j6;j+)s+=j; printf(“%dn”,s); A

31、)9 B)1 C)11 D)10 34.以下程序段的輸出是:() int i,j,m=0;for (i=1;i=15;i+=4)for (j=3;j=19;j+=4) m+;printf(“%dn”,m);A)12 B)15 C)20 D)25 35.以下程序段的輸出結(jié)果是:() int i, sum;for(i=1;i6;i+) sum+=sum;printf(“%dn”,sum);A)15 B)14 C)不確定 D)0 36.下面程序的輸出是:(D) main() int x=3,y=6,a=0; while (x+!=(y-=1) a+; if (y7) n-; printf(%3d,n

32、); A) 10 9 8 B) 9 8 7C) 10 9 8 7 D) 9 8 7 6 38.以下程序段的輸出結(jié)果是:() int x=3; do printf(%3d,x-=2; while (!(-x);A) 1 B) 3 0 C) 1 -2 D) 死循環(huán) 39.執(zhí)行下面的程序后,a 的值為:() main() int a,b; for (a=1,b=1;a=20) break; if (b%3=1) b+=3; continue; b-=5; A) 7 B) 8 C) 9 D) 10 40.讀程序: main() int num=0; while (num=2) num+; printf

33、(%3d,num); 上面程序的輸出結(jié)果是:()A) 1B) 22C) 1 2 3D) 1234 41.以下循環(huán)體的執(zhí)行次數(shù)是:() main() int i,j; for(i=0,j=1;i=j+1;i+=2,j-)printf(%d n,i); A) 3 B) 2 C) 1 D) 0 42.在 C 語言的循環(huán)語句 for,while,do-while 語句中,用于直接中斷最內(nèi)層循環(huán)的語句是:()A) switch B) continue C) break D) if 二、判斷題:二、判斷題:1.( )用 1 作 while 循環(huán)的判斷條件,則循環(huán)一次也不執(zhí)行。 2.( )for 循環(huán)表達(dá)式

34、的括號內(nèi)的 3 個表達(dá)式均不可以省略。 3.( )語句 while(!E);中的條件!E 等價于 E=0。 4.( )語句 while(E);中的條件 E 等價于 E!=0。 5.( )若有 for(;),是指循環(huán)體執(zhí)行 0 次。 6.( )程序有死循環(huán)的時候,上機(jī)編譯不能通過。 7.( )強(qiáng)制終止死循環(huán)可以使用 CTRL+BREAK 組合鍵。 8.( )執(zhí)行 for(I=0;I3;I+);后 I 的值為 2。 9.( )執(zhí)行 for(I=0,j=0;Ib) m =a; Bif (a);Cif (a=b)=0) m=a; Dif (a=b;)=0) m=a; 3、如果不加花括號表示 else

35、與 if 的配對關(guān)系,則 else與 if 的匹配方法,不正確的是 Aelse 與它上面最遠(yuǎn)的 if 配對 Belse 與它上面最近的 if 配對 Celse 與離它最近的 if 配對 D.else 與它上面最近的且沒有和其他 else 配對的 if 配對 4、關(guān)于條件運(yùn)算符的敘述正確的是A條件運(yùn)算符的優(yōu)先級別比關(guān)系運(yùn)算符和算術(shù)運(yùn)算符都低B條件運(yùn)算符是 C 語言中惟一的一個三目運(yùn)算符C條件運(yùn)算符的結(jié)合方向是“自右至左”D條件運(yùn)算符可以替代任何 if 語句的功能 5、關(guān)于 switch 語句敘述正確的是A語句中,case 的冒號后面允許沒有語句。Bswitch 語句中,每一個 case 的冒號后

36、面都允許跟有多條語句。C在與 switch 語句配套的 case 語句中所使用的表達(dá)式可以是變量或常量 Dswitch 語句中,可以沒有 default 語句。 6、在計(jì)數(shù)循環(huán) for(表達(dá)式 1;表達(dá)式 2;表達(dá)式 3)中,可以省略的表達(dá)式是:()A表達(dá)式 1B表達(dá)式 2C表達(dá)式 3D三個表達(dá)式都可以 E一個都不能少 7、下列語句段是死循環(huán)的是( ) An=100; Bs=33; while(n) n=n%100+1; while(s+%2+s%2) s+; Cfor(;); Dfor(i=1;) if(-i)break; Ex=0; do x+; while(x=0); 第第 7 7 章章

37、數(shù)組數(shù)組一、選擇題一、選擇題1、若有以下說明語句: int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d,g; 則數(shù)值為 4 的表達(dá)式是:() 。 A、ag-c B、a4 C、ad-c D、ad-c 2、假設(shè) int 型變量占兩個字節(jié)的存儲單元,若有定義: int x10=0,2,4; 則數(shù)組 x 在內(nèi)存中所占字節(jié)數(shù)為:() A、3 B、6 C、10 D、20 3、下列合法的數(shù)組定義是:() A、int a=”string”; B、int a5=0,1,2,3,4,5; C、char a=”string”; D、char a=0,1,2,3,4,5; 4

38、、若給出以下定義: char x=”abcdefg”; char y=a,b,c,d,e,f,g; 則正確的敘述為:() A、數(shù)組 x 和數(shù)組 y 等價 B、數(shù)組 x 和數(shù)組y 的長度相同 C、數(shù)組 x 的長度大于數(shù)組 y 的長度 D、數(shù)組 y 的長度大于數(shù)組 x 的長度 5、下面程序段的輸出結(jié)果是:() int j; int x33=1,2,3,4,5,6,7,8,9; for (j=0;j3;j+) printf(“%d”,xj2-j); A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 9 6、下列程序運(yùn)行后的輸出結(jié)果是:() main() int n3,t,j,k; for(

39、t=0;t3;t+) nt=0; k=2; for(t=0;tk;t+) for(j=0;j3;j+) nj=nt+1; printf(“%dn”,n1);A、 2 B、 1 C、 0 D、3 7、有以下程序main() int p7=11,13,14,15,16,17,18, i=0,k=0;while(i7 & pi%2) k =k+ pi; i+; printf(%dn, k); 執(zhí)行后輸出結(jié)果是:()A、58 B、56 C、45 D、24 8、以下能正確定義數(shù)組并正確賦初值的語句是:()A、int N=5,bNN; B、int a12=1,3;C、int c2= 1,2,3,4

40、; D、int d32=1,2,3,4; 9、有以下程序main() int m3=1,4,7,2,5,8,3,6,9;int i,j,k=2;for(i=0; i3; i+) printf(%d ,mki); 執(zhí)行后輸出結(jié)果是:(C)A、4 5 6 B、2 5 8 C、3 6 9 D、7 8 9 10、以下能正確定義一維數(shù)組的選項(xiàng)是:()A、int num; B、int num0.100; C) #define N 100 D) int N=100;int numN; int numN; 11、下列選項(xiàng)中正確的語句組是:()A、char s8; s=Beijing; B、char *s; s

41、=Beijing;C、char s8; s=Beijing; D、char *s; s=Beijing; 12、有以下程序段int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;b 中的值是:()A、5 B、6 C、8 D、9 13、有以下程序main( ) char a=abcdefg,b10=abcdefg; printf(%d %dn,sizeof(a),sizeof(b); 執(zhí)行后輸出結(jié)果是:()A、7 7 B、8 8 C、8 10 D、10 10 14、有以下程序的輸出結(jié)果是:()void swap1(int c) int t; t=c0;c0

42、=c1;c1=t;void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t;main( ) int a2=3,5,b2=3,5; swap(a); swap2(b0,b1); printf(%d %d %d %dn,a0,a1,b0,b1); A、5 3 5 3 B、 5 3 3 5 C、3 5 3 5 D、3 5 5 3 15、有以下程序int f(int b4) int i,j,s=0; for(j=0;j2) i=3-j; s+=bij; return s;main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1

43、,0; printf(%dn,f(a); 執(zhí)行后的輸出結(jié)果是:()A、12 B、11 C、18 D、16 16、有以下程序void sort(int a,int n) in t i,j,t; for(i=0;in-1;i+=2)for(j=i+2;jn;j+=2) if(aiaj) t=ai;ai=aj;aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;i10;i+) printf(%d,aai); printf(n); 其輸出結(jié)果是:()A、1,2,3,4,5,6,7,8,9,10, B、10,9,8,7,6,

44、5,4,3,2,1,C、9,2,7,4,5,6,3,8,1,10, D、1,10,3,8,5,6,7,4,9,2, 17、有以下程序void f(int a,int i,int j) int t; if(ij) t=ai; ai=aj;aj=t;f(a,i+1,j-1); main( ) int i,aa5=1,2,3,4,5; f(aa,0,4); for(i=0;i5;i+) printf(%d,aai); printf(n); 執(zhí)行后輸出結(jié)果是:()A、5,4,3,2,1, B、5,2,3,4,1, C、1,2,3,4,5, D、1,2,3,4,5, 18、 以下程序的輸出結(jié)果是:()m

45、ain() char cf35=AAAA,BBB,CC; printf(%sn,ch1); A、AAAA B、 BBB C、 BBBCC D、 CC19、 以下程序的輸出結(jié)果是:()main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i3;i+) for(j=i;j=i;j+) t=t+bibjj; printf(%dn,t); A、 3 B、 4 C、 1 D、 9 20、有以下程序 main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6; int i,s=0; for(i=0;i=0&chj=

46、9;j+=2)s=10*s+chj-0;printf(“%dn”,s); A、12ba56 B、66521 C、6 D、62 26、設(shè)已定義 char s=”NameAddress”n”;,則字符串 s 所占的字節(jié)數(shù)是:()A、19 B、18 C、15 D、14 27、設(shè)已定義 char c8=”Tianjin”和 int j,則下面的輸出函數(shù)調(diào)用中錯誤的是:()A、printf(“%s”,c); B、for(j=0;j8;j+) printf(“%c”,cj);C、puts(c); D、for(j=0;j8;j+) puts(cj); 28、設(shè)已定義 char a10和 int j,則下面輸

47、入函數(shù)調(diào)用中錯誤的是:()A、scanf(“%s”,a); B、for(j=0;j9;j+) scanf(“%c”,aj);C、gets(a); D、for(j=0;j9;j+) scanf(“%c”,&aj); 29、設(shè)已定義 char x8和 int j,為了給該數(shù)組賦值,下面語句中正確的是:()A、x8=”Turbo C”; B、x=” Turbo C”;C、x=”Turbo C”; D、for(j=0;j7;j+) xi=getchar(); 30、有如下程序,main() int n5=0,0,0,j,k=2; for(j=0;js2)Bif(strcmp(s1,s2)Cif

48、(strcmp(s2,s1)0)Dif(strcmp(s1,s2)0) 44.若有說明:int a4=0,0;,則下面不正確的敘述是:() 。A數(shù)組 a 的每個元素都可得到初值 0B二維數(shù)組 a 的第一維大小為 1C因?yàn)槎S數(shù)組 a 中初值的個數(shù)不能被第二維大小的值整除,則第一維的大小等于所得商數(shù)再加 1,故數(shù)組a 的行數(shù)為 1D只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 45.下列語句中,不正確的是:() 。Achar str5=hello;Bchar str=h,e,l,l,o,0;Cchar str5=hi;Dchar str100=; 46.下面錯誤的初始化語句是:

49、() 。Achar str=hello;Bchar str100=hello;Cchar str=h,e,l,l,o;Dchar str=hello; 47.定義了一維 int 型數(shù)組 a10后,下面錯誤的引用是:() 。Aa0=1;Ba10=2;Ca0=5*2;Da1=a2*a0; 48.下面的二維數(shù)組初始化語句中,錯誤的是:() 。Afloat b22=0.1,0.2,0.3,0.4;Bint a2=1,2,3,4;Cint a2= 1,2,3,4;Dfloat a22=0; 49.引用數(shù)組元素時,數(shù)組下標(biāo)可以是:() 。A整型常量B整型變量C整型表達(dá)式D以上均可 50.定義了 int 型

50、二維數(shù)組 a67后,數(shù)組元素 a34前的數(shù)組元素個數(shù)為:() 。A24B25C18D17 51.strlen(A0B0C)的結(jié)果為:() 。A0 B1 C2 D3 52.下面程序的運(yùn)行結(jié)果是:() 。main()int a3=1,2,3,4,5,6;printf(%d,a11);A3 B4 C5 D6 53.下面程序的運(yùn)行結(jié)果是:() 。main()char s120=Good!;char s215=AB;printf(%d,strlen(strcpy(s1,s2);A20B15C5 D2 54.下面程序的運(yùn)行結(jié)果是:() 。main()char s120=ABCDEF;int i=0;whi

51、le(s1i+!=0)printf(%c, s1i+);AABCDEFBBDF CABCDE DBCDE 55.下面程序的運(yùn)行結(jié)果是:() 。main()int n2=0,i,j,k=2;for(i=0;ik;i+)for(j=0;jk;j+)nj=ni+1;printf(%dn,nk);A不確定的值B3C2D1 56.下面程序的運(yùn)行結(jié)果是:() 。main()int x=22,33,44,55,66,77,88;int k,y=0;for (k=1;k=4;k+)if (xk%2=1)y+;printf(%d,y);A0B1C2D3 57.下面程序的運(yùn)行結(jié)果是:() 。main()int a

52、33=1,2,3,4,5,6,i,j,s=0;for(i=1;i3;i+)for(j=0;j=0&chi=a&si=z)printf(%c,si);i+;AabBab1c2d4eCabcdeDa 60.下面程序的運(yùn)行結(jié)果是:() 。main()int i=0,n=0;char s10=298h01;for(i=0;si!=0;i+)if(si=0)n=n*10+(si-0);elsebreak;printf(%dn,n); A298h01B29801C01D298 二、判斷題:二、判斷題:1.( )在程序中可以對數(shù)值數(shù)組中的數(shù)據(jù)進(jìn)行整體使用。2.( )如果 strcmp(s1,

53、s2)的返回值為一個負(fù)數(shù),則表明字符串 s1 一定小于字符串 s2。3.( )字符數(shù)組的輸出不能一次性的整體輸出。4.( )用 scanf 函數(shù)輸入的字符串不可以帶空格。5.( )用 gets 函數(shù)輸入的字符串可以帶空格。6.( )實(shí)現(xiàn)兩個字符串的復(fù)制可以使用 str1=str2;語句。7.( )使用 strcpy 函數(shù)可以實(shí)現(xiàn)兩個字符串的復(fù)制。8.( )使用 strcat 函數(shù)可以實(shí)現(xiàn)兩個字符串的連接。9.( )使用 strlen 函數(shù)可以求出一個字符串的實(shí)際長度(包含0字符) 。10.( )如有定義 char a=”student”;則數(shù)組 a 的長度為7。11.( )如有定義 char

54、a20;則可以通過 a=“I am a boy”;給 a 賦值。12.( )如有定義 int a23;則數(shù)組 a 的最后一個元素為a12。13.( )如有定義 int a340; 則數(shù)組 a 的所有元素初值均為 0。14.( )C 語言中數(shù)組名實(shí)質(zhì)上是數(shù)組的首地址,是一個變量地址,可對其進(jìn)行賦值。15.( )構(gòu)成數(shù)組的各個元素可以有不同的數(shù)據(jù)類型。16.( )若有說明:int a10;,則可以 a10引用數(shù)組 a 的第 10 個元素。17.( )引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許的是:整型常量或整型表達(dá)式。18.( )若有 int a10=6,7,8,9,10;,則是將 5 個初值依次賦

55、給 a0至 a4。19.( )一個一維數(shù)組,它的每一個元素也是類型相同的一維數(shù)組時,便構(gòu)成二維數(shù)組。20.( )在 C 語言中,允許用字符串來直接初始化字符數(shù)組。21.( )字符數(shù)組的輸出不能一次性的整體輸出。22. ( )使用 strcat 函數(shù)可以實(shí)現(xiàn)兩個字符串的復(fù)制。三、多選題三、多選題1、以下關(guān)于數(shù)組的描述中,正確的有:() 。在定義數(shù)組時,有時可以將該數(shù)組的維數(shù)省略數(shù)組名實(shí)質(zhì)上是數(shù)組的首地址,是一個變量地址,可對其進(jìn)行賦值構(gòu)成數(shù)組的各個元素可以有不同的數(shù)據(jù)類型有定義:int a3; 則定義了 a0、a1、a2三個數(shù)組元素在程序中可以對數(shù)值數(shù)組中的數(shù)據(jù)進(jìn)行整體使用 2、以下關(guān)于數(shù)組的描

56、述中,錯誤的有:() 。引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許的是:整型常量或整型表達(dá)式可以通過數(shù)組名來整體引用一個數(shù)組在程序中可以對數(shù)值數(shù)組中的數(shù)據(jù)進(jìn)行整體使用若有說明:int a10;,則可以 a10引用數(shù)組 a 的第 9個元素若有說明:int a10;,則可以 a10引用數(shù)組 a 的第10 個元素 3、以下關(guān)于數(shù)組的描述中,錯誤的有:() ??梢酝ㄟ^如下語句來完成對一個數(shù)組的輸入:int a10; scanf(%d,a);可以通過如下語句來完成對一個數(shù)組的輸入:int a10; scanf(%d,&a);若有 int a10=6,7,8,9,10;,則是將 5 個初值依次賦給

57、a0至 a4數(shù)組元素可以像普通變量一樣使用int a9; 則數(shù)組 a 的下標(biāo)范圍是 1-9 4、以下關(guān)于數(shù)組的描述中,正確的有:() 。數(shù)組名實(shí)質(zhì)上是數(shù)組的首地址,是一個常量,不能對其賦值在定義數(shù)組時,有時可以將該數(shù)組的維數(shù)省略一個一維數(shù)組,它的每一個元素也是類型相同的一維數(shù)組時,便構(gòu)成二維數(shù)組如有定義 int a340; 則數(shù)組 a 的所有元素初值均為 0可以通過數(shù)組名來整體引用一個數(shù)組 5、以下關(guān)于數(shù)組的描述中,錯誤的有:() 。如有定義 int a23;則數(shù)組 a 的最后一個元素為 a12一個一維數(shù)組,它的每一個元素也是類型相同的一維數(shù)組時,便構(gòu)成二維數(shù)組若有說明:static int

58、a33; 那么數(shù)組 a 中每個元素初值為 0在定義二維數(shù)組時,可以將該數(shù)組的兩個維數(shù)全部省略如有定義 char a20; 則可以通過 a=I am a boy; 給 a 賦值 6、若有說明:int a4=0,0;,則下面正確的敘述有:() 。數(shù)組 a 的每個元素都可得到初值 0二維數(shù)組 a 的第一維大小為 1因?yàn)槎S數(shù)組 a 中初值的個數(shù)不能被第二維大小的值整除,則第一維的大小等于所得商數(shù)再加 1,故數(shù)組 a 的行數(shù)為 1只有元素 a00和 a01可得到初值 0,其余元素均得不到初值只有元素 a11和 a12可得到初值 0,其余元素均得不到初值 7、以下關(guān)于數(shù)組的描述中,正確的有:() 。若有

59、定義 char a=hello;,則數(shù)組 a 的長度為 6有定義 char a3; 則定義了 a1、a2、a3三個數(shù)組元素構(gòu)成字符數(shù)組的各個元素必須是字符類型的數(shù)據(jù)可以通過數(shù)組名來整體引用一個數(shù)組設(shè)有數(shù)組定義 char array =China; 則數(shù)組 array所占的空間為 5 個字節(jié) 8、以下關(guān)于數(shù)組的描述中,正確的有:() 。在 C 語言中,允許用字符串來直接初始化字符數(shù)組若有定義 char a20;,則可以通過 a=I am a boy;給 a 賦值若有 char a10=1,2,3;,則是將 3 個初值依次賦給a1至 a3構(gòu)成字符數(shù)組的各個元素必須是字符類型的數(shù)據(jù)數(shù)組名實(shí)質(zhì)上是數(shù)組

60、的首地址,是一個常量,不能對其賦值 9、以下關(guān)于數(shù)組的描述中,錯誤的有:() 。字符數(shù)組的輸出不能一次性的整體輸出若有 char a10=1,2,3;,則是將 3 個初值依次賦給a0至 a2構(gòu)成字符數(shù)組的各個元素可以是不同數(shù)據(jù)類型的元素構(gòu)成字符數(shù)組的各個元素必須是字符類型的數(shù)據(jù)若有定義 char b=hello;,則數(shù)組 b 的長度為 6 10、 下列語句中,正確的有:() 。char str5=hello;char str=h,e,l,l,o,0;char str5=hi;char str100=;char str3=this; 11、 函數(shù)調(diào)用 strcat(strcpy(str1,str2),str3)的功能,以下說法錯誤的有:() 。將串 str1 復(fù)制到串 str2 中后在連接到串 str3 之后將串 str1 連接到串 str2 之后再復(fù)制到串 str3 之后將串 str2 復(fù)制到串 str1 中后再將串 str3 連接到串str1 之后將串 str2 連接到串 str1 中后再將串 str1 復(fù)制到串str3 中將串 str2 連接到串 str1 中后再將串 str3 復(fù)制到串str1 中 12、 以下關(guān)于數(shù)組的描述中,正確的有:() 。在定義數(shù)組時,有

溫馨提示

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

評論

0/150

提交評論