C語言程序設(shè)計(jì)復(fù)習(xí)題(供學(xué)有余力學(xué)生練習(xí))_第1頁
C語言程序設(shè)計(jì)復(fù)習(xí)題(供學(xué)有余力學(xué)生練習(xí))_第2頁
C語言程序設(shè)計(jì)復(fù)習(xí)題(供學(xué)有余力學(xué)生練習(xí))_第3頁
C語言程序設(shè)計(jì)復(fù)習(xí)題(供學(xué)有余力學(xué)生練習(xí))_第4頁
C語言程序設(shè)計(jì)復(fù)習(xí)題(供學(xué)有余力學(xué)生練習(xí))_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計(jì)復(fù)習(xí)題一、選擇題1以下選項(xiàng)中可作為C語言合法常量的是A) -80 B) -080 C) -8e1.0 D) -80.0e 2以下敘述中正確的是A) 用C語言實(shí)現(xiàn)的算法必須要有輸入和輸出操作 B) 用C語言實(shí)現(xiàn)的算法可以沒有輸出但必須要有輸入 C) 用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出 D) 用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出 3以下不能定義為用戶標(biāo)識符是 D A) Main B) _0 C) _int D) sizeof 4以下選項(xiàng)中,不能作為合法常量的是A) 1.234e04 B) 1.234e0.4 C) 1.234e+4 D) 1.234e0 5. 用C語言

2、編寫的代碼程序 A) 可立即執(zhí)行 B) 是一個源程序 C) 經(jīng)過編譯即可執(zhí)行 D) 經(jīng)過編譯解釋才能執(zhí)行 6. 結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法 A) 可以完成任何復(fù)雜的任務(wù) B) 只能完成部分復(fù)雜的任務(wù) C) 只能完成符合結(jié)構(gòu)化的任務(wù) D) 只能完成一些簡單的任務(wù)7. 以下敘述中正確的是A)C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方B)花括號和只能作為函數(shù)體的定界符C)構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名D)分號是C語句之間的分隔符,不是語句的一部分8. 以下選項(xiàng)中可作為C語言合法整數(shù)的是A)10110B B)0386 C)0Xffa D)x2a29

3、. 以下不能定義為用戶標(biāo)識符的是A)scanf B)Void C)_3com_ D)int10. 在C語言中,合法的長整型常數(shù)是A) OL B) 4962710 C) 324562& D) 216D11. 以下有4組用戶標(biāo)識符,其中合法的一組是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define12. 以下選項(xiàng)中合法的字符常量是A) B B) 010 C) 68 D) D13. 假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是A) 3.500000 B) 3 C) 2.000000 D) 3.00000

4、014. 以下合法的賦值語句是A) x=y=100 B) d-; C) x+y; D) c=int(a+b);15. 設(shè)正x、y均為整型變量,且x=10 y=3,則以下語句的輸出結(jié)果是printf(%d,%dn,x-,-y);A) 10,3 B) 9.3 C) 9.2 D)10.216. x、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);17. 以下定義語句中正確的是 A) char a

5、=Ab=B; B) float a=b=10.0; C) int a=10,*b=&a; D) float *a,b=&a; 18. 下列選項(xiàng)中,不能用作標(biāo)識符的是 A) _1234_ B)_1_2 C)int_2_ D)2_int_19. 有以下定義語句 double a,b; int w; long c;若各變量已正確賦值,則下列選項(xiàng)中正確的表達(dá)式是 A) a=a+b=b+ B)w%(int)a+b) C)(c+w)%(int)a D)w=a=b; 20. 有以下程序 main() int m=3,n=4,x; x=-m+; x=x+8/+n; printf(%dn,x); 程序運(yùn)行后的輸

6、出結(jié)果是 A) 3 B) 5 C) -1 D) -2 21. 有以下程序 main() char a=a,b; print(%c,+a); printf(%cn,b=a+); 程序運(yùn)行后的輸出結(jié)果是 A) b,b B) b,c C) a,b D) a,c 22. 有以下程序 main() int m=0256,n=256; printf(%o %on,mn,n); 程序運(yùn)行后的輸出結(jié)果是 A) 0256 0400 B) 0256 256 C) 256 400 D) 400 400 23. 有以下程序 main() int a=666,b=888; printf(%dn,a,b); 程序運(yùn)行后的

