C语言期末考试题目(20201207204903)_第1页
C语言期末考试题目(20201207204903)_第2页
C语言期末考试题目(20201207204903)_第3页
C语言期末考试题目(20201207204903)_第4页
C语言期末考试题目(20201207204903)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、单项选择题 1. 已知: int a, *y= 则下列函数 调用中错误的是 A) seanf(%d,B) scanf(%d, 其中的标识符 p 是 A) 4 个指向整型变量的指针变量 B) 指向 4 个整型变量的函数指针 C) 一个指向具有 4 个整型元素的一维数组的指针 D) 具有 4 个指向整型变量的指针元素的一维指针数组 4. 已知:char s10, *p=s,贝U在下列语句中,错误的语句是 。 A) p=s+5 ; B) s=p+s ;C) s2=p4 ;D)*p=s0 ; 5. 已知: char s100 ; int i; 则引用数组元素的错误的形式是 。 A) si+10 B)

2、 *(s+i)C) *(i+s)D)*(s+)+i) 6. 已知: char s6, *ps=s ; 贝 9 正确的赋值语句是 。 A) s=12345 ;B) *s=12345;C) ps=12345 ; D) *ps=12345 ; 7. 已知: char a310=Be Jin g,Sha ngHai,Tia nJi n, *pa=a ; 不能正确显示字符串 ShangHai 的语句是 。 A) printf(%s,a+1) ;B) printf(%s,*(a+1) ; C) printf(%s,*a+1) ;D) printf(%s, 8. 已知: int a43=1,2,3,4,5,

3、6,7,8,9,10,11,12 ; int (*ptr)3=a,*p=a0 ; 则以下能够正确表示数组元素a12的表达式是 。 A) *(*(a+1)+2) B) *(*(p+5)C) (*pt 叶 1)+2 D) *(ptr+1)2) 9. 已知:int a =1,2,3,4,5,6,7,8,9,10,11,12,*p=a;则值为 3 的表达式是 A) p+=2,*(p+) B) p+=2,*+pC) p+=2,*p+D) p+=2,+*p 10. 已知: int a=1,2,3,4, y, *p=a ;则执行语句 y = (*+p)- ;之后,数组 a 各元素的值变 为。 A) 0,1,

4、3,4 B) 1,1,3,4 C) 1,2,2,4 D) 1,2,3,3 变量 y 的值是 。 欢迎下载7 A) 1 B) 2 C) 3 D) 4 11. 已 知:int a =1,3,5,7, y *p= a ;为使变量y的值为3,下列语句正确的是 A) y=+*p+ ; B) y=+(*p+) ; C) y=(+*p)+ ; D) y=(*+p)+ ; 12. 已 知: int x = 1,3,5,7,9,11 , *ptr=x ; 则能够正确引用数组元素的语句是 A) xB) *(ptr-)C) x6D) *(-ptr) 13. 函数的功能是交换变量x和y中的值,且通过正确调用返回交换的

5、结果。能正确执行此 功能的函数是 。 A) funa (int *x, i nt *y) int *p ; p=x ; *x=*y ; *y=*p ; C) func (int *x, i nt *y) *x=*y ; *y=*x ; B) funb (int x, i nt y) int t; t=x; x=y; y=t; D) func (int *x, i nt *y) *x=*x+*y ; *y=*x-*y ; *x=*x-*y ; 14. 有定义如下: struct sk int a; float b ; data ,*p ; 如果 p=则对于结构变量 data 的成员 a 的正确引

6、用是 。 A) ( *) .data.a B) (*p).aC) p-data.aD) p.data.a 15. 已知: struct st int n ; struct st *n ext ; ; static struct st a3=1, 如果下述语句的显示是 2, 则对 p 的赋值是 。 printf(%d,+(p-next-n) ; A) p=B) p= C) p= 16. 已知: struct pers on char n ame10 ; int age ; ; 下述表达式中,值为 72 的一个 class10=LiMing,29,ZhangHong,21,WangFang,22

