中央财经大学C语言题_第1页
中央财经大学C语言题_第2页
中央财经大学C语言题_第3页
中央财经大学C语言题_第4页
中央财经大学C语言题_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、一、选择题(单选,每题2分,共20分)1.已知int x=1,y=2,z=3;贝U z+=x>y?+x:+y的值是(D) A, 2 B,4 C,3 D,62.已知 int a=10,9,8,7,6,*p=a;则*(p+1)*(p+2)2的值是(C)A,72 B,80 C,54 D,有语法错误3.已知int i,j;表达式(j=i=5,i=j<=5+i>=3<=5 )的值是(A)A,1 B,5 C,3 D,04.从计算机所用资源(时间和空间)角度分析,宏与函数的主要区别是( B) A,宏的使用节省了存储空间,函数消耗了时间;B,宏的使用耗费了存储空间,函数消耗了时间;C,

2、宏的使用耗费了存储空间,函数节省了时间;D,宏的使一、选择题(单选,每题 2分,共20分)1 .已知 int x=1,y=2,z=3;则 z+=x>y?+x:+y 的值是(D)A,2 B,4 C,3 D,62 .已知 int a=10,9,8,7,6,*p=a;则 *(p+1)*(p+2)2的值是(C)A,72 B,80 C,54 D,有语法错误3 .已知 int i,j;表达式(j=i=5,i=j<=5+i>=3<=5 )的值是(A)A,1B,5 C,3 D,04 .从计算机所用资源(时间和空间)角度分析,宏与函数的主要区别是(B)A,宏的使用节省了存储空间,函数消耗

3、了时间;B,宏的使用耗费了存储空间,函数消耗了时间;C,宏的使用耗费了存储空间,函数节省了时间;D,宏的使用节省了存储空间,函数节省了时间;5 .一维指针数组名作为实参,若有以下说明:int *p5;sub(p);则sub函数中对应的形参可以是(D)A. sub(int*p5);B. sub(int*p);C. sub(int*p);D.以上答案都正确。6 .C语言函数中的形参和在函数中定义的变量,都是在调用该函数时系统会给他们分配存储空间,在函数调用结束时就释放他们所占的空间,该说法( A)A错误B正确7 .若有以下说明:unionint n3;char ch ;float f; a;如果a