7、輸出結(jié)果是 A) 錯誤信息 B) 666 C) 888 D) 666,888 24. 有以下程序 main() int i; for(i=0;i3;i+) switch(i) case 0:printf(%d,i); case 2:printf(%d,i); default:printf(%d,i); 程序運(yùn)行后的輸出結(jié)果是 A) 022111 B) 021021 C) 000122 D) 012 25. 若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|10的是 A) abs(x-y)-10& x-y10 C) (x-y)10 D) (x-y)*(x-y)b) if(bc) pr

8、intf(%d,d+ +1); else printf(%d,+d +1); printf(%dn,d); 程序運(yùn)行后的輸出結(jié)果是 A) 2 B) 3 C) 43 D) 44 27. 下列條件語句中,功能與其他語句不同的是 A) if(a) printf(%dn,x); else printf(%dn,y); B) if(a=0) printf(%dn,y); else printf(%dn,x); C) if (a!=0) printf(%dn,x); else printf(%dn,y); D) if(a=0) printf(%dn,x); else printf(%dn,y); 28.

9、有以下程序 main() int i=0,x=0; for (;) if(i=3|i=5) continue; if (i=6) break; i+; s+=i; ; printf(%dn,s); 程序運(yùn)行后的輸出結(jié)果是 A)10 B) 13 C) 21 D) 程序進(jìn)入死循環(huán) 29. 若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是B A) for(i=1,p=1;i=5;i+) p*=i; B) for(i=1;i=5;i+) p=1; p*=i; C) i=1;p=1;while(i=5)p*=i; i+; D) i=1;p=1;dop*=i; i+; while(i

10、=5); 30. 有以下程序 main() char a,b,c,d; scanf(%c,%c,%d,%d,&a,&b,&c,&d); printf(c,%c,%c,%cn,a,b,c,d); 若運(yùn)行時從鍵盤上輸入:6,5,65,66。則輸出結(jié)果是 A) 6,5,A,B B) 6,5,65,66 C) 6,5,6,5 D) 6,5,6,6 31. 以下能正確定義二維數(shù)組的是 A) int a3; B) int a3=22*3; C) int a3=; D) int a23=1,2,3,4; 32. 有以下程序 int f(int a) return a%2; main() int s8=1,3

11、,5,2,4,6,i,d=0; for (i=0;f(s);i+) d+=s; printf(%dn,d); 程序運(yùn)行后的輸出結(jié)果是 A) 9 B) 11 C) 19 D) 21 29. 若有以下說明和語句,int c45,(*p)5;p=c;能正確引用c數(shù)組元素的是A) p+1 B) *(p+3) C)*(p+1)+3 D) *(p0+2)30. 有以下程序 main() int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r; printf(%d,%d,%d,%dn,*p,q,a,b); 程序運(yùn)行后的輸出結(jié)果是 A) 8,7,8,7 B) 7,8,7,8

12、 C) 8,7,7,8 D) 7,8,8,7 31. s1和s2已正確定義并分別指向兩個字符串。若要求:當(dāng)s1所指串大于s2所指串時,執(zhí)行語句S;則以下選項(xiàng)中正確的是 A) if(s1s2)S; B) if(strcmp(s1,s2)S; C) if(strcmp(s2,s1)0)S; D) if(strcmp(s1,s2)0)S; 32. 設(shè)有定義語句 int x6=2,4,6,8,5,7,*p=x,i;要求依次輸出x數(shù)組6個元素中的值,不能完成此操作的語句是 A) for(i=0;i6;i+) printf(%2d,*(p+); B) for(i=0;i6;i+) printf(%2d,*

13、(p+i); C) for(i=0;i6;i+) printf(%2d,*p+); D) for(i=0;i6;i+) printf(%2d,(*p)+); 33. 有以下程序 #include main() int a=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL; *q=*(p+5); printf(%d %dn,*p,*1); 程序運(yùn)行后的輸出結(jié)果是 A) 運(yùn)行后報錯 B) 6 6 C) 6 11 D) 5 10 34. 有以下定義和語句 int a32=1,2,3,4,5,6,*p3; p0=a1; 則*p0+1)所代表的數(shù)組元素是 A) a01

