【计算机类职业资格】全国计算机二级C语言上机试题43+2015年及答案解析.doc

上传人:inwarn120 文档编号:1329367 上传时间:2019-10-17 格式:DOC 页数:2 大小:31KB
下载 相关 举报
【计算机类职业资格】全国计算机二级C语言上机试题43+2015年及答案解析.doc_第1页
第1页 / 共2页
【计算机类职业资格】全国计算机二级C语言上机试题43+2015年及答案解析.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、全国计算机二级 C 语言上机试题 43+2015 年及答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中查找与形参 t 所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。ss 所指字符串数组中共有 N 个内容不同的字符串,且串长小于 M。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 5 #defin

2、e M 8 int fun(char (*ss)M,char *t) int i; /*found*/ for(i=0; i _1_ ; i+) /*found*/ if(strcmp(ssi,t)=0 ) return _2_ ; return -1; main() char chNM=“if“,“while“,“switch“,“int“,“for“,tM; int n,i; printf(“/nThe original string/n/n“); for(i=0;i printf(“/nEnter a string for search: “); gets(t); n=fun(ch,t)

3、; /*found*/ if(n= _3_) printf(“/nDont found!/n“); else printf(“/nThe position is %d ./n“,n); (分数:10.00)_2.给定程序 MODI1.C 中函数 fun 的功能是:从整数 1 到 55 之间,选出能被 3 整除、且有一位上的数是 5的那些数,并把这些数放在 b 所指的数组中,这些数的个数作为函数值返回。规定,函数中 a1 放个位数,a2 放十位数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include f

4、un( int *b ) int k,a1,a2,i=0; for(k=10; k=55; k+) /*found*/ a2=k/1O; a1=k-a2*10; if(k%3=0 i+; /*found*/ return k; main( ) int a100,k,m; m=fun( a ); printf(“The result is :/n“); for(k=0; k (分数:10.00)_3.假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当

5、是:*A*BC*DEF*G。在编写函数时,不得使用 C 语言提供的字符串函数。 注意: 部分源程序在文件 PROG1.C 文件中。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include void fun( char *a ) main() char s81; printf(“Enter a string:/n“);gets(s); fun( s ); printf(“The string after deleted:/n“);puts(s); NONO(); (分数:10.00)_全国计算机二级 C 语言上机试题 4

6、3+2015 年答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中查找与形参 t 所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。ss 所指字符串数组中共有 N 个内容不同的字符串,且串长小于 M。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 5 #define M 8 int fun(char

7、(*ss)M,char *t) int i; /*found*/ for(i=0; i _1_ ; i+) /*found*/ if(strcmp(ssi,t)=0 ) return _2_ ; return -1; main() char chNM=“if“,“while“,“switch“,“int“,“for“,tM; int n,i; printf(“/nThe original string/n/n“); for(i=0;i printf(“/nEnter a string for search: “); gets(t); n=fun(ch,t); /*found*/ if(n= _

8、3_) printf(“/nDont found!/n“); else printf(“/nThe position is %d ./n“,n); (分数:10.00)_正确答案:(第一处:利用 for 循环,从几个字符串中进行查找,程序中已经给定了 N 个字符串,所以应填:N。 第二处:在字符串已经找到,则返回字符串数组中的位置(下标值),所以应填:i。 第三处:如果没有发现,则显示没有找到信息,所以应填:-1。)解析:2.给定程序 MODI1.C 中函数 fun 的功能是:从整数 1 到 55 之间,选出能被 3 整除、且有一位上的数是 5的那些数,并把这些数放在 b 所指的数组中,这些数

9、的个数作为函数值返回。规定,函数中 a1 放个位数,a2 放十位数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include fun( int *b ) int k,a1,a2,i=0; for(k=10; k=55; k+) /*found*/ a2=k/1O; a1=k-a2*10; if(k%3=0 i+; /*found*/ return k; main( ) int a100,k,m; m=fun( a ); printf(“The result is :/n“); for(k=0; k (分数

10、:10.00)_正确答案:(第一处: 取当前变量 k 的十位数字上的数,所以应改为:a2=k/10;。 第二处: 要求统计个数并存入变量 i 中,最后返回 i,所以应改为:return i;。)解析:3.假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:*A*BC*DEF*G。在编写函数时,不得使用 C 语言提供的字符串函数。 注意: 部分源程序在文件 PROG1.C 文件中。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include void fun( char *a ) main() char s81; printf(“Enter a string:/n“);gets(s); fun( s ); printf(“The string after deleted:/n“);puts(s); NONO(); (分数:10.00)_正确答案:(void fun( char *a ) char *p = a ; while(*p) p+ ; p- ; while(*p = *) p- ; p+ ; *p = 0 ; )解析:

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

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

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