C語言二級題庫_第1頁
C語言二級題庫_第2頁
C語言二級題庫_第3頁
C語言二級題庫_第4頁
C語言二級題庫_第5頁
已閱讀5頁,還剩106頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 C語言概述1、一個c程序的執(zhí)行是從A 。 A)本程序的main函數開始,到main函數結束 B)本程序文件的第一個函數開始,到本程序文件的最后一個函數結柬 C)本程序的main函數開始,到本程序文件的最后一個函數結束 D)本程序文件的第一個函數開始,到本程序main函數結束 2、以下敘述正確的是C。 A)在C程序中main函數必須位于程序的最前面B)c程序的每行中只能寫一條語句 C)c語言本身沒有輸入輸出語句D)在對一個c程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤 3、以下敘述不正確的是D 。 A)一個c源程序可由一個或多個函數組成 B)一個c源程序必須包含一個main函數 C)c程

2、序的基本組成單位是函數 D)在c程序中,注釋說明只能位于一條語句的后面 4、c語言規(guī)定:在一個源程序中,main函數的位置C。A)必須在最開始 B)必須在系統(tǒng)調用的庫函數的后面 C)可以任意 D)必須在最后 5、一個c語言程序是由B 。A)一個主程序和若干子程序組成 B)函數組成 C)若干過程組成 D)若干子程序組成 6、用C語言編寫的代碼程序B A) 可立即執(zhí)行 B) 是一個源程序 C) 經過編譯即可執(zhí)行 D) 經過編譯解釋才能執(zhí)行 7、以下敘述中正確的是B A) C語言的源程序不必通過編譯就可以直接運行 B) C語言中的每條可執(zhí)行語句最終都將被轉換成二進制的機器指令 C) C源程序經編譯形

3、成的二進制代碼可以直接運行D) C語言中的函數不可以單獨進行編譯 8、以下敘述中正確的是C A) C語言是低級語言 B) C語言可以不用編譯就能被計算機識別執(zhí)行 C) C語言以接近英語國家的自然語言和數學語言作為語言的表達形式 D) C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點 9、要把高級語言編寫的源程序轉換為目標程序,需要使用DA) 編輯程序 B) 驅動程序 C) 診斷程序 D) 編譯程序 第3章 數據類型、運算符與表達式 1、C語言基本類型包括D。 A.整型、實型、邏輯型 B.整型、實型、字符型、邏輯型 C.整型、字符型、邏輯型 D.整型、實型、字符型 2、C語言中的標識符只能由字母、數字、

4、下劃線三種字符組成,且第一個字符 C。 A.必須為字母 B.必須為下劃線 C.必須為字母或下劃線 D.可以是字母、數字、下劃線中任意一種字符 3、C語言中最簡單的數據類型包括B 。 A.整型、實型、邏輯型 B.整型、實型、字符型 C.整型、字符型、邏輯型 D.整型、實型、邏輯型、字符型 4、若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值是C。A.-3 B.9 C.-12 D.6 5、若t為double類型,表達式t=1,t+5,t+的值是D。A.1 B.6.0 C.2.0 D.1.0 6、若已定義x和y為double類型,則表達式:x=1,y=x+3/2的值是C。A.

5、1 B.2 C.2.0 D.2.5 7、設a為5,執(zhí)行下列語句后,b的值不為2的是C。A.b=a/2 B.b=6-(-a) C.b=a%2 D.b=a3?2:1 8、下列四組選項中,均是不合法的用戶標識符的選項C。 A.AP_0do B.floatgoto _A C.b-agotoint D._123tempINT 9、下列選項中,合法的C語言關鍵字是D。 A.VAR B.cher C.integer D.default 10、下面不正確的字符串常量是A。A.abc B.1212 C.0 D. 11、下面不正確的字符常量是 A。A.c B. C.W D. 12、下述程序段的輸出結果是A。int

6、 x=10; int y=x+; printf(%d,%d,(x+,y),y+);A.11,10 B.11,11 C.10,10 D.10,11 13、已知各變量的類型說明如下:int k,a,b; unsigned long w=5; double x=1.42; 則以下不符合C語言語法的表達式A。 A.x%(-3) B.w+=-2 C.k=(a=2,b=3,a+b) D.a+=a-=(b=D)*(a=3) 14、已知字母A的ASCII編碼為10進制數65,且c2為字符型,則執(zhí)行語句c2=A+6-3后,c2中的值為A。 A. D B. 68 C.不確定的值 D. C 15、以下所列的C語言常

