C語言考試題庫及答案_第1頁
C語言考試題庫及答案_第2頁
C語言考試題庫及答案_第3頁
C語言考試題庫及答案_第4頁
C語言考試題庫及答案_第5頁
已閱讀5頁,還剩62頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、C 語言理論上機考試選擇題部分(共200 題)1、下面程序的輸出是 _D_#includeA) 17B) 18C) 23D) 24void main()11、下面程序的輸出的是 _C_. int k=11;#includeprintf(k=%d,k=%o,k=%xn,k,k,k);void main()int x=10,y=3;A) k=11,k=12,k=11B) k=11,k=13,k=13printf(%dn,y=x/y);C) k=11,k=013,k=0xbD) k=11,k=13,k=bA) 0B) 1C) 3D) 不確定的值2、在下列選項中 ,不正確的賦值語句是 _D_.A) +

2、t;B) n1=(n2=(n3=0);12、已知字母 A 的 ASCII碼為十進制的65,下面程序的C) k=i=j;D) a=b+c=1;輸出是 _A_.#include3、下面合法的 C 語言字符常量是 _A_.void main()A) tB) AC) 65D) Achar ch1,ch2;ch1=A+5-3;4、表達式 : 10!=9 的值是 _D_.ch2=A+6-3;A) trueB)非零值C) 0D) 1printf(%d,%cn,ch1,ch2);5、C 語言提供的合法的數據類型關鍵字是_B_.A) 67,DB) B,CC) C,DD) 不確定的值A) DoubleB) sho

3、rtC) integerD) Char13、若要求在if 后一對圓括號中表示a 不等于 0 的關6 、 字符 (char)型 數據 在微 機 內存 中的 存儲 形式是系,則能正確表示這一關系的表達式為_D_._D_.A) a0B) !aC) a=0D) aA) 反碼B) 補碼C) EBCDIC碼D) ASCII 碼14、以下程序的輸出結果是 _D_.7、 C 語言程序的基本單位是_C_.#includeA) 程序行B) 語句C)函數D) 字符void main() int x=10,y=10;8、設 inta=12,則執行完語句a+=a-=a*a后,a 的值是printf(%d %dn,x-,

4、-y);_D_A) 552B) 264C) 144D) -264A) 10 10B)99C)910D)1099、執行下面程序中的輸出語句后,輸出結果是 _B_.15、設有如下定義 :#includeint x=10,y=3,z;void main()則語句int a;printf(%dn,z=(x%y,x/y);printf(%dn,(a=3*5,a*4,a+5);的輸出結果是 _D_.A) 1B) 0C) 4D) 3A) 65B) 20C) 15D) 1016、為表示關系 x yz,應使用 C 語言表達式 _A_.10、下面程序的輸出是 _B_.A) (x=y)&(y=z)B) (x=y)A

5、ND(y=z)#includeC) (x=y=z)D) (x=y) & (y=z)void main()int x=023;17、 C 語言中非空的基本數據類型包括_B_.printf(%dn,-x);A) 整型 ,實型 ,邏輯型B) 整型 ,實型 ,字符型可編輯范本C) 整型 ,字符型 ,邏輯型22 、 已 知a=12, 則 表 達 式a+=a-=a*=a的 結 果 是D) 整型 ,實型 ,邏輯型 ,字符型_A_.18、若 x 和 y 都是 int 型變量 ,x=100,y=200, 且有下面的A) 0B) 144C) 12D) -264程序片段 :23、若已定義int a,則表達式a=10

6、,a+10,a+ 的值是printf(%d,(x,y);_B_.上面程序片段的輸出結果是_A_.A) 20B) 10C) 21D) 11A) 200B) 100C) 100 200D) 輸出格式符不夠,輸出不確定的值24、閱讀下面的程序#include19、閱讀下面的程序void main()#includevoid main()int i,j;scanf(%3d%2d,&i,&j);char ch;printf(i=%d,j=%dn,i,j);scanf(%3c,&ch);printf(%c,ch);如果從鍵盤上輸入1234567, 則程序的運行結果是_D_.如果從鍵盤上輸入A) i=123

7、,j=4567B) i=1234,j=567abcC) i=1,j=2D) i=123,j=45則程序的運行結果是_A_.A) aB) bC) cD) 程序語法出錯25、下面程序的輸出結果是_D_.#include20、閱讀下面的程序voidmain()#includevoid main()int a=-1, b=4, k;k=(+a=0)&(b-=0);int i,j;printf(%d,%d,%dn,k,a,b);i=010;j=9;A) 1,1,2B) 1,0,3C) 0,1,2D) 0,0,3printf(%d,%d,i-j,i+j);26、下面程序的輸出結果是_A_.則程序的運行結果

