_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/20/669c4ac0-e88c-416d-8cad-56fd3eaaa732/669c4ac0-e88c-416d-8cad-56fd3eaaa7321.gif)
_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/20/669c4ac0-e88c-416d-8cad-56fd3eaaa732/669c4ac0-e88c-416d-8cad-56fd3eaaa7322.gif)
_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/20/669c4ac0-e88c-416d-8cad-56fd3eaaa732/669c4ac0-e88c-416d-8cad-56fd3eaaa7323.gif)
_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/20/669c4ac0-e88c-416d-8cad-56fd3eaaa732/669c4ac0-e88c-416d-8cad-56fd3eaaa7324.gif)
_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/20/669c4ac0-e88c-416d-8cad-56fd3eaaa732/669c4ac0-e88c-416d-8cad-56fd3eaaa7325.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C C 語言程序設計試題語言程序設計試題第第 1 1、2 2、3 3 章章 概述、類型、表達式概述、類型、表達式一、選擇題一、選擇題1、 一個 C 程序由若干個 C 函數組成,各個函數在文件中的位置順序為:()A、 任意 B、 第一個函數必須是主函數,其他函數任意C、 必須完全按照執行的順序排列D、 其他函數可以任意,主函數必須在最后2、 下列四個敘述中,正確的是:()A、 C 程序中的所有字母都必須小寫B、 C 程序中的關鍵字必須小寫,其他標示符不區分大小寫C、 C 程序中的所有字母都不區分大小寫D、 C 語言中的所有關鍵字必須小寫3、 下列四個敘述中,錯誤的是:()A、 一個 C 源程序必
2、須有且只能有一個主函數B、 一個 C 源程序可以有多個函數C、 在 C 源程序中注釋說明必須位于語句之后D、 C 源程序的基本結構是函數4、 下面不是 C 語言合法標識符的是:()A、abc B、5n C、_4m D、x35、 以下敘述不正確的是:()A.分號是 C 語句的必要組成部分B.C 程序的注釋可以寫在語句的后面C.函數是 C 程序的基本單位D.主函數的名字不一定非用 main 來表示6、C 語言中允許的基本數據類型包括:()A. 整型、實型、邏輯型 B. 整型、實型、字符型C. 整型、字符型、邏輯型 D. 整型、實型、邏輯型、字符型7、C 語言中能用八進制表示的數據類型為:()A、字
3、符型、整型 B、整形、實型C、字符型、實型、雙精度型 D、字符型、整型、實型、雙精度型8、下列屬于 C 語言合法的字符常數是:()A、 97 B、 ”A” C、 t D、 ”0”9、在 C 語言(VC 環境)中,5 種基本數據類型的存儲空間長度的排列順序為:() A、charint=long int =floatdoubleB、char=intlong int =floatdoubleC、charintlong int=float=doubleD、char=int=long int =floatdouble10、 在 C 語言中(VC 環境) ,一定是長整型常數的是:() A、0L B、496
4、2710 C、0412765 D、0 xa34b7fe11、 若有以下定義語句 char c1=b, c2=e; printf(“%d,%cn”,c2-c1,c2-a+A);則輸出結果是:() A、2,M B、3,E C、2,E D、輸出項與相應的格式控制不一致,輸出結果不確定12、 以下合法的賦值語句是:() A、x=y=100 B、d-; C、x + y D、c = int(a+b);13、 設變量 t 為 int 型,下列選項中不正確的賦值語句是:() A、+t; B、n1=(n2=(n3=0); C、k=i=m; D、a=b+c=1;14、 在以下一組運算符中,優先級最高的是:() A
5、、=10 or a=0 B、a=0 C、a=10 | a=10 & a=016、 下列只有當整數 x 為奇數時,其值為“真”的表達式是:() A、x%2=0 B、!(x%2=0) C、(x-x/2*2)=0 D、!(x%2)17、 設 a 為整型變量,不能正確表達數學關系 10a15 的 C 語言表達式是:() A、1 0 a 15 B、!(a=15) C、a10 & a15 D、!(a=15)18、 已知 x=43, ch=A ,y=0;則表達式(x=y&ch8)D #include 以下不是 C 語句的是:()Aa=8; Ba+; Cif(a8);Dfor(i=1;i x -2 )|(4
6、x 8)B!( x 2 )&( x 8 )C( x = -2 )&( x 4 )&( x -2 )&( x 4 )|( x 8 )&( x 10;后,t 的值為 0 29.( )若 a 和 b 類型相同,在計算了賦值表達式 a=b 后 b 中的值將放入 a 中,而 b 中的值不變30.( )在 C 程序中,%是只能用于整數運算的運算符31.( )在 C 語言中,邏輯“真”等價于不等于 0 的數32.( )C 語言中字符型、整型、實型都能用八進制表示33.( )在 VC 語言中,5 種基本數據類型的存儲空間長度的排列順序為:charintlong int floatdouble34.( )變量的
7、三要素是:變量名、變量類型、變量的值。 三、多選題三、多選題1. 目前程序設計采用的基本方法有:A面向過程的程序設計B面向對象的程序設計C面向問題的程序設計D面向機器的程序設計 第第 4 章章 順序結構順序結構一、選擇題一、選擇題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+b) ; C)a=58
8、,b=58 D)- i; 3、以下程序的輸出結果是:() main() int x=10,y=3;printf(“%dn”,y=x/y); A)0 B)1 )3 D)不確定 4、若變量已正確說明為 int 類型,要給 a,b,c 輸入數據,以下正確的輸入語句是:() 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、執行下面程序段后,c3 中的值是:()int c1=1 , c2=2 , c3;c3=c1/c2; A)0 B)1/2 C)0.5 D)
9、1 6、若執行以下程序段,其輸出結果是:()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 D) 4 9、若有以下定義和語句:() char
10、 c1=b,c2=e; printf(%d,%cn,c2-c1,c2-a+A)則輸出結果是:()A) 2,M B) 3,E C) 2,e D) 輸出結果不確定 10、以下程序的輸出結果是:() 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 類型,則輸出結果是:() sum=pad=5; pad=sum+,pad+,+pad; printf(%dn,pad);A) 7 B) 6 C) 5 D) 4 12、以下程序的輸出結果:() #includ
11、e 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 類型數據的范圍是-3276832767,下面程序段的輸出結果是:() short i =65536; printf(%dn,i);A) 65536 B) 0C) 1 D)超出取值范圍,無輸出結果 14、已知字符 A 的 ASCII 碼為十進制的 65,下面程序的輸出是:() main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(%d,%cn,ch1,ch2
12、); A) 67,D B) B,CC) C,D D) 不確定的值 15、若有定義和語句: char s; s=abcd; printf(%dn,s);則結果是:()A) 輸出 97 B) 輸出 aC) 輸出 adcb D) 編譯不能通過 16、若有定義:int x,y; char a,b,c; 并有以下輸入數據(此處代表換行,代表空格): 12 ABC 則能給 x 賦整數 1,給 y 賦數 2,給 a 賦字符 A,給 b 賦字符 B,給 c 賦字符 C 的正確程序段是:() A) scanf(x=%d y=%d,&x,&y); a=getchar(); c=getchar(); B) scan
13、f(%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、兩次運行下面的程序,如果從鍵盤上分別輸入 6 和 4,則輸出結果是:() main() int x; scanf(%d,&x); if (x+5) printf(%d,x) else printf(%dn,x-); A) 7 和 5 B) 6 和 3 C) 7 和 4 D) 6 和 4 18、若執行下面的程序
14、從鍵盤輸入 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、設 i 是 int 型變量,f 是 float 型變量,用下面的語句給這兩個變量輸入值scanf(i=%d,f=%f,&i,&f);為了把 100 和 765.12 分別賦給 i 和 f,則正確的輸入為:()A) 100765.12 B) i=100,f=765.12C) 100765.12 D) x=100,y=765.12 20、以下程序的輸出結
15、果是:() #include main() int n; printf(%dn,n); A) -1 B) 0 C) 1 D) 不確定 二、判斷題二、判斷題1( )在 C 語言中,實型數據在內存都中占 4 個字節。 2( )在 C 語言中,參加算術(+,-,*,/,%)運算的數據可以是任何類型的數據。 3( )若有定義和語句:int a;char c;scanf(%d,%c,&a,&c);當通過鍵盤輸入:10,A之后,則變量 a 中存放的是 10,變量 c 中存放的是A 。 4( )C 語言中,變量名只能是小寫字母表示,符號常量名可用大寫表示 5( )在 C 語言中,變量可以不要定義,直接使用
16、6( )一個 C 語言程序總是從主函數開始執行的 7( )注釋語句必須用/*和*/括起來,且只能位于某一語句的后面8( ) “a”和a均是占用 1 個字節的內存空間 的數據 三、多選題三、多選題 1.以下所列語句中,不合法的語句是:()A、a=1,b=2 B、+a;C、a=a+1=5;D、y= (int) a;E、a=b=c=10; 2.下列描述正確的是:()A. putchar 函數的作用是向屏幕輸出一個字符B. putchar 函數能在屏幕上輸出控制字符C. putchar(c)函數中,c 只能是字符型變量,不能是整型變量D. putchar 函數能在屏幕上輸出轉義字符Eputchar 函
17、數的使用需要包含“stdio.h”頭文件 3.下列描述正確的是:()A. getchar 函數只能接收一個字符B. getchar 函數得到的字符可以賦給一個字符變量C. getchar 函數得到的字符可以賦給一個整型變量D. getchar 函數得到的字符可以作為表達式的一部分Egetchar 函數是編程者自定義的函數 4.printf 函數中,關于格式字符描述正確的是:()A格式字符 o 表示以八進制無符號形式輸出整數B格式字符 u 表示以無符號十進制形式輸出整數C格式字符 x 表示以無符號十六進制形式輸出整數D格式字符 f 表示以實數形式輸出單、雙精度數E格式字符 e 表示以浮點數形式輸
18、出單、雙精度數 5.假設 intx,y,z;若從鍵盤給 x、y、z 輸入數據,下列不正確的輸入語句是:()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,&y,&z); 6.假設 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
19、.0D、10.022.033.0E、102233 7.若有 int a,c;char b;并通過 scanf(%f%c%f ,&a,&b,&c);對 a 賦于整數 10,b 賦予字符 M,c 賦予整數 33 的值,下面正確的輸入形式是:()(注:符號代表空格)A、10M33B、10M33C、10M33D、10M33E、10M33 8.若有 char ch;,下面可以對變量 c 正確賦值的語句是:()Ach =A;Bgetchar(ch);Cch = getchar(); Dscanf(“%c”,&ch);Eprintf(“%c”,ch=B); 9.下面屬于轉義符的有:( )A t B n C
20、%d D 376 E x20 10. 若 a 為整型變量,則下列表達式的值為 0 的是( ),Aa % a Ba != aC3/4 D3 & 0Ea = 0 第第 5、6 章章選擇與循環結構選擇與循環結構一、選擇題一、選擇題1.有以下程序 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); 執行后輸出結果是:() A)2 B)3 C)4 D)編譯時有錯,無結果 4.有以下程序 main() int i=0,s=0; do i
21、f (i%2) i+; continue; i+; s += i; while( ib?(ac?a:c):(b); A) 5 B) 4 C) 6 D) 不確定 6.以下程序中,while 循環的循環次數是:() main() int i=0; while(i10) if(i1) continue; if(i=5) break; i+; A) 1 B) 10 C) 6 D) 死循環,不能確定次數 7.以下程序的輸出結果是:() main( ) int a=0,i; for(i=1;i5;i+) switch(i) case 0: case 3: a+=2; case 1: case 2: a+=
22、3; default: a+=5; printf(%dn,a); A) 31 B) 13 C) 10 D) 20 8.以下程序的輸出結果是:() main() int a=4,b=5,c=0,d; d=!a & !b | !c; printf(%dn,d); A) 1 B) 0 C) 非 0 的數 D) -1 9.以下程序的輸出結果是:() #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)
23、11 10. 閱讀以下程序:( ) main() int x; scanf(%d,&x); if(x-5) printf(%dx); else printf(%dx+); 程序運行后,如果從鍵盤上輸人 5,則輸出結果是:()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;則該程序運行后,m 的值是:()A) 4 B) 3 C) 2 D) 1 12. 以下程序的輸出結果是:() main() int a, b; fo
24、r(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. 若執行以下程序時從鍵盤上輸入 9,則輸出結果是:() 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 循環執行的次數是:() A) 無限次 B) 有語法錯,不能執行 C) 一次也不執行 D)
25、 執行 1 次 15. 以下程序執行后 sum 的值是:() main() int i , sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum); A)15 B)14 C) 不確定 D)0 16. 有以下程序段 int x=3 do printf (%d,x -=2);while (!(-x); 其輸出結果是:() A) 1 B) 3 0 C) 1 -2 D) 死循環 17. 若變量 c 為 char 類型,能正確判斷出 c 為小寫字母的表達式是:() A) a=c= a)|(c= z) C) (a=c) D) (c= a)&(c1) & (z8;y=i )
26、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. 以下程序的輸出結果是:() main() int i; for(i=1;i=6;i+) if(i%2) printf(“#”);continue; printf(“*”); printf(“n”); A)#*#*# B)# C)* D)*#*#* 21. 以下程序的輸出結果是:() main() int i; for(i=A;i5) printf (“%dn” ,m); else printf (“%dn” ,m-); A )7 B )6 C)5 D)
27、4 23. 運行以下程序后,如果從鍵盤上輸入 china#回車 ,則輸出結果為:() #include main() int v1=0,v2=0; char ch ; while (ch=getchar()!=#) 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. 設有如下定義: int a=1,b=2,c=3,d=4,m=2,n=2; 則執行表達式:(m=ab)&(n=cd)后,n 的值為:()A)1 B)2 C)3 D)0
28、25. 以下程序的輸出結果是:() main() int i,j,x=0; for (i=0;i2;i+) x+; for(j=0;j3;j+) if (j%2) continue; x+; x+; printf(“x=%dn” ,x); A)x=4 B)x=8 C)x=6 D)x=12 26. 設 x 和 y 均為 int 型變量,則執行以下的循環后,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 型變量,則執行以下語句
29、后 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)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. 以下程序運行后,如果從鍵盤上輸人 5,則輸出結果是:()main( ) int x;scanf(%d,&x);if(x-5)printf(%d,x);elseprintf(%d,x+);A、3
30、B、4C、5 D、6 33. 以下程序段的輸出結果是:()int k, j , s ;for(k=2;k6;k+,k+) s=1;for (j=k;j6;j+)s+=j; printf(“%dn”,s); A)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. 以下程序段的輸出結果是:() int i, sum;for(i=1;i6;i+) sum+=sum;printf(“%dn”,sum);
31、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); A) 10 9 8 B) 9 8 7C) 10 9 8 7 D) 9 8 7 6 38. 以下程序段的輸出結果是:() int x=3; do printf(%3d,x-=2; while (!(-x);A) 1 B) 3 0 C) 1 -2 D) 死循環 39. 執行下面的程序后,a 的值為:() main() int a,b; for (a=1,b=1;a=20) brea
32、k; 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(%3d,num); 上面程序的輸出結果是:()A) 1B) 22C) 1 2 3D) 1234 41. 以下循環體的執行次數是:() 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 語言的循環語句 for,while,do-while 語句中,用于直接中
33、斷最內層循環的語句是:()A) switch B) continue C) break D) if 二、判斷題:二、判斷題:1.( )用 1 作 while 循環的判斷條件,則循環一次也不執行。 2.( )for 循環表達式的括號內的 3 個表達式均不可以省略。 3.( )語句 while(!E);中的條件!E 等價于 E=0。 4.( )語句 while(E);中的條件 E 等價于 E!=0。 5.( )若有 for(;),是指循環體執行 0 次。 6.( )程序有死循環的時候,上機編譯不能通過。 7.( )強制終止死循環可以使用 CTRL+BREAK 組合鍵。 8.( )執行 for(I=
34、0;I3;I+);后 I 的值為 2。 9.( )執行 for(I=0,j=0;Ib) m =a; Bif (a);Cif (a=b)=0) m=a; Dif (a=b;)=0) m=a; 3、 如果不加花括號表示 else 與 if 的配對關系,則 else 與 if 的匹配方法,不正確的是 Aelse 與它上面最遠的 if 配對 Belse 與它上面最近的 if 配對 Celse 與離它最近的 if 配對 D.else 與它上面最近的且沒有和其他 else 配對的 if 配對 4、 關于條件運算符的敘述正確的是A條件運算符的優先級別比關系運算符和算術運算符都低B條件運算符是 C 語言中惟一
35、的一個三目運算符C條件運算符的結合方向是“自右至左”D條件運算符可以替代任何 if 語句的功能 5、 關于 switch 語句敘述正確的是A語句中,case 的冒號后面允許沒有語句。Bswitch 語句中,每一個 case 的冒號后面都允許跟有多條語句。C在與 switch 語句配套的 case 語句中所使用的表達式可以是變量或常量 Dswitch 語句中,可以沒有 default 語句。 6、 在計數循環 for(表達式 1;表達式 2;表達式 3)中,可以省略的表達式是:()A表達式 1B表達式 2C表達式 3D三個表達式都可以 E一個都不能少 7、 下列語句段是死循環的是( ) An=1
36、00; 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 章章數組數組一、選擇題一、選擇題1、若有以下說明語句: int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d,g; 則數值為 4 的表達式是:() 。 A、ag-c B、a4 C、ad-c D、ad-c 2、假設 int 型變量占兩個字節的存儲單元,若有定義: int x10=0,2,4; 則數組 x 在內存中所占字節數為:(
37、) A、3 B、6 C、10 D、20 3、下列合法的數組定義是:() 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、若給出以下定義: char x=”abcdefg”; char y=a,b,c,d,e,f,g; 則正確的敘述為:() A、數組 x 和數組 y 等價 B、數組 x 和數組 y 的長度相同 C、數組 x 的長度大于數組 y 的長度 D、數組 y 的長度大于數組 x 的長度 5、下面程序段的輸出結果是:() int j; int x33=1,2,3,4,5,6,
38、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、下列程序運行后的輸出結果是:() main() int n3,t,j,k; for(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+; pr
39、intf(%dn, k); 執行后輸出結果是:()A、58 B、56 C、45 D、24 8、以下能正確定義數組并正確賦初值的語句是:()A、int N=5,bNN; B、int a12=1,3;C、int c2= 1,2,3,4; 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); 執行后輸出結果是:(C)A、4 5 6 B、2 5 8 C、3 6 9 D、7 8 9 10、以下能正確定義一維數組的選項是:()A、int num; B、i
40、nt num0.100; C) #define N 100 D) int N=100;int numN; int numN; 11、下列選項中正確的語句組是:()A、char s8; s=Beijing; B、char *s; s=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 %
41、dn,sizeof(a),sizeof(b); 執行后輸出結果是:()A、7 7 B、8 8 C、8 10 D、10 10 14、有以下程序的輸出結果是:()void swap1(int c) int t; t=c0;c0=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、有以下
42、程序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,0; printf(%dn,f(a); 執行后的輸出結果是:()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
43、,9,10,i; sort(aa,10); for(i=0;i10;i+) printf(%d,aai); printf(n); 其輸出結果是:()A、1,2,3,4,5,6,7,8,9,10, B、10,9,8,7,6,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
44、+) printf(%d,aai); printf(n); 執行后輸出結果是:()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、 以下程序的輸出結果是:()main() char cf35=AAAA,BBB,CC; printf(%sn,ch1); A、AAAA B、 BBB C、 BBBCC D、 CC19、 以下程序的輸出結果是:()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);
45、 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=9;j+=2)s=10*s+chj-0;printf(“%dn”,s); A、12ba56 B、66521 C、6 D、62 26、設已定義 char s=”NameAddress”n”;,則字符串 s 所占的字節數是:()A、19 B、18 C、15 D、14 27、設已定義 char c8=”Tianjin”和 int j,則下面的輸出函數調用中錯誤的是:()A、printf(“
46、%s”,c); B、for(j=0;j8;j+) printf(“%c”,cj);C、puts(c); D、for(j=0;j8;j+) puts(cj); 28、設已定義 char a10和 int j,則下面輸入函數調用中錯誤的是:()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、設已定義 char x8和 int j,為了給該數組賦值,下面語句中正確的是:()A、x8=”Turbo C”; B、x=” Turbo C”;C、x=”Turbo
47、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(strcmp(s2,s1)0)Dif(strcmp(s1,s2)0) 44.若有說明:int a4=0,0;,則下面不正確的敘述是:() 。A數組 a 的每個元素都可得到初值 0B二維數組 a 的第一維大小為 1C因為二維數組 a 中初值的個數不能被第二維大小的值整除,則第一維的大小等于所得商數再加 1,故數組 a的行數為 1D只有元素 a00和 a01可得到初值 0,其余元素均得不到初值
48、 45.下列語句中,不正確的是:() 。Achar str5=hello;Bchar str=h,e,l,l,o,0;Cchar str5=hi;Dchar str100=; 46.下面錯誤的初始化語句是:() 。Achar str=hello;Bchar str100=hello;Cchar str=h,e,l,l,o;Dchar str=hello; 47.定義了一維 int 型數組 a10后,下面錯誤的引用是:() 。Aa0=1;Ba10=2;Ca0=5*2;Da1=a2*a0; 48.下面的二維數組初始化語句中,錯誤的是:() 。Afloat b22=0.1,0.2,0.3,0.4;B
49、int a2=1,2,3,4;Cint a2= 1,2,3,4;Dfloat a22=0; 49.引用數組元素時,數組下標可以是:() 。A整型常量B整型變量C整型表達式D以上均可 50.定義了 int 型二維數組 a67后,數組元素 a34前的數組元素個數為:() 。A24B25C18D17 51.strlen(A0B0C)的結果為:() 。A0 B1 C2 D3 52.下面程序的運行結果是:() 。main()int a3=1,2,3,4,5,6;printf(%d,a11);A3 B4 C5 D6 53.下面程序的運行結果是:() 。main()char s120=Good!;char
50、s215=AB;printf(%d,strlen(strcpy(s1,s2);A20B15C5 D2 54.下面程序的運行結果是:() 。main()char s120=ABCDEF;int i=0;while(s1i+!=0)printf(%c, s1i+);AABCDEFBBDFCABCDE DBCDE 55.下面程序的運行結果是:() 。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.下面程序的運行結果是:() 。main()int x=22,33,44,5
51、5,66,77,88;int k,y=0;for (k=1;k=4;k+)if (xk%2=1)y+;printf(%d,y);A0B1C2D3 57.下面程序的運行結果是:() 。main()int a33=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.下面程序的運行結果是:() 。main()int i=0,n=0;char s10=298h01;for(i=0;si!=0;i+)if(si=0)n=n*10+(si-0);elsebreak
52、;printf(%dn,n); A298h01B29801C01D298 二、判斷題:二、判斷題:1.( )在程序中可以對數值數組中的數據進行整體使用。2.( )如果 strcmp(s1,s2)的返回值為一個負數,則表明字符串 s1 一定小于字符串 s2。3.( )字符數組的輸出不能一次性的整體輸出。4.( )用 scanf 函數輸入的字符串不可以帶空格。5.( )用 gets 函數輸入的字符串可以帶空格。6.( )實現兩個字符串的復制可以使用 str1=str2;語句。7.( )使用 strcpy 函數可以實現兩個字符串的復制。8.( )使用 strcat 函數可以實現兩個字符串的連接。9.
53、( )使用 strlen 函數可以求出一個字符串的實際長度(包含0字符) 。10.( )如有定義 char a=”student”;則數組 a 的長度為 7。11.( )如有定義 char a20;則可以通過 a=“I am a boy”;給 a 賦值。12.( )如有定義 int a23;則數組 a 的最后一個元素為 a12。13.( )如有定義 int a340; 則數組 a 的所有元素初值均為 0。14.( )C 語言中數組名實質上是數組的首地址,是一個變量地址,可對其進行賦值。15.( )構成數組的各個元素可以有不同的數據類型。16.( )若有說明:int a10;,則可以 a10引用
54、數組 a 的第 10 個元素。17.( )引用數組元素時,其數組下標的數據類型允許的是:整型常量或整型表達式。18.( )若有 int a10=6,7,8,9,10;,則是將 5 個初值依次賦給 a0至 a4。19.( )一個一維數組,它的每一個元素也是類型相同的一維數組時,便構成二維數組。20.( )在 C 語言中,允許用字符串來直接初始化字符數組。21.( )字符數組的輸出不能一次性的整體輸出。22. ( )使用 strcat 函數可以實現兩個字符串的復制。三、多選題三、多選題1、以下關于數組的描述中,正確的有:() 。在定義數組時,有時可以將該數組的維數省略數組名實質上是數組的首地址,是
55、一個變量地址,可對其進行賦值構成數組的各個元素可以有不同的數據類型有定義:int a3; 則定義了 a0、a1、a2三個數組元素在程序中可以對數值數組中的數據進行整體使用 2、以下關于數組的描述中,錯誤的有:() 。引用數組元素時,其數組下標的數據類型允許的是:整型常量或整型表達式可以通過數組名來整體引用一個數組在程序中可以對數值數組中的數據進行整體使用若有說明:int a10;,則可以 a10引用數組 a 的第 9 個元素若有說明:int a10;,則可以 a10引用數組 a 的第 10 個元素 3、以下關于數組的描述中,錯誤的有:() 。可以通過如下語句來完成對一個數組的輸入:int a1
56、0; scanf(%d,a);可以通過如下語句來完成對一個數組的輸入:int a10; scanf(%d,&a);若有 int a10=6,7,8,9,10;,則是將 5 個初值依次賦給 a0至 a4數組元素可以像普通變量一樣使用int a9; 則數組 a 的下標范圍是 1-9 4、以下關于數組的描述中,正確的有:() 。數組名實質上是數組的首地址,是一個常量,不能對其賦值在定義數組時,有時可以將該數組的維數省略一個一維數組,它的每一個元素也是類型相同的一維數組時,便構成二維數組如有定義 int a340; 則數組 a 的所有元素初值均為 0可以通過數組名來整體引用一個數組 5、以下關于數組的
57、描述中,錯誤的有:() 。如有定義 int a23;則數組 a 的最后一個元素為 a12一個一維數組,它的每一個元素也是類型相同的一維數組時,便構成二維數組若有說明:static int a33; 那么數組 a 中每個元素初值為 0在定義二維數組時,可以將該數組的兩個維數全部省略如有定義 char a20; 則可以通過 a=I am a boy; 給 a 賦值 6、若有說明:int a4=0,0;,則下面正確的敘述有:() 。數組 a 的每個元素都可得到初值 0二維數組 a 的第一維大小為 1因為二維數組 a 中初值的個數不能被第二維大小的值整除,則第一維的大小等于所得商數再加 1,故數組 a
58、 的行數為 1只有元素 a00和 a01可得到初值 0,其余元素均得不到初值只有元素 a11和 a12可得到初值 0,其余元素均得不到初值 7、以下關于數組的描述中,正確的有:() 。若有定義 char a=hello;,則數組 a 的長度為 6有定義 char a3; 則定義了 a1、a2、a3三個數組元素構成字符數組的各個元素必須是字符類型的數據可以通過數組名來整體引用一個數組設有數組定義 char array =China; 則數組 array 所占的空間為 5 個字節 8、以下關于數組的描述中,正確的有:() 。在 C 語言中,允許用字符串來直接初始化字符數組若有定義 char a20
59、;,則可以通過 a=I am a boy;給 a 賦值若有 char a10=1,2,3;,則是將 3 個初值依次賦給 a1至 a3構成字符數組的各個元素必須是字符類型的數據數組名實質上是數組的首地址,是一個常量,不能對其賦值 9、以下關于數組的描述中,錯誤的有:() 。字符數組的輸出不能一次性的整體輸出若有 char a10=1,2,3;,則是將 3 個初值依次賦給 a0至 a2構成字符數組的各個元素可以是不同數據類型的元素構成字符數組的各個元素必須是字符類型的數據若有定義 char b=hello;,則數組 b 的長度為 6 10、 下列語句中,正確的有:() 。char str5=hel
60、lo;char str=h,e,l,l,o,0;char str5=hi;char str100=;char str3=this; 11、 函數調用 strcat(strcpy(str1,str2),str3)的功能,以下說法錯誤的有:() 。將串 str1 復制到串 str2 中后在連接到串 str3 之后將串 str1 連接到串 str2 之后再復制到串 str3 之后將串 str2 復制到串 str1 中后再將串 str3 連接到串 str1 之后將串 str2 連接到串 str1 中后再將串 str1 復制到串 str3 中將串 str2 連接到串 str1 中后再將串 str3 復制
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論