【计算机类职业资格】全国计算机等级考试二级C语言上机真题2013年9月及答案解析.doc

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

1、全国计算机等级考试二级 C 语言上机真题 2013 年 9 月及答案解析(总分:3.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:1.00)1.下列给定程序中,函数 fun 的功能是:计算如下公式前 n 项的和,并作为函数值返回。 (分数:1.00)_二、程序修改题(总题数:1,分数:1.00)2.下列给定程序中函数 fun 的功能是:统计 substr 所指的字符串在 str 所指的字符串中出现的次数。 例如,若字符串为 aass 1kaaas,子字符串为 as,则应输出 2。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得

2、更改程序的结构! 试题程序: #include stdio.h int fun(char *str, char *substr) int i, j, k, num=0; /* found*/ for(i=0, stri, i+) for(j=i, k=0; substrk=strj; k+, j+) /* found*/ If(substrk+1=/0) num+; break; return num; main() char str80, substr80; printf(“Input a string:“); gets(str); printf(“Input a substfing: “)

3、; gets(substr); printf(“%d/n“, fun(str, substr); (分数:1.00)_三、程序设计题(总题数:1,分数:1.00)3.编写函数 fun,其功能是:根据以下公式求 的值(要求精度 0.0005,即某项小于 0.0005 时停止迭代)。(分数:1.00)_全国计算机等级考试二级 C 语言上机真题 2013 年 9 月答案解析(总分:3.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:1.00)1.下列给定程序中,函数 fun 的功能是:计算如下公式前 n 项的和,并作为函数值返回。 (分数:1.00)_正确答案:(1)0 (2)n (3

4、)(t*t)解析:考点 本题考查:变量初始化操作,需注意该变量是用做累加器还是累乘器;for 循环语句。 填空 1:程序开始定义了变量 s,但没有对其进行初始化,根据公式及后面的程序可知变量 s 用来存放公式的前 n 项和,因此该变量廊初始化为 0。 填空 2:通过 for 循环语句将表达式各项进行累加,结果存于变量 s 中,循环变量 i 的取值范围为 1n。 填空 3:根据题目要求确定表达式通项。前而已定义t=2.0*i,因此此空应填(t*t)。 程序要求计算表达式的值时,一般都设定一个变量 s 并赋初值。如果 s用来存放表达式的和,则赋初值为 0;如果 s 用来存放表达式的积,则赋初值为

5、1。 二、程序修改题(总题数:1,分数:1.00)2.下列给定程序中函数 fun 的功能是:统计 substr 所指的字符串在 str 所指的字符串中出现的次数。 例如,若字符串为 aass 1kaaas,子字符串为 as,则应输出 2。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include stdio.h int fun(char *str, char *substr) int i, j, k, num=0; /* found*/ for(i=0, stri, i+) for(j=i, k=0; su

6、bstrk=strj; k+, j+) /* found*/ If(substrk+1=/0) num+; break; return num; main() char str80, substr80; printf(“Input a string:“); gets(str); printf(“Input a substfing: “); gets(substr); printf(“%d/n“, fun(str, substr); (分数:1.00)_正确答案:( (1)for(i=0; stri; i+) (2)if(substrk+1=/0) )解析:考点 本题考查:for 循环语句和 i

7、f 条件语句的格式。for 循环语句使用最为灵活,其一般形式为 for(表达式 1;表达式 2;表达式 3),注意表达式之间使用“;”相隔;在 if 条件语句中,if 关键字需要区别大小写,不能混淆使用。关键字是由 C 语言规定的具有特定意义的字符串,也称为保留字。用户定义的标识符不应与关键字相同,并且关键字应小写。 先看循环条件 for(i=0, stri, i+),不难发现此处 for 循环语句的格式有误,其中表达式之间应以“;”相隔;同时很容易发现 if 条件语句处的关键字书写错误。三、程序设计题(总题数:1,分数:1.00)3.编写函数 fun,其功能是:根据以下公式求 的值(要求精度

8、 0.0005,即某项小于 0.0005 时停止迭代)。(分数:1.00)_正确答案:(double fun(double eps) double s=1.0, s1=1.0; int n=1; while(s1=eps) /*当某项大于精度要求时,继续求下一项*/ s1=s1*n/(2* n+1); /*求多项式的每一项*/ s=s+s1; /*求和*/ n+; return 2* s; )解析:考点 本题考查:迭代法求给定多项式的值。迭代算法是让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。需要注意变量的数据类型以及赋初值操作。 首先应该定义 double 类型变量,并且赋初值,用来存放多项式的某一项和最后的总和。从第二项开始以后的每一项都是其前面一项乘以 n/(2*n+1),程序中用 s1 来表示每一项,s 表示求和后的结果。需注意 s1 和 s 的的初值都为 1.0,因为循环变量从第二项开始累加。

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

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

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