8、是_D_.#includeA) 1,19B) -1,19C) 1,17D) -1,17void main()21、閱讀下面的程序int a=5,b=3;#includefloat x=3.14, y=6.5;void main()printf(%d,%dn,a+b!=a-b,x=(y-=6.1);int i,j,m,n;A) 1,0B) 0,1C) 1,1D) 0,0i=8;j=10;m=+i;27、執行下面程序段后,輸出結果是 _A_.n=j+;int a;printf(%d,%d,%d,%d,i,j,m,n);int b=65536;a=b;程序的運行結果是_C_.printf(%dn,a

9、);A) 8,10,8,10B) 9,11,8,10A) 65536B) 0C) -1D) 1C) 9,11,9,10D) 9,10,9,1128、若有以下定義和語句:可編輯范本int a=010, b=0x10, c=10;字符組成 ,且第一個字符 _C_.printf(%d,%d,%dn,a,b,c);A)必須為字母則輸出結果是 _B_.B)必須為下劃線A) 10,10,10B) 8,16,10C) 8,10,10D) 8,8,10C)必須為字母或下劃線29、已知有 double 型變量 x=2.5,y=4.7, 整型變量 a=7,D)可以是字母 ,數字或下劃線中的任意一種則表達式x+a%

10、3*(int)(x+y)%2/4 的值是 _B_.39、設有說明 :char w; int x; float y; double z;則表達式 :A) 2.4B) 2.5C) 2.75D) 0w*x+z-y 值的數據類型是 _D_.A) floatB) charC) intD) double30、若已定義x和 y是整型變量 ,x=2;, 則表達式y=2.75+x/2的值是 _C_.40、一個 C 語言的執行是從 _A_.A) 5.5B) 5C) 3D) 4.0A)本程序的主函數開始 ,到本程序的主函數結束B)本程序的第一個函數開始,到本程序的最后一個函31、以下程序的輸出結果是 _D_.數結束

11、#includeC)本程序的主函數開始 ,到本程序的最后一個函數結voidmain()束D)本程序的第一個函數開始,到本程序的主函數結束int a=12, b=12;printf(%d,%dn,-a,+b);41、設 a 為整型變量 ,不能正確表達數學關系10a15的 C 語言表達式是 _A_.A) 10,10B) 12,12C) 11,10D) 11,13A)10a10&a15D) !(a=15)是 ._A_A) 14B) 15C) 11D) 1242、下列程序執行后的輸出結果是_C_.#include 33、若 d 為 double 型變量 ,則表達式 d=1,d+5,d+ 的值void

12、main( )是 _D_. int a=5,b=60,c;A) 1B) 6.0C) 2.0D) 1.0if (ab)c=a*b;printf(%d*%d=%dn,b,a,c);34、表達式 5!=3 的值是 _D_.elseA) TB) 非零值C) 0D) 1c=b/a;printf(%d/%d=%dn,b,a,c);35、若有定義 int a=12,n=5, 則表達式 a%=(n%2)運算后 ,aA) 60/5=12B) 300C) 60*5=300D) 12的值 _A_.A) 0B) 1C) 12D) 643、如果 c 為字符型變量,判斷c 是否為空格不能使用_A_.( 假設已知空格 AS

13、CII 碼為 32)36、若有定義 int x=3,y=2和 floata=2.5,b=3.5,則表達A) if(c=32)B) if(c=32)式 :(x+y)%2+(int)a/(int)b 的值是 _D_.C) if(c=40)D) if(c= )A) 0B) 2C) 1.5D) 144、運行下面程序時, 若從鍵盤輸入 3,5 ,則程37、在 C 語言中 ,以下敘述不正確的是_A_.序的輸出結果是 _D_.A)在 C 程序中 ,無論是整數還是實數,都能被準確無誤#include 的表示void main( )B)在 C 程序中 ,變量名代表存儲器中的一個位置C)靜態變量的生存期與整個程序

14、的生存期相同int x,y;D) C 語言中變量必須先定義后引用scanf(%d,%d,&x,&y);if (x=y)38、 C 語言中的變量名只能由字母,數字和下劃線三種printf(x=y);可編輯范本else if (xy)else if (ay);else b=10.0;elseprintf(%fn,b);printf(xy);A) 0.000000B) 0.500000A) 33C) xyD) xyC) 1.000000D) 0.25000045 、 運 行 下 面 程 序 時 , 若 從 鍵 盤 輸 入 數 據 為48、執行下面程序后,運行結果是 _A_.6,5,7 ,則輸出結果是

