二级C上机模拟试题参考

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

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

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

资源描述

上机考试复习资料,仅供参考,切勿带入考场,否则后果自负!!!11第01套:给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。【微答案】(1)STYPE(2)FILE(3)fp【微答案】(1)for(i=0;isl;i++)(2)t[2*sl]='\0';【微答案】voidfun(inta,intb,long*c){*c=b%10+(a%10)*10+(b/10)*100+(a/10)*1000;}第02套:给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1(独立一行)作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。【微答案】(1)*fw(2)str(3)str【微答案】(1)voidfun(longs,long*t)(2)sl=sl*10;【微答案】intfun(STREC*a,STREC*b){inti,j=0,min=a[0].s;for(i=0;iN;i++)if(mina[i].s)min=a[i].s;/*找出最小值*/for(i=0;iN;i++)if(min==a[i].s)b[j++]=a[i];/*找出成绩与min相等的学生的记录,存入结构体b中*/returnj;}第03套:给定程序中,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。【微答案】(1)fp(2)fclose(fp)(3)fname【微答案】(1)for(i=j+1;in;i++)(2)p=i;【微答案】voidfun(inta,intb,long*c){*c=a/10+(b/10)*10+(a%10)*100+(b%10)*1000;}第04套:给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。【微答案】(1)r(2)fs(3)ft【微答案】(1)if(d%2==0)(2)s/=10;【微答案】voidfun(char*s,chart[]){inti,j=0;for(i=0;s[i]!='\0';i++)if(i%2==0&&s[i]%2==0)t[j++]=s[i];t[j]='\0';}第05套:给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。【微答案】(1)x(2)p(3)s【微答案】(1)longk=1;(2)num/=10;【微答案】floatfun(float*a,intn){inti;floatav=0.0;for(i=0;in;i++)/*求分数的总和*/av=av+a[i];return(av/n);/*返回平均值*/}第06套:给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。【微答案】(1)next(2)t-data(3)t【微答案】(1)voidfun(char*a)(2)printf(%c,*a);【微答案】char*fun(char*s,char*t){inti,j;for(i=0;s[i]!='\0';i++);/*求字符串的长度*/for(j=0;t[j]!='\0';j++);if(i=j)/*比较两个字符串的长度*/returnt;/*函数返回较长的字符串,若两个字符串长度相等,则返回第1个字符串*/elsereturns;}第07套:给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。【微答案】(1)q(2)next(3)next【微答案】(1)p=j;(2)p=i;【微答案】voidfun(intm,int*a,int*n){inti,j=0;for(i=1;i=m;i++)if(i%7==0||i%11==0)/*求出1到m(含m)之内能被7或11整除的所有整数放在数组a中*/a[j++]=i;*n=j;/*返回这些数的个数*/}第08套:给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。【微答案】(1)NULL(2)n(3)head,ch【微答案】(1)for(i=0,t=0;p[i];i++)(2)c[t]='\0';【微答案】voidfun(char*ss){inti;for(i=0;ss[i]!='\0';i++)/*将ss所指字符串中所有下标为奇数位置的字母转换为大写*/if(i%2==1&&ss[i]='a'&&ss[i]='z')ss[i]=ss[i]-32;}第09套:给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。【微答案】(1)*n(2)next(3)head【微答案】(1)a=NULL;(2)if(*r==*p)【微答案】voidfun(inta,intb,long*c){*c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;}第10套:给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各结点数据域中值之和作为函数值返回。【微答案】(1)data(2)next(3)head【微答案】(1)while(*r)(2)*a=*r;a++;r++;【微答案】voidfun(char*s,chart[]){inti,j=0,k=strlen(s);/*k为字符串的长度*/for(i=1;ik;i=i+2)/*将s所指字符串中下标为奇数的字符存入t所指字符串中*/t[j++]=s[i];t[j]='\0';}上机考试复习资料,仅供参考,切勿带入考场,否则后果自负!!!12第11套:人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。【微答案】(1)STU(2)std[i].num(3)std[i]【微答案】(1)if(*r==*p){r++;p++;}(2)if(*r=='\0')【微答案】voidfun(char*s,chart[]){inti=0;for(;*s!='\0';s++)/*找出ASCII值为奇数的字符依次存入数组t中*/if(*s%2==1)t[i++]=*s;t[i]='\0';/*在字符串的末尾加上串结束符*/}第12套:人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。【微答案】(1)std[i].year(2)std[i](3)n【微答案】(1)IsPrime(intn)(2)if(!(n%i))【微答案】fun(STUa[],STU*s){inti;*s=a[0];for(i=0;iN;i++)/*找出成绩最高的学生记录*/if(s-sa[i].s)*s=a[i];}第13套:给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。【微答案】(1)STU(2)score[i](3)&std【微答案】(1)if(k1)(2)elseif(k==0)。【微答案】voidfun(inta[][N],intn){inti,j;for(i=0;iN;i++)for(j=0;j=i;j++)a[i][j]=a[i][j]*n;}第14套:给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。【微答案】(1)std[](2)PERSON(3)std【微答案】(1)intk,q,i;(2)pt[i]=str[k][i];【微答案】voidfun(inta[][N]){inti,j;for(i=0;iN;i++)for(j=0;j=i;j++)a[i][j]=0;}第15套:给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。【微答案】(1)std[0](2)std[i].age(3)max.name【微答案】(1)voidfun(int*a,int*b)(2)t=*b;*b=*a;*a=t;【微答案】voidfun(inttt[M][N],intpp[N]){inti,j,max;for(j=0;jN;j++){max=tt[0][j];for(i=0;iM;i++)if(tt[i][j]max)max=tt[i][j];pp[j]=max;}}第16套:程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。【微答案】(1)tt(2)tt.score[i](3)std【微答案】(1)voidfun(int*a,intn)(2)m=i;【微答案】unsignedfun(unsignedw){intn=1,j,s=1;unsignedt;t=w;while(t=10){t=t/10;n++;}for(j=1;jn;j++)s=s*10;returnw%s;}第17套:给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长N。【微答案】(1)i+1(2)k=j(3)t【微答案】(1)voidfun(char*str,charch)(2)if(*str!=ch)(3)str[1]=0;【微答案】voidfun(char*s){charch;inti,m,n;i=0;m=n=strlen(s)-1;while(i(n+1)/2){/*使用中间变量叫唤*/ch=s[i];s[i]=s[m];s[m]=ch;i++;m--;}}第18套:给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长N。【微答案】(1)k(2)len(3)ss[i][j]【微答案】(1)result*=n--;(2)returnresult;【微答案】voidfun(chars[],intc){inti=0;char*p;p=s;while(*p)/*判断是否为结束符*/{if(

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

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

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

×
保存成功