【计算机类职业资格】二级C语言机试-119及答案解析.doc
《【计算机类职业资格】二级C语言机试-119及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言机试-119及答案解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言机试-119 及答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)在给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中查找与形参 t 所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1,ss 所指字符串数组中共有 N 个内容不同的字符串,且串长小于 N。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构。文件 BLANK1.C 内容如下:#includestdio.h#inclu
2、destring.h#define N 5#define M 8int fun(char(*ss)M,char *t)int i:/*found*/for(i=0;i (1) ;i+)/*found*/if(stremp(ssi,t)=0)return (2) ;return -1;void main( )char chNM=“f“,“while“,“switch“,“int“,“for“,tM;int n,i;printf(“/nThe original stringin/n“);for(i=0;iN;i+)puts(chi);printf(“/n“);printf(“/nEnter a s
3、tring for search: “);gets(t);n=fun(eh,t);/*found*/if(n= (3) )printf(“/nDont found!/n“);else printf(“/nThe position is%d./n“,n);(分数:30.00)填空项 1:_填空项 1:_填空项 1:_二、改错题(总题数:1,分数:30.00)1.给定程序 MODI1.C 中函数 fun 的功能是:从 N 个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不
4、得增行或删行,也不得更改程序的结构。文件 MODI1.C 内容如下:#includestdio.h#includestring.h#define N 5#define M 81/*found*/fun(char(*sq)M)int i;char *sp;sp=sq0;for(i=0;iN;i+)if(strlen(sp)strlen(sqi)sp=sqi;/*found*/return sq;void main( )char strNM,*longest;int i;printf(“Enter%d lines: /n“,N);for(i=0;iN;i+)gets(stri);printf(“/
5、nThe N string: /n“,N);for(i=0;iN;i+)puts(siri);longest=fun(str);printf(“/nThe longest string: /n“); puts(longest);(分数:30.00)填空项 1:_三、编程题(总题数:1,分数:40.00)2.学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是 strcmp)。注意:部
6、分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。文件 PROG1.C 内容如下:#includestdio.h#includestring.h#define N 16typedef struet char num10;int s ;STREC ;STREC fun( STREC * a, char * b )void main( ) tSTREC sN = “ GA005“ ,85, “ GA003“ ,76 , “ GA002“ ,69 ,“ GA004“ ,85,“GA001“ ,91, “GA007“
7、 ,72, “GA008“ ,64, “GA006“ ,87 ,“GA015“,85, “GA013“ ,91, “GA012“ ,64, “GA014“ ,91 ,“GA011“ ,77, “GA017“ ,64, “GA018“ ,64, “ GA016“ ,72 ;STREC h ;char m10;int i ;printf( “The original data: /n“) ;for(i=0; iN; i+) if(i%4=0) printf(“/n“);printf(“%s %3d “,si.num,si.s);printf( “ /n/nEnter the number: “ )
8、 ;gets ( m ) ;h=fun( s,m );prinff( “ The data : “ ) ;prinff(“/n%s %4d/n“,h. num,h.s);(分数:40.00)_二级 C 语言机试-119 答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)在给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中查找与形参 t 所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1,ss 所指字符串数组中共有 N 个内容不同的字符串,且串长小于 N。请在程序的下画线处填入正确的内容并把下画线删除,使
9、程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构。文件 BLANK1.C 内容如下:#includestdio.h#includestring.h#define N 5#define M 8int fun(char(*ss)M,char *t)int i:/*found*/for(i=0;i (1) ;i+)/*found*/if(stremp(ssi,t)=0)return (2) ;return -1;void main( )char chNM=“f“,“while“,“switch“,“int“,“for“,tM;int n
10、,i;printf(“/nThe original stringin/n“);for(i=0;iN;i+)puts(chi);printf(“/n“);printf(“/nEnter a string for search: “);gets(t);n=fun(eh,t);/*found*/if(n= (3) )printf(“/nDont found!/n“);else printf(“/nThe position is%d./n“,n);(分数:30.00)填空项 1:_ (正确答案:N)解析:填空项 1:_ (正确答案:i)解析:填空项 1:_ (正确答案:-1)解析:解析 main 函数
11、中定义了一个二维数组并存放了 5 行字符串。通过调用函数 fun 查找形参 t 所指字符串是否在此二维字符数组中出现。函数 fun 中使用了顺序查找法,通过 for 循环,从第一字符串开始依次进行比较,因为有 N 行字符串,所以 i 循环从 0 开始,循环到 N(不包括 N),因此第 1 空处应填入N。如果 strcmp(ssi,t)=0,说明两个字符串相等,则返回该字符串在数组中位置,即它的行号,所以第 2 空处应填入 i。如果循环完毕都没有找到相等的字符串,则说明该字符串不在数组中,应该返回-1。main 函数中调用 fun 函数,返回值赋给了变量 n,若 n 的值等于-1,则说明 t 指
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 119 答案 解析 DOC
