順序結構程序設計練習題_第1頁
順序結構程序設計練習題_第2頁
順序結構程序設計練習題_第3頁
順序結構程序設計練習題_第4頁
順序結構程序設計練習題_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言練習題總匯一、 單選題:【順序結構程序設計】1己知 int k,m=1; 執(zhí)行語句 k=-m+; 后 k 的值是( A )。(提示: 負號與自加運 算符同級,結合方向從右向左 )A)-1B) 0C)1D)22若有定義 int x=4 ;則執(zhí)行語句 x + = x * = x + 1 ;后, x 的值為( C )。 A)5B)20C)40 D) 無答案3若有定義: float a= ,b=,c=;則表達式 1/2 *(a+b+c) 的值為( C )。A) B)6 C) D) 無答案4以下程序段的輸出結果是( C )。(提示: a 當約束過嚴時,約束失效。按自 由格式輸出。 )int a=1

2、234;printf(%2dn,a);A)12 B)34 C)1234 D) 提示出錯,無結果5. 下列程序段的輸出結果是( C)。int a=1234 ;float b= ;double c= ;printf ( %2d,%,%,a, b,c);A)無輸出B)12, , C)1234, D)1234,6. 設 x, y 均為整型變量,且 x=8, y=5, 則以下語句的輸出結果是( D)printf (%d, %dn, x- ,+y);A)8,5 B)7,5 C) 7,6 D) 8,67. 以下程序的輸出結果是( A )。int main () int a=20 , b=10;printf(

3、%d,%dn ,a+b,a-b ); A) 30,%d B)30,10 C)30,%10 D) 以上答案均不正確(%d中第一個 %后面的表示字符)8下列程序的運行結果是( A)。int main () float x= ;int y;y= (int ) x;printf (x=%f ,y=%d,x,y); A) x=,y=2 B)x=,y=2 C)x=2,y=2 D) x=,y=9. 以下程序的輸出結果是( A)。int main () char c= z ;字母共有 26 個,而 z 是最后一個 )printf (%c,c-25 );A)a B)z C)z-25 D)y (10下面程序的輸出

4、結果是( C) int main( ) double d= ;int x= , y ;y=(x+/ ;printf(%dn,d*y) ; A) 3 B) C)0 D)11. 下面程序的輸出結果是 ( C ) 。( 提示:輸出時無定界符 )int main() int k=17 ;printf(%d , %o,%xn ,k,k,k) ;A)17,17,17 B)17,021,0x11 C)17,21,11 D)17,0x11,021 12下列程序執(zhí)行后的輸出結果是( C)。int main () char x =OxFFFF ;printf(%dn , x- );A)-32767 B)FFFE

5、C)-1 D)=-32768 (abrehiyboun);的輸出結果是( C)。A)abrehiybou B)abrehiybouC)rehiyou D)abrehiybou14有定義語句: int x,y; 若要通過 scanf(%d,%d,&x,&y); 語句使變量 x 得到 數(shù)值 11,變量 y 得到數(shù)值 12,下面四組輸入形式中錯誤的是( A)。A)1112B)11 ,12C)11,12D)11,1215有以下程序段:int m=0,n=0;char c= a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n);若從鍵盤上輸入: 10A10 回

6、車 ,則輸出結果是( A)。A)10,A,10 B)16,a,10 C)10,a,0 D)10,A,016. 若變量已正確說明為 int 類型,要通過語句 scanf(%d %d %d ,&a,&b,&c);給 a 賦值 1,b 賦值 2,c 賦值 3,不正確的輸入形式是( B)。A) 1 空格 2空格 3回車 B)1,2,3 回車 C)1 回車 2空格 3回車 D)1空格 2回車 3回車, b,c 被定義為 int 型變量,若從鍵盤給 a, b,c 輸入數(shù)據(jù),正確的輸入語句是 (D) A)input a,b,c; B)read(%d%d%d,&a,&b,&c); C)scanf(%d%d%d

7、,a,b,c);D)scanf(%d%d%d,&a,&b,&c);18已知 a,b,c 為 int 型變量,若從鍵盤輸入 :1,2,3 回車,使 a的值為 1,b的 值為 2,c 的值為 3, 以下選項中正確的輸入語句是( B)。A)scanf(%2d,%2d,%2d , a,b,c); B)scanf(%d,%d,%d,&a,&b,&c);C)scanf(%d %d %d,&a,&b,&c); D)scanf(i=%dj=%d,k=%d,&a,&b,&c);19. 執(zhí)行下程序時輸入 :123空格456空格789回車,輸出結果是 ( D ) 。int main () char s ;int c

