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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】二级C语言-300及答案解析.doc

1、二级 C 语言-300 及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中查找与形参 t 所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。ss 所指字符串数组中共有 N 个内容不同的字符串,且串长小于 M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 不得增行或删行,也不得更改程序的结构! 给定源程序: #includestdio.h #includestring.h #define N 5 #define M

2、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;iN;i+)puts(chi);printf(“/n“); printf(“/nEnter a string for search:“);gets(t); n

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

4、程序的结构。 给定源程序: #includestdio.h int fun(int *b) int k,a1,a2,i=0; for(k=10;k=55;k+) /*found*/ a2=k/10; a1=k-a2*10; if(k%3=0i+;) /*found*/ return k; main() int a100,k,m; m=fun(a); printf(“The result is:/n“); for(k=0;km;k+)printf(“%4d“,ak); printf(“/n“); (分数:30.00)三、程序设计题(总题数:1,分数:40.00)3.假定输入的字符串中只包含字母和

5、*号。请编写函数 fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:*A*BC*DEF*G。在编写函数时,不得使用 C 语言提供的字符串函数。 请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #includestdio.h void fun(char *a) main() char s81; printf(“Enter a slring:/n“);gets(s); fun(s); printf(“The string aft

6、er deleted:/n“);puts(s); (分数:40.00)_二级 C 语言-300 答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中查找与形参 t 所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。ss 所指字符串数组中共有 N 个内容不同的字符串,且串长小于 M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 不得增行或删行,也不得更改程序的结构! 给定源程序: #includestdio.h #inc

7、ludestring.h #define N 5 #define 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;iN;i+)puts(chi);printf(“/n“); printf(“/nEnte

8、r a string for search:“);gets(t); n=fun(ch,t); /*found*/ if(n= 3) printf(“/nDon“t found!/n“); else printtf(“/nThe position is %d./n“,n); (分数:30.00)解析:(1)N (2)i (3)-1 解析 填空 1:变量 i 是循环变量,它的取值范围是在 0 到 N 之间。 填空 2:如果 ss 所指字符串数组中的字符串和 t 所指字符串相同的话,则返回其下标值,即 return i;否则返回-1,即 return-1;。 填空 3:在 main 函数中输出最后结

9、果,判断函数返回值 n,如果 n=-1,说明没有找到,否则输出 n。二、程序改错题(总题数:1,分数:30.00)2.给定程序中函数 fun 的功能是:从整数 10 到 55 之间,选出能被 3 整除、且有一位上的数是 5 的那些数,并把这些数放在 b 所指的数组中,这些数的个数作为函数值返回。规定,函数中 a1 放个位数,a2 放十位数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #includestdio.h int fun(int *b) int k,a1,a2,i=0; for(k=10;k=55;k

10、+) /*found*/ a2=k/10; a1=k-a2*10; if(k%3=0i+;) /*found*/ return k; main() int a100,k,m; m=fun(a); printf(“The result is:/n“); for(k=0;km;k+)printf(“%4d“,ak); printf(“/n“); (分数:30.00)解析:(1)a2=k/10; (2)return i; 解析 (1)a2 存放十位数,所以是 a2=k/10,此处是一个书写错误。 (2)根据题意,要返回能被 3 整除的数的个数,从循环体中可以知道其个数是由 i 来计算的,所以返回的是

11、 i。三、程序设计题(总题数:1,分数:40.00)3.假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:*A*BC*DEF*G。在编写函数时,不得使用 C 语言提供的字符串函数。 请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #includestdio.h void fun(char *a) main() char s81; printf(“Enter a slring:/n“);gets(s); fun(s); printf(“The string after deleted:/n“);puts(s); (分数:40.00)_正确答案:()解析:void fun(char*a) while(*a!=“/0“) a+; a-; while(*a=“*“) a-; *(a+1)=“/0“; 解析 对于一个字符串要删除其尾部的*号,只需要在最后一个不是*号的字符后面加上结束符号“/0“。具体操作为:首先找到字符串的结尾,然后从最后一个字符开始往前逐个判断是否为*号,直到找到非*号字符为止,最后在该字符后面加上结束符号“/0“。

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