復習題一答案_第1頁
復習題一答案_第2頁
復習題一答案_第3頁
復習題一答案_第4頁
復習題一答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、選擇題1. 下列選項中可作為C 語言合法常量的是(a )。A)-80 B)-080C)-8e1.0 D)-80.0e2. 下列不能定義的用戶標識符是(d )。A)Main B)_0C)_int D)sizeof3. 下列選項中,不能作為合法常量的是(b )。A)1.234e04 B)C)1.234e+4 D)1.234e04. 數(shù)字字符0 的ASCII 值為48,運行下列程序的輸出結(jié)果是(c )。main( ) char a='1',b='2'printf("%c,", b+ +);printf("%dn", b-a)

2、;A)3,2 B)50,2C)2,2 D)2,505. 下列程序的輸出結(jié)果是(a )。main( ) int m=12, n=34;printf("%d%d",m + +,+ +n);printf("%d%dn",n+ +,+ +m);A)12353514 B)12353513C)12343514 D)123435136. 有定義語句:int b; char c10;,則正確的輸入語句是(b )。A)scanf("%d%s",&b,&c); B)scanf("%d%s",&b,c);C)sc

3、anf("%d%s",b,c); D)scanf("%d%s",b,&c);7. 下列程序的輸出結(jié)果是(b )。main( ) int a,b,d=25;a= d/10%9;b=a&&(-1);printf("%d,%dn",a,b); A)6,1 B)2,1C)6,0 D)2,08. 下列程序的輸出結(jié)果是(d )。I=2j=(i+)+1+(i+)+2+(i+);main( ) int i=1,j=2,k=3;if(i+ + = =1&&(+ +j= =3k+ + = =3) printf(&q

4、uot;%d %d %dn",i,j,k);A)1 2 3 B)2 3 4C)2 2 3 D)2 3 39. 若整型變量a、b、c、d 中的值依次為:1、4、3、2。則條件表達式a<b? ac<d? cd 的值是(a )。A)1 B)2C)3 D)410. 下列程序的輸出結(jié)果是(b )。main( ) int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+ +<7)if( pi%2 ) printf("%dn",j);A)42 B)45C)56 D)6011. 下列程序的輸出結(jié)果是(c )。main( )

5、char a7="a00a0 0" int i,j;i=sizeof(a);j=strlen(a);printf("%d %dn",i,j);A)2 2 B)7 6C)7 2 D)6 212. 下列能正確定義一維數(shù)組的選項是(b )。A)int a5=0,1,2,3,4,5; B)char a =0,1,2,3,4,5;C)char a='A', 'B', 'C' D)int a5="0123"13. 下列程序的輸出結(jié)果是(a )。int f1(int x,int y) return x

6、>y?xy;int f2(int x,int y) return x>y?yx;main( ) int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d);g=a+b+c+d-e-f;printf("%d,%d,%dn",e,f,g);A)4,3,7 B)3,4,7C)5,2,7 D)2,5,714. 已有定義:char a ="xyz",b ='x', 'y', 'z',下列敘述中正確的是(c )。A)數(shù)組a 和b 的

7、長度相同 B)a 數(shù)組長度小于b 數(shù)組長度C)a 數(shù)組長度大于b 數(shù)組長度 D)上述說法都不對15. (下列程序的輸出結(jié)果是( d)。void f(int *x, int *y) int t;t=*x,*x=*y;*y=t;main( ) int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(p<q) f(p,q); p+ +; q-; for (i=0;i<8;i+) printf("%d,",ai);A)8,2,3,4,5,6,7,1 B)5,6,7,8,1,2,3,4C)1,2,3,4,5,6,7,8 D)8

