C語言——順序結構程序設計練習題_第1頁
C語言——順序結構程序設計練習題_第2頁
C語言——順序結構程序設計練習題_第3頁
C語言——順序結構程序設計練習題_第4頁
C語言——順序結構程序設計練習題_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上順序結構程序設計習題一、 選擇題:(以下各題代表空格。)1. 以下程序運行的結果是:#include <stdio.h>int main()int m=5,n=10;printf(“%d,%dn”,m+,-n);A)5,9 B)6,9 C)5,10 D)6,102. 以下程序運行的結果是:#include <stdio.h>int main()int a=201,b=012;printf(“%2d,%2dn”,a,b);return 0A)01,12 B)201,10 C)01,10 D)20,013. 有定義語句int a,b;若要通過語句s

2、canf(“%d,%d,”&a,&b);使變量a得到數值6,變量b得到數值5,下面輸入形式,錯誤的是: A)6,5<回車> B)6,<回車> C)6 5<回車> D)6,<回車>5<回車> 4. 設有如下程序:#include <stdio.h>int main()char ch1=A,ch2=a;printf”%cn”,(ch1,ch2);return 0;則以下敘述正確的是: A) 程序的輸出結果為大寫字母A;B) 程序的輸出結果為小寫字母a;C) 運行時產生錯誤信息;D) 格式說明符的個數少于輸出項個

3、數,編譯出錯。5. 以下程序運行的結果是:#include <stdio.h>int main()int x1=0xabc,x2=oxdef;x2-=x1;printf(“%Xn”,x2);return 0;A)ABC B)0XABC C)0X333 D)3336. 以下程序輸出的結果是: #include <stdio.h>int main() printf(“n*s1=%15s*”,”chinabeijing”);printf(“n*s2=%-5s*”,”chi”);A)*s1=chinabeijing* S2=*chi*B)*s1=chinabeijing* *s

4、2=chi*C)*s1=*chinabeijing* *s2=chi*D)*s1=chinabeijing* *s2=chi*7. 已有定義int a=-2;和輸出語句:printf(“%8lx”,a);以下正確的描述是: A) 整形變量的輸出格式符只有%d一種;B) %x是格式符的一種,它可以適應與任何一種類型的數據;C) %x是格式符的一種,其變量的值按十六進制輸出,但%8lx是錯誤的D) %8lx不是錯誤的格式符,其中數字8規定了輸出字段的寬度。8. 以下C程序的運行結果是: #include <stdio.h>int main()long y=-43456;printf(y

5、=%-8ldn”,y);printf(y=%-08ldn”,y);printf(y=%08ldn”,y);printf(y=%+8ldn”,y);return 0;Ay=-43456y=-43456y=-y=-43456By=-43456y=-43456y=-y=+-43456Cy=-43456y=-43456y=-y=-43456Dy=-43456y=-y=y=+434569. 以下程序運行的結果是: #include <stdio.h>int main()int y=2456;printf(“y=%3on”,y);printf(“y=%8on”,y);printf(“y=%#8

6、on”,y);return 0;Ay=2456y=2456y=#2456By=4630y=4630y=#4630Cy=2456y=2456y=02456Dy=4630y=4630y=0463010. 以下程序運行的結果是:#include <stdio.h>int main() long y=23456;printf(“y=%3xn”,y);printf(“y=%8xn”,y);printf(“y=%#8xn”,y);return 0;AY=5ba0Y=5ba0Y=0x5ba0BY=5ba0Y=5ba0Y=0x5ba0CY=5ba0Y=5ba0Y=0x5ba0DY=5ba0Y=5b

7、a0Y=#5ba011. 若x,y均定義為int型,z定義為double型,以下不合法的scanf函數調用語句是: A) scanf(“%d%lx,%d”,&x,&y,&z);B) scanf(“%2d*%d%lf”,&x,&y,&z);C) scanf(“%x%*d%o”,&x,&y);D) scanf(“%x%o%6.2f”,&x,&y,&z);12. 如有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10、20、A、B,當從第一列開始輸入數據時,正確的數據輸入方式為: int a1,a2;

8、char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);A) 10A20B<回車> B)10A20B<回車>B) 10A20B<回車> D) 10A20B<回車> 13. 已有定義int x;float y;且執行scanf(“%3d%f”,&x,&y);語句,若從第一列開始輸入數據12345678<回車>,則x的值為(【1】 )y的值為(【2】 )【1】:A) 12345 B)123 C)45 D)345【2】:A)無定值 B)45. C)678. D

9、)123.14. 根據以下定義語句和數據的輸入方式,scanf語句的正確形式應為: 已有定義:float f1,f2;數據的輸入方式:4.52<回車> 3.5<回車>A)scanf(“%f,%f”,&f1,&f2);B) scanf(“%f%f”,&f1,&f2);C) scanf(“%3.2f %2.1f”,&f1,&f2);D) scanf(“%3.2f%2.1f”,&f1,&f2);15. 閱讀下列程序,當輸入數據的形式為25,13,10<回車>,程序的輸出結果為: #include &l

