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

上传人:boatfragile160 文档编号:1332326 上传时间:2019-10-17 格式:DOC 页数:3 大小:32KB
下载 相关 举报
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷516及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷516及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷516及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 516及答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.给定程序中,函数 fun的功能是:统计形参 s所指字符串中数字字符出现的次数,并存放在形参 t所指的变量中,最后在主函数中输出。例如,形参 s所指的字符串为:abcdef35adgh3kjsdf7。输出结果为:4。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1C 中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s, int *t) i

2、nt i, n; n=0; /* found*/ for(i=0; 【1】 !=0; i+) /* found*/ if (si=0 /* found*/ t = x ; x = y ; /* found* */ return(y); main () int a = 3, b = 8 ; printf(“%d %d/n“, a, b); b = fun( printf(“d dn“,a,b); (分数:2.00)_正确答案:(正确答案:(1)t=*x;*x=y; (2)return(t);)解析:解析:(1)根据 fun中 x变量的定义,x 为指针型变量,所以第一个错误标识下的“t=x;x=y

3、;”改为“t=*x;*x=y;”。 (2)交换之后 t中存放原来 x的值,x 存放原来 y的值,这里应该是返回原来 x的值,所以第二个标识下的“return(y);”应该改为“return(t);”或者“return t;”。三、程序设计题(总题数:1,分数:2.00)3.请编写函数 fun,它的功能是:求出 1到 1000之间能被 7或 11整除、但不能同时被 7和 11整除的所有整数并将它们放在 a所指的数组中,通过 n返回这些数的个数。 注意:部分源程序在文件 PROG1C 中。请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。#includ

4、e stdio.hvoid fun (int *a, int *n)main() int aa1000, n, k ;void NONO ();fun (aa, for (k = 0 ; k n ; k+) if(k + 1) % 10 = 0) printf (“/n“); else printf(“%5d“, aak);NONO (); void NONO ()* 本函数用于打开文件,输入测试数据,调用 fun函数,输出数据,关闭文件。*/int aa1000, n, k ;FILE *fp ;fp = fopen (“out. dat“,“w“);fun (aa, for (k = 0

5、; k n ; k+) if(k + 1) % 10 = 0) fprintf(fp, “/n“);else fprintf(fp, “%5d“, aak);fclose(fp); (分数:2.00)_正确答案:(正确答案:int i; *n=0; for(i=7; i解析:解析:进入 fun函数,判断是否被 7整除判断是否被 11整除并且不被 77整除按要求返回计算结果。 首先,*n 置 0,设置为累计器,计算符合条件的数的个数。然后,通过循环,判断小于 1000的每一个整数是否符合题干中的要求。其中的判断条件能否被 7或者被 11整除为:i7=0i11=0,不能被 11和 7同时整除为:i77!=0,它们之间的并关系就用连接, 最后结果即为:(i7=0i11=0)&i77!=0。最后,将符合条件的整数存入数组 a中,同时对*n 进行自加,返回结果。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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