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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷506及答案解析.doc)为本站会员(花仙子)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷506及答案解析.doc

1、国家二级 C语言机试(操作题)模拟试卷 506及答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.给定程序中,函数 fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数 atoi和 atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1C 中。 不得增行或删行,也不得更改程序的结构! #include #include void fun (char *s, in

2、t a, double f) /* found*/ 【1】fp char str100,strl100,str2100 ; int al; double fl; fp = fopen(“filel.txt“, “w“); fprintf(fp, “%s %d %f/n“, s, a, f); /*found*/ 【2】; fp = fopen(“filel.txt“, “r“); /*found*/ fscanf(【3】, “%s%s%s“, str, strl, str2); fclose (fp); al = atoi(strl); fl = atof(str2); printf(“/nT

3、he result :/n/n%s %d %f/n“, str, al, fl); main () char a10=“Hello!“; int b=12345; double c= 98.76; fun(a,b,c); (分数:2.00)_二、程序修改题(总题数:1,分数:2.00)2.给定程序 MODI1C 中函数 fhn的功能是:对 N名学生的学习成绩,按从高到低的顺序找出前 m(m10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。注意:不要改动 main函数,不得增行或删行,也不

4、得更改程序的结构! #include #include #include #define N 10 typedef struct ss char num10; int s; STU; STU *fun(STU a, int m) STU bN, *t; int i,j,k; /*found*/ t=(STU *)calloc(sizeof(STU),m) for(i=0; i bj .s) j=i; /*found*/ t(k)=b(j); bj.s=0; return t; outresult(STU a, FILE *pf) int i; for(i=0; i10) printf (“/n

5、Give the number of the students who have better score: “) ; scanf(“%d“, pOrder=fun(a,m); printf(“* THE RESULT * /n“); printf(“The top :/n“); for(i=0; i_三、程序设计题(总题数:1,分数:2.00)3.请编写函数 fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 1

6、0。 删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。 注意:部分源程序在文件 PROG1C 中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #include #define N 80 int fun(int a, int n) main () int a N =2, 2,2, 3, 4, 4, 5, 6, 6, 6, 6, 7,7,8,9,9,10,10,10,10,i,n=20; void NONO (); printf(“The original data :/n“); for(i=0; i 5 ; i+) fsc

7、anf(rf, “%d“, for(j = 0 ; j n ; j+) fscanf(rf, “%d“, n = fun (a, n); for(j = 0 ; j n ; j+) fprintf (wf, “%4d“, aj); fprintf(wf, “/n“); f close (rf); f close (wf) ; (分数:2.00)_国家二级 C语言机试(操作题)模拟试卷 506答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.给定程序中,函数 fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐

8、个读入,并调用库函数 atoi和 atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1C 中。 不得增行或删行,也不得更改程序的结构! #include #include void fun (char *s, int a, double f) /* found*/ 【1】fp char str100,strl100,str2100 ; int al; double fl; fp = fopen(“filel.txt“, “w“); fprintf(fp, “%s

9、%d %f/n“, s, a, f); /*found*/ 【2】; fp = fopen(“filel.txt“, “r“); /*found*/ fscanf(【3】, “%s%s%s“, str, strl, str2); fclose (fp); al = atoi(strl); fl = atof(str2); printf(“/nThe result :/n/n%s %d %f/n“, str, al, fl); main () char a10=“Hello!“; int b=12345; double c= 98.76; fun(a,b,c); (分数:2.00)_正确答案:(

10、正确答案:(1)FILE* (2)fclose(fp)(3)fp)解析:解析:第一空:“fp=fopen(“fileltxt“,“w“);”可知 fp是文件型指针,故第一空处 fp的定义应为“FILE*”。 第二空: 第二处的后面一句是“fp=fopen(“fileltxt“,“r“);”再次打开fileltxt,因此,在第二次打开 fileltxt 之前必须将文件关闭,故第二处是关闭文件,即“fclose(fp)”。 第三空:fscanf 的调用形式是:fscanf(fp,格式字符串,输入列表),因此,第三空处应为“fp”,从文件中读出字符串、整数、浮点数。二、程序修改题(总题数:1,分数:

11、2.00)2.给定程序 MODI1C 中函数 fhn的功能是:对 N名学生的学习成绩,按从高到低的顺序找出前 m(m10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构! #include #include #include #define N 10 typedef struct ss char num10; int s; STU; STU *fun(STU a, int m) STU bN, *t; int i,j,k;

12、/*found*/ t=(STU *)calloc(sizeof(STU),m) for(i=0; i bj .s) j=i; /*found*/ t(k)=b(j); bj.s=0; return t; outresult(STU a, FILE *pf) int i; for(i=0; i10) printf (“/nGive the number of the students who have better score: “) ; scanf(“%d“, pOrder=fun(a,m); printf(“* THE RESULT * /n“); printf(“The top :/n“

13、); for(i=0; i_正确答案:(正确答案:(1)t=(STU*)calloc(sizeof (STU),m); (2)tk=bj;)解析:解析:(1)题干中要求结构体 STU类型的 m个学生放在动态分配的连续存储区中,“t=(STU*)calloc(sizeof(STU),m)”语句没有使用分号“;”结束,因此,需要在语句结尾处加分号。calloc 函数是 C语言的动态分配函数,分配存储空间。 (2)第二个标识下是将 b数组拷贝到 t数组,在 C语言中,数组元素的访问使用中括号“”而不是圆括弧“()”,因此,第二标识下应改成“tk=bj;”。三、程序设计题(总题数:1,分数:2.00)

14、3.请编写函数 fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。 删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。 注意:部分源程序在文件 PROG1C 中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #include #define N 80 int fun(int a, int n) main () int a N =2, 2,

15、2, 3, 4, 4, 5, 6, 6, 6, 6, 7,7,8,9,9,10,10,10,10,i,n=20; void NONO (); printf(“The original data :/n“); for(i=0; i 5 ; i+) fscanf(rf, “%d“, for(j = 0 ; j n ; j+) fscanf(rf, “%d“, n = fun (a, n); for(j = 0 ; j n ; j+) fprintf (wf, “%4d“, aj); fprintf(wf, “/n“); f close (rf); f close (wf) ; (分数:2.00)_

16、正确答案:(正确答案:int i,t,j=0,*p=a; t=p0; 设置临时变量 t初值指向第 一数组值 for(i=0;i=n;i+) if(t=pi) 当临时变量与数组 中的某个值相同则跳出,比较下一个元素 ; else 如果临时变量与数组中值 不同,则对临时变量重新赋值 aj=t; t=pi; j+; if(i=n) aj=t; return j;)解析:解析:(1)首先,设置一个临时变量,初值设置为一维数组的第一个元素。 (2)然后,依次将数组的元素与临时变量比较,如果相同,则继续取数组下一个元素与临时变量比较;如果不同,则将临时变量的值赋值到数组的第一个元素,同时将此与临时变量不同的数组元素赋值给临时变量。 (3)循环执行,直到所有的数据处理完毕。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1