当前位置:快学网资格考试计算机等级考试2017年计算机二级考试C语言填空模拟试题二» 正文

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

[05-16 16:21:15]   来源:http://www.kuaixue5.com  计算机等级考试   阅读:8866
概要: 概要:求和、平均值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)
2017年计算机二级考试C语言填空模拟试题二,标签:计算机等级考试试题,全国计算机等级考试试题,http://www.kuaixue5.com

求和、平均值

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( ) 是求和。


Tag:计算机等级考试计算机等级考试试题,全国计算机等级考试试题计算机等级考试
上一篇:2017年计算机二级考试C语言填空模拟试题一

发表评论

表达一些您的想法吧!

文明评论,理性发言!

分类导航