14、B) a10 C) a11 D) a1235. 有以下程序 main() char str10=China,Beijing,*p=str; printf(%sn,p+10); 程序運(yùn)行后的輸出結(jié)果是 A) China B) Bejing C) ng D) ing 36. 有以下程序 main() char s=ABCD,*p; for(p=s+1; ps+4; p+) printf(%sn, p); 程序運(yùn)行后的輸出結(jié)果是 A) ABCD B) A C) B D) BCD BCD B C CD CD C D D D D37. 在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù) funB,函數(shù)funB

15、又調(diào)用了函數(shù)funA,則 A) 稱為函數(shù)的直接遞歸調(diào)用 B) 稱為函數(shù)的間接遞歸調(diào)用 C) 稱為函數(shù)的循環(huán)調(diào)用 D) C語言中不允許這樣的遞歸調(diào)用38. 已有定義:int i,a10,*p;,則合法的賦值語句是 A) p=100; B) p=a5; C) p=a2+2; D) p=a+2;39. 以下敘述中正確的是 A) 局部變量說明為static存儲數(shù),其生存期將得到延長 B) 全局變量說明為static存儲類,其作用域?qū)⒈粩U(kuò)大 C) 任何存儲類的變量在未賦初值時,其值都是不確定的 D) 形參可以使用的存儲類說明符與局部變量完全相同40. 設(shè)有定義語句:char c1=92,c2=92;,則

16、以下表達(dá)式中值為零的是 A) c1c2 B) c1&c2 C) c2 D) c1|c241. 程序中對fun函數(shù)有如下說明 void *fun();此說明的含義是: A) fun了數(shù)無返回值 B) fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型 C) fun函數(shù)的返回值是無值型的指針類型 D) 指針fun指向一個函數(shù),該函數(shù)無返回值42. 有以下程序 main() char sYesn/No,*ps=s; puts(ps+4); *(ps+4)=0; puts(s); 程序運(yùn)行后的輸出結(jié)果是 A) n/No B) /No C) n/NO D) Yes Yes Yes /No/No /No Yes43.

17、 有以下程序 main() unsigned int a; int b=-1; a=b; printf(%u,a); 程序運(yùn)行后的輸出結(jié)果是 A) -1 B) 65535 C) 32767 D) -3276844. 有以下程序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);程序運(yùn)行后的輸出結(jié)果是A)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.545. 以下選項(xiàng)中非法的表達(dá)式是A

18、)0=xa)|(m=aB); printf(%d,%dn,k,m);程序運(yùn)行后的輸出結(jié)果是A)0,0 B)0,1 C)1,0 D)1,147. 有定義語句:int x, y;,若值11,變量y得到數(shù)值12,下面四組輸入要通過scanf(%d,%d,&x,&y);語句使變量x得到數(shù)形式中,錯誤的是A)11 12 B)11, 12C)11,12 D)11, 1248. 設(shè)有如下程序段:int x=2002, y=2003;printf(%dn,(x,y);則以下敘述中正確的是A)輸出語句中格式說明符的個數(shù)少于輸出項(xiàng)的個數(shù),不能正確輸出B)運(yùn)行時產(chǎn)生出錯信息 C)輸出值為2002 D)輸出值為200

19、349. 設(shè)變量x為float型且已賦值,則以下語句中能將x中的數(shù)值保留到小數(shù)點(diǎn)后兩位,并將第三位四舍五入的是A)x=x*100+0.5/100.0; B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0; D)x=(x/100+0.5)*100.0;50. 有以下程序 void fun(int *a,int i,int j) int t; if(iJ) t=a;a=aj;aj=t; i+; j-; fun(a,i,j); main() int x=2,6,18,i; fun(x,0,3); for(i=0;inum B) p-num C) (*p)

