必胜高考网 > 计算机类 > 计算机等级 > 资讯 >

2015计算机二级《C语言程序设计》无纸化操作题三份(3)

时间: 家辉2 资讯

  1下列给定程序中,函数fun的功能是:计算如下公式前n项的和,并作为函数值返回。

  例如,当形参n的值为10时,函数返回值为9.612558。

  请在程序的下画线处填入正确的内容并将下画线删除.使程序得出正确的结果。

  注意:部分源程序给出如下。

  不得增行或删行,也不得更改程序的结构!

  试题程序:

  参考解析:

  (1)0 (2)n (3)(t*t)

  【考点分析】

  本题考查:变量初始化操作,需注意该变量是用做累加器还是累乘器;for循环语句。

  【解题思路】

  填空l:程序开始定义了变量s,但没有对其进行初始化,根据公式及后面的程序可知变量s用来存放公式的前n项和,因此该变量应初始化为0。

  填空2:通过for循环语句将表达式各项进行累加,结果存于变量S中,循环变量i的取值范围为l~12。

  填空3:根据题目要求确定表达式通项。前面已定义t=2.0*i,因此此空应填(t*t)。

  【解题宝典】

  程序要求计算表达式的值时,一般都设定一个变量S并赋初值。如果s用来存放表达式的和,则赋初值为0;如果s用来存放表达式的积,则赋初值为1。

  二、程序改错题

  2下列给定程序中fun函数的功能是:求表达式s=aa…aa-…-aaa-aa-a

  (此处aa…aa,表示n个a,a和n的值在1~9之间)

  例如,a=3,n=6,则以上表达式为:

  s=333333-33333-3333-333-33-3其值是296298。

  a和n是fun函数的形参,表达式的值作为函数值传回main函数。

  请改正程序中的错误,使它能计算出正确的结果。

  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

  试题程序:

  参考解析:

  【参考答案】

  (1)long s=0,t=0;

  (2)t=t/10;

  【考点分析】

  本题考查:变量赋初值操作;求余运算和除法运算的区别。

  【解题思路】

  (1)t用来存放每次循环后的多位数,第一次循环时,t应当是个位数,所以t的初始值应为0。

  (2)根据题意,这里不需要求余数,而是要去掉个位数,重新组合为一个数,因此运用除法运算。

  【解题宝典】

  去掉数值n的个位数的方法是采用除法运算,如果需要取出个位数则使用求余运算,不要混淆。

  三、程序设计题

  3规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。

  例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是“****A*BC*DEF*G”。在编写函数时,不得使用C语言提供的字符串函数。

  注意:部分源程序给出如下。

  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

  试题程序:

  参考解析:

  【参考答案】

  【考点分析】

  本题考查:删除字符串尾部*号,删除的主要思想是把不删除的字符保留起来。

  【解题思路】

  对于一个字符串要删除其尾部的*号,只需要在最后一个不是*号的字符后面加上结束符号’\0’。具体操作为:首先找到字符串的结尾,然后从最后一个字符开始往前逐个判断是否为*号,直到找到非*号字符为止,最后在该字符后 面加上结束符号‘\0’。

55635