10、t;stdio.h>int main()int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%dn”,x+y+z);return 0;A)x+y+z=48 B) x+y+z=35C) x+z=35 D)不確定值16. 設有以下程序:#include <stdio.h>int main()char c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);p

11、uchar(c2);printf(“%c%cn”,c5,c6);return 0;若運行時從鍵盤輸入數據:abc<回車>defg<回車>則輸出的結果是: A)abcd B)abde C)abef D)abfg17. 以下針對scanf函數的敘述中,正確的是: A) 輸入項可以為一實型常量,如scanf(“%f”,3.5);B) 只有格式控制,沒有輸入項,也能進行正確輸入,如scanf(“a=%d,b=%d”);C) 當輸入一個實型數據時,格式控制部分應規定小數點后的位數,如scanf(“%4.2f”,&f);D) 當輸入數據時,必須指明變量的地址,如scanf(

12、“%f”,&f);18. 根據下面的程序及數據的輸入方式和輸出方式,程序中輸入語句的正確形式應該為: #include <stdio.h>int main() char ch1,ch2,ch3;輸入語句;printf(“%c%c%c”,ch1,ch2,ch3);return 0;輸入形式:ABC<回車>輸出形式:ABA) scanf(“%c%c%c”,&ch1,&ch2,&ch3);B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);C) scanf(“%c %c %c”,&ch1,&a

13、mp;ch2,&ch3);D) scanf(“%c%c”,&ch1,&ch2,&ch3);19. 有輸入語句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);為使變量a的值為1,b的值為3,c的值為2,從鍵盤輸入數據的正確形式應當是: 。A)132<回車> B)1,3,2<回車>C)a=1b=3c=2<回車> D)a=1,b=3,c=2<回車>20. 以下不符合C語法的賦值語句是: 。A)m=(2+1,m=1); B) m=n=0;C)m=1,n=2 D)n+;21. 以下

14、能正確定義整型變量a,b,c并為其賦初值5的語句是: 。A)int a=b=c=5; B) int a,b,c=5;C)a=5,b=5,c=5; D)a=b=c=5;22. 已知ch是字符型變量,下面不正確的賦值語句是: 。A)ch=a+b; B) ch=0; C)ch=7+9; D)ch=5+9;23. 已知ch是字符型變量,下面正確的賦值語句是:A)ch=123; B)ch=xff; C)ch=08; D)ch=”;24. 若有以下定義,則正確的賦值語句是: 。int a,b; float x;A) a=1,b=2, B)b+; C)a=b=5 D)b=int(x);25. 設x,y均為f

15、loat型變量,則以下不合法的賦值語句是: 。A) +x; B)y=(x%2)/10; C)x*=y+8; D)x=y=0;26. 設x,y,z為int型變量,則執行語句x=(y=(z=10)+5)-5;后,x,y,z的值分別為: 。AX=10Y=15Z=10BX=10Y=10Z=10CX=10Y=10Z=15DX=10Y=5Z=1027. 設有說明:double y=0.5,z=1.5;int x=10;則能夠正確使用C語言庫函數的賦值語句是: 。A) z=exp(y)+fabs(x);B) y=log10(y)+pow(y);C) z=sqrt(y-z);D) x=(int)(atan2(

16、double)x,y)+exp(y-0.2);程序分析題:1、以下程序運行的結果是: 。#include <stdio.h>int main()short i;i=-4;printf(“ni:dec=%d,oct=%o,hex=%x,usigned=%un”,i,i,i,i);return 0;2、以下程序運行的結果是: 。#include <stdio.h>int main()printf(“*%f,%4.3f*n”,3.14,3.1415);return 0;3、以下程序運行的結果是:#include <stdio.h>int main()char c=

17、x; printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%cn”,c,c,c,c);return 0;4、已有定義int d=-2;執行以下語句后,輸出的結果是 。printf(“*d(1)=%d,d(2)=%3d,d(3)=%-3d*n”,d,d,d);printf(“*d(4)=%o,d(5)=%7o,d(6)=%-7o*n”,d,d,d);5、已有定義int d=-2;執行以下語句后,輸出的結果是 。printf(“*d(1)=%d*d(2)=%3d*d(3)=%-3d*n”,d,d,d);printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*n

18、”,d,d,d);6、已有定義float d1=3.5,d2=-3.5;執行以下語句后,輸出的結果是 。printf(“*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*n”,d1,d1,d1);printf(“*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*n”,d2,d2,d2);7、以下程序輸出的結果是: 。#include <stdio.h>int main() int x=1,y=2; printf(“x=%d y=%d * sum *=%dn”x,y,x+y); printf(“10 Squared is :%dn”,10*10);retur