15、_C_.#include #include void main( )void main( ) int x=41,y=1; int a,b,c;if (x%3=0 & x%7=0)scanf(%d,%d,%d,&a,&b,&c); y+=x;printf(y=%dn,y);if (ab)elseif (ac)y=x;printf(y=%d,y);printf(%dn,a);elseA) y=41B) y=43C) y=42D) y=1printf(%dn,c);else49、運行下面程序時,從鍵盤輸入12,34,9 ,則if (bc)輸出結果是 _A_.printf(%dn,b);#includ

16、e elsevoid main( )printf(%dn,c); int x,y,z;scanf(%d,%d,%d,&x,&y,&z);A) 5B) 6C) 7D) 不定值if (xy)if (yz)printf(%dn,z);46、執行下面程序時,若從鍵盤輸入2 ,則程序else printf(%dn,y);的運行結果是_A_.else if (xz)printf(%dn,z);#include else printf(%dn,x);void main( ) int k; char cp;A) 34B) 12C) 9D) 不確定的值cp=getchar( );if (cp=0 & cp=a

17、& cp=f)#include k=cp-a+10;void main( )elsek=cp-A+10; char ch;printf(%dn,k);ch=getchar( );switch(ch)A) 2B) 4C) 1D) 10 case H:printf(Hello!n);case G:printf(Good morning!n);47、運行下面程序時,從鍵盤輸入 2.0 ,則輸出default:printf(Bye_Bye!n);結果是 _B_.#include void main( )A) Hello!B) Hello! float a,b;Good Morning!scanf(%f

18、,&a);C) Hello!D) Hello!if (a0.0) b=0.0;Good morning!Bye_Bye!else if (a0.5) & (a!=2.0)b=1.0/(a+2.0);Bye_Bye!可編輯范本 int x=0,y=1,z=0;51、執行下列程序段后的輸出結果是_A_.if (x=z=y)int x=1,y=1,z=1;x=3;x+=y+=z;printf(%d,%dn,x,z);printf(%dn,x=A57、假定等級和分數有以下對應關系:& ch=Z)?ch+32:ch的值是 _B_.等級: A分數: 85 100A) ZB) aC) zD) A等級: B分

19、數: 6084等級: C分數: 60 以下53、下面程序的輸出結果是_C_.對于等級grade 輸出相應的分數區間, 能夠完成該功能#include 的程序段是 _D_.void main( )A) switch (grade) int x=8,y=-7,z=9;if (xy)case A:printf(85-100n);if (y0) z=0;case B:printf(60-84n);else z-=1;case C:printf(60 以下 n);printf(%dn,z);default:printf( 等級錯誤 !n);A) 8B) 1C) 9D) 0B)switch (grade)

20、54、運行下面程序時,若從鍵盤輸入 5 , 則程序的case A:printf(85-100n);break;輸出結果是 _B_.case B:printf(60-84n);#include case C:printf(60 以下 n);void main( )default:printf(等級錯誤 !n); int a ;scanf(%d,&a);C)switch (grade)if (a+5)printf(%dn,a);else printf(%dn,a-) ;case A:printf(85-100n);break;case B:printf(60-84n);break;A) 7B) 6

21、C) 5D) 4case C:printf(60 以下 n);default:printf( 等級錯誤 !n);55、運行下面程序時,若從鍵盤輸入3,4 ,則程序的輸出結果是_B_.D) switch (grade)#include void main( )case A:printf(85-100n);break; int a,b,s;case B:printf(60-84n);break;scanf(%d,%d,&a,&b);case C:printf(60 以下n);break;s=a;default:printf( 等級錯誤 !n);if (sb) s=b;s=s*s;printf(%d

22、n,s) ;58、能夠完成如下函數計算的程序段是_B_. -1x056、下列程序的執行結果是_D_.A) y=1;B) if (x=0)#include if(x!=0)if(x0) y=1;void main( )if(x0) y=1;else y=0;可編輯范本else y=0;else y=-1;if (!c) x=15;C) y=0;D) y=-1;else x=25;if (x=0)if (x0) y=1;printf(d=%dn,d);if (x0) y=1;else y=0;else y=-1;A) d=20B) d=10C) d=15D) 2559、有如下程序62、有如下程序:

