ImageVerifierCode 换一换
格式:DOCX , 页数:58 ,大小:27.62KB ,
资源ID:24611343      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24611343.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言上机参考题库.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言上机参考题库.docx

1、C语言上机参考题库C语言上机参考题库注意:填空题填好答案要去掉下划线。改错题*found*下面的一行为错误地方,直接按答案更正即可。程序题答案只填在花括号中。(记得保存)第01套:一、填空题:程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定

2、源程序: #include #define N 5typedef struct student long sno;char name10;float score3; STU;void fun(char *filename, STU n)FILE *fp;/*found*/fp = fopen(_1_, rb+);/*found*/fseek(_2_, -(long)sizeof(STU), SEEK_END);/*found*/fwrite(&n, sizeof(STU), 1, _3_);fclose(fp);main()STU tN= 10001,MaChao, 91, 92, 77, 1

3、0002, CaoKai, 75, 60, 88,10003,LiSi, 85, 70, 78, 10004, FangFang, 90, 82, 87,10005,ZhangSan, 95, 80, 88;STU n=10006,ZhaoSi, 55, 70, 68, ssN;int i,j; FILE *fp;fp = fopen(student.dat, wb);fwrite(t, sizeof(STU), N, fp);fclose(fp);fp = fopen(student.dat, rb);fread(ss, sizeof(STU), N, fp);fclose(fp);prin

4、tf(nThe original data :nn);for (j=0; jN; j+)printf(nNo: %ld Name: %-8s Scores: ,ssj.sno, ssj.name);for (i=0; i3; i+) printf(%6.2f , ssj.scorei);printf(n);fun(student.dat, n);printf(nThe data after modifing :nn);fp = fopen(student.dat, rb);fread(ss, sizeof(STU), N, fp);fclose(fp);for (j=0; jN; j+)pri

5、ntf(nNo: %ld Name: %-8s Scores: ,ssj.sno, ssj.name);for (i=0; i3; i+) printf(%6.2f , ssj.scorei);printf(n);解题答案: /*第一空*/fp = fopen(filename, rb+);/*第二空*/fseek(fp, -(long)sizeof(STU), SEEK_END);/*第三空*/fwrite(&n, sizeof(STU), 1, fp);* 二、改错题:给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表, 并为各结点数据域赋0到m-1的值。 请改

6、正函数Creatlink中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include #include typedef struct aaint data;struct aa *next; NODE;NODE *Creatlink(int n, int m)NODE *h=NULL, *p, *s;int i;/*found*/p=(NODE)malloc(sizeof(NODE);h=p;p-next=NULL;for(i=1; idata=rand()%m; s-next=p-next;p-next=s

7、; p=p-next;/*found*/return p;outlink(NODE *h)NODE *p;p=h-next;printf(nnTHE LIST :nn HEAD );while(p)printf(-%d ,p-data);p=p-next;printf(n);main()NODE *head;head=Creatlink(8,22);outlink(head);解题答案: /*found*/p=(NODE *)malloc(sizeof(NODE);/*found*/return h;三、程序题:请编写函数fun, 函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行

8、字符串在主函数中输入, 规定所有单词由小写字母组成,单词之间由若干个空格隔开, 一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include #include #define N 80int fun(char *s)main()char lineN; int num=0;void NONO ();printf(Enter a string :n); gets(line);num=fun(line);printf(The number of word is : %dn

9、n,num);NONO();void NONO ()/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */FILE *rf, *wf ; int i, num ; char lineN, *p ;rf = fopen(in.dat,r);wf = fopen(out.dat,w);for(i = 0 ; i 10 ; i+) fgets(line, N, rf);p = strchr(line, n);if(p != NULL) *p = 0 ;num = fun(line);fprintf(wf, %dn, num);fclose(rf); fclose(w

10、f);参考答案: int fun( char *s) int k = 1 ; while(*s) if(*s = ) k+ ; s+ ; return k ; #第02套:一、填空题:给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到 文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #

11、include #include #include void WriteText(FILE *);void ReadText(FILE *);main()FILE *fp;if(fp=fopen(myfile4.txt,w)=NULL)printf( open fail!n); exit(0);WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txt,r)=NULL)printf( open fail!n); exit(0);ReadText(fp);fclose(fp);/*found*/void WriteText(FILE _1_)char str

12、81;printf(nEnter string with -1 to end :n);gets(str);while(strcmp(str,-1)!=0) /*found*/fputs(_2_,fw); fputs(n,fw);gets(str);void ReadText(FILE *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);解题答案: /*第一空*/void WriteTe