7、量中,錯誤的是B。 A.0 xFF B.1.2e0.5 C.2L D.72 16、以下敘述正確的是C。 A.在C程序中main函數必須位于程序的最前面 B.C程序的每行中只能寫一條語句 C.C語言本身沒有輸入輸出語D.在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的錯誤 17、以下運算符中,運算對象必須是整型的是B。 A./ B.%= C.!= D.= 18、正確的標識符是D。 A.?a B.a=2 C.a.3 D.a_3 19、在C語言中(以16位Pc機為例),5種基本數據類型的存儲空間長度的排列順序為A。 A)charint1ong intfloatdouble B)charintlong

8、intfloatdouble C)charintlong intfloatdouble D)charintlong intfloatdouble 20、假設所有變量均為整型,則表達式(a2,b5,b+,a+b)的值是B。 A)7 B)8 C)6 D)2 21、以下不正確的敘述是D。 A.在C程序中,逗號運算符的優(yōu)先級最低B.在C程序中,APA和apa是兩個不同的變量 C.如果a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值保持D.當從鍵盤輸入數據時,對于整型變量只能輸入整型數值,對于實型變量只能輸入實型數值 22、若x,i,j和k都是int型變量,則計算下面表達式后,x

9、的值為C。X=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 23、假設所有變量均為整型,則表達式(a2,b5,b+,a+b)的值是B。 A)7 B)8 C)6 D)2 24、下列四組選項中,均不是c語言關鍵字的選項是A。 A)define IF type B)getc char printf C)include scanf case D)while go pow 25、下面四個選項中,均是c語言關鍵字的選項是B。A)auto enum include B)switch typedef continue C)signed union scanf D)if struct t

10、ype 26、下面四個選項中,均是合法整型常量的選項是A。 A)160 -0 xffff 011 B)-0 xcdf 01a 0 xe C)-01 986.012 0668 D)-0 x48a 3e5 0 x 27、下面四個選項中,均是合法轉義字符的選項是A。 A) n B) 017 ; C)018 f xab D)0 101 xlf 28、下面四個選項中,均是正確的八進制數或十六進制數的選項是C。 A)-10 0 x8f -011 B)0abc -017 0 xc C)0010 -0 x11 0 xf1 D)0a12 -0 x123 -0 xa 29、己知各變量的類型說明如下:int i8,

11、k,a,b;unsigned long w5; double x1.42,y5.2; 則以下符合C語言語法的表達式A A)a+a-(b4)*(a3) B)aa*32 C)x(-3) D)yfloat(i) 30、求下列算術表達的值,設x=2.5, a=7, y=4.7。x+a%3*(int)(x+y)%2/4=2.5 31、求下列算術表達的值,設 a=2,b=3,x=3.5,y=2.5. (float)(a+b)/2+(int)x%(int)y=3.532、寫出下面賦值表達式運算后a的值,設原來a=12:(1)a+=a(2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=

12、2)n的值等于5 (6)a+=a-=a*=a(1) 24(2) 10 (3) 60 (4) 0 (5) 0 (6) 0第4章 順序程序設計1、有以下程序main() int m=0256,n=256;printf(%o %on,mn,n);程序運行后的輸出結果是C A) 0256 0400 B) 0256 256 C) 256 400 D) 400 400 2、有以下程序main()int a=666,b=888; printf(%dn,a,b); 程序運行后的輸出結果是BA) 錯誤信息 B) 666 C) 888 D) 666,888 3、有以下程序main( )int x=102,y=01

13、2; printf(“%2d,%2dn”,x,y); 執(zhí)行后輸出結果是CA) 10,01 B) 02,12 C) 102,10 D) 02,10 4、有以下程序main()int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf(%d %d %3.1f %3.1fn,a,c,f,x); 程序運行后的輸出結果是BA) 1 65 1 6.5 B) 1 65 1.5 6.5 C) 1 65 1.0 6.5 D) 2 65 1.5 6.5 5、有定義語句:int x,y;, 若要通過scanf(%d,%d,&x,&y);語句使變量x