7、是。 A) class0-age + class1-age+ class2-age B) class1. name5 C) perso n1. name5 D) clase-n ame5 17. 已知: struct int i ; char c ; float a ; test ; 贝 U sizeof(test) 的值是 。 A) 4B) 5C) 6 D) 7 18. 已知: union int i ; char c ; float a ; test ; 贝 U sizeof(test) 的值是 。 A) 4B) 5C) 6 D) 7 19. 已知: union u_type int i

8、; char ch ; float a; temp ; 现在执行 temp.i=266 ; printf(%d,temp.ch) 的结果是 。 A) 266 B) 256 C) 10 D) 1 20. 若有以下程序段: struct dent int n ; int *m ; ; int a=1,b=2,c=3 ; struct dent s3 = 101, int num ; stu1,*p ; p= 则以下语句正确的是。 A) a=5 ;B) a=2,a,1.2 ; C) printf(%dn,a) ; D) n=a ; 24. 已知: struct sk int a ; int age

9、; date,*p ; 如果要使指针p指向data中的成员a,正确的赋值语句是 A) p = (struct sk *)贝U正确的赋值语句是 A)sun=0 ;B) san=day;C) sun=mon ; D) day=s un ; 26. 已知 enum color red,yellow=2,blue,white,blackren;执行下述语句的输出结果是 printf(%d,ren=white); A) 0B) 1C) 3D) 4 27. 已知enum namezhao=1,qian,sun,liman;执行下述程序段后的输出是 。 man=0 ; switch(ma n) case 0

10、: prin tf(Peoplen); case 1: printf(Mann); case 2: prin tf(Woma nn) ; default: printf(Errorn) ; D)Error A) People B) Man C) Woma n 28. 下述关于枚举类型名的定义中,正确 的是 。 A) enem a= on e,two,three ;B) enem a on e=9,two=-1,three ; C) en em a=o ne,two,three; D) en em a o ne,two,three; 29. C语言中标准输入文件stdin是指 A)键盘B)显示器

11、 C)鼠标D)硬盘 30. 要打开一个已存在的非空文件 A) fp=fopen(file, r); C) fp=fopen(file, w); file用于修改,选择正确的语句 B) fp=fopen(file, a+); D) fp=fopen(file,叶); 31.当顺利执行了文件关闭操作时 fclose函数的返回值是 A) -1B) TRUE C)0D) 1 32. fscanf函数的正确调用形式是 。 A) fscanf (文件指针,格式字符串,输出列表); B) fscanf (格式字符串,输出列表,文件指针); C) fscanf (格式字符串,文件指针,输出列表); D) fs

12、canf (文件指针,格式字符串,输入列表); 33. 使用fgetc函数,则打开文件的方式必须是一A)只写 。 B) 追加C)读或读/写D)参考答案B和C都正确 34. 已知宏定义 #define N 3 #define Y(n) (N+1)* n) 执行语句z=2*(N+Y(5+1);后,变量z的值是 A) 42B) 48C) 52D)出错 35. 已知宏定义 #define SQ(x) x*x,执行语句printf(%d,10/SQ(3);后的输出结果是 A) 1B) 3C) 9D) 10 36. 下面程序的输出结果是 。 void mai n() int a=1,2,3,4,5,6;

13、int *p ; p=a ; prin tf(%d ,*p); prin tf(%d ,*(+p); prin tf(%d ,*+p); prin tf(%d ,*(p-) p+=3 ; prin tf(%d %d ,*p,*(a+3); A) 1 2 3 3 5 4B) 1 2 3 4 5 6 欢迎下载7 C) 1 2 2 3 4 5 D) 1 2 3 4 4 5 欢迎下载12 37. 下面程序的输出结果是。 void mai n() int a34=1,2,3,4,5,6,7,8,9,10,11,12; int 40. void ive(x ,n) int x, n int t,*p ;