13、xt(FILE *fw)/*第二空*/fputs(str,fw); fputs(n,fw);/*第三空*/printf(%s,str);* 二、改错题:给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位 上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:7654321时,t中的数为:7531。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include /*found*/void fun (long s, long t)long sl=10;*t =

14、 s % 10;while (s 0)s = s/100;*t = s%10 * sl + *t;/*found*/sl = sl*100;main()long s, t;printf(nPlease enter s:); scanf(%ld, &s);fun(s, &t);printf(The result is: %ldn, t);解题答案: /*found*/void fun (long s, long *t)/*found*/sl=sl*10;* 三、程序题:函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。 合并的方式是:将a数的十位和个位数依次放在c数的个位和

15、百位上, b数的十位 和个位数依次放在c数的千位和十位上。 例如,当a45,b=12时,调用该函数后,c=1524。 注意: 部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include void fun(int a, int b, long *c)main()int a,b; long c;void NONO ();printf(Input a, b:);scanf(%d,%d, &a, &b);fun(a, b, &c);printf(The resu

16、lt is: %ldn, c);NONO();void NONO ()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */FILE *rf, *wf ;int i, a,b ; long c ;rf = fopen(in.dat, r);wf = fopen(out.dat,w);for(i = 0 ; i 10 ; i+) fscanf(rf, %d,%d, &a, &b);fun(a, b, &c);fprintf(wf, a=%d,b=%d,c=%ldn, a, b, c);fclose(rf);fclose(wf);解题答案: *c=(b/10)*1000+(a%1

17、0)*100+(b%10)*10+(a/10);#第03套:一、填空题:给定程序中,函数fun的功能是:将自然数110以及它们的平方根写到名为 myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include int fun(char *fname)FILE *fp; int i,n; float x;if(fp=fopen(fname, w)=NULL) return 0;for

18、(i=1;i=10;i+)/*found*/fprintf(_1_,%d%fn,i,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 %fn,n,x); fscanf(fp,%d%f, &n,&x);fclose(fp);return 1;main()char fname=myfile3.txt;fun(fname)

19、;解题答案: /*第一空*/fprintf(fp,%d %fn,i,sqrt(double)i);printf(nSucceed!!n);/*第二空*/fclose(fp);/*第三空*/if(fp=fopen(fname,r)=NULL)* 改错题:给定程序MODI1.C中fun函数的功能是:将n个无序整数从小到大排序。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include fun (int n, int *a)int i, j, p, t;for (j = 0; jn-1 ; j+)

20、p = j;/*found*/for (i=j+1; iai)/*found*/t=i;if (p!=j)t = aj; aj = ap; ap = t;putarr(int n, int *z)int i;for (i = 1; i = n; i+, z+)printf(%4d, *z);if (!(i%10) printf(n); printf(n);main()int aa20=9,3,0,4,1,2,5,6,8,10,7, n=11;printf(nnBefore sorting %d numbers:n, n); putarr(n, aa);fun(n, aa);printf(nAf

21、ter sorting %d numbers:n, n); putarr(n, aa);解题答案: #include #include fun (int n, int *a)int i, j, p, t;for (j = 0; jn-1 ; j+)p = j;/*found*/for(i=j+1;in;i+)/*found*/p=i;* 三、程序题:函数fun的功能是: 将两个两位数的正整数a、b合并形成一个整数放在c中。 合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上, b数的十位 和个位数依次放在c数的十位和千位上。 例如, 当a=45, b=12时, 调用该函数后, c=

22、2514。 注意: 部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include void fun(int a, int b, long *c)main()int a,b; long c;void NONO ();printf(Input a, b:);scanf(%d,%d, &a, &b);fun(a, b, &c);printf(The result is: %ldn, c);NONO();void NONO ()/* 本函数用于打开文件,输入数据,

23、调用函数,输出数据,关闭文件。 */FILE *rf, *wf ;int i, a,b ; long c ;rf = fopen(in.dat, r);wf = fopen(out.dat,w);for(i = 0 ; i 10 ; i+) fscanf(rf, %d,%d, &a, &b);fun(a, b, &c);fprintf(wf, a=%d,b=%d,c=%ldn, a, b, c);fclose(rf);fclose(wf);解题答案: *c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;#第04套:一、填空题:程序通过定义学生结构体变量,存储了学生

24、的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的 学生数据输出到filename所指的文件中,覆盖原来的文件内容。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define N 5typedef struct student long sno;char name10;float score3; STU;void fun(char *filename)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1