14、得到數值11,變量y得到數值12,下面四組輸入形式中,錯誤的是A A) 11 12回車 B) 11,12回車C) 11,12回車 12回車 D) 11,回車 6、設有如下程序段: int x=2002,y=2003; printf(%dn,(x,y); 則以下敘述中正確的是DA) 輸出語句中格式說明符的個數少于輸出項的個數,不能正確輸出 B) 運行時產生出錯信息 C) 輸出值為2002 D) 輸出值為2003 7、若有以下程序段(n所賦的是八進制數)int m=32767,n=032767 printf(%d,%o/n,m,n); 執(zhí)行后輸出結果是AA) 32767,32767 B) 3276

15、7,032767 C) 32767,77777 D) 32767,077777 8、若有以下程序段int m=0 xabc,n=0 xabc; m-=n; printf(%Xn,m); 執(zhí)行后輸出結果是CA) 0X0 B) 0 x0 C) 0 D) 0XABC 9、已知i、j、k為int型變量,若從鍵盤輸入:1,2,3,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是C A) scanf(“%2d%2d%2d”,&i,&j,&k); B) scanf(“%d %d %d”,&i,&j,&k); C) scanf(“%d,%d,%d”,&i,&j,&k); D) scanf(“i

16、=%d,j=%d,k=%d”,&i,&j,&k); 10、設有定義:long x=-123456L;,則以下能夠正確輸出變量x值的語句是B A)printf(“x=%dn”,x);B) printf(“x=%1dn”,x);Cprintf(“x=%8dLn”,x); D)printf(“x=%LDn”,x); 11、以下程序段的輸出結果是int a=1234;printf(%2dn,a); CA) 12 B) 34 C) 1234 D) 提示出錯、無結果 12、x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數據,正確的輸入語句是B A)INPUT x、y、z; B)scanf(“%d

17、%d%d”,&x,&y,&z);C)scanf(“%d%d%d”,x,y,z); D) read(“%d%d%d”,&x,&y,&z); 13、若變量已正確說明為float類型,要通過語句scanf(“%f %f %f ”,&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是:B A) 10 2233 B) 10.0,22.0,33.0 C) 10.0 22.0 33.0 D) 10 22 33 14、有如下程序main()int y=3,x=3,z=1; printf(“%d %dn”,(+x,y+),z+2); 運行該程序的輸出結果是DA) 3 4 B)

18、 4 2 C) 4 3 D) 3 3 15、下列程序執(zhí)行后的輸出結果是(小數點后只寫一位)main()double d; float f; ling l; int i; i=f=1=d=20/3; printf(%d %ld %f %f n, i,l,f,d); AA) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0 16、以下說法中正確的是D A) #define和printf都是C語句 B) #define是C語句,而printf不是 C) printf是C語句,但#define不是 D) #define和printf都不是

19、C語句 17、以下程序的輸出結果是main( ) int k=17; printf(%d,%o,%x n,k,k,k); DA) 17,021,0 x11 B) 17,17,17 C) 17,0 x11,021 D) 17,21,11 18、以下敘述中正確的是 DA) 輸入項可以是一個實型常量,如: scakf(%f,3.5);B) 只有格式控制,沒有輸入項,也能正確輸入數據到內存,例如: scakf(a=%d,b=%d);C) 當輸入一個實型數據時,格式控制部分可以規(guī)定小數點后的位數,例如: scakf(%4.2f,&f);D) 當輸入數據時,必須指明變量地址,例如: scakf(%f,&f

20、);19、若有以下定義和語句int u=010,v=0 x10,w=10; printf(%d,%d,%dn,u,v,w);則輸出結果是 AA) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10 20、請讀程序片段: int i=65536; printf(%dn,i); 上面程序片段的輸出結果是B A) 65536 B) 0 C) 有語法錯誤,無輸出結果 D) -1 21、若x和y都是int型變量,x=100,y=200,且有下面的程序片段: printf(%d,(x,y);上面程序片段的輸出結果是 AA) 200 B) 100 C) 100 200 D) 輸

21、出格式符不夠,輸出不確定的值 22、請讀程序:#include main() int a; float b, c; scanf(%2d%3f%4f,&a,&b,&c); printf(na=%d, b=%f, c=%fn, a, b, c); 若運行時從鍵盤上輸入9876543210(表示回車),則上面程序的輸出結果是CA) a=98, b=765, c=4321 B) a=10, b=432, c=8765 C) a=98, b=765.000000, c=4321.000000 D) a=98, b=765.0, c=4321.0 23、以下程序的輸出結果是。# include # inc