20、.num D) stu3.age52. 有以下程序 mina() int x=1,3,5,7,2,4,6,0,i,j,k; for(i=0;i=i;j-) if(xj+1xj) k=xj;xj=xj+1;xj+1=k; for(i=0;i3;i+)for(j=4;jxj) k=xj;xj=xj+1;xj+1=k; for (i=0;i3;i+) for(j=4;jxj+1) k=xj;xj=xj+1;xj+1=k; for (i=0;idata= (54) ; q-next=p; q= (55) ; s+; p-next=0; return h; main() char str=link li

21、st; struct node *head; head=CreatList(str); . (53) A) char * B) struct node C) struct node* D) char (54) A) *s B) s C) *s+ D) (*s)+ (55) A) p-next B) p C) s D) s-next56. 有以下程序main() int s=0,a=1,n; scanf(%d,&n); do s+=1; a=a-2; while(a!=n);printf(%dn,s); 若要使程序的輸出值為2,則應(yīng)該從鍵盤給n輸入的值是A)-1 B)-3 C)-5 D)057.

22、 若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)s=a;for(b=1;b1;n-) s=s+1/n; printf(%6.4fn,s);程序運(yùn)行后輸出結(jié)果錯誤,導(dǎo)致錯誤結(jié)果的程序行是A)s=1.0; B)for(n=10;n1;n-) C)s=s+1/n; D)printf(%6.4fn,s);59. 已定義ch為字符型變量,以下賦值語句中錯誤的是A)ch=; B)ch=62+3; C)ch=NULL; D)ch=xaa;60. 若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是A)函數(shù)調(diào)用可以作為獨(dú)立的語句存在 B)函數(shù)調(diào)用可以作為一個函數(shù)的實(shí)

23、參C)函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中 D)函數(shù)調(diào)用可以作為一個函數(shù)的形參61. 有以下函數(shù)定義:void fun(int n, double x) 若以下選項(xiàng)中的變量都已正確定義并賦值,則對函數(shù)fun的正確調(diào)用語句是A)fun(int y,double m); B)k=fun(10,12.5); C)fun(x,n); D)void fun(n,x);62. 有以下程序void fun(char *a, char *b) a=b; (*a)+; main() char c1=A,c2=a,*p1,*p2; p1=&c1; p2=&c2; fun(p1,p2); printf(%c%cn,c1,c2

24、);程序運(yùn)行后的輸出結(jié)果是A)Ab B)aa C)Aa D)Bb63. 若程序中已包含頭文件stdio.h,以下選項(xiàng)中,正確運(yùn)用指針變量的程序段是A)int *i=NULL; B)float *f=NULL; scanf(%d,i); *f=10.5;C)char t=m, *c=&t; D)long *L; *c=&t; L=0;64. 有以下程序#include main() printf(%dn,NULL); 程序運(yùn)行后的輸出結(jié)果是A)0 B)1 C)-1 D)NULL沒定義,出錯65. 已定義c為字符型變量,則下列語句中正確的是A)c=97; B)c=97; C)c=97; D)c=a

25、;66. 以下不能正確定義二維數(shù)組的選項(xiàng)是A)int a22=1,2; B)inta2=1,2,3,4;C)int a22=1,2,3; D)int a2=1,2,3,4;67. 以下選項(xiàng)中不能正確把cl定義成結(jié)構(gòu)體變量的是A)typedef struct B)struct color cl int red; int red; int green; int green; int blue; int blue; COLOR; ; COLOR cl;C)struct color D)struct int red; int red; int green; int green; int blue; i

26、nt blue; cl; cl;68. 以下能正確定義一維數(shù)組的選項(xiàng)是A)int num; B)#define N 100int numN;C)int num0.100; D)int N=100;int numN;69. 下列選項(xiàng)中正確的語句組是A)char s8; s=Beijing; B)char *s; s=Beijing;C)char s8; s=Beijing; D)char *s; s=Beijing;70. 已定義以下函數(shù)fun(int *p) return *p; 該函數(shù)的返回值是A)不確定的值 B)形參p中存放的值C)形參p所指存儲單元中的值 D)形參p的地址值71. 下列函

