c語言復(fù)習試題_第1頁
c語言復(fù)習試題_第2頁
c語言復(fù)習試題_第3頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言期末復(fù)習試卷、單項選擇題:1. 在計算機上可以直接運行的程序是C 。A. C語言源程序B.匯編語言程序C.機器語言程序D.高級語言程序2. 以下敘述正確的是C 。A. #define是C語句,但printf不是 B. printf是C語句,但#define不是C. #define和printf都不是C語句D. #define和printf都是C語句3. C語言基本的數(shù)據(jù)類型包括C oA.整型、實型、邏輯型B.整型、實型、字符串型C.實型、字符型、枚舉類型 D.整型、實型、指針類型4. 下列數(shù)據(jù)類型中不屬于構(gòu)造類型的是C oA.數(shù)組型B.結(jié)構(gòu)型C.枚舉型D.共用型5. 設(shè)int類型的數(shù)據(jù)長

2、度為2個字節(jié),貝IJ unsigned int類型數(shù)據(jù)的取值范圍是C A. 0 至 255 B. -256 至 255 C. 0 至 65535 D. -32768 至 327676. 合法的常量是C 。A. 2e3.5 B. -e-3 C. - .5 e-3 D. 'xfg'7. 合法的字符常量是C oD. ”0”A. '084' B. 'ab' C. ,x4a,8. 以下C組中的標識符都是合法的C語言用戶標識符。A 3abB. classC. printfD b3io.算術(shù)表達式描述? C_10為C語言表達式,不正確的INTastgradec

3、harlunsigned9下列運算符的優(yōu)先級按從高到低的順序是.cA ? +&&!= B. !=? + && C.Jo+ ? != &&D. +!=&&A. a/b/c B. a/(b*c) C. a/b*c D. (a/b)/c 11.若有定義:int x=4 ;則表達式x +二 x *二 x+1的值為C A. 5B. 20C. 40D.無答案12.已知a=10, b=20 ,WJ表達式!a < b的值是C A.真B.假 C. D.1 013. 在while ( !x )中,! x與下面條件C等價。A. x !=1B. x

4、= 1C. x = =0D. x !=014. 若有定義: int i,j,k, *p ; float a, b; C 是不合法的賦值語句。A. +i; B. k = p = = &j ; C. a = a+b=l;D. k= (i = j =0 );15. 若有定義: int i, j, k, *p; float a, b; C 是正確的表達式。A. a%3 B. y=float (i) C. b=(float)i*(a=3) D. p = i16. 若有定義 :float a=3. 0, b=4. 0, c 二 5. 0;則表達式 l/2*(a+b+c) 的值為 C 。A. 6.0

5、B. 6C. 0.0D.無答案17. 數(shù)學關(guān)系式xWyWz可用C語言表達式C表示。A. x<=y<=z B. x<=y AND y<=z C. x<=y && y<=z D. (x<=y)&(y<=z)18. 若有定義和語句: int sp; s=p=5; p=s+,+p, p+2, p+; 則 p 的值是 C 。A. 9B. 8C. 7D. 619. 若有定義:int a, b;則表達式 a=4, b=3, a+b+2, a+, a+b+2 的值為C。A. 12B. 11C. 10D.無答案20. 若有定義和語句:cha

6、r a=3, b=6, c; c =aAb?2;則c的二進制值是C 。A. 00011000 B. 00011100 C. 00011011 D. 0001010021. 若有定義和語句: int a=10, b=5, x; char c='A' x=a&b&& cv'a' 則 x 值是 C 。A.真 B.假 C. 0 D. 122. 若有定義和語句: int a=4; floatx=7.5, y=4.8; 則表達式: a+(int) (int) (x)+y)? (int) (x-y) 的值為 C A. 1B. 2C. 3D. 423.