8、,7,6,5,4,3,2,116. 下列程序的輸出結(jié)果是(d )。main( ) int a33,*p,i; p=&a00;for(i=0;i<9;i+ +) pi=i; /*(p+i)for(i=0;i<3;i+ +) printf("%d",a1i); A)0 1 2 B)1 2 3C)2 3 4 D)3 4 517. 下列程序的輸出結(jié)果是(b )。#define N 20fun(int a ,int n,int m) int i,j;for( i=m; i>n; i- ) ai+1=ai;main( ) int i,aN=1,2,3,4,5,

9、6,7,8,9,10,10;fun(a, 2, 9);for(i=0;i<5;i+ +) printf("%d",ai);A)10234 B)12344C)12334 D)1223418. 下列程序的輸出結(jié)果是(a )。main( ) int a =1,2,3,4,5,6,7,8,9,0,*p;for(p=a; p<a+10; p+ +);printf("%d,",*p);A)1,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,8,9,10,1,C)0,1,2,3,4,5,6,7,8,9, D)1,1,1,1,1,1,1,1

10、,1,1,19. 下列語句或語句組中,能正確進行字符串賦值的是(d )。A)char *sp; *sp="right!" B)char s10; s="right!"C)char s10; *s="right" D)char *sp="right!"20. 下列敘述中錯誤的是(a )。A)用戶所定義的標識符允許使用關(guān)鍵字B)用戶所定義的標識符應(yīng)盡量做到“見名知意”C)用戶所定義的標識符必須以字母或下劃線開頭D)用戶定義的標識符中、大、小寫字母代表不同標識21. 下列能正確定義且賦初值的語句是(b )。A)int n

11、l=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;22. 下列程序的功能是:給r 輸入數(shù)據(jù)后計算半徑為r 的圓面積s。程序在編譯時出錯。main( )/* Beginning */ int r; float s;scanf("%d",&r);s=*r*r;printf("s=%fn",s);出錯的原因是( d)。A)注釋語句書寫位置錯誤B)存放圓半徑的變量r 不應(yīng)該定義為整型C)輸出語句中格式描述符非法D)計算圓面積的賦值語句中使用了非法變量23. 設(shè)有定義:int k=1,m=2

12、; float f=7;則下列選項中錯誤的表達式是(c )。A)k=k =k B)-k+ +C)k%int(f) D)k=f=m24. 設(shè)有定義:int a=2,b=3,c=4;,則下列選項中值為0 的表達式是(a )。A)(!a= =1)&&(!b= =0) B)(ab)&&! c 1C)a && b D)a(b+b)&&(c-a)25. 有下列程序段:int k=0,a=1,b=2,c=3;k=ab?b:a;k=kc?c:k;執(zhí)行該程序段后,k 的值是(b )。A)3 B)2 C)1 D)026. 設(shè)變量已正確定義,則以下能正

13、確計算f=n!的程序段是(d )。A)f=0; B)f=1;for(i=1;i=n;i+ +) f*=i; for(i=1;in;i+ +) f*=i;C)f=1; D)f=1;for(i=n;i1;i+ +)f*=i; for(i=n;i =2;i-)f*=i;27. 設(shè)有定義:int n1=0,n2,*p=&n2,*q=&n1;,以下賦值語句中與n2=n1;語句等價的是(a )。A)*p=*q; B)p=q; C)*p=&n1; D)p=*q;(29)若有定義:int x=0,*p=&x;,則語句printf("%dn",*p);的輸出結(jié)

14、果是(b )。A)隨機值 B)0 C)x 的地址 D)p 的地址28. 設(shè)fun()函數(shù)的定義形式為(D )。void fun(char ch,float x)則下列對函數(shù)fun 的調(diào)用語句中,正確的是A)fun("abc",3.0); B)t=fun('D',16.5);C)fun(65,2.8); D)fun(32,32);29. 有下列程序:main( ) int a10=1,2,3,4,5,6,7,8,9,10, *p=&a3, *q=p+2;printf("%dn",*p+*q);程序運行后的輸出結(jié)果是(b )。A)16

15、 B)10 C)8 D)630. 有下列程序:main( ) char p ='a','b,v,'c',q ="abc"printf("%d%dn",sizeof(p),sizeof(q);程序運行后的輸出結(jié)果是(A )。A)4 4 B)3 3 C)3 4 D)4 331. 有下列程序:main( ) char a1='M',a2='m'printf("%cn",(a1,a2);下列敘述中正確的是(b )。A)程序輸出大寫字母M B)程序輸出小寫字母mC)格式說明

16、符不足,編譯出錯 D)程序運行時產(chǎn)生出錯信息32. 有下列程序:#include <stdio.h>main( ) char c1='1',c2='2'c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2);當運行時輸入:a<CR>后,下列敘述正確的是(a )。A)變量c1 被賦予字符a,c2 被賦予回車符B)程序?qū)⒌却脩糨斎氲? 個字符C)變量c1 被賦予字符a,c2 中仍是原有字符2D)變量c1 被賦予字符a,c2 中將無確定值33. 有下列程序:main( ) int k=5,

17、n=0;while(k0) switch(k) default:break;case 1: n+ =k;case 2:case 3: n+ =k;k-;printf("%dn",n);程序運行后的輸出結(jié)果是(d )。A)0 B)4 C)6 D)734. 有下列程序:main( ) int a =2,4,6,8,10, y=0, x, *p;p=&a1;for(x=1;x<3;x+ +) y+ =px; printf("%dn",y);程序運行后的輸出結(jié)果是(c )。A)10 B)11 C)14 D)1535. 有下列程序開始:void su

