C语言试题一九九六年下半年北京市高等教育自学考试_第1页
C语言试题一九九六年下半年北京市高等教育自学考试_第2页
C语言试题一九九六年下半年北京市高等教育自学考试_第3页
C语言试题一九九六年下半年北京市高等教育自学考试_第4页
C语言试题一九九六年下半年北京市高等教育自学考试_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言试题一九九六年下半年北京市高等教育自学考试一、判断题:(每小题1分,共6分)1、若有说明int c;则while(c=getchar();是正确的C语句。 ( )2、int i,*p=&i;是正确的C说明。 ( )3、7&3+12的值是15。 ( )4、while 1 i,j; 一定是错误的C说明。 ( )5、for( ; ; )S中的语句S必执行无穷多次。 ( )6、unsigned 和void 在C中都是保留的。 ( )二、单项选择题(每小题1分,共5分)1、设有int i;则表达式i=1,+i,+i|+i,i的值为 ( )A.1B.2C.3D.42、设有int i;则表达式(i=1

2、,i=10)?i+|+i:+i的值为 ( )A.1B.2C.3D.103、设有int a =10,11,12,*p=&a0;则执行完*p+;*p+=1;后a0,a1,a2的值依次是 ( )A.10,11,12B.11,12,12C.10,12,12D.11,11,124、设有int i, j, k; 则表达式i=1,j=2,k=3, i&j&k 的值为 ( )A.1 B.2 C.3 D.05、设有说明int s2=0,1,*p=s; 则下列错误的C语句是 ( )A.s+=1; B.p+=1; C.*p+; D.(*P)+;三、填空题(每小题2分,共10分)1、char *(*pa)10;说明p

3、a是_。2、表达式98&8&31&1的值为_。3、printf(%5.3fn,123456.12345);输出为_。4、表达式3&(2&34)的值为_。5、若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为_。四、程序分析,给出下列各程序的执行结果(输出)1、#include int f(n) int n; static int s=1; while(n) s*=n-; return s; main() int i,j; i=f(3); j=f(5); printf(nThe output of 5.1. is:nn); printf(i=%d j=%d n,

4、i,j); 2、#include trans(m,n) int m,n; int i; if (mn) i=m%n;trans(m/n,/); else i=m; if (i-,-23); trans(21,3); printf(n%d-,123); trans(123,16); 3、#include #include typedef struct node int d; struct node *next; t_node; create(h) t_node *h; int i,m=0;t_node *p,*q; scanf(%d,&i); while(i) p=(t_node*)malloc

5、(sizeof(t_node); p-d=im?i:m;m=i;p-next=NULL; if(*h) q-next=p; q=p; else *h=p; q=p; scanf(%d,&i); void main() t_node *h=NULL,*p; create(&h);p=h;printf(nThe output of 4.3 is:nn); while(p) printf(%d,p-d); p=p-next; 4、#include main() int m,n,sign,t; scanf(%d%d,&m,&n); while(m*n) if (m=0&n=0|m=0&n0?m:-m;

6、 n=n0?n:-n; t=0; while(n-) t+=m; printf(nThe result is:); if (sign) printf(-); printf(%dn,t); scanf(%d%d,&m,&n); 5、#include int a10=1,2,3,4,5,6,7; rev (m,n) int *m,n; int t; if(n1) t=*m;*m=*(m+n-1);*(m+n-1)=t; rev(m+1,n-2); main() int i; printf(nThe output of 5.5 is:nn); rev(a+2,6); for(i=0;i10;i+)

7、printf(%d,ai); printf(n); rev(a,5); for(i=0;i10;i+) printf(%d,ai); printf(n); 五、在下面程序中横线处填上适当字句,使其能正确执行(6分)程序说明 该程序用于计算cos x值,依据公式为:要求输入X(以角度计)和误差值epsil。当epsil=0时程序停止执行。#include #define PI 3.141526double ex(x,epsil)float x,epsil;double t,s; int n;s=0.0; t=1.0; n=1;while (t=0.0?t:-t)epsil)s+=t;_(1)_;

8、_(2)_;return s;main()float x,epsil;printf(Input x,epsil:(epsil0.0)x*=PI/180;printf(e%f=%fn,x,ex(x,epsil);printf(Input x,epsil:(epsil=0 to quit)n);scanf(%f%f,&x,&epsil);六、在下面程序中横线处填上适当字句,使其能正确执行(18分)程序说明该程序能计算两个整数集合A与B的差,其中A与B的元素都以值的递增次序存放中单链表中,A中的同一元素允许在单链表中出现多次,A与B的差也以值的递增次序存于单链表内,但是同一元素不允许出现多次。假定调

9、用diff前a,b的值已创建。#include typedef struct nodeint d;struct node *next;tnode;void diff(a,b,c)tnode *a,*b,_(1)_;int last_a; tnode *p;*c=NULL; last_a=-9999;while(a&b)if(a-d=b-d)_(2)_;a=a-next;_(3)_;elseif (a-dd-d)_(4)_;else if (a-d!=last_a)last_a=a-d;p=(tnode *)malloc(sizeof(tnode);p-d=last_a;p-next=*c;*c=p;a=a-next;while(a)if(_(5)_)las

温馨提示

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

评论

0/150

提交评论