幼教  教案  范文  作文  资格考试  高中教学  【网站地图】 【+收藏本站
在线投稿
您当前位置:乐学网资格考试计算机等级考试2017年计算机二级考试C语言填空模拟试题二

2017年计算机二级考试C语言填空模拟试题二

03-06 16:46:30   浏览次数:866  栏目:计算机等级考试
标签:计算机等级考试试题,全国计算机等级考试试题,http://www.lexue88.com 2017年计算机二级考试C语言填空模拟试题二,

求和、平均值

1. 请补全main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的的绝对值,并显示出来。

main()

{long int n;

clrscr() ;

printf(“Enter the data:\n”);

scanf(___1___);

printf(“****** the origial data ********\n”);

if(n《0)

___2___

printf(“\n\n”);

printf(___3___);

}

第一处:“%ld”,&n

第二处:n=-n

第三处:“%ld”,n

解析:此题要注意的是数据类型,输入输出的格式控制。

长整数使用 ld(或Ld)

双精度浮点数使用 lf(或Lf)

此处 d f 不能大写

2. 请在函数fun的横线上填写若干个表达式,使从键盘上输入一个整数n,输出斐波纳契数列。斐波契数列是一种整数数列,其中每数等于前两数之后,如: 0 1 1 2 3 5 8 13……

1) int fun(int n){

2) if(___1___)

3) return 0;

4) else if(___2___)

5) return 1;

6) else

7) return___3___;

8) }

第一处:n==0

第二处:n==1

第三处:fun(n-1)+fun(n-2)

解析:求斐波契数列:一项等于其前两项的和。

这也是一个递归。

求斐波契数列的第n项的值,n从0开始。

3. 请补全函数fun,该函数的功能是求出以下分数序列的前n项之和。和值通过函数值返回到main函数。

1) #include

2) #include

3) ___1___ fun(int n)

4) {int a,b,c,k;

5) double s;

6) s=0.0;

7) a=2;

8) b=1;

9) for(k=1;k《=n;k++)

10) {

11) s=s+(___2___)a/(___3___)b;

12) c=a;

13) a=a+b;

14) b=c;

15) }

16) return s;

17) }

第一处:double

第二处:double

第三处:double

解析:从第11----14总结出数列的表达式。第1项是a/b=2/1;3/2 4/3

故:s=2/1+3/2+4/3+…… 和的初值是0。

记住:两个整数进行算术运算结果也是整数,算术运算中只要有一个操作数是实数,运算结果就是实数。

本题希望结果是实数,故要进行强制类型转换,2,3只要有一个进行强制转换就可以了。

最后,函数需要有一个返回值类型,当然也是双精度浮点数了。

4. 给定程序的功能是计算并输出下列级数的前N项之和SN,直到SN大于q为止,q的值通过形参传入。

1) double fun( double q )

2) {int n;

3) double s;

4) n = 2;

5) s = 2.0;

6) while (s ___1___ q)

7) {

8) s=s+(double)(n+1)/n;

9) ___2___ ;

10) }

11) printf(“n=%d\n”,n);

12) ___3___ ;

13) }

第一处:s 《= q

第二处:n++

第三处:return s

解析:从第8行,

从数学的角度总结出数列的表达式。

(n+1)/n n从2开始,每次增加1,故:SN=2+3/2+4/3+…… 和的初值是2.0

循环条件是“SN大于q为止” ,while是满足条件才循环,故填写s 《= q

最后,函数需要有一个返回值。

5. 给定程序功能是计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…+f(n)的值。

float f( double x)

{

if (x == 0.0 || x == 2.0)

return ___1___;

else if (x 《 0.0)

return (x -1)/(x-2);

else

return (x +1)/(x-2);

}

double fun( int n )

{int i; double s=0.0, y;

for (i= -n; i《=___2___; i++)

{ y=f(1.0*i); s += y; }

return ___3___;

}

main ( )

{

printf(“%f\n”, fun(5) );

}

第一处:0.0

第二处:n

第三处:s

解析:函数f ( double x) 求每个单项的值。 if……else的条件是互斥的。

fun( ) 是求和。

,2017年计算机二级考试C语言填空模拟试题二
发表评论
发表读后感言(游客无需登录,即可直接发表感言。)
匿名评论  
最新评论所有评论
评论加载中......
相关分类
联系我们 | 网站地图 | 幼教大全 | 免费教案 | 范文大全 | 作文大全 | 资格考试 | 高中教学