23、#include #include void main( )void main( ) float x=5.0,y; int a=2,b=-1,c=2;if(x0.0) y=0.0;if (ab)else if (x10.0) y=1.0/x;if (b0) c=0;else y=1.0;else c+;printf(%fn,y);printf(%dn,c);該程序的輸出結果是_C_.該程序的輸出結果是_C_.A) 0.000000B) 0.50000A) 0B) 1C) 2D) 3C) 0.200000D) 1.00000063、下列程序執行后的輸出結果是_B_.60、以下程序的執行結果是_B

24、_.#include #include void main( )void main( ) int x,y=1,z; int x=1,y=0;if (z=y)0)x=4;switch (x)else if (y=0) x=5;else x=6;case 1:printf(%d,%dn,x,y);switch (y)A) 4,1B) 6,1C) 5,0D) 出錯信息case 0:printf(firstn);break;case 1:printf(secondn);break;64、有如下程序#include case 2:printf(thirdn);void main( ) int x=1,a

25、=0,b=0;switch(x)A) firstB) firstsecondthirdcase 0: b+;C) firstD) secondcase 1: a+;thirdcase 2: a+;b+;61、以下程序的執行結果是_A_.printf(a=%d,b=%dn,a,b);#include voidmain( )該程序的輸出結果是_A_. int a,b,c,d,x;A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=2a=c=0;b=1;65、下面程序的輸出結果是_C_.d=20;#include if (a) d=d-10;void main( )else

26、 if(!b) int a=-1,b=1,k;可編輯范本if (+a0) & (b-=0)A) 7B) 6C) 5D) 4printf(%d %dn,a,b);else71、以下程序段運行結果是 _A_.printf(%d %dn,b,a);int x=1,y=1,z=-1;x+=y+=z;A)-11B)01C)10D)00printf(%dn,xy?y:x);66、假定 w、x、y、 z、 m 均為 int 型變量,有如下程A) 1B) 2C) 4D)不確定的值序段:72、有以下程序w=1;x=2;y=3;z=4;#include m=(wx)?w:x;m=(my)?m:y;m=(m100)

27、 printf(%dn,a100);A) 2,1B) 3,2C) 4,3D) 2,-1else printf(%dn,a=100);73、運行下面程序時,若從鍵盤輸入數據為123 ,A) a=100B) 100C) 0D) 1則輸出結果是 _C_.#include stdio.h68、若執行下面的程序從鍵盤上輸入9,則輸出結果void main()是 ._B_ int num,i,j,k,place;#include scanf(%d,&num);void main( )if (num99)int n;place=3;scanf(%d,&n);else if(num9)if (n+10) pr

28、intf(%dn,n);place=2;else printf(%dn,n-);elseA) 11B) 10C) 9D) 8place=1;i=num/100;69、以下程序輸出結果是 _D_.j=(num-i*100)/10;#include k=(num-i*100-j*10);void main( )switch (place) int m=4; case 3: printf(%d%d%dn,k,j,i);if (+m5) printf(%dn,m-);break;else printf(%dn,-m);case 2: printf(%d%dn,k,j);break;A) 7B) 6C)

29、 5D) 4case 1: printf(%dn,k);70、若執行下面的程序從鍵盤上輸入5,則輸出結果是 .#include A) 123B) 1,2,3C) 321D) 3,2,1void main( )int x;74、執行下列程序后的輸出結果是_D_.scanf(%d,&x);#include if (x+5) printf(%dn,x);void main( )else printf(%dn,x-); int k=4,a=3,b=2,c=1;printf(%dn,ka?k:cb?c:a);可編輯范本A) 4B) 3C) 2D) 180、設 x 、y 、z 、t 均為 int 型變量

30、,則執行以下語句后,t 的值為 _C_.75、以下條件表達式中能完全等價于條件表達式x 的x=y=z=1;是 _B_.t=+x | +y & +z;A) (x=0)B) (x!=0)C) (x=1)D) (x!=1)A) 不定值B) 4C) 1D) 076、若運行下面程序時,給變量 a 輸入 15,則輸出結果是81、以下程序段_C_._A_.x=-1;#include dovoid main( ) int a,b;x=x*x;scanf(%d,&a);while (!x);b=a15?a+10:a-10;A)是死循環B)循環執行兩次printf(%dn,b) ;C)循環執行一次D) 有語法錯誤