27、數(shù)定義中,會出現(xiàn)編譯錯誤的是A)max(int x,int y,int *z) B)int max(int x,y) *z=xy ? x:y; int z; z=xy ? x:y; return z; C)max(int x,int y) D)int max(int x,int y) int z; return(xy?x:y); z=xy?x:y; return(z);72. 有以下程序#include #define F(X,Y) (X)*(Y)main() int a=3, b=4; printf(%dn, F(a+, b+);程序運(yùn)行后的輸出結(jié)果是A)12 B)15 C)16 D)207

28、3. 有以下程序fun(int a, int b) if(ab) return(a); else return(b);main() int x=3, y=8, z=6,r; r=fun(fun(x,y), 2*z); printf(%dn, r);程序運(yùn)行后的輸出結(jié)果是A)3 B)6 C)8 D)1274. 若有定義:int *p3;,則以下敘述中正確的是A)定義了一個基類型為int的指針變量p,該變量具有三個指針B)定義了一個指針數(shù)組p,該數(shù)組含有三個元素,每個元素都是基類型為int的指針C)定義了一個名為*p的整型數(shù)組,該數(shù)組含有三個int類型元素D)定義了一個可指向一維數(shù)組的指針變量p,

29、所指一維數(shù)組應(yīng)具有三個int類型元素75. 以下程序中函數(shù)scmp的功能是返回形參指針s1和s2所指字符串中較小字符串的首地址#include #include char *scmp(char *s1,char *s2) if(strcmp(s1,s2)0) return(s1); else return(s2);main() int i; char string20, str320; for(i=0;ix);程序運(yùn)行后的輸出結(jié)果是A)10 B)11 C)20 D)2177. 有以下程序段main() int a=5,*b,*c; c=&b; b=&a; 程序在執(zhí)行了c=&b;b=&a;語句后

30、,表達(dá)式:*c的值是A)變量a的地址 B)變量b中的值 C)變量a中的值 D)變量b的地址78. 有以下程序#include main() char str20=Hello,Beijing,*p=str; printf(%dn,strlen(p+20);程序運(yùn)行后的輸出結(jié)果是A)0 B)5 C)7 D)2079. 已定義以下函數(shù)fun(char *p2, char *p1) while(*p2=*p1)!=0) p1+;p2+; 函數(shù)的功能是A)將p1所指字符串復(fù)制到p2所指內(nèi)存空間B)將p1所指字符串的地址賦給指針p2C)對p1和p2兩個指針?biāo)缸址M(jìn)行比較D)檢查p1和p2兩個指針?biāo)缸?/p>

31、符串中是否有080. 有以下程序main() int x=3, y=2, z=1; printf(%dn,x/y&z);程序運(yùn)行后的輸出結(jié)果是A)3 B)2 C)1 D)081. 若fp已正確定義并指向某個文件,當(dāng)未遇到該文件結(jié)束標(biāo)志時函數(shù)feof(fp)的值為 A)0 B)1 C)-1 D)一個非0值82. 下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是A)文件由ASCII碼字符序列組成,C語言只能讀寫文本文件B)文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件C)文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件D)文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件83

32、. 有以下程序main() int a33,*p,i;p=&a00; for(i=0;inext=q; q-next=r-next; p-next=r;B)q-next=r-next; p-next=r; r-next=q;C)p-next=r; q-next=r-next; r-next=q;D)q-next=r-next; r-next=q; p-next=r;85. 以下程序的輸出結(jié)果是main() int a=3;printf(%dn,(a+a-=a*a) );A) -6 B) 12 C) 0 D) -1286. 設(shè)a、b、C、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=ab)&(n=cd)運(yùn)算后,n的值位為A) 0 B) 1 C) 2 D) 387. 閱讀以下程序:main() int x;scanf(%d,&x);if(x-5) printf(%dx);else printf(%dx+);程序運(yùn)行后,如果從鍵盤上輸人5,則輸出結(jié)果是A) 3 B) 4 C) 5 D) 688. 假定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;則該程序運(yùn)行后,m的值是itA) 4 B) 3 C) 2 D) 289.

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論