22、lude main() 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); CA) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000 24、以下程序的輸出結果是。# include main() int a=2,c=5; printf(a=%d,b=%dn,a,c); D A) a=%2,b=%5 B) a=2,b=5 C) a=%d,b=%d D) a=%d,b=%d 25、執(zhí)行下面程序中的輸出語句,a的值是ma

23、in() int a; printf(%dn,(a=3*5,a*4,a+5); CA) 65 B) 20 C) 15 D) 10 26、若變量已正確說明為float類型,要通過語句scanf(%f%f%f,&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是B A.102233 B.10.0,22.0,33.0 C.10.022.0 33.0 D.10 2233 27、有以下定義和語句char c1=b,c2=e; printf(%d,%cn,c2-c1,c2-a+A); 輸出結果是BA.2,M B.3,E C.2,E D.輸出項與對應的格式控制不一致,輸出

24、結果不確定 28、若有以下定義和語句int u=010,v=0 x10,w=10; printf(%d,%d,%dn,u,v,w);輸出結果是AA.8,16,10 B.10,10,10 C.8,8,10 D.8,10,10 29、以下不正確的敘述是DA.在C程序中,逗號運算符的優(yōu)先級最低 B.在C程序中,APA和apa是兩個不同的變量C.如果a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值保持不變D.當從鍵盤輸入數據時,對于整型變量只能輸入整型數值,實型變量只能輸入實型數 30、以下程序的輸入結果是A main( ) int i=010,j=10,k=0 x10; pr

25、intf(%d,%d,%d ,i,j,k); A.8,10,16 B.8,10,10 C.10,10,10 D.10,10,16 31、語句printf(st)的輸出結果為B A.st B.st C.s D.s 32、putchar函數可以向終端輸出一個 DA)整型變量表達式值 B)實型變量值 C)字符串 D)字符或字符型變量值 33、已有定義int a=-2;和輸出語句;printf(“8x”,a);以下正確的敘述是D A)整型變量的輸出格式符只有d一種 B)x是格式符的一種,它可以適用于任何一種類型的數據 C)x是格式符的一種,其變量的值按十六進制輸出,但8x是錯誤的 D)8x不是錯誤的格

26、式符,其中數字8規(guī)定了輸出字段的寬度 34、閱讀以下程序,當輸入數據的形式為:25,13,10,正確的輸出結果為D main( ) int x,y,z; scanf(ddd&x,&y,&z); prtntf(x+y+z=%dn,x+y+z); A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不確定值 35、以下能正確地定義整型變量a、b和c并為其賦值5的語句是B A)int a=b=c=5; B)int a ,b ,c=5; C)a=5,b-5,c=5; D)a=b=c=5; 36、已知ch是字符型變量,下面不正確的賦值語句是 AA)cha+b ; B)ch0; C)ch7+

27、9 ; D)ch=5+9; 37、已知ch是字符型變量,下面正確的賦值語句是B A)ch 123; B) chxff;C) ch08; D)ch=; 38、設x、y均為float型變量,則以下不合法的賦值語句是B A)+x; B)y(x2)10; C)x*y+8; D)xy0; 39、printf函數中用到格式符5s,其中數字5表示輸出的字符串占用5列。如果字符串長度小于5,則輸出按方式C A)從左起輸出該字串,右補空格 B)按原字符長從左向右全部輸出 C)右對齊輸出該宇串,左補空格 D)輸出錯誤信息 40、有以下程序main() int m,n,p; scanf(m=%dn=%dp=%d,&

28、m,&n,&p); printf(%d%d%dn,m,n,p) ; 若想從鍵盤上輸入數據,使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是 AA)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 41、main() int x=0210; printf(%Xn,x); 程序運行后的輸出結果是(88) 。42、main() char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf(%d %fn,n,x); 程序運

29、行后的輸出結果是2 20.000000 43、以下程序運行時若從鍵盤輸入:10 20 30。輸出結果是(10 30 0)。#includemain()inti=0,j=0,k=0;scanf(%d%*d%d,&i,&j,&k);printf(%d%d%dn,i,j,k); 44、以下程序段的輸出結果是(11 )。int i=9; printf(%on,i);45、以下程序運行后的輸出結果是(25 21 37 ) 。 main() int a,b,c; a=25; b=025; c=0 x25; printf(%d %d %dn,a,b,c);46、有以下語句段 int n1=10,n2=20;