18、m(int a ) a0=a-1+a1;main( ) int a10=1,2,3,4,5,6,7,8,9,10;sum(&a2);printf("%dn",a2);程序運行后的輸出結(jié)果是(a )。A)6 B)7 C)5 D)936. 下列不合法的用戶標識符是(c )。A)j2_KEY B)DoubleC)4d D)_8_37. 下列不合法的數(shù)值常量是(c )。A)011 B)1e1C)8.0E0.5 D)0xabcd38. 下列不合法的字符常量是(a )。A)'018' B)'" 'C)'' D)'

19、xcc'39. 表達式3.6-5/2+1.2+5%2 的值是(d )。A)4.3 B)4.8C)3.3 D)3.840. 下列能正確定義字符串的語句是(d )。A)char str ='064' B)char str="kx43"C)char str=" D)char str ="0"41. 下列數(shù)組定義中錯誤的是(b )。A)int x 3=0;B)int x23=l,2,3,4,5,6;C)int x 3=l,2,3,4,5,6;D)int x23=l,2,3,4,5,6;42. 下列4 個程序中,完全正確的是(b

20、)。A)#include <stdio.h> B)#include <stdio.h>main( ); main( )/*programming*/ /* / programming / */printf("programming! n"); printf("programming!n");C)#include <stdio.h> D)include <stdio.h>main( ) main( )/* / programming*/ */ /*programming */printf("prog

21、ramming! n"); printf("programming! n");43. 若有定義:float x=1.5;int a=1,b=3,c=2;則正確的switch 語句是(B c )。A)switch(x) B)switch(int)x); case 1.0: printf("* n"); case 1: printf("*n");case 2.0: printf("* n"); case 2: printf("*n"); C)switch(a+b) D)switch(a+b

22、) case 1: printf("*n"); case 1: printf("* n");case 2+1: printf("* n"); case c: printf("* n"); 44. 若各選項中所用變量已正確定義,fun()函數(shù)中通過return 語句返回一個函數(shù)值,下列選項中錯誤的程序是(a )。A)main( ) B)float fun(int a,int b) x =fun(2,10); main( )float fun(int a,int b) x =fun(i,j); C)float fun(

23、int,int); D)main( )main( ) float fun(int I,int j); x =fun(2,10); x =fun(i,j); float fun(int a,int b) float fun(int a,int b) 45. 在下列給出的表達式中,與while(E)中的(E)不等價的表達式是(c )。A)(!E= =0) B)(E>0E<0)C)(E= =0) D)(E!= 0)46. 要求通過while 循環(huán)不斷讀入字符,當讀入字母N 時結(jié)束循環(huán)。若變量已正確定義,下列正確的程序段是(a )。A)while( (ch=getchar( )! =

24、9;N') printf("%c",ch);B)while(ch=getchar( )! ='N') printf("%c",ch);C)while(ch=getchar( )= ='N') printf("%c",ch);D)while(ch=getchar( )= ='N') printf("%c",ch);47. 已定義下列函數(shù):int fun(int *p) return *p; fun 函數(shù)返回值是(b )。A)不確定的值 B)一個整數(shù)C)形參p 中

25、存放的值 D)形參p 的地址值48. 若有說明語句:double *p,a;則能通過scanf 語句正確給輸入項讀入數(shù)據(jù)的程序段是(d )。A)*p =&a; scanf("%1f",p); B)*p =&a; scanf("%f",p);C)p =&a; scanf("%1f",*p); D)p =&a; scanf("%1f",p);49. 有下列程序段struct st int x;int *y; *pt;int a =l,2,b =3,4;struct st c2 = 10,