31、A) 5B) 25C) 15D) 1082、對下面程序段描述正確的是_B_.int x=0,s=0;77、運行下面程序后,輸出是 _D_.while (!x!=0) s+=+x;#include printf(%d,s);void main( )A) 運行程序段后輸出0 int k=-3;B) 運行程序段后輸出1if (k=0) printf(*n);C) 程序段中的控制表達式是非法的else printf(#n)D) 程序段循環無數次A) #83、下面程序段的輸出結果是_C_.B) *x=3;C) #*do y=x-;D) 有語法錯誤不能通過編譯if (!y) printf(*);conti

32、nue;printf(#);78、執行下面程序的輸出結果是_C_. while(x=2);#include A) #B) #*C) 死循環D) 輸出錯誤信息void main( ) int a=5,b=0,c=0;84、下面程序的運行結果是_B_.if (a=a+b) printf(*n);#includeelseprintf(#n);void main( ) int a=1,b=10;A) 有語法錯誤不能編譯doB) 能通過編譯,但不能通過連接 b-=a;a+;C) 輸出* while(b-0);D) 輸出#printf(%d,%dn,a,b);79、為了避免嵌套的if-else 語句的二義

33、性,C 語言規A) 3,11B) 2,8C) 1,-1D) 4,9定 else總是與 _C_組成配對關系 .A) 縮排位置相同的if85、下面程序段的運行結果是_B_.B) 在其之前未配對的ifint n=0;C) 在其之前尚未配對的最近的ifwhile (n+=2)D) 同一行上的ifprintf(%d,n);可編輯范本A) 012B) 123C) 234D) 錯誤信息do +a;86、下面程序段的運行結果是_D_.+a;int x=0,y=0;b+=a;while (x15) y+,x+=+y; while(a9);printf(%d,%d,y,x);printf(%dn,b);A) 20

34、,7B) 6,12C) 20,8D)8,2087、下面程序的運行結果是_B_.A) 34B) 24C) 26D) 25#include91、下面程序段的運行結果是_D_.void main()for(i=1;i=5;) int s=0,i=1;printf(%d,i);while (s=10)i+; s=s+i*i;A) 12345B) 1234C) 15D) 無限循環i+;92、下面程序的輸出結果是_B_.printf(%d,-i);#includevoidmain( )A) 4B) 3C) 5D) 6 int n=4;while (n-) printf(%d ,n-);88、函數pi 的功

35、能是根據以下近似公式求值:_C_A)20B)31C)321D)210( * )/6=1+1/(2*2)+1/(3*3)+.+1/(n*n)請填空,完成求的功能。93、以下程序運行后的輸出結果是_D_.#include #includevoid main( )void main() double s=0.0; int i,n; int i=10,j=0;scanf(%ld,&n);dofor(i=1;i2);s=(sqrt(6*s);printf(%dn,j);printf(s=%e,s);A)50B)52C)51D)8A) 1/i*iB) 1.0/i*iC) 1.0/(i*i)D) 1.0/(

36、n*n)94、以下函數的功能是:求x 的y 次方,請填89、下面程序段的運行結果是_B_.空._C_for(x=10;x3;x-)#include if(x%3) x-;void main()-x; -x; int i,x,y;printf(%d ,x);double z;scanf(%d %d,&x,&y);A) 6 3B) 7 4C) 6 2D) 7 3for(i=1,z=x;iy;i+)z=z*_ ;90、下面程序的運行結果是_D_.printf(xy=%en,z);#includevoid main( )A) i+B) x+C) xD) i int a,b;a=-1;95、有如下程序b

37、=0;#include可編輯范本void main()A) -1B) 1C) 8D) 0 int x=23;do100、有如下程序 printf(%d,x-);#includewhile(!x);void main( ) int n=9;該程序的執行結果是 _B_while(n6) n-;printf(%d,n);A) 321B) 23C) 不輸出任何內容D) 陷入死循環該程序段的輸出結果是 _B_.96、以下程序段的執行結果是_C_.A) 987B) 876C) 8765D) 9876int i,j,m=0;101、有如下程序for(i=1;i=15;i+=4)#includefor(j=3

38、;j=19;j+=4)void main( )m+; int i,sum=0;printf(%dn,m);for(i=1;i=3;sum+) sum+=i;A) 12B) 15C) 20D) 25printf(%dn,sum);97、下面程序的輸出結果是_A_.該程序的執行結果是_C_.#includeA)6B)3C) 死循環D)0void main( ) int i;102、以下循環體的執行次數是_D_for(i=1;i6;i+)#include if (i%2!=0) printf(#);continue;void main( )printf(*); int i,j;for(i=0,j=1; i=j+1; i+=2, j-)printf(n);printf(%d

溫馨提示

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

評論

0/150

提交評論