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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C 语言机试-278 及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中,函数 fun 的功能是:把形参 s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注意:字符串的长度大于等于 2)。例如,形参 s 所指字符串为“abcdefah”,执行结果为“ahcbedaf”。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#includestdio.hvoid f

2、un(char*s)int i,n,k;char c;n=0;for(i=0;s1=/0;i+)n+,if(n%2=0)/*found*/k=n- (1) ;elsek=n-2;/*found*/c= (2) ;for(i=k-2;i=1;i=i-2)(si+2=si;/*found*/s1= (3) ;)main()char s80=“abcdefgh“;printf(“/nThe original string is:%s/n“,s);fun(s);printf(“/nThe result is:%s/n“,s);(分数:30.00)_二、程序改错题(总题数:1,分数:30.00)2.下列

3、给定程序中,fun 函数的功能是:求表达式 s=aaaa-aaa-aa-a(此处 aaaa 表示 n 个 a,a 和n 的值在 19)。例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是 296298。a 和 n 是 fun 函数的形参,表达式的值作为函数值传回 main 函数。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#includesfdio.hlong fun(int a,int n)int j;/*found*/long s=0,t=1;for(i=0;j

4、n;j+)t=t*10+a;s=f;for(j=1;jn;j+)/*found*/t=t%10s=s-t;return(s);main()int a,n;printf(“/nPlease enter a and n:“);scanf(“%d%d“,printf(“The value of function is:%ld/n“,fun(a,n);(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)3.编写函数 void fun(char*tt,int PP),统计在 tt 所指的字符串中“a”到“z”26 个小写字母各自出现的次数,并依次放在 PP 所指的数组中。例如,当输入字符

5、串“abcdefgabcdeabc”后,程序的输出结果应该是:3 3 3 2 2 1 1 0000000000000000000注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。试题程序:#includesfdio.h#includestring.hvoid fun(char*tt,int pp)main()char aa1000;int bb26,k;printf(“/nPlease enter a char string:“);scanf(“%s“,aa);funiaa,bb);for(k=0;k26;k+)pri

6、ntf(“%d“,bbk);printf(“/n“);(分数:40.00)_二级 C 语言机试-278 答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中,函数 fun 的功能是:把形参 s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注意:字符串的长度大于等于 2)。例如,形参 s 所指字符串为“abcdefah”,执行结果为“ahcbedaf”。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,

7、也不得更改程序的结构!试题程序:#includestdio.hvoid fun(char*s)int i,n,k;char c;n=0;for(i=0;s1=/0;i+)n+,if(n%2=0)/*found*/k=n- (1) ;elsek=n-2;/*found*/c= (2) ;for(i=k-2;i=1;i=i-2)(si+2=si;/*found*/s1= (3) ;)main()char s80=“abcdefgh“;printf(“/nThe original string is:%s/n“,s);fun(s);printf(“/nThe result is:%s/n“,s);(

8、分数:30.00)_正确答案:(1 (2)sk或*(s+k) (3)c)解析:解析 本题关键字有:指针型变量;ifelse 语句;赋值语句。微分析填空 1:变量 n 存放字符串的长度,长度为偶数,则 k=n-1;长度为奇数,则 k=n-2,使得下标为奇数的最后一个元素有效(不是/0)。填空 2:变量 C 存放最右边奇数位置的元素,即下标 k 对应的元素。填空 3:第一个奇数位置存储最后一个下标为奇数的元素。二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,fun 函数的功能是:求表达式 s=aaaa-aaa-aa-a(此处 aaaa 表示 n 个 a,a 和n 的值在 19)。

9、例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是 296298。a 和 n 是 fun 函数的形参,表达式的值作为函数值传回 main 函数。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#includesfdio.hlong fun(int a,int n)int j;/*found*/long s=0,t=1;for(i=0;jn;j+)t=t*10+a;s=f;for(j=1;jn;j+)/*found*/t=t%10s=s-t;return(s);main(

10、)int a,n;printf(“/nPlease enter a and n:“);scanf(“%d%d“,printf(“The value of function is:%ld/n“,fun(a,n);(分数:30.00)_正确答案:(long s=0,t=0; (2)t=f/10;)解析:解析 本题关键字有:变量赋初值;求余运算和除法运算的区别。用除法运算去掉一个数的个位数,用求余运算取出一个数的个位数。微分析(1)t 用来存放每次循环后的多位数,第一次循环时,t 应当是个位数,所以 t 的初始值应为 0。(2)本题不需要求余数,而是要去掉个位数,因此运用除法运算而非取余运算。三、程

11、序设计题(总题数:1,分数:40.00)3.编写函数 void fun(char*tt,int PP),统计在 tt 所指的字符串中“a”到“z”26 个小写字母各自出现的次数,并依次放在 PP 所指的数组中。例如,当输入字符串“abcdefgabcdeabc”后,程序的输出结果应该是:3 3 3 2 2 1 1 0000000000000000000注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。试题程序:#includesfdio.h#includestring.hvoid fun(char*tt,int pp)

12、main()char aa1000;int bb26,k;printf(“/nPlease enter a char string:“);scanf(“%s“,aa);funiaa,bb);for(k=0;k26;k+)printf(“%d“,bbk);printf(“/n“);(分数:40.00)_正确答案:(void fun(char*tt,int pp) int i;for(i=0;i26;i+)/*初始化 pp 数组备元素为 0*/ppi=0;/*遍历字符串,统计小写字母出现的个数*/for(;*tt!=/0;tt+)/*如果字符为小写字母*/if(*tt)=a)解析:解析 本题关键字有:for 循环语句;数组操作;if 语句条件表达式;字符串结束标识/0;指针操作。微分析先使用 for 循环语句初始化 pp 数组中各元素为 0,再通过循环判断语句判断 tt 所指字符串中的字符是否为小写字母,若是则相对应的 pp 数组元素值加 1。

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