30、 printf( ( ) ,n1.n2); 要求按以下格式輸出n1和n2的值,每個輸出行從第一列開始,請?zhí)羁铡?n1=10 n2=20 教師批改:n1=%dnn2=%d 47、若有語句 int i=-19,j=i%4; printf(%dn,j);則輸出結果是( )。 教師批改:-3 48、若有程序 main() int i,j; scanf(i=%d,j=%d;&i,&j); printf(i=%d,j=%dn,i,j); 要求給i賦10,給j賦20,則應該從鍵盤輸入( )。 教師批改:i=10,j=20 49、以下程序的輸出結果是( )。 main() int a=177; printf(

31、%on,a); 教師批改:261 50、以下程序的輸出結果是( ) 。 main() int a=0 a+=(a=8); printf(%dn,a); 教師批改:16 51、以下程序的輸出結果是( ) main() int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(“%d,%dn”, a, b ); 教師批改:2,1 52、下列程序的輸出結果是16.00,請?zhí)羁铡?main() int a=9, b=2; float x= ( ) , y=1.1,z; z=a/2+b*x/y+1/2; printf(“%5.2fn”, z ); 教師批改:6.6 53、以下程

32、序的輸出結果是( )。 main() unsigned short a=65536; int b; printf(“%dn”,b=a); 教師批改:0 54、若想通過以下輸入語句使a=5.0,b=4,c=3,則輸入數據的形式應該是( ) 。 int b,c; float a; scanf(%f,%d,c=%d,&a,&b,&c); 教師批改:5.0,4,c=3 55、若想通過以下輸入語句給a賦于1,給b賦于2,則輸入數據的形式應該是( )。 int a,b; scanf(a=%b,b=%d,&a,&b); 教師批改:a=1,b=256、原題:打印出下題的結果main() int a=5,b=7

33、; float x=67.8564,y=-789.124; char c=A; long n=1234567; unsigned u=65535; printf(%d%dn,a,b); printf(%3d%3dn,a,b); printf(%f,%fn,x,y); printf(%-10f,%-10fn,x,y); printf(%8.2f,%8.2f,%4f,%4f,%3f,%3fn,x,y,x,y,x,y); printf(%e,%10.2en,x,y); printf(%c,%d,%o,%xn,c,c,c,c); printf(%ld,%lo,%xn,n,n,n); printf(%u

34、,%o,%x,%dn,u,u,u,u); printf(%s,%5.3sn,COMPUTER,COMPUTER); 教師批改:結果:575 767.856400,-789.12402367.856400 ,-789.12402367.86, -789.12,67.856400,-789.124023,67.856400,-789.1240236.78564e+01, -7.9e+02A,65,101,411234567,4553207,d68765535,177777,ffff,-1COMPUTER, COM57、用下面的scanf函數輸入數據,使a=3,b=7,x=8.5,y=71.82,c

35、1=A,c2=a。問在鍵盤上如何輸入? 教師批改:輸入格式為:a=3,b=7 8.5 71.82 A a58、用下面的scanf函數輸入數據使a=10,b=20,c1=A,c2=a,x=1.5,y=-3.75,z=67.8,請問在鍵盤上如何輸入數據?scanf(%5d%5d%c%c%f%f%*f,%f,&a,&b,&c1,&c2,&x,&y,&z); 教師批改:輸入格式為:10 20Aa1.5 -3.78 0.0,67.8提示:10與20之間是3個空格,而那個0.0是隨便一個浮點數即可。59、設圓半徑r=1.5,圓柱高h=3,求圓周長,圓面積,圓球表面積,圓球體積,圓柱體積,用scanf輸入數

36、據,輸出結果,輸出時要求有文字說明,取小數點后2位數字,請編寫程序。教師批改:main() int h; float r,pi=3.14159; float cubage1,cubage2,per,area,facearea; clrscr(); printf(please input the circles radiin); scanf(%f,&r); clrscr(); printf(please input the cylinders heightn); scanf(%d,&h); per=2*pi*r; area=pi*r*r; facearea=4*pi*r*r; cubage1=4