8、 ,i ;scanf( %c ,&c);scanf( %d,&i );scanf( %c ,&s);printf(%c,%d,%cn ,c,i ,s);A)123,456,789 B)1,456,789 C)1,23,456,789 D) 1,23,20. 已定義 c 為字符型變量,則下列語句中正確的是( C ) 。A)c=97 B )c=“97 “ C ) c=97D)c=“a”21. 以下程序的功能是:給 r 輸入數(shù)據(jù)后計算半徑為 r 的圓面積 s 。程序在編譯時出錯。#include void main()int r;float s;scanf(%d,&r);s=p*r*r;printf

9、(s=%fn,s);出錯的原因是( )。A) 注釋語句書寫位置錯誤B) 存放圓半徑的變量 r 不應該定義為整型C) 輸出語句中格式描述符非法D) 計算圓面積的賦值語句中使用了非法變量 答案: D22. 有以下程序#include void main( )int m=12,n=34;printf(%d%d,m+,+n); printf(%d%dn,n+,+m); 程序運行后的輸出結果是( )。答案: A23. 數(shù)字字符 0 的 ASCII 值為 48,若有以下程序 #include void main( )char a=1,b=2;printf(%c,b+); printf(%dn,b-a);

10、程序運行后的輸出結果是 。A) 3,2 B ) 50,2C)2,2 D )2,50答案: C24. 有以下程序#include void main( )char c1=1,c2=2;c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2); 當運行時輸入: a 后,以下敘述正確的是 A)變量 c1 被賦予字符 a, c2 被賦予回車符B) 程序?qū)⒌却脩糨斎氲?2 個字符C) 變量 c1 被賦予字符 a, c2 中仍是原有字符 2D) 變量 c1 被賦予字符 a, c2 中將無確定值 答案: A25.【選擇結構程序設計】1. 有變量說明語句

11、int a,b ,c; ,順序執(zhí)行下面語句:a=b=c=1 ;+a|+b&+c;那么,變量 b 的值應是( B )a 的值應該是( B )A2 B 1 C 0 D 32. 有變量說明 int a=3;, 則表達式 a1 的運算結果和A0和 2 B 0和3 C 1和2 D 1和 33. 設 int a=3,b=4,c=5;,列表達式的值不為 1 的是( AA)a+bc&b=cB) a|b+c&b-cC) !(ab)&!c|1D)!(a+b)+c-1&b+c/24. #includeint main( )int a,b,c;a=10;b=50;c=30;if(ab) a=b;b=c;c=a;pri

12、ntf( “a=%d,b=%d,c=%dn”,a,b,c);程序的輸出結果是( C )。=10, b=50, c=10 B. a=10, b=50, c=30=10, b=30, c=10 D. a=50, b=30, c=505. 若整型變量 a、b、c、d 中的值依次為: 1、4、3、2。則條件表達式 ab?a:cd?c:d 的值是 ( A ) 。( A)1(B)2(C)3(D)46. 若 x和 y 代表整型數(shù),以下表達式中不能正確表示數(shù)學關系 |x-y|10 的是( C )。 A) abs(x-y)-10&x-y10 C ) !(x-y)10 D ) (x-y)*(x-y)1007. 若

13、有定義: int a 7;f1oat x , y;則表達式 x+a 3*(int)(x+y) 24 的值是 ( A ) 。A)B ) C ) D )8. 若有定義和語句:int s,p ;s=p=5; p=s+ , +p,p+2,p+; 則執(zhí)行語句后 p 的值是( C )A)9 B)8 C)7 D)69. 若有定義: int a ,b;則表達式 a=4 ,b=3,a+b+2,a+,a+b+2 的值為( C )A) 12 B)11 C)10 D) 無答案10. 己知 int k=10 , m=3,n; 則下列語句的輸出結果是( B )。printf%dn , n=k%m, k/m);A) 2 B