4、.n0的地址为:158,贝U a.ch和a.f的地址分别为(A)A 158,158B 164,165C 159,160D 170,1718 .程序的3种基本控制结构是(C)A顺序,转移,选择;B选择,I/O,递归;C重复,选择,顺序;D重复,递归,子程序。9 .程序段:scanf( " %d%d ,&a,&b);c=5*a+b;if(c= =0) a=1;else a=1/c+1/b;保证该程序段运行不出错的必要条件是(C)A b>0B a>0&&b>0C b!=0D c!=0&&b!=010 .在进行文件操作时,写文

5、件的一般含义是( B)A将磁盘中的信息存入计算机 CPU;B将计算机内存中的信息存入磁盘;C将计算机CPU中的信息存入磁盘;D将磁盘中的信息存入计算机内存。二、按要求完成下列各题(共 50分)1 .写出下列程序的输出结果(5分)int a=1;main()int a;for(a=1;a<10;a+)sub(a+);printf(" %d' ,a);sub(int a)a=a*a;return;答案:2 4 6 8 102 .写出下列程序的输出结果(5分)f(int x ,int y)int r;if(y= =1) r=x;else r=f(x,y-1)+x;return

6、 r;main()int a=6,b=5;printf( " %d' ,f(a,b);答案:363 .写出下列程序的输出结果(5分)func(int *s,int *y)static int t=3;*y=st;t-;main()int a尸10,20,30,40,i,x=0;for(i=0;i<4;i+)func(a,&x);printf(" %d' ,x);printf(n”);答案:40 30 20 104 .写出下列程序的输出结果(5分)int sum1(int n)int p=0,s=0,i;for(i=1;i<n;i+)if(

7、i%2) continue;s+=p+=i;return s;main()printf("r% d,sum1(10);答案:405 .写出下列程序的输出结果(6分)double x,y,z;double f(),g(),t();main()x=5.0;y=t(x,f);z=t(x,g);printf( "y=Z=f%f n” ,y,z);double t(double a,double (*f)()return (*f)(a+a);double f(double x)return 3.0*x;double g(double x)return 3.0+x;答案:y=30.00

8、000 z=13.000006 .写出下列程序的输出结果(8分)void f(int i,char *cp)for (;i;i-)printf( " %C',*cp+);main()char a3="ABC , " DEF' , "GHf ;char *p;p=a0;f(1,p+);f(1,p+);f(1,p+);printf( n")'p=a1;f(3,p+);f(2,p+);f(1,p);printf( n");printf("n% s,a0);答案:ABCDEFEFF7 .写出下列程序的输出结果

9、(8分)#include “ stdio.h "main()char *f,*a;int i,j;f= "11.2s” ;a=,printf( n”“);for(i=0;i<6;i+) *(f+2)=- 6 'printf(f,a);if(i= =0) printf ("方”);else if (i= =5) printf( a *” );else for(j=0;j<2*i- 1;j+) printf("");printf(n* );答案:* *8.写出下列程序的输出结果(8分)sub(int s,int m,int n,

10、char st)int p,q,t;t=sts;p=s;while(1)q=(p+m)%n;if(q= =s) break;stp=stq;p=q;stp=t;char b= "0123456789 ”main()sub(1,2,10,b);puts(b);答案:0 3 2 5 4 7 6 9 8 1三、程序填空题(每空 2分,共20分)1.本程序的功能是判断指定的正整数是否为素数,若是则输出该素数。int f(int a)int y,i;i=2;y=1;while(i<a/2&&(1)if(2) y=0;i+;return y;main()int m;scan

11、f( " %d' ,&m);if(f(m)printf(" %d' ,m);答案:(1) y(2) !(a%i)或 a%2= =02.本程序的功能为将给定的一组整数由小到大的顺序排序,排序后输出。具体实现为:函数create()根据已知整数数组构造一个线性链表。函数 sort ()采用选择排序方法对已知链表进行 排序。为方便排序,函数 scort()排序前在链表首结点之前生成一个辅助结点,排序完成后, 将该辅助结点删除。#include “ stdio.h "#include " stdlib.h "struct nod

12、e int val;struct node * next;struct node * create(int a,int n)struct node*h,*q;for(h=NULL;n;n-)q=(struct node*)malloc(sizeof(struct node);q->val=(3);(4);h=(5); return h;void sort(struct node *h) struct node *p,*q,*r,*s,*h1;h1=p=( struct node *)malloc(sizeof(struct node );p->next=*h;while(p->

13、;next)q=p->next;r=p;while(q->next)if(q->next->val<(6)r=q;q=q->nexr;if(r!=p)s=r->nexr;(7)=s->next;s->next=(8);(9)=s;p=p->next;*h=h1->next;free(h1);main() struct node *p,*head1,*head2;int a尸1,5,2,7,4,m=5;head1=create(a,m);head2=(10);sort(head2);p=head1;while(p)printf(

14、" %d>va。;p=p->next;答案:(3) an-1(4) q->next=h(5) h=q(6) q->val(7) r->next(8) p->next(9) p->next=s(10) &head1四、下列程序已标上行号,请指出并改正程序中的错误。(共 30分)注:不得增加或删除程序行,也不能更改程序结构。1 .程序功能为在4个字符串中求最大字符串并输出结果。1 .#include “string.h "2 .#include " stdio.h "3 .main()4 .char*s=&q

15、uot;bo y gir, “"mother" "father " ;5 .char st;改为 char *st;6.int i;7.st=s;8.for(i=1;i<4;i+)9.if(*st<*si)改为 if(strcmp(*st,si)<0)10.st=si;改为 strcpy(*st,si);11.printf( n%s*st);.34.si0=i+1; 改为 si0=ordi;35.fWrite(fp,27si);改为 fWrite(si,2,7,fp);36.fclose(fp);37.五、编程题(每题 15分,共30分)r说明:按各题要求编程,否则不给分。1.编程序实现单链表的

温馨提示

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

最新文档

评论

0/150

提交评论