14、p=x+n-1 ; while(xvp) t=*x *x+=*p; *p=a ; P+=6 ; prin tf(%d ,*p);/* */ prin tf(%d ,*(*(a+6);/* */ prin tf(%d ,*(a1+=2);/* */ printf(%d,*( /* */ A) 7 7 7 7B)句语法错误C)句语法错误D)句语法错误 38. 下面程序的输出结果是 #defi ne FMT %Xn #in elude printf( FMT, a22) / */ ;/* */ A) 9 B) 11 C) A D) B A) 6 B) 7 C) 8 D)前面二个参考答案均是错误的 s

15、tatic int a 4 = 1,2,3,4,5,6,7,8,9,10,11,12 o mai n() 39. 下面程序的输出结果是 #i nclude void mai n () int a=1,2, 3, 4, 5 int x, y, *p ; P= x=*(p+2); y=*(p+4) ; prin tf(%d,%d,%dn, *p, x, y) C) 1,2,4D) 1,4,5 卜面程序的输出结果是 A) 1,3,5B) 1,2,3 return ; void mai n() int i,a=1,2,3,4,5,6,7,8,9,0 ive(a,10) ; for(i=0 ; i10

16、; i+) prin tf(%d ,ai) ; prin tf(n) ; B) 0 9 8 7 6 5 4 3 2 1 D) 0 8 6 4 2 9 7 5 3 1 A) 1 2 3 4 5 6 7 8 9 0 C) 1 3 5 7 9 2 4 6 8 0 41. 下面程序的输出结果是 。 #i nclude stri ng.h fun( char *w,i nt n) char t,*s1,*s2; s1=w ; s2=w+n-1 ; while(s1s2) t=*s1+ ; *s1=*s2- ; *s2=t ; void mai n() static char *p=1234567; fu

17、n( p,strle n( p) ; prin tf(%s,p) ; A) 7654321 B)1717171 C) 7171717D) 1711717 42. 下面程序的输出结果是 。 #include char *p = abcdefghijkl mno pq; void mai n() int i=0 ; while( *p+!=e) ; prin tf(%cn, *p) A) c B) dC) eD) f 43. 下面程序的输出结果是 #include f(i nt x, int y) return (y-x) ; 13 欢迎下载 void mai n() int a=5, b=6,

18、c ; int f(), (*g)()=f ; printf(%dn, (*g)(a,b) ; A) 1 B) 2C) 3 D) 前面三个参考答案均是错误的 44. 下面程序的输出结果是 。 #i nclude void mai n() int a=1,*p,*pp ; PP= A) 2,1,1 B) 2,1,2 C) 2,2,2 D) 程序 有错误 45. 下面程序的输出结果是 o void mai n() char *alpha7=ABCD,EFGH,IJKL,MNOP,QRST,UVWX,YZ char *p ; int i ; p=alpha ; for(i=0 ; i4 ; i+)

19、prin tf(%c,*(pi) prin tf(n) ; A) AEIM B) BFJNC) ABCDD) DHLP 46. 以下程序的输出结果是 A) 15 B) 100 C) 10 D) 150 #define MIN(x,y) (x)(y)?(x):(y) void mai n() int i,j,k; i=10: j=15; k=10*MIN(i,j); prin tf(%dn,k); 47. 以下程序的输出结果是 1.10 A) 11.10B) 12.00C) 21.10D) void fun (float *p1,float *p2,float *s) s=(float *)ca

20、lloc(1,sizeof(float); *s=*p1+*p2+; void mai n( ) float a2=1.1,2.2,b2=10.0, 20.0,*s=a; fun (a,b,s); prin tf(%5.2fn,*s); -5,-12,-7 D ) 5,-2,-7 48. 以下程序的输出结果是 A) 5,2,3 B)-5,-12,-7 C ) void sub(i nt x,i nt y,i nt *z) *z=y-x; void mai n() i nt a,b,c; sub(10,5, sub(7,a, sub(a,b, prin tf(%d,%d,%dn,a,b,c); 1、程序完善题 1.下面程序的功能是实现数组元素中值的逆转 #i n clude void mai n() int i,n=10,a10=1,2,3,4,5,6,7,8,9,10 inv ert(a, n-1); for(i=0 ;iwp) for(i=*n ; i=p ;i-) 下面函数的功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论