14、)3 C)4 D)511. 設 x 和 y 均為 int 型變量,則以下語句: A) 把 x 和 y 按從大到小排列 B) C) 無確定結果 D) 答案: D12. 設 int i=2,j=3,k=4,a=4,b=5,c=3;, ()。A) 0 B ) 1 答案: D 13. 若 x、a、 b、 A) 4B答案: Cc均 為 int )8x+=y; y=x-y; x-=y; 把 x 和 y 按從小到大排列 交換 x 和 y 中的值則執(zhí)行表達式(型變量,則執(zhí)行表達式C) 12x=D的功能是()。a=ik)&(c=i,j,k)后, c 值是= 4,)24b = 8, c = 12) 后, x 的值

15、為14. 以下程序的輸出結果是 #include void main() int a=-1, b=4, k;k = ( +a 0) & ( b += 5); printf (%d%d%d n, k, a, b );A) 答案: D104 B )103 C)003)00415. 下列運算符中,結合方向為自左向右的是()。A)?:B)C)+ = ( D) + +答案:(B)16. 下列運算符中優(yōu)先級最高的是(A)! B )% C )- = D )& 答案:(A)17. 有以下程序#include void main( )int m=3,n=4,x;x=-m+;x=x+8/+n;printf(%dn

16、,x); 程序運行后的輸出結果是( )。A)3 B ) 5 C )-1 D ) -2 答案: D18.【循環(huán)結構練習題】1. 下面有關 for 循環(huán)的正確描述是 ( )A for 循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B for 循環(huán)是先執(zhí)行循環(huán)體語句,后判定表達式C在 for 循環(huán)中,不能用 break 語句跳出循環(huán)體D for 循環(huán)體語句中,可以包含多條語句,但要用花括號括起來 答案: D2. 對于 for( 表達式 1; 表達式 3) 可理解為( )A for( 表達式 1:1;表達式 3)B for( 表達式 1;1;表達式 3)C for( 表達式 1;表達式 1;表達式 3)D for

17、( 表達式 1;表達式 3;表達式 3) 答案: B3. 以下正確的描述是 ( ) 。A continue 語句的作用是結束整個循環(huán)的執(zhí)行B只能在循環(huán)體內(nèi)和 switch 語句體內(nèi)使用 break 語句 C在循環(huán)體內(nèi)使用 break 語句或 continue 語句的作用相同 D從多層循環(huán)嵌套中退出時,只能使用goto 語句答案: B4. 下面程序段不是死循環(huán)的是 ( ) 。A int I=100;B for ( ; ; );while(1) I=I%100+1;if(I100) break;C int k=0;D int s=36;do- -k; while(s);while(k=0);-s;

18、答案: C5. 以下能正確計算 1*2*3* *10 的程序是 ( ) 。Adoi=1;s=1;B doi=1;s=0;s=s*i;s=s*i;i+;i+;while(i=10);Ci=1;s=1;do s=s*i;i+;while(i=10);答案: C6. 下面程序的運行結果是 ( )#include int main( ) int y=10;doy-;while(-y);printf(%dn,y-);A-1B 1 C答案: D7. 下面程序的運行結果是 ( )#includeint main() int num=0;while(num=2)while(i=10);D i=1;s=0do

19、s=s*i;i+;while(i=10);。8 D 0num+;printf(%dn,num);A1B1 2C1 2 3D1 2 3 4答案: C8. 若運行以下程序時,從鍵盤輸入 ( 表示回車),則下面程序的運行結果是 ( ) 。#include#includevoid main( ) float x,y,z;scanf( “%f%f”,&x,&y);z=x/y;while(1) if(fabs(z) x=y;y=z;z=x/y;elsebreak;printf( “%f n”,y);A B C D 答案: B9. 有以下程序:#include void main( )int i=0,s=0

