下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言试题库:试卷发布日期:2009-04-03来源:互联网 作者:佚名试卷一一、判断题:(每小题1分,共6分)1、若有说明intc ;则while(c二getchar(); 是正确的C语句。()2、inti,*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=l,+i,+i|+i,i的值为()A. 1B. 2C. 3D. 42、设有 i
2、nti ;则表达式(i=1,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.O5、设有说明ints2=0,1,*p=s;则下列错误的C语句是()A.s+=1; B.p+=1: C.*p+; D.(*P)
3、+;三、填空题(每小题2分,共10分)1、char *(*pa)10;说明 pa 是。2、表达式98&&8&&31 &1 的值为 o3、printf("%5.3fn", 123456.12345) ;输出为。4、表达式3&(2&3 A 4)的值为 o5、若有说明int i,j,k测表达式i=10,j=20,k=30,k*=i+j 的值为。四、程序分析,给出下列各程序的执行结果(输出)1、#include <stdio.h>int f(n)int n;static int s=1;while(n) s*=n-
4、;return s;)main()(int i,j;i=f(3);j=f ;printf(AnThe output of 5.1. is:nn"); printf("i=%d j=%d n",i,j);)2 、 #include <stdio.h>trans(m,n)int m,n;(inti;if (m>n)m%n;trans(m/n,/);)else m;if (i<10) printf("%d",i);else printf("%c",'A'+i-10);)main()inti;
5、printf("nThe output of 5.3 is:nn"); printf("n%d->-",-23);trans(21,3);printf("n%d->",123);trans(123,16);3A #i nclude vstdio.h>#include <malloc.h>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&q
6、uot;,&i);while(i)p=(t_node*)malloc(sizeof(t_node); p->d=i>m?i:m;m=i;p->next=NULL;if(勺)(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
7、->next;)4 、 #include <stdio.h>main()(int m,n,sign,t ;scanf("%d%d",&m,&n);while(m*n)if (m>=0&&n>=0|m<=0&&n<=0) sign=0;else sign=1;m=m>0?m:-m; n=n>0?n:-n;t=0;while(n-) t+=m;printf("nThe result is:");if (sign) printf("-");
8、printf("%dn",t);scant ("%d%d", &m, &n);5 、 #include <stdio.h>inta10=1,2,3,4,5,6,7;rev (m,n)int *m,n;(intt;if(n>1)(t=*m;*m=*(m+n-1 );*(m+n-1 )=t; rev(m+1 ,n-2);main()(inti;printf("nThe output of 5.5 is:nn");rev(a+2,6);for(i=0;i<10;i+) printf("%d&
9、quot;,ai);printf("n");rev(a,5);for(i=0;i<10;i+)printf("%d" ,ai);printf( H n");)五、在下面程序中横线处填上适当字句,使其能正确执行(6 分) 程序说明 该程序用于计算 cos x 值,依据公式为:要求输入 X ( 以角度计 ) 和误差值 epsiL 当 epsil<=0 时程序停止执行 #include <stdio.h>#define PI 3.141526 double ex(x,epsil)float x,epsil;double t,s
10、; int n;s=0.0; t=1.0; n=1;while (t>=O.O?t:-t)>epsil)(s+=t; (1);(2);return s;)main()float x.epsil;printff'lnput x,epsil:(epsil<=0 to quit)n"); scanf("%f%f",&x,&epsil);while(epsil>0.0)(x*=PI/180;printf("e A%f=%fn",x,ex(x,epsil);printff'lnput x,epsil
11、:(epsil<=0 to quit)n");scant ("%f %f" , &x, &epsi I);)六、在下面程序中横线处填上适当字句,使其能正确执行(18 分)程序说明该程序能计算两个整数集合A与B的差,其中A与B的元素都以值的递增 次序存放中单链表中,A中的同一元素允许在单链表中出现多次,A与B的差也以值的 递增次序存于单链表内,但是同一元素不允许出现多次。假定调用 diff 前 a,b 的值已 创建。#include <stdio.h>typedef struct nodeint d;struct node *nex
12、t;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)(;a=a->next;_(3)_ ;elseif (a->d>d->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)_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论