山东大学《C语言程序设计》2017-2018学年期末试卷_第1页
山东大学《C语言程序设计》2017-2018学年期末试卷_第2页
山东大学《C语言程序设计》2017-2018学年期末试卷_第3页
山东大学《C语言程序设计》2017-2018学年期末试卷_第4页
山东大学《C语言程序设计》2017-2018学年期末试卷_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

3.答题时禁止拆开试卷钉,试卷背面A)printf(“helloworld\n\n”);B)printf(“a=%d”,);C)printf(“s=%f,s”);D)printf(“%d=%d+%d\n”,a=b+c);main(){shortinta=-1;printf("%d",a);}}则程序输出()。A)0B)-1C)65535D)4294967295A)[-2^31,2^31]B)[-2^32,2^32-1]C)[-2^31,2^31]D)[-2^31,2^31-1]4.有以下程序段main(){inta=9&3;printf("%d",a);}5.有以下程序:main(){intx=-1;x=x*x;}while(!x--);printf("%x\n",x);}A)-1B)1C)0D)ffff{}}程序输出结果是()A)ABCB)BCC)BD)编译有错A)13B)17C)1fD)238.关于malloc()函数,下面叙述中错误的是()。A)这是一个分配内存的函数B)需要2个参数D)该函数申请的内存不被free()会产生“内存泄露”1234567891.使用动态内存分配方式完成下列程序:#include<stdio.h> voidmain(){int*p; *p=20;printf("*p=%d\n",*p);}longP(intn,intk){longPowerVal=n;inti;for(i=1;i<k;i++)PowerVal*=n;returnPowerVal;}该函数的功能是【3】。3.下面是一个十进制整数转二进制的程序,请补全。voidFUN1(intx){inta[100];inti=0;while(x>0){【4】 i++;}for(intk=i-1;k>=0;k--){printf("%d",【6】);}}4.下列程序段为链表结点类型定义,请填空。 doublex;doubley; 5.下面的函数将遍历输出一个链表的内容,请补全程序。注:VCT是一个结构体类型名称,指针域变量为nextvoidlink1_show(VCT*head){VCT*p;【9】while(p!=NULL){printf("%s\n",p->s); }}6.下面的函数功能是取子字符串,例如{ans=(【11】)malloc(【12】);{}ans[i-a]=【13】;}7.下面程序的运行结果为【14】。main(){enumweekday{sun,mon,tue=6,wed,thu,fri,sat}a,b,c;a=sun;b=tue;c=sat;printf("%d%d%d",a,b,c);}8.下列函数用来计算某年某个月的天数,请填空:{intd[12]={【15】,30,31,30,31,31,30,31,30,31};if(year%4==100&&year%100!=0&&year{【16】}}voidwrite_ft(ftft1,char*f{ fwrite(【18】,sizeof(ft),1,fp);}10.递归方式求阶乘,请填空:longfac(intn){longf;if(n<0)printf("n<0,dataerror!");elseif(【19】)f=1;elsef=【20】return(f);}123456781.main(){inty=2,a=1;while(y--!=-1)do{a*=y;a++;}while(y--);printf(“%d,%d\n”,a,y);}2.#include<stdio.h>voidswap(int*a,int*b){intt;t=*a;*a=*b;*b=t;}voidmain(){intx=3,y=5,*p=&x,*q=&y;swap(p,q);printf("%d,%d\n",*p,*q);}3.intM(intx,inty,intz)voidmain(){{intp;inta=1,b=2,c=3;p=x*y-z;printf("%d\n",return(p);M(a+b,b+c,c+a));}4.#include<stdio.h>main(){inta[]={1,2,3,4,5,6},*p=a+2;*(p+3)+=3;printf("%d,%d",*p,*(p+3));}5.voidmain(){chars[80]="abcd",t[80]="1234";strcpy(s,"ABC");strcat(t,s);puts(t);}}{WriteStr("t1.dat","}7.#include<stdio.h>voidmain(){intn=60,i;printf("%d=",n);for(i=2;i<n;i++){if(n%i==0){printf("%d*",i);n/=i;i--;}}printf("%d",n);}8.#defineSQ1(y)(y)*(y)#defineSQ2(y)y*yvoidmain(){intn=3,nsq1,nsq2;nsq1=SQ1(n+1);nsq2=SQ2(n+1);printf("nsq1=%dnsq2=%d",nsq1,nsq2);}1.要求以下程序的功能是计算100*99*……*81*80的值。(本小题4#include<stdio.h>voidmain(){doublen=100,i,ans;for(i=n;i>=n-20;i--){ans*=n;}printf("ans=%.0lf\n",ans);}2.下面函数link1_get的功能是返回链表第i个结点的字符串地址。(本小题6typedefstructvectchar*link1_get(VCT*p,inti){char*ans;intcount=0;while(p->next!=NULL&&count<i){p=p->next;i++;}if(count==i){ans=p.s;returnans;}elsereturnNULL;}1.用数组计算并存放fibonacci数“水仙花数”是指一个三位数,其各位数字的立方之和正好等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+331.使用下面的结构体,编写两个函数。(本小题10分)dis函数用来求两点距离;middle_point函数求两点中点#include<stdio.h>#include<math.h>structpoint{doublex;doubley;};voidmain(){structpointp1={0,0};structpointp2={3,4};structpointp_m;printf("%lf\n",dis(p1,p2));/*

温馨提示

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

评论

0/150

提交评论