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

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

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

2、t *t)3 int i,n;4 n=0;5 *found*6 for(i=0; _1_ !=0;i+)7 *found*8 if(si=0 9 while(*p!=0) 10 *found*11 n=n*8+*p-0;12 p+;13 14 return n;15 16 main()17 char s6;int i;int n ;18 printf(Enter a string (ocatal digits):);gets(s);19 if(strlen(s)5)printf(Error:stririg too longer!nn); exit(0);20 for(2=0;si;i+)21

3、ifsi0 si722 printf(Error: c not is ocatal digits!nn,si);exit(0);23 printf(The original string:);puts(s);24 n=fun(s);25 printf(nS is convered to integer number:dnn,s,n);26 (分数:2.00)_三、程序设计题(总题数:1,分数:2.00)3.函数 fun的功能是:将 a、b 中的两个两位正整数合并形成一个新的整数放在 c中。合并的方式是:将a中的十位和个位数依次放在变量 c的千位和十位上,b 中的十位和个位数依次放在变量 c的个

4、位和百位上。 例如,当 a=45,b=12。调用该函数后,c=4251。 注意:部分源程序存在文件 PROG1C 中。数据文件 INDAT 中的数据不得修改。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。1 #includestdioh2 void fun(int a,int b,long *c)3 4 5 void NONO()6 *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 *7 FILE *rf,*wf;8 int i,a,b;long c ;9 rf=fopen(indat,r);10 wf=fopen(outdat

5、w);11 for(i=0;i10;i+)12 fscanf(rf,d,d,a,21 printf(Input a,b:);22 scanf(dd,a,b);23 fun(a,b,c);24 printf(The result is:1dn,c);25 NONO();(分数:2.00)_国家二级 C语言机试(操作题)模拟试卷 333答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.给定程序中,函数 fun的功能是:统计形参 s所指字符串中数字字符出现的次数,并存放在形参 t所指的变量中,最后在主函数中输出。例如,形参 s所指的字符串为:abcde

6、f35adgh3kjsdf7。输出结果为:4。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1C 中。 不得增行或删行,也不得更改程序的结构!1 #includestdioh2 void fun(char *s,int *t)3 int i,n;4 n=0;5 *found*6 for(i=0; _1_ !=0;i+)7 *found*8 if(si=0 9 while(*p!=0) 10 *found*11 n=n*8+*p-0;12 p+;13 14 return n;15 16 main()17 char s6;in

7、t i;int n ;18 printf(Enter a string (ocatal digits):);gets(s);19 if(strlen(s)5)printf(Error:stririg too longer!nn); exit(0);20 for(2=0;si;i+)21 ifsi0 si722 printf(Error: c not is ocatal digits!nn,si);exit(0);23 printf(The original string:);puts(s);24 n=fun(s);25 printf(nS is convered to integer numb

8、er:dnn,s,n);26 (分数:2.00)_正确答案:(正确答案:(1)n=*p-0; (2)n=n*8+*p-0;)解析:解析:函数功能是实现八进制到十进制的转换。 (1)第一个标识下面:语句“n=*p-o;”中的o不是数字零,而是字母o,根据前面的分析因此改为:“n=*p-0;”。 (2)第二个标识下面:语句“n=n*8+*p-o”,首先进行同(1)相同的修改,变量 P没有定义,根据题意要求这里应该是“*p-0”,所以此句改为:“n=n*8+*p-0;”。三、程序设计题(总题数:1,分数:2.00)3.函数 fun的功能是:将 a、b 中的两个两位正整数合并形成一个新的整数放在 c中

9、合并的方式是:将a中的十位和个位数依次放在变量 c的千位和十位上,b 中的十位和个位数依次放在变量 c的个位和百位上。 例如,当 a=45,b=12。调用该函数后,c=4251。 注意:部分源程序存在文件 PROG1C 中。数据文件 INDAT 中的数据不得修改。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。1 #includestdioh2 void fun(int a,int b,long *c)3 4 5 void NONO()6 *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 *7 FILE *rf,*wf;8 in

10、t i,a,b;long c ;9 rf=fopen(indat,r);10 wf=fopen(outdat,w);11 for(i=0;i10;i+)12 fscanf(rf,d,d,a,21 printf(Input a,b:);22 scanf(dd,a,b);23 fun(a,b,c);24 printf(The result is:1dn,c);25 NONO();(分数:2.00)_正确答案:(正确答案:*c=(a10) *1000+(b10)*100+(a10)*10+(b10);)解析:解析:(1)分解两位数的正整数 n的个位和十位数,可用 n10 和 n10 实现。(2)设x0、x1、x2、x3 为一位数,则 x0、x110、x2100、x31000,可以分别使 x0、x1、x2、x3 构成个、十、百、千带权数,而 x0+x110+x2100+x31000构成四位数。本题最多只考虑四位数。

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

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

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