37、/3*pi*r*r*r; cubage2=area*h; clrscr(); printf(nntThe circles perimeter is %.2fn,per); printf(tThe circles area is %.2fn,area); printf(tThe spheres facearea is %.2fn,facearea); printf(tThe spheres cubage is %.2fn,cubage1); printf(tThe cylinders cubage is %.2fn,cubage2);60、輸入一個華氏溫度,要求輸出攝氏溫度。公式為 c=(F-3

38、2)*5/9。教師批改:main() float temper; float c; clrscr(); printf(Please input the temperature of Fahrenheitn); scanf(%f,&temper); c=(temper-32)*5/9; printf(The Celsius temperature is %.2f,c);61、編程序,用getchar()函數讀入兩個字符給c1,c2,然后用putchar()函數和printf函數輸出這兩個字符。并思考以下問題:(1)變量c1,c2應為字符型或整型?抑或二者皆可?(2)要求輸出c1,c2值的ASCI

39、I碼,應如何處理?用putchar函數還是printf函數?(3)整型變量與字符變量是否在任何情況下都可以互相代替?如:char c1,c2;與 int c1,c2;是否可以無條件的等價?教師批改:main() char c1,c2; c1=getchar(); c2=getchar(); printf(n); putchar(c1); putchar(c2); printf(c1=%c,c2=%c,c1,c2);(1)都可;(2)用printf()函數;(3)不可以,必須是整形變量的值在256以內,否則則超過了ASCII的值。62、設變量x=10.2,y=20.5,編程序實現(xiàn)兩個變量的值互換

40、。 教師批改:main ( ) double x, y, t ;printf(Enter x and y :n);scanf (%lf%lf, &x, &y);t=x;x=y; y=t;printf (x=%f, y=%f n , x , y);運行程序 :Enter x and y :輸入:12.3434.12(表示回車, 表示空格)輸出: x=34.120000,y=12.340000第一個printf函數輸出的是提示信息,提醒用戶輸入x和y的值;x,y值交換后用%f格式輸出x和y的值(輸出double型數據可以用%f格式,但輸入double型數據必須用%lf或%le格式)。在格式字符串中

41、用x=,y=是為了對輸出的數據進行說明,使輸出數據更明確。63、輸入兩個整數a和b(設a=1500,b=350),求a除以b的商和余數,編寫完整程序并按如下形式輸出結果(表示空格)。a=1500,b=350a/b=4,theamodb=100教師批改: #include stdio.hmain( ) int a, b, c, d;scanf (%d, %d, &a, &b);c=a/b; /* 求a/b的商 */d=a%b; /* 求a/b的余數 */printf (a=%5d, b=%4dn, a, b);printf (a/b=%3d, the a mod b=%4dn, c, d);第5

42、章 選擇結構程序設計 1、邏輯運算符兩側運算對象的數據類型_。 A)只能是0或l B)只能是0或非0正數 c)只能是整型或字符型數據 D)可以是C的任何類型的數據 D 教師批改:D 2、以下關于運算符優(yōu)先順序的描述中正確的是_。 A)關系運算符算術運算符賦值運算符邏輯與運算符 B)邏輯與運算符關系運算符算術運算符賦值運算符 C)賦值運算符邏輯與運算符關系運算符算術運算符 D)算術運算符關系運算符賦值運算符邏輯與運算符 C 教師批改:C 3、下列運算符中優(yōu)先級別高的是 A) B)+ C)& D)!= D 教師批改:B 4、能正確表示“當x的取值在1,10和200,210范圍內為真,否則為假”的達

43、式是_。 A)(x1)&(x10&(x200)&(x2l0) B)(x1)|(x10)|(x200)|(x210) C)(x1)&(x10)|(x200)&(x2l0) D)(x1)|(x10)&(x200)|(x210) A 教師批改:C 5、設有:int a1,b2,c3,d4,m2,n2;執(zhí)行 (mab)&(ncd)后n的值為_。 A)1 B)2 C)3 D)4 B 教師批改:B 6、以下程序的運行結果是_。include stdioh”void main()int a,b,d241; ad1009; b(-1)&(-1); printf(”d,d,a,b); A)6,1 B)2,1 C

44、)6,0 D)2,0 B 教師批改:B 7、已知int x10,y20,z30;以下語句執(zhí)行后x,y,z的值是_。if(xy) z=x;x=y;y=z; A)x10,y20,z30 B)x20,y30,z30 C)x20,y30,z10 D)x20,y30,z20 A 教師批改:B 8、請閱讀以下程序:main()int a5,b0,c0; if(ab+c) printf(”* * *n”); else printf(”$ $ $”);以上程序_。 A)有語法錯不能通過編譯 c)輸出* * * B)可以通過編譯但不能通過連接 D)輸出$ $ $ A 教師批改:D 9、以下程序的運行結果是_。m