19、n 0;8、以下程序輸出的結果是: 。#include <stdio.h>int main()int x=10;float pi=3.1416;printf(“(1)%dn”,x);printf(“(2)%6dn”,x);printf(“(3)%fn”,56.1);printf(“(4)%14fn”,pi);printf(“(5)%en”,568.1);printf(“(6)%14en”,pi);printf(“(7)%gn”,pi);printf(“(8)%12gn”,pi);return 0;9、以下程序輸出的結果是: 。#include <stdio.h>int

20、main()int a=123.456;float b=8765.4567;printf(“(1)%fn”,a);printf(“(2)%14.3fn”,a);printf(“(3)%6.4fn”,a);printf(“(4)%lfn”,b);printf(“(5)%14.3lfn”b);printf(“(6)%8.4lfn”,b);printf(“(7)%.4fn”,b);return 0;10、以下printf語句中*號的作用是【1】,輸出結果是【2】#include <stdio.h>int main()int i=1;printf(“#%*dn”,i,i);i+;print

21、f(“#%*dn”,i,i)i+;printf(“#%*dn”,i,i)return 0;11、以下printf語句中負號號的作用是【1】,輸出結果是【2】#include <stdio.h>int main()int x=12;double a=3.;printf(“%6d#n”,x);printf(“%-6d#n”,x);printf(“%14.10lf#n”,a);printf(“%-14.10lf#n”,a);return 0;12、以下程序運行的結果是: 。#include <stdio.h>int main()int a=325;double x=3.;pr

22、intf(“a=%+06dx=%+en”,a,x);return 0;13、以下程序運行的結果是: 。#include <stdio.h>int main() int a=252; printf(“a=%o a=%#on”,a,a);printf(“a=%x a=%#xn”,a,a);return 0;14、以下程序運行的結果是: 。#include <stdio.h>int main() int n=100;char c;float f=10.0; double x;x=f*=n/=(c=48);printf(“%d%d%3.1f%3.1fn”,n,c,f,x);re

23、turn 0;15、有以下程序:#include <stdio.h>int main()int k=0;char c1=a,c2=b;scanf(“%d%c%c”,&k,&c1,&c2);printf(“%d,%c,%cn”,k,c1,c2);return 0;若運行時從鍵盤輸入:55 A B<回車>,則輸出的結果是 。16、以下程序運行的結果是 。#include <stdio.h>int main() int m=177;printf(“%on”,m);return 0; 17、以下程序運行的結果是 。#include <s

24、tdio.h>int main() int n=0; n+=(n=10);printf(“%dn”,n);return 0;18、若要下列程序的輸出結果為8.00,則【 】中應填入的是 。#include <stdio.h>int main() int k=2,m=5; float s,x=1.2,y= ;s=2/3+k*y/x+m/2;printf(“%4.2fn”,s);return 0;19、已知字母A的ASCII碼值為65,以下程序輸出的結果是: 。#include <stdio.h>int main() char a,b; a=A+4-3; b=A+6-

25、2;printf(“a=%d,b=%cn”,a,b);return 0;20、假設變量a和b均為整型,以下語句可以不借助任何變量把a和b中的值進行交換,請填空:a+= ;b=a- ;a-= ;21、假設變量a,b,c均為整型,以下語句借助中間變量t把a,b,c中的值進行交換,即把b中值給a,把c中的值給b,把a中的值給c.例如:交換前,a=10,b=20,c=30,交換后,a=20,b=30,c=10.請填空:【 】; a=b; b=c; 【 】;22、設有一輸入函數scanf(“%d”,k);它不能使float類型變量k得到正確數值的原因是【1】未指明變量k的地址和【2】格式控制符與變量類型

26、不匹配。23、已有定義int a;float b,x;char c1,c2;為使a=3、b=6.5、x=12.6、c1=a、c2=A,正確的scanf函數調用語句是【 】,數據輸入的形式應為【 】。24、若有以下定義和語句,為使變量c1得到字符A,變量c2得到字符B,正確的輸入形式是:【 】char c1,c2;scanf(“%4c%4c”,&c1,&c2);25、執行以下程序時,若從第一列開始輸入數據,為使變量a=3,b=7,x=8.5,y=71.82,c1=A,c2=a,正確的數據輸入形式是【 】#include <stdio.h>int main() int

27、a,b;float x,y;char c1,c2; scanf(“a=%d b=%d”,&a,&b); scanf(“x=%f y=%f”,&x,&y); scanf(“c1=%c c2=%c”,&c1,&c2); printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c”,a,b,x,y,c1,c2);return 0;編程題:編寫程序,從終端鍵盤輸入圓的半徑r,圓柱的高h,分別計算出圓的周長cl、圓的面積cs和圓柱的體積cvz。輸出計算結果時要求有文字說明,并取小數點后2位數字。編寫程序,讀入一個字母,輸出與之對應的ASCII碼,輸入輸出都要有相應的文字提示。編寫程序,從鍵盤輸入兩個整數,分別計算他們的商和余數,輸出時,商要求保留兩位小數,并對第三位四舍五入。參考答案:1-5:ABCBD,6-10:DDCDA,11-15:DAB(B)BD,16-20:BDA

溫馨提示

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

評論

0/150

提交評論