欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    二级C语言机试题目.docx

    • 资源ID:87073548       资源大小:347.95KB        全文页数:152页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    二级C语言机试题目.docx

    一、程序填空题1.给定程序的功能是调用ftin函数建立班级通讯录。通讯录 中记录每位学生的编号、姓名和电话号码。班级的人数和学生 的信息从键盘读入,每个人的信息作为个数据块写到名为 myfile5.dal的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。 不得增行或删行,也不得更改程序的结构!/include <s(dio.h>include <sldlib.h>#define N 5typedef struct int num;char namc10;char telIO;STYPE;void check。:int fun(I*std)/*foij nd* */2 *fp; int i;if( fp=fopen( "myfi le5 .dat ","wb" )=NU LL) retum(O);printf("nOutput data to file An");for(i=0; i<N; i+)/* * *found* */ fwrite(&stdi, sizeof(STYPE), 1,3);fclose(fp);return (1);main()STYPEs10= l,"aaaaa,.,'llllll,'h1 Jbbbbb”,“222222"41 Jccccc","333333", (I .,ddddd,."444444", L"eeeee","555555"int k;k=fun(s);if(k=l) printf( "Succeed!"): check。; elseprintfCFail!");)void check() FILE *fp; int i;STYPE s101;if(fp=fopeiX"myfile5.daC',"rb")=NULL) printf(NFailexit(O);printf("nRead file and output to screen :nH); printf("n num nameieln");for(i=0; i<N; i+) fread(&si.sizeof(STYPE).l, fp);printf(M%6d %s %sn",si.num, si.name.si.tel); ) fclose(fp);2.给定程序的功能是:从健盘输入若干行文本(每行不超过 80个字符),写到文件myfilM.lxi中,用“作为字符串输入结 束的标志。然后将文件的内容读出显示在屏常上。文件的读写 分别由自定义函数ReadText和WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>#include<std!ib.h>void WriteText(FILE );void ReadText(FILE );main() FILE *fp;if(fp=fopen( "myfile4.txt",Mw")>=NULX) printf(" open fail!n'');exit(O); Writelext(fp);(close(fp):if(fp=fopen(',myfile4.txl,r")=NULL) printfC open fail!nH);exit(O); ReadText(fp);fclose(fp):/*found* */void Writelext(FILE 1) char str81:printf(AnEnter string with -1 to end :nM);gets(str);while(slrcmp(sir,。1") !=0) fputs(_2_,fw); fpulsCVfw);gets(str);)void ReadText(FILE *fr) (char str81;printf("nRead file and output to screen :n");fgets(str,81,fr);while( !feof(fr) /*found* */_3_);fgets( sir,81.fr);3 .给定程序中,函数fun的功能是:将白然数110以及它 们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读 出显示在屏幕匕请在程序的下划线处填入正确的内容并把下划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include <math.h>#include <stdio.h> int fun(char *fname) FILE *fp; int i,n; float x;if(fp=fopen(fname, "w")=NULL) return 0;for(i=l ;i<=10;i+)fpri ntf(I,"%d %fn",i,sqrt(double)i);printf('AnSucceed! nM);/*found* */printf("nThe data in file :nM);if(fp=fopen(_3_,"r',)=NULL)return 0;fscanf(fp,M%d%r.&n,&x);while(!feof(fp) printf("%d %fnM,n,x);fscanf(fp,%d%f',&n,&x); fclose(fp);return 1;main() char fname="myfile3.lxt”;fun(fname);4 .给定程序的功能是:调用函数fun将指定源文件中的内容 复制到指定的目标文件中,复制成功时函数返回值为1,失败 时返回值为0。在复制的过程中,把复制的内容输出到终端屏 幕。主函数中源文件中名放在变量sfname中,目标文件名放 在变量tfname中。请在程序的下划线处填入正确的内容并把下划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<stdlib.h>int fun(char *source. char *target) FILEchar ch;/*found* */if(fs=fopen(source,I)=NULL)return 0:if(ft=fopen(target, "w")=NULL)return 0;printf("nThe data in file :nM);ch=fgetc(fs);/*fou nd* */while(!feof(2) putchar( ch );/* * * *found* */fputc(ch,3);ch=fgelc(fs);fclose(fs); fclose(ft);printfCAnXiT);return 1;main()( char sfnamet201 ="myfilei ".(fname20="myfile2"FILE *myf; int i; char c;myf=fopen(sfname."wM);printf("nThe original data :n");for(i=l; i<30; i+) ('A,+rancR)%25;fprin(f(myf,M%c",c); printf("%c".c);fclose(myf) :prinlf( "nn");if (fun(sfname. tfname) printf( "Succeed !M); else printf('Faii!n);5 .给定程序中已建立一个带有头结点的单向链表,铢表中的 各结点按结点数据域中的数据递增有序链接。函数fun的功能 是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。请在程序的下划线处填入正确的内容并把卜划线删除,使)程序得出正确的结果。main()注意:源程序存放在考生文件夹下的BLANKLC中。 SLIST *head;int x;不得增行或删行,也不得更改程序的结构!int aN= 11,12,15,18,19,22,25,29;/include <stdio.h>head=creatlist(a);#include <sldlib.h>printf("nThe list before insert!ng:n"); outltst(head);#deGne N 8printf("nEnter a number: "); scanf("%d".&x);typedef struct listfun(head.x);( in( data;printf("nThe list after insertingAn"); outlist(head);struct list *next;) SUST;void fun( SLIST *h, ini x)6.给定程序中已建立一个带有头结点的单向链表,在main函 SLIST *p. *q. *s;数中将多次调用fun函数,每调用一次fun函数,输出锌表尾s=( SLIST )malloc(sizeof(SLIST):部结点中的数据,并糅放该结点,使链表缩短。/*fou nd* */请在程序的下划线处填入正确的内容把下划线删除,使程s->da(a=1;序得出正确的结果。q=h:注意:源程序存放在考生文件夹下的BLANK1.C中。p=h->next;不得增行或删行,也不得更改程序的结构!while(p!=NULL && x>p->data) #i nclude <stdio.h>/*fou nd* */#include <stdlib.h>q=2;#define N 8p=p->next:typedef struct list( int data;s->next=p;struct list *nexl;/* * *found* */ SUST;q->next=3;)void fun( SLIST *p)SLIST *cieatlist(int *a)( SLIST *t, *s; SLIST *h,*p,*q;int i;t=p->next; s=p;h=p=( SLIST )malloc(sizeof(SLIST);while(t->next != NULL)for(i=0; i<N; i+) s=t; q=( SLIST *)malloc(sizeof(SLIST);/*found*/q->data=ai; p->next=q; p=q;l=t->_1_;p->nex(=O:/*found*/return h;printf(" %d ",_2_);s->next=NULL:voidoullist(SLIST *h)/*found* */ SLIST *p;free(_3一);p=h->nexl;if(p=NULL) printfCAnThe list is NULLM");SLIST *creatlist(int *a)else SLIST *h,*p*q;int i; printfCAnHead");h=p=(SLIST *)malloc(sizeof(SLIST);do printf(',->%d",p->data);p=p->next;for(i=0; i<N; i+)while(p!=NULL); q=(SLIST *)malloc(sizeof(SLIST);primf("令Endn");q->data=a(i; p->next=q; p=q;p->next=O;return h;void outlist(SLIST *h) SLIST *p;p=h->nexl;if(p=NULL) printf("nThe list is NULL!n");else primfCMHead");do printf("->%d,p-xlata); p=p->next;while(p!=NULL);prinlf("->Endn");main() SLIST *head:int a(N=< 11,12,15,18,19,22,25,29;head=creatlist(a);printf("nOutput from head:nM); outlist(head);printfCAnOutput from tail: n");while (head->next != NULL)fun(head);printf("nn,');printf("nOutput from head again :nM); outlist(head);7.给定程序中已建立一个带有头结点的单向链表,链表中的 各结点按数据域递增有序链接。函数fun的功能是:删除链表 中数据域值相同的结点,使之只保留个.请在程序的卜划线处填入正确的内容并把卜.划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。 不得增行或删行,也不得更改程序的结构!/include <sldio.h>/include <stdlib.h>#define N 8typedef struct list( int data;struct list *nexl; SLIST:void fun( SLIST *h) SLIST *p. *q;p=h->next;if(p!=NULL) q=p->next:while(q!=NULL) if (p->data=q-xlata) p->next=q->next;/*found*/ free(1一);q=p->_2_;else p=q:/*fou nd* */q=q->_3一;SLIST *creatlist(int *a)( SLIST *h,*p,*q; int i;h=p=(SLIST *)malloc(sizeof(SLlST);forfi=0; i<N; i+) q=(SLIST *)malloc(sizeof(SLIST);p->next=O;return h;void outlist(SLIST *h)(SLIST *p;p=h->next;if(p=NULL) printf("nThe list is NULL!n");else printf(MnHead");do prin(f( M->%d",p->data); p=p->next; ) while(p!=NULL);printfC'EndXn");main()( SLIST *head; int aN= 1,2,2,3,4,4,45); head=creatlist(a);printf("nThe list before deleting :n"); outlist(hcad):fun(head);printf("nThe list after deleting outlist(head);8.给定程序中,函数fun的功能是:在带有头结点的单向链 表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函 数返回。值。return h;请在程序的卜.划线处填入正确的内容并把下划线删除,使void outlis(SLIST *h)程序得出正确的结果。( SLIST *p;注意:源程序存放在考生文件夹下的BLANKI.C中。p=h->next;不得增行或删行,也不得更改程序的结构!if(p=NULL) printf("nThe list is NULL!nM);/include <sldio.h>else/include <stdiib.h> printf("nHead"):#define N 8dotypedef struct list printfC'->%c",p->data); p=p->next; ( ini data;while(p!=NULL);struct list *next;prin(f(',->EndnM); SUST;SLIST *creatlist(char *);voidoutBst(SLIST );int fun( SLIST *h. char ch)9.给定程序中,函数fun的功能是:统计出带有头结点的单 SLIST *p;int n=0;向链表中结点的个数,存放在形参n所指的存储单元中。p=h->next;请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。while(p!=1_)注意:源程序存放在考生文件夹下的BLANKI.C中。n+;不得增行或删行,也不得更改程序的结构!#include <stdio.h>if (p-xiata=ch) return2:#include <stdlib.h>else p=p->next;#define N 8Itypedef struct listreturn 0; int data;struct list *next;main()| SUST:( SLIST *head;int k;char ch;SLIST *creatiist(int *a);char aN='m;'p,;g,;aVw,'x,;rVd,);voidoutlisKSLIST );head=creatlist(a);void fun( SLIST *h, int *n)outlist(head);( SLIST *p;prinlf("Enter a letter:");/*found*/scanf("%c",&ch);一1_=o;/*found* */p=h->next;k=fun(3一);while(p)if(k=0) printfCAnNot found!nH); (*n)+;elseprintf("The sequence number is : %dnHJc);/*Qun(j* */)P=p->_2一;SLIST *creatlis(char *a) SLIST *h,*p.*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);main()for(i=0; i<N; i+) SLIST *head: q=(SLIST *)malloc(sizeof(SLIST);int aN=<12.87,4532.91,16,20,48, num;q->data=ai; p->next=q: p=q;head=creatlist(a); outlist(head):/*Cund* */p->next=0;fun(3, &num);printf( "nnumber=%dn",num);)SLIST *creatlist(int a) SLIST *h,*p,*q; int i;h=p=( SLIST )malloc(sizeof(SLIST);for(i=0; i<N; i+) q=( SLIST *)malloc(sizeof(SLIST); q->data=ai; p->next=q; p=q; p->next=O: return h;) voidoutUst(SLIST *h) SLIST *p;p=h->next;if(p=NULL) printf("The list is NULL!nn); else printfCAnHeadw); do printf("->%<Tp>dala); p=p->next; while(p!=NULL);prinlf("->End'n");10.给定程序中,函数fun的功能是:计算出带有头结点的单 向链表中各结点数据域中值之和作为函数值返回。请在程序的下划线处填入正确的内容并把卜划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <sldlib.h>#deGne N 8 typedef struct list ( in( data;struct list *next; SUST;SLIST creatlisKini *);voidoullist(SLIST *); int fun( SLIST *h) SLIST *p;int s=0;p=h->next: while(p) /*fou nd* */ s+= p->_1_;/*found* */P=P->2;return s;main() SLIST head;int aN= 12.87,4532,91,16,20,48);head=creatlist(a); outlist(head):printf("nsum=%dn, fun(_3_);SLIST *creatlis(int a)( SLIST *h.*p,*q; int i;h=p=(SLIST *)malloc(sizeof(SL!ST);for(i=0; i<N; i+) q=(SLIST *)malioc(sizeof(SUST);q->data=a|il; p->next=q; p=q;void outlist(SLIST *h)( SLIST *p;p=h->next;if(p=NULL) printfTThe list is NULL!n°);else printf(MnHead "); do printf("->%d", p->data); p=p->next;) while(p!=NULL);prinlf("->Endn");11.人员的记录由编号和出生年、月、日组成,N名人员的数 据已在主函数中存入结构体数组std中,且编号唯一.函数fun 的功能是:找出指定编号人员的数据,作为函数值返回,由主 函数输出,若指定编号不存在,返回数据中的编号为空串。请在程序的下划线处填入正确的内容并把下划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <string.h>#define N 8typedef struct(char num10;int year,month.day; STU;1fun(STU *std, char *num)( int i; STU a= "",9999,99,99);for(i=0; i<N; i+)/*fou nd* */ if( s(rcmp(2,num)=O )/*found* */ return (_3_); return a;main()(STUstdN= "11111f J984,2.15,("2222220,1983,9,21),("333333M ,19849,1),'444444". 1983,7,15, "555555 ”, 1984,9,28,"666666",1 983,11, 15h("777777", 1983,6,22, “888888”, 1984,8,19;STU p;char nIO="666666M;p=fun(std,n);if(p.numO=O) printfCAnNot found else printfCAnSucceed !nprintf("%s%d-%d-%dnM,p.num,p. year, p.month,p.day);12.人员的记录由编号和出生年、月、日组成,N名人员的数 据已在主函数中存入结构体数组std中。函数fun的功能是: 找出指定出生年份的人员,将其数据放在形参k所指的数组 中,由主函数输出,同时由函数值返回满足指定条件的人数。请在程序的下划线处填入正确的内容并把下划线删除.便 程序得出正确的结果.注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include <stdio.h>#define N 8typedef struct int num;int year.month.day;STU:int fun(STU *std, STU *k, int year)( int i,n=O;for (i=0; i<N; i+)if( _I一=year)kn+=_2_;return (3);main()(STUstdN- 1,1984.2,15,(2.1983,9.21.3,1984.9,1 |,4,I983,7J5|5,1985.9,28|.6.1982.11.15 ,7J982,622 M8.I984.8J9H; STU kN;int i,n.year;printf("Enter a year: "); scanf("%d",&year);n=fun(std.k.year);if(n=O) printf("nNo person was bom in %d n'year):else printf("nThese persons were bom in %d n'year); for(i=0; i<n; i+)printf(w%d %d-%d-%dn",kij.num,k(i.year,ki.month,kli|.day)13 .给定程序通过定义并赋初值的方式,利用结构体变量存储 了 名学生的学号、姓名和3门课的成绩。函数ftin的功能是 将该学生的各科成绩都乘以个系数a。请在程序的下划线处填入正确的内容并把卜划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!/include <sldio.h>typedef struct int num;char name9;float score3;STU;void show( STU tt) int i;printf("%d %s : ",tt.num,tt.name);for(i=0; i<3; i+)pri ntf( "%5.1,ll.score i ); printf("n");/*found* */void modify!1 *ss.float a)( int i;for(i=0; i<3; i+)ss-> 2*=a;)main()( STU std= l."Zhanghua",76.5,78.0,82.0 );float a;printf(AnThe original number and name and scores :n'*);show(std);printf("nInput a number :"); scanf(M%f,&a);/*found* */modify(3,a);printf(AnAresult of modifying :nH);show(std);14 .给定程序中,函数fun的功能是:将形参指针所指结构体 数组中的:个元素按num成员进行升序排列。请在程序的下划线处填入正确的内容并把卜划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。 不得增行或删行,也不得更改程序的结构!#include <stdio.h>typedef struct int num;char name 10; PERSON;/*fou nd* */void fun(PERSON 1_)(/*foun(j* */2 temp;if(std0.num>std 1 ).num) temp=std0; stdO=stdl); std 1 =temp; if(std0.num>std2.num) temp=std0; std0=s(d2: std2=(emp; if(std(l .num>std2.num) temp=std I ; std I =std2; std2=temp; main()(PERSON std( = 5JZhanghu"2"WhngLi".6."LinMin" );int i;/*found*/fun(3);printf(,fnThe result is :n");for(i=0; i<3; i+)printf("%d.%sn".stdi.num,std(i.name);15.给定程序中,函数fun的功能是:将形参sid所指结构体 数组中年龄最大者的数据作为函数值返回,并在main函数中 输出。请在程序的下划线处填入正确的内容并把下划线删除,使 程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include <stdio.h>typedef struct char name10;int age;STD;STD fun(STD std, int n)( STD max; int i;/*fou nd* */max=1;for(i=l; i<n; i+)/*found* */if(max.age<_2) max=stdi;return max;main()(STDstd5=Naaa",l 7,°bbbK,l 6,"cccM.l 8,"ddd",l 7;,eee0,15 ;STD max;max=fun(std,5);printf("nThe result: n");/*fou nd* */printf("nName : %s, Age : %dnM,3,max.age);名学生的信息。函数ftin的功能是输出这位学生的信息。请在程序的下划线处填入正确的内容并把下划线删除,使 程序得出正确结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include <stdio.h> typedef struct int num; char name9; char sex; struct int year.month.day ;) birthday; float score3;STU;/*found* */ void show(STU 1)( int i;printf("n%d %s %c %d-%d-%d", 11.num, (1.name, tt.sex.tt. birthday, year,tt.birthday.month.tt.birthday.day); for(i=0; i<3; i+)/*fou nd* */ printfCS.lf2_);printf("n");main() STU std= l/hanghuaVM,1961,10,8,76.5,78.0,82.0 ; printf(AnA student data:n");/*

    注意事项

    本文(二级C语言机试题目.docx)为本站会员(无***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开