45、ain() int m5; if(m+5) printf(”dn”,m) else printf(”dn”,m-); A)4 B)5 C)6 D)7 C 教師批改:C 10、當a=1,b=3,c=5,d=4時,執(zhí)行完下面一段程序后,x的值是_。if(ab) if(cd) x=1; elseif(ac)if(bd)x2;else x3;else x=6;else x=7; A)1 B)2 C)3 D)6 B 教師批改:B11、以下程序的輸出結果是_。main()int a100,xl0,y20,ok15,ok20; if(xy) if(y!10) if(!okl) a1; else if(ok2

46、) a=10; a=-1; printf(%dn,a); A)1 B)0 C)-1 D)值不確定 C 教師批改:C 12、若有條件表達式達式(exp)?a+:b-,則以下表達式中能完全等價于表達式(exp)的是_. A)(exp=0) B)(exp!=0) C)(exp=1) D)(exp!=1) C 教師批改:B 13、若w1,x2,y3,z4,則條件表達式wx?w:yz?y;z的值是 A)4 B)3 C)2 D)1 B 教師批改:D 14、邏輯運算符兩側運算對象的數據類型_ A)只能是0或l B)只能是0或非0正數 C)只能是整型或字符型數據 D)可以是任何類型的數據 D 教師批改:D 1

47、5、下列運算符中優(yōu)先級別高的是 A) B)+ C)& D)!= D 教師批改:B 16、能正確表示“當x的取值在1,10和200,210范圍內為真,否則為假”的達式是_。 A)(x1)&(x10&(x200)&(x2l0) B)(x1)|(x10)|(x200)|(x210) C)(x1)&(x10)|(x200)&(x2l0) D)(x1)|(x10)&(x200)|(x210) C 教師批改:C 17、判斷char型變量ch是否為大寫字母的正確表達式是_。 A)AchZ B)(chA)|(chZ) C)(chA)&(chZ) D)(Ach)AND(zch) B 教師批改:C 18、設有:i

48、nt a1,b2,c3,d4,m2,n2;執(zhí)行 (mab)&(ncd)后n的值為_。 A)1 B)2 C)3 D)4 B 教師批改:B 19、 判斷char型變量c1是否為小寫字母的正確表達式為_ A)ac1z B)(c1a)&(c1z) C)(ac1) |(zc1) D)(c1a)&(c1z) C 教師批改:D 20、以下程序的運行結果是_。main() int m5; if(m+5)printf(”dn”,m) else printf(”dn”,m-); A)4 B)5 C)6 D)7 C 教師批改:C 21、當a=1,b=3,c=5,d=4時,執(zhí)行完下面一段程序后,x的值是_if(ab)

49、 if(cd) x=1; else if(ac) if(bd)x2; else x3; else x=6;else x=7; A)1 B)2 C)3 D)6 B 教師批改:B 22、以下程序的輸出結果是_。main()int a100,xl0,y20,ok15,ok20; if(xy) if(y!10) if(!okl) a1; else if(ok2) a=10; a=-1; printf(%dn,a); A)1 B)0 C)-1 D)值不確定 C 教師批改:C 23、以下程序的輸出結果是_。main()int x2,y-1,z2; if(xy) if(y0) zO; else z+1; p

50、rintf(“dn”,z); A)3 B)2 C)1 D)0 D 教師批改:B 24、若運行時給變量x輸入12,則以下程序的運行結果是_。main()int x,y ; scanf(d,&x); yx12?x10:x-12; printf(%dn,y); A)0 B)22 C)12 D)10 A 教師批改:A 25、執(zhí)行以下程序段后,變量a,b,c的值分別是_。int x10,y9;int a,b,c;a(-x=y+)?-x;+y;bx+;c=y; A)a9,b9c9 B)a8,b8,c10 C)a9,b10,c9 D)a1,b11,c10 C 教師批改:B 26、main( ) int a=

51、15,b=21,m=0; switch(a%3) case 0:m+;break; case 1:m+; switch(b%2) default:m+; case 0:m+;break; printf(“%dn”,m);程序運行后的結果是 ( )A)1 B)2 C)3 D)4 A 教師批改:A 27、表達式1&3&5&7的值為_。 A.1 B.3 C.5 D.7 A 教師批改:A 28、表達式-1=3=-5值是_。 A.0 B.1 C.3 D.表達式語法有錯 A 教師批改:A 29、假定所有變量均已正確說明,下列是程序段運行后x的值是_。a=b=c=0;x=35;if(!a) x-;else