7、printf C%d, %d, %dn J, 010, 0x10, 10);輸出結(jié)果是 C 。A. 10, 10, 10 B. 16, & 10C. 8, 16, 10 D. 無答案24. 下面程序段輸出結(jié)果是 C Kint k=17;printf( ,%d, %o, %xn ”k, , k, k);A. 17,17,17 B. 17,021,0x11 C. 17,21,11 D. 17,0x11,02125. 下面程序段輸出結(jié)果是 C odouble d;float f; long 1; int i;i 二 f 二二 d=20/3. 0;printf ("% ( i, %l

8、d, %f, %fn", i, 1, f, d);A. 6,6,6. 000000, 6. 000000 B. 6,6,6. 666667, 6. 666667 C. 6,6,6. 000000, 6. 666667 D. 6,6,6. 666667, 6. 000000#x=%d x);y 二(x+3. 8)/5. 0 ;26. 下面程序段的輸岀結(jié)果是double d=3. 2; int x, y ; x=l. 2;A. 3B. 3.22 if(x>y面不正確的if語句7. if( x >y ); printf ( % d", x);elseprin tf(&

9、#39;%d", y);28.與下述程序段不等價的是Cifx=l; else y=2;(a<=b )if( a>b )printf (elseprintf(C Lprintf (,s%dn”)d*y);C. 0 D. 3.07、(假設(shè)x,y已有確切的x=y ) x+=yD. if( x<y) x+ ; y+; n”,y);31.若有定義:float w; int a, b;則合法的A. switch( w)case 1.0:printf (" *n");A. x=l; printfif( ie<=b y=2; ( "#x=%dn&

10、quot;,case 2. 0:printf *n");switch 語句是C 。case 1 printf (” *n");if( a>b ) y二 2; printf(“ *y=%d n ”, y ) ; else case 2 prinf x=*;npri ntfC. if( a<=b) x 二 1; printf (“ #(=% x);else y=2; printf(“ *yi=%d/ );D. if( a<=b ) x=l; else y=2;if( a<=b ) printf("#x=%dn", x);else pr

11、intf29.若有定義和語句,則x的值是Cint a=8, b 二 7, c=6, x=l;if(a>6 )if ( b>7 )if( c>8 ) x 二 2; else x=3 ;A. 3 B. 2 C. 1 D. 0B. switch( a+b )switch 語句中的各個case 條件不A.字符常B.值大于等于零的整型常量C.般表達D.值小于零的整型常量case 1 :printf (w n”); default :case 2: printf (n") ;* default :printf( n” ;)case l+2:printf( ” printf (

12、n");n )n );32. 若有定義和語句:int i=10; switch (i)case 9:i+=l;case 10:i+=l;case 11 :i+=l; break ;case 12:i+=l;default :i+=l;則i的值是C oA. 14B. 13C. 12D. 無答案33. 下面程序的輸出結(jié)果是C ovoid main()int x=l, y=0, a=0, b=0 ;switch( x)case 1 : switch( y )case 0 a+; break ; case 1: b+; break ;case 2 : a+; b+; break;case 3

13、 : a+; b+;printf( "a=%d, b=%dnAA, a , b );1A a=l, b b=0 .b=lC a=2,D. 0=2 , b=234. 以下敘述正確的是CA. do-while構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替B. do-while語句構(gòu)成的循環(huán)只能用break語句退出C. 在do-while中,當while后表達式的值為零時結(jié)束循環(huán)D. 在do-while語句中,當while后的表達式的值為非零時結(jié)束循環(huán)35. 下面程序的輸出結(jié)果是C oint i, a, b, c, d, e;for( i=l; i<=5; i+ )a=b=c=d=e=0;

14、switch( i)ca1a=l;se2b=2; cotinuse,e;ca3c=3;seca4d=4; break;seca5e=5;se :printf (”n" , a, b, c, d, e ); A. 1,0,0,0,0B. 1,2,0,0,0C. 0,0,3,4,0D.無答案0,2,0,0,00,2,0,0,00,0,0,4,00,0,3,0,00,0,3,4,00,0,0,0,50,0,0,4,00,0,0,4,00,0,0,0,50,0,0,0,536. 卜 ?面程療;的輸出結(jié)果是C void main()int x=10, y=10, i;for( i=0; x &

15、gt;8; y= +i) piintf(%3d%3c" ”,x, y );A. 10192B. 9876C. 101091D. 1099037. 若有定義:int i,k;則 for 循環(huán)語句:for( i=0, k=-1; k=l; i+, k+);是C 。A.循環(huán)零次B.循環(huán)1次C.循環(huán)無窮多次D.循環(huán)結(jié)束條件不合法38. 若有定義和語句:int i;for (i=l; i<=3; i+); printf ( % d"則輸出結(jié)果是C A. 123B. 3C. 4D.無答案void main()int i, j;for( i 二 0, j 二 1; i二 j+1;

16、i+ 二 2, j ) printf ( <<%dns, i) ;A. 3 B. 2 C? 1 D. 040.若有定義:int k;下面不會出現(xiàn)死循環(huán)的程序段是CA. k=3379;B. k=100;C. k=0;D. for (;);while( k%2= = k+%2)while( 1 )do +k; while (k>0);k+; k = k%100+l ; if (k>100) break; 41. 若有 : int x=3;doprintf("%3d'',x_ =2);)while (! (一-x);則輸出結(jié)果是C A. uolB.

17、uu3uo0C. uolo-2D. 死循環(huán)42. 下面程序的輸出結(jié)果是 C K void main()int i;for( i=l; i<=5; i+ )if( i%2 ) printf ( ” * ” );else continue;print") ;printf CW 5 ); 一、 42 題A. *#*#$B. #*#*#*$C.D.*#*#*#*#*$43. 下面程序的輸出結(jié)果是 C ovoid main()int k, j, x=0;for( k=l; k<=2; k+ )x+;for(j=k;j<=5;j 卄)if(j%3= = 0) break;X+

18、;X+;1printf ( ” n”x, );A. 13B. 3C. 7D.無答案44. 對數(shù)組a的正確定義為C oint n, an;scanf( "%d", &n );A. int a(10); B. int n=10, an; C. #define SIZE 10D.int aSIZE;45. 若有定義和語句: double r=99, *p=&r; *p=r; 則正確的敘述是 C 。A. 以上兩處的 *p 含義相同,都是給指針變量 p 賦值B. 在“double r=99, *p=&r;中的”*p=&r; ”是把r的地址賦給p所指的存

19、儲單元C. 語句” *p=r; ”取變量r的值放回r中D. 語句” *p=r;"把變量I?的值賦給指針變量 p46. 下面程序的輸出結(jié)果是 C。void main()int a=100, *p;p 二*p+=50;printf ( ” n”,a+*p); A. 150 B. 250 C. 300D. 10047. 下面程序的輸出結(jié)果是 C Kvoid main ()int j, x 3 3 =9,8,7,6,5,4,3,2,1, *p=&x 11;for(j=0;j<4;j+=2)printf ( ”d”,p j ;) A. 52B. 51C. 53D. 9748. 下

20、面程序的輸出結(jié)果是 C。void main()int a5 = 2, 4, 6, 8,10, *p, *k;P 二 a;k 二 &p;printf (”%d, ”, *(p+);printf ( ” n” ,*k); A. 4,4 B. 2,2C. 2,4D. 無答案49. 若有定義: int a34, (*p) 4=a; 要引用班 23用 C 。A. * (p+11) B. * (p+2+3) C. *(*(p+2)+3) D. *(*(p+2+3)50. 若有定義和語句: int t23,*p3,k;for( k=0; k<2; k+ )pk=&tkO;貝I*(*(

21、p+l)+2)表示的數(shù)組元素是C LA. t20B. t22 C. tl 2 D. t2l 51. 以下程序的運行結(jié)果 C:void main()int a 3 = 1, 2, 3, 4, 5, 6, 7, 8, *p=aO, *pa3 = aO, al, a2 ,*pp 二 pa;printf ( 9, *(a0+2) ; printf ( ,5%d, ”,*(*(a+l)+2);printf (” %d, " , *(pal+4) ; printf (” %d, " ,p4);printf ( AA%dnAA ,pp2 0); A. 1, 5, 5, 2, 4 B. 2

22、, 4, 6, 4, 5 C. 3, 0, 7, 5, 6 D. 4, 6, 8, 6, 052. 字符串”102q”的長度是C。A. 9 B. 15C. 7 D. 1653. ” b在內(nèi)存中以C個字節(jié)存放。A. 1 B. 3C. 2 D. 無答案54. 若有定義:char s 10 = % d0 a 101”;貝U strlen ( s )的值為C 。A. 10 B. 9C. 2 D. 無答案55. 若執(zhí)行下面程序時輸入penobook/則結(jié)果是C 。ttincludestring. h>void main()char al20;scanf ("%s", al);

23、printf ("%dt", strlen ( al ); puts( al ); A. 4 pen B. 8 pen book C. 3 pen D. 20 pen56. 若有定義: char c7= "fuzhou" , *s=c;int i; 則下面中錯誤的是 C。A. printf( % ”n”, s ); B. for( i=0; i<=5; i+ )C. printf( % ”n”, *s ); D. for (i=0; i<=5; i+)printf( %” n” , ci );printf ( %” n” , si );57.

24、 下程序的輸出結(jié)果是 C。void main()static char *sl 二"1,2, 3, 4, 5, 6 , *s2 二"abcdefint i;*sl=*s2;printf( AA%snAA, si); A. abcdef B. abcdef4,5,6 C. a,2,3,4,5,6D. 1, 2, 3, 4, 5, 658. 若有定義:char *s二” student ;貝! J正確的敘述是C 。A. s+2 與 s : 2 等價 B. *s+2 與 s : 2 等價 C. *(s+2)與 s : 2 等價 D. s+2 與 *$ : 2 等價59. 若有定義

25、:char si =”studenf; s2 8 , *s3 , *s4 二” student"則錯誤的是。A. strcpy (si, "hello 1"); B. strcpy (s2, AAhello2AA); C. strcpy (s3, AAhello3AA); D. strcpy (s4, AAhello4AA);60. 下面程序輸出結(jié)果為 C。#include <string.h>void main ()char *pl , *p2 , str 50 二”123456789” ;pl 二” ab”;p2=AAuvwxyAA;strcpy

26、( str+1 , strcat ( pl , p2 );printf ( s“n “, str); A. 1 abuvwxy9B. abuvwxy89C. 1 abuvwxyD. uvwxy678961. 一個C程序總是從C開始執(zhí)行程序。A.第一行B.第一個函數(shù) C.主函數(shù)D.最后一個函數(shù)62. void 作為函數(shù)的參數(shù)時,表示C。A.該函數(shù)無返回值 B.實參可為任意值 C.函數(shù)無參數(shù)D.該函數(shù)可返回任意值63. C語言中函數(shù)返回值的類型是由C決定的。A. return語句屮的衣達式類梨 B.調(diào)用函數(shù)時臨時指定C.定義函數(shù)吋所指定的函數(shù)類型D.對被調(diào)用函數(shù)聲明吋指定64. 下列調(diào)用函數(shù)的說法

27、屮不正確的是 CA.主調(diào)函數(shù)和被調(diào)函數(shù)可以不在同一文件中B.實際參數(shù)和形式參數(shù)可以同名C.若用值傳遞方式,則形式參數(shù)不予分配內(nèi)存D.函數(shù)問傳遞數(shù)據(jù)可使用全局變量A.數(shù)組中全部元素的值B.數(shù)組的第一個元素的值C .數(shù)組的首地址D.數(shù)組元素的個數(shù)66. 下面程序的輸出結(jié)果是 C void subl ( int * x, int y, int z ) *x 二 y z;void sub2 ( int x, int y, int z )x 二 y乙void main ()int a=0, b=0;subl ( &a, 10, 3 ); sub2 ( b, 10, 3 );printf ( &q

28、uot;%d, %dn" , a, b) A. 7,7 B. 0,7C. 7,0 D. 0,067. 下面程序運行后的輸出結(jié)果是C:void sort( int *a, int n )int i, j, t;for(i=0; i<nl; i+)for(j=i+l; j<n; j+)if (ai<ajl)68. 下面程序的輸出結(jié)果是 C 。ttinclude <stdio. h>int ss( char *s )B.10,9,8,7,6,char *p=s;while( *p ) p+;return( p-s );t 二 ai ; ai>aj ; a

29、j=t; A. 1,2,3,4,5,6,7,&9,10,void main( )/* 一、67 題*/int aa10 = l, 2, 3, 4, 5, 6, 7, 8, 9,10, I;sort( &aa3, 5) ;for (i=0 ; i<10; i+)print(”d, ” , aa;i)void main()C. D.char *a=1,”2,a3bc,&d;e7”,6,1,2,10,9,&7int i;i 二 ss( a );printf ( AA%dnAA , i );A. 7 B. 6 C. 5 D. 869. 下面程序的輸出結(jié)果是 C t

30、tinclude stdio. h> void main()intint a=9, b=5;x 二 a+b;x, yvoidD. 14,15A. 14, 4 B. 35, 15 C. 35, 4 void main()int i;for( i=l; i<4; i+ ) +x;f();printf (” n”,x) ; 15 C. 13, 14, 15, 4 D. 無 答 案int y, a=25, b=10; x二 a+b; y=ab; y=a-b;return; f() ; printf ('%d, %dn", x, y);70. 下面程序的輸出結(jié)果是 C 。i

31、nt x=l;void f()static int i=2;int x=10;x+=+i;printf ( ?,%d, ”x,);A. 13, 17, 22, 4 B. 13, 14, 15, 71*. int (*f)(); 的含義是 CA.函數(shù)f()返回一個指向int型數(shù)據(jù)的指針B.函數(shù)f()為int型C. f為指向函數(shù)的指針變量,該函數(shù)返回?個血型值D.函數(shù)f()為int型指針72. 若有定義和聲明 :int a10,(*p)(),max(); float b; 則正確的是 C A. p=&b;B. a=a+5;C. p=max; D. p=a;73. C語言中的函數(shù)C oA.

32、嵌套定義和嵌套調(diào)用均可B. 可以嵌套定義但不可以嵌套調(diào)用C. 嵌套調(diào)用和遞歸調(diào)用均可D. 可以嵌套調(diào)用但不可以遞歸調(diào)用74. 下面程序輸出結(jié)果為Cvoid fl(int i);void f2( int i);char s="hello, frien d!" voidmai nvoid fl ( int i ) /* 、74 題 */ printf ( "%c", s i );if( i<4 ) i+=l; f2( i ) ; void f2( int i )printf ( "%c" , s i );if( i<2 ) i

33、+f2(i) ; 3;A. hello B. he C. heo D.無答案75. 若程序中含有定義:struct abc int x; int y; struct abc貝 qsi, s2;A.能編譯、鏈接、 B.能編譯、鏈接,但不C.編譯時出D.能編譯、但鏈接76. 若有定義:struct st char name20; int age; char sex; a30, *p=a;貝! J C 是錯誤的語句。A. scanf( % s", ); B. scanf( "%d",&p0.age); C. scanf ( % d", &(*p.age); D. scanf ( % c",&p->sex);77. C語言中,對于存儲類型為C的變量,只有在使用它們時才占用內(nèi)存單元。A. static

溫馨提示

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

評論

0/150

提交評論