C語言練習題2014-1.doc_第1頁
C語言練習題2014-1.doc_第2頁
C語言練習題2014-1.doc_第3頁
C語言練習題2014-1.doc_第4頁
C語言練習題2014-1.doc_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一一、 選擇題1. 以下不是C語言的特點的是( )。A語言簡潔緊湊 B能夠編制出功能復雜的程序CC語言可以直接對硬件操作DC語言移植性好2.下列字符序列中,不可用作C語言標識符的是( )。Aabc123 Bno.1 C_123_D_ok 3.正確的C語言標識符是 ( )。A_buy_2B2_buy C?_buyDbuy?4.下列符號中,不屬于轉(zhuǎn)義字符的是( )。 A B0xAA CtD05.不屬于C語言關鍵字的是( )。 AintBbreakCwhile Dcharacter6.是C語言提供的合法關鍵字的是( )。 AFloatBSignedCinteger Dchar7.一個C程序是由( )。A一個主程序和若干子程序組成B一個或多個函數(shù)組成C若干過程組成D若干子程序組成8. C語言程序的基本單位是( )。 A程序行B語句C函數(shù) D字符9.以下選項中,合法的實型常數(shù)是( )。A5E2.0 BE-3 C2E0 D1.3E10已知大寫字母A的ASCII碼值是65, 小寫字母a的ASCII碼是97,則用八進制表示的字符常量101是( )。 A字符A B字符a C字符c D非法的常量11以下選項中,正確的字符常量是( )。 A”F” B CW D12312以下選項中可作為C語言合法整數(shù)的是 A10110B B0386 C0Xffa Dx2a214已知各變量的類型說明如下: int m=8,n, a, b; unsigned long w=10; double x=3.14, y=0.12;則以下符合C語言語法的表達式是( )。 Aa+=a-=(b=2)*(a=8)B n=n*3=18Cx%3Dy=float (m)15已知字母A的ASCII碼為十進制數(shù)65,且S為字符型,則執(zhí)行語句S=A+6-3;后,S中的值為( )。 ADB68 C不確定的值DC16在C語言中,要求運算數(shù)必須是整型的運算符是( )。 A/B+C*= D%17若有說明語句:char s=72;則變量s( )。A包含一個字符B包含兩個字符C包含三個字符D說明不合法,s的值不確定18若有定義:int m=7; float x=2.5, y=4.7; 則表達式x+m%3*(int)(x+y)%2/4的值是( )。 A2.500000B2.750000 C3.500000D0.00000019在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是( )。 A補碼 B反碼 C原碼 DASCII碼20表達式13/3*sqrt(16.0)/8的數(shù)據(jù)類型是( )。 Aint Bfloat Cdouble D不確定21設以下變量均為int類型,則值不等于7的表達式是( )。A(m=n=6, m+n, m+1)B(m=n=6, m+n, n+1)C(m=6, m+1, n=6, m+n)D(m=6, m+1, n=m, n+1)22假設所有變量均為整型,則表達式(x=2, y=5, y+, x+y)的值是( )。A7B8 C6 D223putchar函數(shù)可以向終端輸出一個( )。A整型變量表達式 B字符串C實型變量 D字符。第二一、選擇題1與數(shù)學式子對應的C語言表達式是 。A)3*xn/(2*x-1)B)3*x*n/(2*x-1)C)3*pow(x,n)*(1/(2*x-1)D)3*pow(n,x)/(2*x-1) 2若有定義:int a=8,b=5,c;,執(zhí)行語句c=a/b+0.4;后,c的值為 。A)1.4 B)1 C)2.0 D)23設x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=+x|+y;后,y的值為 。A)不定值 B)4 C)3 D)14以下程序的輸出結(jié)果是 。# include main() int i=010,j=10; printf(%d,%dn,+i,j-);A)11,10 B)9,10 C)010,9 D)10,95若float a,b,c;要通過語句scanf(%f %f %f ,&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是 。A)102233 B)10.0,22.0,33.0 C)10.0 22.0 33.0 D)10 22 336請選出合法的C語言賦值語句 。A)a=b=58 B)i+; C)a=58,b=58 D)k=int(a+b);7x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語句是 。A)INPUT x、y、z; B)scanf(%d%d%d,&x,&y,&z);C)scanf(%d%d%d,x,y,z); D)read(%d%d%d,&x,&y,&z);8設有語句int a=3;則執(zhí)行了語句a+=a-=a*a;后,變量a的值是 。A)3 B)0 C)9 D)-129設a=5,b=6,c=7,d=8,m=2,n=2,執(zhí)行(m=ab)&(n=cd)后n的值為 。A)1 B)2 C)3 D)410若變量c為char類型,能正確判斷出c為小寫字母的表達式是 。A)a=c=a)|(c= z)C)(a=c) D)(c= a)&(c= z)11設a和b均為double型常量,且a=5.5、b=2.5,則表達式(int)a+b/b的值是 。A)6.000000 B)7 C)8 D)7.50000012執(zhí)行下面的程序段int x=35;char z=A;int b;b=(x&15)&(za);后,b的值為 。A)0 B)1 C)2 D)313已有定義:int x=3,y=4,z=5;,則表達式!(x+y)+z-1&y+z/2的值是 。A)6 B)0 C)2 D)114假定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)1 C)2 D)2二、填空題1有以下程序段:int m=0,n=0;char c=a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn, m,c, n);若從鍵盤上輸入:10A10,則輸出結(jié)果是 。2下列程序的輸出結(jié)果是什么?# include main() int a=2,c=5; printf(a=%d,b=%dn,a,c);3以下程序的輸出結(jié)果是什么?main() char c=z; printf(%c,c-25);4若有以下程序段(n所賦的是八進制數(shù))int m=32767,n=032767;printf(%d,%on, m, n);執(zhí)行后輸出結(jié)果是什么?5有以下程序main() char a,b,c,d; a=;b=xbc; c=0xab;d=A; printf(%c %c %c %cn,a,b,c,d);編譯時出現(xiàn)錯誤,分析出錯誤的語句。 6寫出下面程序的輸出結(jié)果。#includestdio.hmain() char a=2,b=a; int c; c=a+b; a=c; printf(%c %c %d n,a,b,c);7下面程序的輸出結(jié)果是 。main() int a=1,b=2; a=a+b;b=a-b;a=a-b; printf(%d,%dn,a,b);8以下程序的輸出結(jié)果是 。main() int a=0; a+=(a=8); printf(%dn,a);9以下程序輸出的結(jié)果是 。main() int a=5,b=4,c=3,d; d=(abc); printf(%dn,d);10以下程序運行后的輸出結(jié)果是 。main() int p=30; printf(%dn,(p/30?p/10:p%3);11分析以下程序的輸出結(jié)果。#include#includemain() int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; pritnf(%fn,z);12分析以下程序的輸出結(jié)果。main() int a=4,b=5,c=0,d; d=!a&!b|!c; printf(%dn,d);13分析以下程序的輸出結(jié)果。main() int a=5,b=4,c=6,d; printf(%dn,d=ab?(ac?a:c):(b);三、按要求寫結(jié)果1、計算下面表達式的值。設a=1,b=2,c=3。(1)a = a!=b?b:c (2)ab?b+1:c+1(3)(a=4) ? a-:b-2、寫出滿足下面條件的關系或邏輯表達式。(1)a在區(qū)間(3,10)內(nèi)。(2)x是3的倍數(shù)。(3)x和y的和大于100且x大于45。(4)a等于c或b不等于0(5)a是小寫字母3、計算下面邏輯表達式的值。設a=0,b=1,c=2,d=4。(1)a=b (2)c-b=a (3)c!=d-b(4)ba & cb(5)a & d-c(6)!a & bc(7)(ba) | cd(10)(a|b) & cd第三一、選擇題1下列運算符中優(yōu)先級最高的是 。 A) B) + C) & D)!=2以下關于運算符優(yōu)先級的描述中,正確的是 。 A)!(邏輯非)算術運算關系運算&(邏輯與)|(邏輯或)賦值運算B)&(邏輯與)算術運算關系運算賦值運算C)關系運算算術運算&(邏輯與)|(邏輯或)賦值運算D)賦值運算算術運算關系運算&(邏輯與)|(邏輯或)3邏輯運算符的運算對象的數(shù)據(jù)類型 。 A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型 D)任何類型的數(shù)據(jù)4能正確表示x的取值范圍在0,100和-10,-5內(nèi)的表達式是 。 A)(x=-5)&(x=100)B)(x=-10)&(x=0)&(x=-10)&(x=0)&(x=100)D)(x=-5)&(x=100)5以下程序的運行結(jié)果是 。main( ) int c,x,y; x=1; y=1; c=0; c=x+|y+; printf(“n%d%d%dn”,x,y,c); A)110 B)211 C)011 D)0016以下程序的運行結(jié)果是 。main( ) int c,x,y; x=0; y=0; c=0; c=x+&y+; printf(“n%d%d%dn”,x,y,c); A)100 B)211 C)011 D)0017判斷字符型變量ch為大寫字母的表達式是 。A)A=ch=A)&(ch=A)&(ch=A)AND(ch=Z)8判斷字符型變量ch為小寫字母的表達式是 。A)a=ch=a)&(ch=a)|(ch=a)&(ch0) printf(”%f”,x); x=x+1; printf(”%f”,x); else printf(”%f”,-x); else printf(”%f”,-x);C)if(x0); D)if(x0) x=x+1; printf(”%f”,x); x=x+1; printf(”%f”,x) else printf(”%f”,-x); else printf(”%f”,-x);10分析以下程序:main( ) int x=5,a=0,b=0; if(x=a+b) printf(“* *n”); else printf(“# #n”);以上程序 。A)有語法錯,不能通過編譯 B)通過編譯,但不能連接C)輸出* * D)輸出# #11兩次運行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是 。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和412寫出下面程序的執(zhí)行結(jié)果 。main( )int x,y=1; if(y!=0) x=5; printf(“%dt”,x); if(y= =0) x=3;else x=5;printf(“%dtn”,x);A)1 3 B)1 5 C)5 3 D)5 513寫出下面程序的執(zhí)行結(jié)果 。main()int x=1,y=1,z=0;if(z0) x=3;else x=5;printf(%dt,x);if(z=y0) x=3;else if(y= =0 ) x=5;else x=7;printf(%dt,x);printf(%dt,z);A)1 7 0 B)3 7 0 C)5 5 0 D)1 5 114假定所有變量均已正確說明,下列程序段運行后x的值是 。a=b=c=0;x=35;if(!a) x=-1;else if(b);if(c) x=3;else x=4;A)34 B)4 C)35 D)316若有以下函數(shù)關系x0 y=xx=0 y=x+1下面程序段能正確表示以上關系的是 。A)y=2*x; B)y=2*x;if(x!=0) if(x0)y=x; if(x= =0) y=x+1;else y=x+1; else y=x;C)if(x=0) (D)y=x+1;if(x0) y=x; if(x=0)else y=x+1; if(x0) y=2*x;else y=2*x; else y=x;17若有以下變量定義:float x; int a,b;則正確的switch語句是 。 A)switch(x) case 1.0:printf(*n);case 2.0:printf(* *n); B)switch(x) case 1,2:printf(*n);case 3:printf(* *n);C)switch(a+b) case 1:printf(*n);case 2*a:printf(* *n);D)switch(a+b) case 1:printf(*n);case 1+2:printf(* *n);18. 以下關于運算符優(yōu)先順序的描述正確的是 。A)關系運算符算術運算符賦值運算符邏輯運算符B)邏輯運算符關系運算符算術運算符賦值運算符C)賦值運算符邏輯運算符關系運算符算術運算符D)算術運算符關系運算符賦值運算符=10或a=10 or a=10 | a=10 & a=10 | | a y & x != y ) ;B)if ( x = = y ) x + = y ;C)if ( x != y ) scanf ( “%d”, &x) else scanf ( “%d”, &y);D)if ( x y ) x+; y+;21. 當 a = 1, b = 3 , c = 5, d = 4 時, 執(zhí)行完下面程序段后 x 的值為 。if ( a b ) if ( c d ) x = 1 ;else if ( a c )if ( b b)printf(“%f”,a); B)if(ab)printf(“%f”,a);else printf(“%f”,b);C)if(ab)printf(“%f”,a) D)if(ab)printf(“%f”,b);else printf(“%f”,b); else printf(“%f”,a);23. 能表示整數(shù)x符合下面兩個條件的語句是 。(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.A)(x%4=0&x%100!=0)|x%400=0 B)(x%4=0|x%100!=0)&x%400=0C)(x%4=0&x%400!=0)|x%100=0 D)(x%100=0|x%4!=0)&x%400=024. 設有如下定義:char ch=z,則執(zhí)行下面語句后變量ch是值為: 。 ch=(A=ch&chy|xz) z=x; x=y; y=z;A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5027. C語言中,要求運算對象必須是整型的運算符是: 。 A) B)+ C)% D)!=28. 已知 int x=30,y=50,z=80;以下語句執(zhí)行后變量x、y、z的值分別為: 。if (xy|xz) z=x; x=y; y=z; A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5029. 以下程序的輸出結(jié)果是 。 main( ) int x=2,y=-1,z=2; if (xy) if(y0) z=0; else z+=1; printf(“%dn”,z); A)3 B)2 C)1 D)030. 設a、b和c是int型變量,且a=2,b=4,c=6,則下面表達式中值為0的是: 。A)a+ b B)a=b C)a|b+c&b-c D)!( (ab) &!c | 1 )31. 在C的if語句中,可用作判斷的表達式是: 。A)關系表達式 B)邏輯表達式C)算術表達式 D)任意表達式32. 下面能正確表示變量a在區(qū)間0,5或(6,10)內(nèi)的表達式為: 。A)0=a | a=5 |6 a | a10 B)0=a&a=5 | 6a&a10C)(0=a|a=5)&(6a|a10)D)0=a&a=5&6a&a 0 )printf(“ %f ”, x )else printf(“%f”, - x );B)if ( x 0 ) x = x + y ; printf (“%f ”, x ) ; else printf ( “%f ”, - x ) ;C)if ( x 0 ) x = x + y ; printf (“%f ”, x ) ; ;else printf ( “%f ”, - x ) ;D)if ( x 0 ) x = x + y ; printf (“%f ”, x ) else printf ( “%f ”, - x ) ;35為了表示關系x=y=z,應使用C語言表達式 。 A)(x=y)&(y=z) B)(x=y)AND(y=z) C)(x=y=z) D)(x=y)&(y=z)36若欲表示在if后a不等于0的關系,則能夠正確表示這一關系的表達式為 。A)a0 B)!a C)a=0 D)a38下面程序的輸出結(jié)果是 。main()int x=40,y=4,z=4; x=y= =z; printf(“%d”,x); x=x= =(y-z); printf(“%d”,x); A)4 0B)4 1C)1 1D)1 039.若x=3,y=z=4,則下列表達式的值分別為 。(1)(z=y=x)?1:0(2)z=y& y=xA)0 1 B)1 1 C)0 0 D)1 040.若x=3,y=z=4,則下列表達式的值分別為 。(1)(z=y=x)?1:0(2)y+=z,x*=yA)0 24 B)1 8 C)0 8 D)1 1241在以下一組運算符中,優(yōu)先級最高的運算符是 。A)= B)= C)% D)&42.以下程序的輸出結(jié)果是 。main()int a=-1,b=4,k;k=(+a=0)&!(b-=0);printf(%d %d %d,k,a,b);A)1 0 4 B)0 0 4 C)1 0 3 D)0 0 343.若已定義int a=25,b=14,c=19;以下三項運算符(?:)所構(gòu)成的語句的執(zhí)行結(jié)果是 。a+=25&b-=2&c+?printf(*a=%d,b=%d,c=%dn,a,b,c):printf(#a=%d,b=%d,c=%dn,a,b,c)A)(*a=25,b=14,c=19) B)(*a=26,b=13,c=19)C)(#a=25,b=14,c=19) D)(#a=26,b=13,c=19)二、填空題4以下程序的功能是計算一元二次方程ax2+bx+c=0的根,補足程序中空缺的語句。#include main( )float a,b,c,_abs,_derta,_doublea,part1,part2;printf(enter a,b,c:);scanf(%f%f%f,&a,&b,&c);if( (1) ) if( (2) ) printf(no answer due to input errorn);else printf(the single root is %fn,-c/b);else_derta=b*b-4*a*c; _doublea=2*a; part1=-b/(2*a); _abs=abs(_derta); part2=sqrt(_abs)/_doublea;if( (3) )printf(complex root nreal part=%f image part=%fn,part1,part2);else printf(real rootsn root1=%f root2=%fn,part1+part2,part1-part2);5設有程序片段如下:switch(class)case A:printf(GREAT!n);case B:printf(GOOD!n);case C:printf(OK! n);case D:printf(NO!n);default:printf(ERROR!n);若class的值為C,則輸出結(jié)果是 。6以下程序段的運行結(jié)果是 。int x=1,y=0;switch(x)case 1: switch(y) case 0:printf(x=1 y=0n);break; case 1:printf(y=1n);break; case 2:printf(x=2n);8. 輸入3個實數(shù) a, b, c要求按從大到小的順序輸出三數(shù)。main( ) float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if (ab)t=a; (1) b=t;if((2)) t=a; a=c; c=t; if(b=a&chb ) c = 1 ;else if ( a = b ) c = 0 ; else c = -1 ;printf ( “%dn”, c ) ;11. 以下程序的運行結(jié)果是:_。main( ) int x;x=5;if (+x5) printf(“x=%d”,x);else printf(“x=%d”,x-); 15以下程序的運行結(jié)果是:_。main()int a,b,c;a=b=c=1;a+=b;b+=c;c+=a;printf(%dn,ab?a:b);printf(%dn,ac?a-;c+);(a=b=c)?printf(AA);printf(CC);printf(n a=%d,b=%d,c=%dn,a,b,c);17以下程序的運行結(jié)果是:_。main()int x=1,y=1,z=1;y=y+z;x=x+y;printf(%d,xy?y:x);printf(%d,x=y&yx);第四一、選擇題1while循環(huán)語句中,while后一對圓括號中表達式的值決定了循環(huán)體是否進行,因此,進入while循環(huán)后,一定有能使此表達式的值變?yōu)?的操作,否則,循環(huán)將會無限制地進行下去。A)0 B)1 C)成立 D)22在do-while循環(huán)中,循環(huán)由do開始,用while結(jié)束;必須注意的是:在while表達式后面的 不能丟,它表示do-while語句的結(jié)束。A)0 B)1 C); D),3for語句中的表達式可以部分或全部省略,但兩個 不可省略。但當三個表達式均省略后,因缺少條件判斷,循環(huán)會無限制地執(zhí)行下去,形成死循環(huán)。A)0 B)1 C); D),4程序段如下int k=-20;while(k=0) k=k+1;則以下說法中正確的是 。A)while循環(huán)執(zhí)行20次 B)循環(huán)是無限循環(huán) C)循環(huán)體語句一次也不執(zhí)行 D)循環(huán)體語句執(zhí)行一次5程序段如下int k=1;while(!k=0) k=k+1;printf(%dn,k);說法正確的是 。A)while循環(huán)執(zhí)行2次 B)循環(huán)是無限循環(huán)C)循環(huán)體語句一次也不執(zhí)行 D)循環(huán)體語句執(zhí)行一次6以下for循環(huán)是 。for(a=0,b=0;(b!=123)&(a=4);a+)A)無限循環(huán) B)循環(huán)次數(shù)不定 C)執(zhí)行4次 D)執(zhí)行5次7在下列程序中,while循環(huán)的循環(huán)次數(shù)是 。main( ) int i=0; while(i10) if(i1) continue; if(i= =5) break; i+; .A)1 B)10 C)6 D)死循環(huán)、不能確定次數(shù)8程序段如下int k=0; while(k+=2) printf(%dn,k);則執(zhí)行結(jié)果是 。A)1 B)2 C)0 D)無結(jié)果 2 3 1 3 4 29程序段如下int k=0;while(k+=2); printf(last=%dn,k);則執(zhí)行結(jié)果是last= 。A)2 B)3 C)4 D)無結(jié)果10執(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)1011以下程序的輸出結(jié)果 。main()int x=3;doprintf(%3d,x-=2);while(-x);A)1 B)30 3 C)1 -2 D)死循環(huán)12定義如下變量:int n=10;則下列循環(huán)的輸出結(jié)果是 。while(n7)n-;printf(%dn,n);A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 613以下程序的輸出結(jié)果 。main()int n=0;while(n+=1) printf(%dt,n);printf(%dn,n);A)1 2 3 B)0 1 2 C)1 1 2 D)1 2 214以下程序的輸出結(jié)果是 。main()int i;for(i=1;i=5;i+)if(i%2)printf(#);else continue;printf(*);printf($n);A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$15以下程序的輸出結(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)2016以下程序的輸出結(jié)果是 。#include main()int i=0,a=0;while(i20)for(;) if(i%10)= =0) break;else i-;i+=11; a+=i;printf(%dn,a);A)21 B)32 C)33 D)1117當輸入為quert?時,下面程序的執(zhí)行結(jié)果是 。#includemain()char c;c=getchar();while(c=getchar()!=?) putchar(+c);A)Quert B)vfsu C)quert? D)rvfsu? 18當輸入為

溫馨提示

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

評論

0/150

提交評論