52、if(b);if(c) x=3;else x=4; A.34 B.4 C.35 D.3 A 教師批改:B 30、若變量c為char類型,能正確判斷出c為小寫字母的表達式是_。A.a=c= a)|(c= z) C.(a=c) D.(c= a)&(c= z) B 教師批改:D 36、在以下一組運算中,優(yōu)先級最高的運算符是_。 A.= B. = C. % D. & C 教師批改:C 37、執(zhí)行下面語句后的輸出結果為_。int i=-1;if(i=0) printf(*n);else printf(%n); A.* B.% C.%c D.有語法錯誤,不能正確執(zhí)行 A 教師批改:A 36、在以下一組運算

53、中,優(yōu)先級最高的運算符是_。 A.= B. = C. % D. & C 教師批改:C 37、執(zhí)行下面語句后的輸出結果為_。int i=-1;if(i0) case 1:switch (b0) case 1:printf();break; case 2: switch (c=5) case 0:printf(*);break; case 1:printf(#);break; default:printf(#);break; default:printf(&); printf(n); 教師批改:#& 39、請讀程序#includemain() int x=1,y=0,a=0,b=0; switch

54、(x) case 1: switch(y) case 0:a+;break; case 1:b+;break; case 2: a+;b+;break; printf(a=%d,b=%d,a,b);上面程序的運行結果是_ 教師批改:a=2,b=1 40、有三個整數a,b,c,由鍵盤輸入,輸出其中最大得數。 教師批改:main() int a,b,c,d; printf(please input 3 num, the format is 1 2 3n); scanf(%d %d %d,&a,&b,&c); d=(ab)?a:b; d=(dc)?d:c; printf(the max number

55、 is %dn ,d);41、以下面的方程為基礎,寫一程序,輸入X值,輸出Y值,方程如下:當 x1 時,y=x,當1=x=10時,y=3x-11教師批改:main() int x,y,a; printf(please input the value of x );/*輸入X的值*/ scanf(%d,&x); printf(the value of y is: );/*分條件打印出y值*/ if(x=1&x10) y=2*x-1; printf(%d,y); else y=3*x-11; printf(%d,y); 42、給出一百分制成績,要求輸出成績等級A,B,C,D,E,90分以上為A,8

56、090分為B,7079分為C,6069分為D,60分以下為E。 教師批改:main() int num ; printf(please input the score:n ); scanf(%d,&num); if(num100) printf(the score is error,please input a number from 0-100n ); else if(num=90) num=65; else if(num=80) num=66; else if(num=70) num=67; else if(num=60) num=68; else num=69; printf(the l

57、evel is :); switch(num) case 65: printf(%c,num);break; case 66: printf(%c,num);break; case 67: printf(%c,num);break; case 68: printf(%c,num);break; case 69: printf(%c,num);break; 43、給一個不多于5位的正整數,要求:(1)求出它是幾位數,(2)分別打印出每一位數字(3)按順序打印出各位數字,例如原數時321,應輸出123。教師批改:main() long num; int k; printf(please input

58、 a num form 0-99999:n); scanf(%ld,&num); printf( the answer one is: the long of the number is: ); if(num=10000) k=5; printf(%d,k); else if(num=1000) k=4; printf(%d,k); else if(num=100) k=3; printf(%d,k); else if(num=10) k=2; printf(%d,k); else k=1; printf(%d,k); printf(n the answer two is :); switch

59、(k) case 1: printf(%5ld,num);break; case 2: printf(%5ld %5ld,num/10,num%10);break; case 3: printf(%5ld %5ld %5ld,num/100,num%100/10,num%10);break; case 4: printf(%5ld %5ld %5ld %5ld,num/1000,num%1000/100,num%100/10,num%10);break; case 5: printf(%5ld %5ld %5ld %5ld %5ld,num/10000,num%10000/1000,num%1

60、000/100,num%100/10,num%10);break; printf(nthe answer three is: ); switch(k) case 1: printf(%ld,num);break; case 2: printf(%ld%ld,num%10,num/10);break; case 3: printf(%ld%ld%ld,num%10,num%100/10,num/100);break; case 4: printf(%ld%ld%ld%ld,num%10,num%100/10,num%1000/100,num/1000);break; case 5: printf

溫馨提示

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

評論

0/150

提交評論