26、a,20,b;pt=c;下列選項中表達式的值為11 的是(c )。A)*pt >y B)pt >xC)+ +pt >x D)(pt+ +)->x50. 有下列程序:main( ) int y=10;while(y-); printf("y=%dn",y);程序執(zhí)行后的輸出結(jié)果是(b )。A)y=0 B)y=-1C)y=1 D)while 構(gòu)成無限循環(huán)51. 有下列程序:main( ) int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf("%d,%d,%d,%dn",a,b,c,d

27、);程序輸出(d )。A)0,1,2,0 B)0,0,0,3C)1,1,2,0 D)編譯有錯52. (32)有下列程序:main( ) int i,j,x=0;for(i=0;i<2;i+ +) x+ +;for(j=0;j<=3;j+ +) if(j%2) continue;x+ +;x+ +;printf("x=%dn",x);程序執(zhí)行后的輸出結(jié)果是(b )。A)x=4 B)x=8C)x=6 D)x=1253. 有下列程序:main( ) int i,t 3=9,8,7,6,5,4,3,2,1;for(i=0;i<3;i+ +) printf(&quo

28、t;%d",t2-ii);程序執(zhí)行后的輸出結(jié)果是(b )。A)7 5 3 B)3 5 7C)3 6 9 D)7 5 154. 有下列程序:fun(char p 10) int n=0,i;for(i=0; i<7; i+ +)if(pi0= = 'T') n+ +;return n;main( ) char str 10="Mon","Tue","Wed","Thu","Fri","Sat","Sun"printf(&quo

29、t;%dn",fun(str);程序執(zhí)行后的輸出結(jié)果是(b )。A)1 B)2C)3 D)055. 有下列程序:main( ) int i,s=0,t =l,2,3,4,5,6,7,8,9;for(i=0;i<9;i+ =2) s+ =*(t+i);printf("%dn",s);程序執(zhí)行后的輸出結(jié)果是(c )。A)45 B)20C)25 D)3656. 有下列程序:void swap(char *x,char *y) char t;t=*x; *x=*y; *y=t;main( ) char *s1="abc",*s2="12

30、3"swap(s1,s2); printf("%s,%sn",s1,s2);程序執(zhí)行后的輸出結(jié)果是(c )。A)123,abc B)abc,123C)1bc,a23 D)321,cba57. 有下列程序:int fun(int n) if(n= =1) return 1;elsereturn( n + fun(n-1);main( ) int x;scanf("%d",&x); x=fun(x); printf("%dn",x);執(zhí)行程序時,給變量x 輸入10,程序的輸出結(jié)果是(a )。A)55 B)54C)65 D

31、)4558. 有下列程序:int fun(int x ,int n) static int sum=0,i;for(i=0;i<n;i+ +) sum+ =xi;return sum;main( ) int a =1,2,3,4,5,b =6,7,8,9,s=0;s=fun(a,5)+fun(b,4); printf("%dn",s);程序執(zhí)行后的輸出結(jié)果是(c )。A)45 B)50C)60 D)5559. 設(shè)有下列定義和語句char str20="Program",*p;p=str;則下列敘述中正確的是(a )。A)*p 與str0的值相等B)

32、str 與p 的類型完全相同C)str 數(shù)組長度和p 所指向的字符串長度相等D)數(shù)組str 中存放的內(nèi)容和指針變量p 中存放的內(nèi)容相同60. 在一個單鏈表中,若p所指結(jié)點不是最后結(jié)點,在p之后插入s所指結(jié)點,則執(zhí)行(B) A) s->next=p;p->next=s; B) s->next=p->next;p->next=s;C)s->next=p->next;p=s; D)p->next=s;s->next=p;二、填充題1. 下列程序運行后的輸出結(jié)果是 【 】 。main( ) int a, b,c;a=10; b=20; c=(a%b

33、<1)(a/b>1);printf("%d %d %dn",a,b,c);答案:102002. 下列程序運行后的輸出結(jié)果是 【 】 。main( ) char c1,c2;for(c1='0',c2='9'c1<c2;c1+ +,c2-) printf("%c%c",c1,c2);printf("n");答案:09182736453. 已知字符A 的ASCII 代碼值為65,下列程序運行時若從鍵盤輸入:B33<CR>。則輸出結(jié)果是 【 】 。#include <std

34、io.h>main( ) char a,b;a=getchar( );scanf("%d", &b);a=a-'A'+'0' b=b*2;printf("%c %cn",a,b);答案:1B4. 下列程序運行后的輸出結(jié)果是 【 】 。void swap(int x,int y) int t;t=x;x=y;y=t;printf("%d %d ",x,y); main( ) int a=3,b=4;swap(a,b); printf("%d %dn",a,b);答案:4

35、3 3 45. 下列程序運行后的結(jié)果是 【 】 。#include <string.h>void fun(char *s, int p, int k) int i;for(i=p;i<k-1;i+ +) si=si+2; main( ) char s ="abcdefg"fun(s,3,strlen(s); puts(s);答案:abcfg6. 下列程序運行后的輸出結(jié)果是 【 】 。#include <string.h>main( ) char ch ="abc",x34; int i;for(i=0;i<3;i+ +

36、) strcpy(xi,ch);for(i=0;i<3;i+ +) printf("%s",&xii);printf("n");答案:abcbcc7. 下列程序運行后的輸出結(jié)果是 【 】 。fun(int a) int b=0; static int c=3;b+ +; c+ +;return(a+b+c);main( ) int i, a=5;for(i=0;i<3;i+ +) printf("%d%d",i,fun(a);printf("n");答案:0101112128. 下列程序運行后的輸出結(jié)果 【 】 。main( ) int a=1,b=2,c=3;if(c=a) printf("%dn",c);else printf("%dn"b);答案:19. 下列程序運行后的輸出結(jié)果是 【

溫馨提示

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

最新文檔

評論

0/150

提交評論