新视野二级C语言上机题库.pdf
《新视野二级C语言上机题库.pdf》由会员分享,可在线阅读,更多相关《新视野二级C语言上机题库.pdf(145页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1套题一、程序填空题给定程序的功熊是调用fun 函数建立班级通讯录。通讯录中记申每位笺生的编号、姓名和电话弯码。班级的人数不殍生的信息从键盘读入,每个人的信息作为一个数喟块高到名为吗fil eS.dat的一进制支祥中。请在程序的中划线乱填入正确的内容并把下划线删除,使程序得出正确的结果。源程序存放在考生文件旁下的B L A NK1.C 中。不容增存或删行,也不落更改程序的结构!注意:#include#include#define N 5typedef struct int num;char name10;char tel10;STYPE;void check();/*found*/int f
2、un(_1 _*std)/*found*I2*fp;int i;if(fp=fopen(myfile5.dat;,wb)=NULL)return(O);printf(nOutput data to file!n);for(i=0;iN;i+)/*-Q|J p j*/fwrite(&stdi,sizeof(STYPE)?1,_3_);fclose(fp);return(1);)main()STYPE s10=l;,aaaaa;,llllll,l,bbbbb,222222,l,ccccc,333333,lzddddd;,444444/l,eeeee,555555;int k;k=fun(s);if
3、(k=l)printf(nSucceed!);check();else)printf(Fail!);void check()FILE*fp;int i;STYPE s10;if(fp=fopen(myfile5.dat;rb)=NULL)printf(Fail!n);exit(O);printf(nRead file and output to screen:n);printf(n num name tel n);for(i=0;iN;i+)fread(&si,sizeof(STYPE),l,fp);printf(%6d%s%s n,si.num,si.name,si.tel);fclose(
4、fp);二、程序改错题t到的序A B能不fun逆,加它,现懒嬴使磁nann,一性蹿罐.C鳖谭如1目勺勺田示IsZXZLr-r攵DmlrrnMo司需序要尊当则程不釐:正:定n,如改意给鬻请注功连C DA B醇能接心C D出增是律E E正行管,D C确或果,结好S中的字符按正序存放符串#include#include void fun(char*s,char*t)int i,si;si=strlen(s);/*fo und*Ifor(i=0;i=sl;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-l;/*found*/tsl=0;)main()chars100,t100;
5、printf(nPlease enter string s:);scanf(%s,s);fun(s,t);printf(The result is:%s n,t);)三、程序编写题数合.的改填修中膏方不括据花数的的UnM在褊仅C君勺,数句后M数中柏的依菌.C抑数数上该G1娜位位位用RO够博竹峰调B-mala时钗膜m a-1。5,菱句翡在=4源函语回.放a=分主干用是次当野若fur式依:改的数方数如意勿写函的位审编合和b:D-你入#include void fun(int a,int bz long*c)main()int a,b;long c;void NONO();printf(lnput
6、a b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(The result is:%d n”,c);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rfz*wf;int i,a,b;long c;rf=fopenCKAXkOlWAOlOOOlWin.dat,7);wf=fopen(K:k01 24010001 out.dat“Jw);for(i=0;i 10;i+)fscanf(rf,%d,%d,&a,&b);fun(a,b,&c);fprintf(wf,a=%d,b=%d,c=%ld n,a,
7、b,c);)fclose(rf);fclose(wf);)第2套题一、程序填空题给定程序的功能是:从键盘输入若干行文本(每任不超过8 0 个字假),写到文 件 喈 il etxt电 _ 用(独立一行)隹为宇符也输入结束的标志。然后将文件的内容读出显示在屏票上。文件的读写分别由自定义函数1 a正6 乂坊口和出6 1 6*1 实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源矍序存放在考生文件夫下的B L A NKl.C 中。不容增打或删行,也不得更改程序的结构!#include#include#includevoid WriteText(FILE*);void
8、ReadText(FILE*);main()FILE*fp;if(fp=fopen(myfile4.txt,w)=NULL)printf(H open fail!n);exit(O);WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txtzr)=NULL)printf(H open fail!n);exit(O);ReadText(fp);fclose(fp);)/*found*/void WriteText(FILE _1_)char str81;printf(nEnter string with-1 to end:n);gets(str);whil
9、e(strcmp(str,-l)!=O)/*foundfputs(_2_gets(str);)void ReadText(FILE*I_,fw);fputs(n,fw);*fr)char str81;printf(nRead file and output to screen:n);fgets(str,81,fr);while(!feof(fr)/*found*/printf(%s,_ 3 _);fgets(str,81,fr);)二、程序改错题给定程序M0DI 1.C中函数fun的功能是:从低位开始取日上的数,根茨构成一个新数放在t 中。高位物在高位,低位量 s中奇数位例如,当s中的数为:7
10、654321时,t 中的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不容增行或删行,也不得更改程序的结构!#include/*found*Ivoid fun(long s,long t)long sl=10;*t=s%10;while(s 0)s=s/100;*t=s%10*si+*t;/*foun(j*/sl=sl*100;)main()long s,t;printf(nPlease enters:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ld n,t);)三、程序编写题学生的记录由学号和成绩组成
11、,N名学生的数据己在主函数中以入结构体数组电 通 编 海 数 f u n,它的功能是:把分数最低的学生数强放在b断指的数组中,注意:务数金低的看生可熊不止一个,函数返回分数最低府学生的人数。注意:郃分源程序在殳性PR0G1.C文件中。请勿改翱主函薮mai向 箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。include#define N 16typedef struct char num10;int s;STREC;int fun(STREC*a,STREC*b)main()STREC sN=GA05/85,GA03,76,GA02769,GA04,85,GA01/91/G
12、A07/72,GA08,64,GA06,87,GA0151,85,GA013,91,GA012,z64,GA014,91/GA011/91/,GA017,64/GA018/64,GA016/72;STREC hN;int i?n;FILE*out;n=fun(s,h);printf(The%d lowest score:n n);for(i=0;in;i+)printf(%s%4d n,/hi.num/hi.s);printf(n);out=fopenCKiWkOlWAOlOOOlWout.datVw);fprintf(out,%d n,n);for(i=0;in;i+)fprintf(out
13、,%4d n,hi.s);fclose(out);)第3套题一、程序填空题inyfile3.tx t的给定程序史,函数fun的 也 是:将自然物 1 0以及它们的平方根写到名为皆 至 麓 用 储 媲 蠡 器 耦 雷 繇 匕 使 程 序 得 出 正 确 的 结果。注意:源矍序存放在考生文件旁下的BLANKl.C中。不替增存或删行,也不将更改程序的结构!/include#includeint fun(char*fname)FILE*fp;int i,n;float x;if(fp=fopen(fname,w)=NULL)return 0;for(i=l;i=10;i+)/*found*/fprin
14、tf(_ 1_J%d%f nnJ,sqrt(double)i);printf(nSucceed!n);/*found*/一2一;printf(nThe data in file:n);/*found*/if(fp=fopen(3;r)=NULL)return 0;fscanf(fp/%d%f,&n,&x);while(!feof(fp)printf(%d%f n”,n,x);fscanf(fp,%d%f/&n/&x);fclose(fp);return 1;)main()char fname=myfile3.txt;fun(fname);二、程序改错题给定程底MO D Il.C 中fun 函数
15、的功能是:翔n 个无序整数从小到大排序。请改正徨序中的错误,使它能黄出正确的结果。注意:不要改动m ain 函数,不悖增行或删行,也不得更改程序的结构!#include#include void fun(int n,int*a)int ,j,p,t;for(j=0;jn-l;j+)P=j;/*found*/for(i=j+l;iai)/*found*/t=i;if(p!=j)t=aj;aj=ap;ap=t;)void putarr(int n,int*z)int i;for(i=1;i=n;i+,z+)printf(%4d,*z);if(!(i%10)printf(nH);printf(n);
16、)main()int aa20=9,3,0,4,1,2,5,6,8,107,n=ll;printf(n nBefore sorting%d numbers:n,n);putarr(n,aa);fun(n,aa);printf(nAfter sorting%d numbers:nz n);putarr(n,aa);)并个合和翡在45源函句斓:放分主语用是次当野干fur式依,:改若数方数如意勿的函的位翟请写ac数在整放正次的依。舒-0-数数上胭G1U酶&3该除数锻螺将十十团部群后扎任数鹏的bi的K数数此在40仅。入改填修中膏方不括据花数的的?un扁你1/L:白白一z/labr。1成#include
17、 void fun(int a,int bz long*c)main()int a,b;long c;void NONO();printf(lnput a b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(The result is:%ld n,c);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf*wf;int i,a,b;long c;rf=fopen(“K:k01 24010001 in.dat”“);wf=fopen(K:k01 24010001 out.datzw);for(i=0
18、;i 10;i+)fscanf(rf,”d,%cT,&a,&b);fun(a,b,&c);fprintffwt a=%d/b=%d/c=%ld n/a,b,c);)fclose(rf);fclose(wf);第4套题一、程序填空题文瞿果疆繇藕懿嚼嘉懿筛 3i号1桨i给定程序的功能是:明里 tfname 中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件房下的BLANKl.C中。不得增存或删行,也不得更改程序的结构!es变。#include#include int fun(char*source,char*target)FILE*fs,*ft;cha
19、r ch;/*QU nJ*Iif(fs=fopen(sourcez_1_)=NULL)return 0;if(ft=fo pen(target,w)=NULL)return 0;printf(nThe data in file:n);ch=fgetc(fs);*found*/while(!feof(_2_)putchar(ch);/*found*/fputc(ch,_ 3 _);ch=fgetc(fs);)fclose(fs);fclose(ft);printf(n n);return 1;)main()char sfname20=,myfilel,tfname20=myfile2;FILE*
20、myf;int i;char c;myf=fopen(sfname/,w);printf(nThe original data:n);for(i=l;i30;i+)c=,A+rand()%25;fprintf(myf/,%c,/c);printf(%c,c);fclose(myf);printf(n n);if(fun(sfname,tfname)printf(Succeed!);else printf(Fail!);)二、程序改错题次取出,给定程序M0DI 1.C中函数fun的功能是:,将施一个新数放在t 中。高位仍在例如,当S中的数为:87653142时,蠡 鬻 施 上 为 偶 数 的 数
21、 依_ _ _ t 电的数为:8642。请改正程序中的错误,使它能空出正腐的结果。注意:不要改动main函数,不博增行或删行,也不得更改程序的结构!#include void fun(long s,long*t)int d;long sl=l;*t=0;while(s 0)d=s%10;/*found*/if(d%2=0)*t=d*sl+*t;si*=10;)/*found*/s=io;)main()long s,t;printf(nPlease enter s:);scanf(%ld&s);fun(s,&t);printf(The result is:%ld n,t);)三、程序编写题函数f
22、un 的功能是:将s所指数的字符外,其余的全都删除;串中。例如,若s所指字符串中的内容为:A B C D E F G 1 23456”,其中字符A 的A S C II码值为奇数,因此应当删除一;二二二 二二二二二 二二二二二一二二奇数,因此也应当删除;而定符2的A S C I咽值为偶数,所在数组中的下标也为偶薮因此不应当删除,其它乐曲类推。最舄所指侏)数组中的内容应是:246”。注意:部分源海序存在文件PR 0 G 1.C 中。请勿改副主函薮m ai丽 其它函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。include#include void fun(char*s,char
23、 t)main()(char s100z t100;void NONO();printf(H nPlease enter string S:);scanf(%s,s);fun(s,t);printf(*nThe result is:%s n/1);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/charsIlOOJtflOO;FILE*rf,*wf;int i;rf=fopen(K:k01 24010001 in.dat;r);wf=fopen(K:k01 24010001 out.datzw);for(i=0;i 10;i+)fscan
24、f(rf,“%s”,s);fun(s,t);fprintf(wf,%s n,t);)fclose(rf);fclose(wf);第5套题一、程序填空题域入果中到。给的链请注定数表在意序已建立一个点,头结点的单向链表,链表中的各结点按结点数黑 翳 畿 翻 盘 褥 泰 蠲 靠 的 值 放 入 一 个 新 结 点 并 插下划线处填入正确的内容并把下崩演删除,使程序得出正确的结源矍序存放在考生文件隽下的B L A NKl.C 中。不容增行或删行,也不得更改程序的结构!n#include#include#define N 8typedef struct list int data;struct list
25、SLIST;void fun(SLIST*next;*hz int x)SLIST*p,*qz*s;s=(SLIST*)malloc(sizeof(SLIST);/*Q|jnJ*/s-data=_1_;q=h;p=h-next;while(p!=NULL&xp-data)/*found*Iq=一 2一;p=p-next;s-next=p;/*found*Iq-next=_3)SLIST*creatlist(int*a)SLIST*h,*p,*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);for(i=0;idata=ai;p-next=q;p=q;)p-nex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新视野 二级 语言 上机 题库
限制150内