浙工大C语言程序设计期末试卷4

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

12008/2009二学期C程序设计试卷说明:考生应将所有答案填写在答卷上,否则无效。一、填空题(每小题2分,共20分)⑴将a、b、c中最大值赋值到d的表达式是。⑵若k=5、s=0,执行“while(k)s=s+k--;”后,s、k的值依次为。⑶调用函数f(1.1,3)的返回值是。floatf(floatx,intn){if(n==0)return1;elsereturnx*f(x,n-1);}⑷程序中使用了C的库函数malloc,应包含的头文件为。⑸下列程序段运行时的输出结果是。chars[]=Windows,t[]=xp;printf(%s\n,strcat(s,t));⑹函数f定义如下,执行语句sum=f(3)+f(5)后,sum的值应为。intf(intm){staticinti=2;ints=0;for(;i=m;i++)s+=i;returns;}⑺定义函数f返回m行n列float类型数组中最大值,其函数原型为。⑻表达式7|-2的值为。⑼若int类型变量a的当前值是7,执行“a=a2”后,a的值为。⑽以“追加”方式打开文本文件e:\aa.txt的函数为。二、程序阅读题(每小题8分,共24分)阅读下列程序,将运行时的输出结果写在答卷纸相应题号下。1.#includestdio.h#includemath.hvoidmain(){doublex[4]={123.45,-34.72,0.876,-765.3};inti,y,k;for(i=0;i4;i++){y=fabs(x[i]);k=0;while(y){k++;y/=10;}printf(%d\n,k);}}2.#includestdio.h#includemath.hchar*f(char*ss,intx){intn;n=(int)log10(x)/log10(2)+1;ss[n]='\0';while(x!=0){ss[--n]=char(x%2+'0');x/=2;}2returnss+n;}voidmain(){inti,a[4]={12,15,21,17};chars[10];for(i=0;i4;i++)puts(f(s,a[i]));}3.运行时的输入数据为:10↙5↙24↙6↙35↙-4↙0↙#includestdio.h#includestdlib.hstructnode{intx;node*next;};voidmain(){node*head,*p1,*p2;intn=0;floatave=0;while(1){p2=(node*)malloc(sizeof(node));scanf(%d,&p2-x);ave+=p2-x;if(n++==0)head=p1=p2;else{p1-next=p2;p1=p2;}if(p2-x==0){p2-next=NULL;break;}}ave/=n;p1=head;while(p1-next){if(p1-xave)printf(%d\n,p1-x);p1=p1-next;}}三、程序填空题(每空2分,共24分)阅读下列程序说明和程序,将答案填写在答卷纸相应题号下。1.【程序说明】显示所输入整数的所有因子之和(输入12则显示1、2、3、4、6之和)。⑴{intm,s=1,i;scanf(%d,&m);for(⑵;i=m/2;i++)if(⑶)s=s+i;⑷;}2.【程序说明】调用find函数求实参数组中最大值,再调用find函数求实参数组中最小值。#includestdio.hvoidmain(){floats,a[7]={2,6,3,8,3,12,9},find(float*,int,int);s=find(a,7,1);⑴;⑵;printf(%f\n,s);}floatfind(float*p,intn,intflag)3{inti;floatt,fh;if(flag==1)fh=1;elsefh=-1;⑶;for(i=1;in;i++)if(p[i]*fht*fh)t=p[i];⑷;}3.【函数说明】函数f统计并返回float类型二维数组中正数、负数和零的个数。structxxx{intzs,fs,lin;};xxxf(⑴){inti,j;⑵y;⑶;for(i=0;im;i++)for(j=0;jn;j++)if(a[i][j]0)y.zs++;elseif(a[i][j]0)y.fs++;elsey.lin++;⑷;}四、程序设计题(1、2小题各10分,第3小题12分,共32分)1.编程,输入a(1a),求最小的n满足1.1的n次方大于a。2.编写通用函数,计算下列表达式的值。3.文件e:\aaa.txt中按统一格式已存储若干行商品信息:商品编号(%10s)、空格、数量(%f10.3)、空格、价格(%f10.2)。编程,将文件中商品编号首字符为'1'的商品价格改为9折。012321aaaqaannn42008/09二学期C程序设计答卷选课班级任课教师班级学号考生姓名题号(题分)一(20)二(24)三(24)四(32)总分得分一、填空题(每小题2分,共20分)⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽二、程序阅读题(每小题8分,共24分)1.2.3.三、程序填空题(每空2分,共24分)1.⑴⑵⑶⑷2.⑴⑵⑶⑷3.⑴⑵⑶⑷四、程序设计题(1、2小题各10分,第3小题12分,共32分)1.编程,输入a(1a),求最小的n满足1.1的n次方大于a。2.编写通用函数,计算下列表达式的值。53.文件e:\aaa.txt中按统一格式已存储若干行商品信息:商品编号(%10s)、空格、数量(%f10.3)、空格、价格(%f10.2)。编程,将文件中商品编号首字符为'1'的商品价格改为9折。62008/09二学期C程序设计参考答案一、填空题(每小题2分,共20分)⑴d=(d=ab?a:b)c?d:c⑵15、0⑶1.331⑷stdlib.h⑸Windowsxp⑹14⑺floatf(float**,int,int)⑻-1⑼1⑽fopen(e:\\aa.txt,a)二、程序阅读题(每小题8分,共24分)1.32.11003.102111150101016310001-4三、程序填空题(每空2分,共24分)1.⑴includestdio.h⑵i=2⑶m%i==0⑷printf(%d\n,s)2.⑴printf(%f\n,s)⑵s=find(a,7,非1即可)⑶t=p[0]⑷returnt3.⑴float**a,intm,intn⑵xxxy⑶y.zs=y.fs=y.lin=0⑷returny四、程序设计题(1、2小题各10分,第3小题12分,共32分)1.#includestdio.hvoidmain(){floata,x=1;intn=0;while(scanf(%f,&a),a=1);do{x=x*1.1;n++;}while(x=a);printf(%d\n,n);}2.floatf3(float*a,intn){floaty=0;inti;for(i=0;in;i++)y=sqrt(a[i]+y);returny;}3.#includestdio.hvoidmain(){FILE*pa,*pb;charaa[11];floatsl,jg;pa=fopen(e:\\aaa.txt,r);pb=fopen(e:\\temp.txt,w);while(fscanf(pa,%s%f%f,aa,&sl,&jg)!=EOF)if(aa[0]=='1')fprintf(pb,%10s%f10.3%f10.2,aa,sl,jg*0.9);elsefprintf(pb,%10s%f10.3%f10.2,aa,sl,jg);fclose(pa);fclose(pb);remove(e:\\aaa.txt);rename(e:\\temp.txt,e:\\aaa.txt);}

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功