20、;for(; ;)if(i=3|i=5)continue;if(i=6) break;i+;s+=i;printf(%dn,s);程序運行后的輸出結果是( )。A)10B)13C ) 21 D )程序進入死循環(huán)答案: D10. 若有程序段:for (m=1;m=100;m+)scanf(%d,&y);if(y0) continue;printf(%3d,m);正確的描述是( )。A)當 y=0 時什么也不輸出D )最多允許輸出 100 個非負整數(shù)D )無任何結果二、填空題【順序結構程序設計】1有以下程序: int main () int m ,n, p;scanf (m=%dn=%dp=%,d

21、 &m, n, &p);printf (%d%d%dn,m, n,p);若想從鍵盤上輸入數(shù)據(jù), 使變量 m中的值為 123, n中的值為 456, p 中的值為 789, 則正確的輸入是m=123n=456p=789。2. 以下程序段的輸出結果是 28 。int main () int a=2 , b=3,c=4 ;a* 16 +(b+)-(+c) ;printf ( %d,a);3以下程序段的輸出結果是 5 。int x=17 ,y=26 ;printf (%d,y/= ( x%=6); 4下列程序的輸出結果為 12 。 int main () int x=3 , y=5 ;printf (

22、%d,x= (x- )* (-y) );5. 若有以下程序:int main () char a ;a= H-A+0;( 0, o)printf ( %c, %dn , a,a ); 執(zhí)行后的輸出結果是 7,55 。6. 以下程序段的輸出結果是 261 。void main () int a=177printf( %on ,a);7. 以下程序的輸出結果是 0 (-3276732767int) void main( ) unsigned short a=65536; int b;printf(%dn,b=a); 提示:當 unsigned short 和 int 均占 2 個字節(jié)時。8. 輸入

23、“ 12345,xyz ”,下列程序輸出的結果是 。 int main( ) int x;char y;scanf ( “ %3d%3”c ,&x,&y);printf ( “%d,%c” ,x,y);答案: 123, 49. 以下程序的運行結果是。#include void main( )int i=8,j=9,m,n; m=+i;n=j+; printf(%d,%d,%d,%dn,i,j,m,n);答案: 9,10,9, 910. 下列程序的輸出結果是。#include void main( )int a = 3 , b = 14 , c = 5 ;c = c + a *a + b % 5

24、 * 10 ; printf(%on , c ); 答案: 6611. 閱讀程序,并按給定的輸出格式將程序運行結果寫在“運行結果:”之后#include void main( )int a, b, c;a = (b = (c = 3) * 5)*5;printf (a=%d, b=%d, c=%d n, a, b, c); 運行結果是: 答案:運行結果是a = 75, b = 15, c = 312.【選擇結構程序設計】1. 以下程序運行的結果是 #include void main( )int a,b,c;a=1;b=2;c=3;a=b-=a|a+b!=c; printf(%d,%d,a,b

25、);答案: 1,12. 以下程序的運行結果是 。 #include void main( )int a,b,c;a=b=c=1;if (a+|+b) c+;printf(%d,%d,%dn,a,b,c);答案: 2,1, 23. 以下程序的輸出結果是 #include void main( )int k, i=0, j=2;k = i+&j+;printf (%d,%d,%dn, i, j, k);答案: 1,2, 04.【循環(huán)結構程序設計】,則下面程序的運行結果是 v0=12,v1=4,v2=121. 若運行以下程序時, 從鍵盤輸入 ADescriptor #include void mai

26、n( )char c;int v0=0,v1=0,v2=0;doswitch(c=getchar()case a:case A: case e: case E case i : case I :case o: case O:case u:case U: v1+=1; default : v0+=1; v2+=1; while(c!= n );,v0,v1,v2);printf( “ v0=%d,v1 d,v2=%dn2. 下面程序的運行結果是 8,-2 #include void main( ) int i,b,k=0;for(i=1;i=0) k+;printf( “ %d,%d” ,k,b

27、);3. 下面程序的運行結果是 8,22 #include void main( ) int a,b;for (a=1,b=1;a=20) break;if(b%3=1) b+=3; continue; b-=5;printf( “ %dn” ,a ,b);4. 下面程序的運行結果是 x=8 。 #include void main( ) int i,j,x=0;for (i=0;i2;i+) x+;for(j=0;j=3;j+) if(j%2) continue;x+;x+;printf( “ x=%d n” ,x);5. 下面程序的運行結果是 *#*#*#$ #include void m

28、ain( ) int i;for (i=1;i=5;i+) if(i%2) printf(“* ”);else continue;printf( “#”);printf( “$ n” );6. 下面程序的運行結果是 4 。#includevoid main()int i,j,a=0;for(i=0;i2;i+) for (j=0; j4; j+) if (j%2) break;a+;a+;printf( “ %d n” ,a);7. 有以下程序 , 若從鍵盤輸入: 247,則程序的輸出結果是。#include void main( )int c;while (c=getchar()!=n)switch (c-2)case 0:case 1: putchar(c+4);case

溫馨提示

  • 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

提交評論