二级C上机试题.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《二级C上机试题.docx》由会员分享,可在线阅读,更多相关《二级C上机试题.docx(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一套上机考试试题一、程序填空题。给定程序的功能是调用fun函数建立班级通讯录。程 序中记录每位学生的编号、姓名和电话号码。班级的 人数和学生的信息从键盘读入,每个人的信息作为一 个数据块写到名为myfile5.dat的二进制文件中。#include#include#define N 5typedef struct|int num;char name10;char tel10;)STYPE;void check();int fun(STYPE *std)|FILE *fp;int i;if(fp=fopen( * *myfile5.dat * * ,* web* * )=NULL)return
2、(O);printf(nnOutput data to file!nn);for(i=0;iN;i+)fwrite(&stdi,sizeof(STYPE),l,fp);fclose(fp);return(l);)main()STYPEs10=l,,aaaaan,llllir,l;bbbbb,n222222,l,ccccc, ”333333”,lJddddd”J444444”,l,eeeee”J555555”;int k;k=fun(s);if(k=l)printf(Succeed!);check();elseprintfCFail!);void check()FILE *fp;int i;ST
3、YPE s10;if(fp=fopen(,myfile5.dat,rb,)=NULL)printf(nFail!nu);exit(O);printf(nnRead file and output to screen:nn);printf(n num name telnH);for(i=0;iN;i+)(fread(&si,sizeof(STYPE),l,fp);printf(,%6d%s%sn,si.num,si.name,si.tel);)fclose(fp);二、程序修改题。给定程序MODI1.C中函数的功能是:先将字符串s中的字符按 正序存放在t串中,然后把s中的字符按逆序连接到t串的后
4、面。 #include#includevoid fun(char *s,char *t)int i,sl;sl=strlen(s);for(i=0;i=sl;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-l;t2*sl=,0,;)main()chars100,t100;printf(,nPlease enter string s:H);scanf(%sH,s);fun(s,t);printf(nThe result is:%sn*,t);三、程序设计题。函数fun的功能是:将两个两位数的正整数a、b合 并形成一个整数放在c中,合并的方式是:将a数的 十位和个位数依次放
5、在c数的千位和十位上,b数的 十位和个位数依次放在c数的百位上和个位上。#indude void fun(int a,int b,long *c)*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);main()int a,b;long c;void NONOQ;printf(nInput a,b:n);scanf(%d,%dn,&a,&b);fun(a,b,&c);printf(nThe result is:%dn,c);NONO();)void NONO()FILE *rf,*wf;int i,a,b;long c;rf=fopen(in.dat,rn);w
6、f=fopen(out.dat Jw);for(i=0;i10;i+)fscanf(rf,%d,%d,&a,&b);fun(a,b,&c);fprintf (wf,a=%d,b=% d,c= % ldn H,a,b,c);fclose(rf);fclose(wf);第二套上机考试试题一、程序填空题给定程序的功能是:从键盘输入若干行文本(每行不超过80个 字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。 然后将文件的内容读出显示在屏幕上。文件的读写分别由自义函 数 ReadText 和 WriteText 实现。#include#indude#includevoid W
7、riteText(FILE *);void ReadText(FILE *);main()FILE *fp;if(fp=fopen(,myfile4.txt,w,)=NULL)printf(nopen fail!nn);exit(0);WriteText(fp);fclose(fp);if(fp=fopen( * * myfile4.txt * * ,* * r * *)=NULL)printf(nopen fail!nn);exit(O);ReadText(fp);fclose(fp);void WriteText(FILE *fw)|char str81;printf(nnEnter st
8、ring with -1 to end:nu);gets (str);while(strcmp(str,-l,)!=O)fputs(str,fw);fputs(nn,fw);gets(str);)void ReadText(FILE *fr)char str81;printf(nnRead file and output to screen:n);fgets(str,81,fr);while(!feof(fr)printf(,%sn,str);fgets(str,81,fr);)二、程序修改题给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型 变量s中奇数位上的数,依次构成一个新
9、数放在t中.高位仍在高 位,低仍在低位.#includevoid fun(long s,long *t)long sl=10;*t=s%10;while(s0)s=s/100;*t=s%10*sl+*t;sl=sl*10;main()long s,t;printf(nnplease enter s:H);scanf(n%ldn,&s);fun(s,&t);printf(The result is:%ldn,t);)三、程序设计题函数fun的功能是:将两个两位数的正整数a、b合并形成 一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的个位和 百位上,b数的十和个位数依次放在c数的千
10、位和十位上。#includevoid fun(int a,int b,long *c)*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);)main()int a,b;long c;void NONO();printf(Input a,bH);scanf(H%d,%d,&a,&b);fun(a,b,&c);printf(nThe result is:%ldnn,c);NONO();)void NONOQ;FILE *rf,*wf;int i,a,b;Iong c;rf=fopen(,in.dat,rn);wf=fopen(,out.dat,wn);for(i=
11、0;i10;i+)fscanf(rfj%d,%d,&a,&b);fun(a,b,&c);fprintf(wf,na= % d,b=% d,c= % ldn1 * ,a,b,c);)fclose(rf);fclose(wf);第三套上机考试试题一、程序设计题给定程序中,函数fun的功能是:将自然数码相机110以及 它们的平方根写到名为myfile3.txt的文本中,然后再顺序读出显 示在屏幕上。#include#includeint fun(char *fname)FILE *fp;int i,n;float x;if(fp=fopen(fname,nwn)=NULL)return 0;for(
12、i=l;i=10;i+)fprintf(fp,M%d %fnn,i,sqrt(double)i);printf( nnSucceed! !n11);fclose(fp);printf(unThe data in file:nn);if(fp=fopen(fname,r,)=NULL)return 0;fscanf(fp,%d%f,&n,&x);while(!feof(fp)printf(H%d %fnn,n,x);fscanf(fp,H%d%fn,&n,&x);fclose(fp);return 1;)main()char fname=myf!le3.txt”;fun(fname);二、程序修
13、改题给定程序MODH。C中fun的函数的功能是:将n个无序整数 从小到大排序。#include#includefun(int n,int *a)(intfor(j=0;jn-l;j+)P=i;for(j=j+l ;in;i+)if(p!=j)t=aj;aj=ap;ap=t;putarr(int n,int *z)int i;for(i=l;i=n;i+,z+)printf(H %4d*,*z);if(!(i%10) printf(nn);printf(,nn);main()int aa20=9,3,0,4,l,2,5,6,8,10,7,n=ll;printf(nnnBefore sorting
14、 %d number:nH,n);putarr(n,aa);printf(nnAfter sorting %d numbers:nu,n);putarr(n,aa);三、程序设计题 函数fun的功能是:将两个两位数的正整数a、b合并形成一个 整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的个位和百位 上,b数的十位和个位数依次放在c数的十位和千位上。#include void fun(int a,int b,long *c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;)main()int a,int b;long c;void NONOQ;pr
15、intfCInput a,b:);scanf(n%d,%dn,&a,&b);fun(a,b,&c);printf(The result is:%ldnH,c);NONO();void NONO()FILE *rf,*wf;int i,a,b;long c;rf=fopen(,in.datn,rn);wf=fopen(,out.dat,wn);for(i=0;i10;i+)fscanf(rf,%d,%d,&a,&b);fun(a,b,&c);fprintf(wf,Ha= % d,b= % d,c= % ldnH ,a,b,c);)fclose(rf);fclose(wf);第四套上机考试试题一、
16、程序填空题给定程序的功能是:调用函数fun将指定源文件中的内容复制到 指定的目标文件中,复制成功时函数返回值为1,失败时返回值 为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数 中源文件名放在变量sfname中,目标文件名放在变量tfname 中。#include#includeint fun(char *source,char *target)FILE *fs,*ft;char ch;if(fs=fopen(source,r,)=NULL)return 0;if(fs=fopen(target,* * w *1 )=NULL)return 0;printf(nThe data in
17、file:nn);ch=fgetc(fs);while(!feof(fs)putchar(ch);fputc(ch,ft);ch=fgetc(fs);)fclose(fs);fclose(ft);printf(nnH);return 1;main() char sfname20=,myfileln,tfname20=nmyfileH;FILE *myf;int i;char c;myf=fopen(sfname,wu);printf(nThe original data:n);for(i=l;i30;i+)c=,A,+rand()%25;fprintf(myf, %cH,c);printf(n
18、%cn,c);fclose(myf);printf(nnH);if(fun(sfname,tfname)printf( * Succeed!);else printf(Fail!);)二、程序修改题给定程序MODIlo C中函数fun的功能是:将长整型数s中每 一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在 高位,低位仍在低位。例如:当s中的数为:87653142时,t中的数为:8642。#includevoid fun(long s,long *t)int d;long sl=l;*t=0;while(s0)d=s%10;if(d%2=0)*t=d*sl+*t;sl*=10;)s/
19、10=10;)main()long s,t;printf(,nPlease enter s:H);scanf(%ldn,&s);fun(s,&t);printf(nThe result is:%ldnH,t);)三、程序设计题函数fun的功能是:将两个两位数的正整数a, b合并形成一个 整数放在c中。合并的方式是:将a数的十位和个位依次放在c数十位和千位上, b数的十位和个位数依次放在c数的百位和个位上。#includevoid fun(int a,int b,long *c)*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);main()int a,b;lo
20、ng c;void NONOQ;printf(nInput a,b:);scanf(%d,%dn,&a,&b);fun(a,b,&c);printf(nThe result is:%ldnH,c);NONO();)void NONO()FILE *rf,*wf;int i,a,b;long c;rf=fopen(int.dat Jr);wf=fopen(,out.dat,wn);for(i=0;i10;i+)fscanf(rf,n%d,%dn,&a,&b);fun(a,b,&c);fprintf(wf,a=%d,b=%d,c=%ldn,a,b,c);fclose(rf);fclose(wf);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 上机 试题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内