2012年计算机等级二级C语言填空题练习题及答案解析

2012年计算机等级二级C语言填空题练习题及答案解析

ID:47215085

大小:54.50 KB

页数:12页

时间:2019-08-27

2012年计算机等级二级C语言填空题练习题及答案解析_第1页
2012年计算机等级二级C语言填空题练习题及答案解析_第2页
2012年计算机等级二级C语言填空题练习题及答案解析_第3页
2012年计算机等级二级C语言填空题练习题及答案解析_第4页
2012年计算机等级二级C语言填空题练习题及答案解析_第5页
资源描述:

《2012年计算机等级二级C语言填空题练习题及答案解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、求阶乘  1.该fun函数的功能是求10的阶乘。  1)#include  2)longfun(intn)  3){if(___1___)  4)return(n*fun(___2___));  5)elseif(___3___)  6)return1;}  第一处:n>1  第二处:n-1·  第三处:n==1  解析:从第2、4行看到了函数名,函数体中又出现了函数的调用,则是递归。我们知道:n!=n*(n-1)!这就是一个递归的表达式,写成函数就是fun(n)=n*fun(n-1)。因此,4行处填写n-1。又:1!=1故3,5行就好填了。因此答案是n>1n-1n=

2、=1。还有0!=1故,还可填写:n>0n-1n==0  注意:35行的条件是相反的,这也是if与else条件的互斥性。  2.程序的功能是计算s=1!+2!+3!+……+n!  1)longfun(intn)  2){inti;  3)longs;  4)s=___1___;  5)for(i=1;i<=n;i++)  6)s=___2___;  7)returns;  8)}  9)main()  10){longs;  11)intk,n;  12)scanf("%d",&n);  13)s=___3___;  14)for(k=1;k<=n;k++)  15)s

3、=___4___;  16)printf("%ld",s);  17)}  第一处:1  第二处:s*i  第三处:0  第四处:s+fun(k)  解析:首先,搞清楚函数fun、main各自的功能。  Fun是求一个数的阶乘,我们知道:n!=1*2*3*…*n  同时要死记住:求积,积的初值一般等于1。故fun中s是用来存放积的,其初值等于1;求阶乘是连乘,故s=s*i  Main是求和,记住:和的初值一般等于0.  两个函数中的局部变量s的作用是不同的。Main中的s是存放和的。  最后:注意一些变量的类型。  阶乘是求积,积的增长速度是比较快的,为防止溢出,

4、fun的返回值类型是long。输出中ld是输出长整数。  3.请补全main函数,该函数的功能是:  求1+2!+3!+…+N!的和。  1)main()  2){inti,n;  3)longs=0,t=1;  4)//clrscr();  5)printf("Inputn:");  6)scanf("%d",___1___);  7)for(i=1;i<=n;i++)  8){  9)t=___2___;  10)s=___3___;  11)}  12)printf("1!+2!+3!...+%d!=%ld",n,s);  13)}  第一处:&n 

5、 第二处:t*i  第三处:s+t   解析:求前n项的阶乘之和。这里没有使用子函数。  我们知道:5!=5*4!。即需要利用前一个数的阶乘,还有就是替换。  从第3行可知:s存放和,t存放积。  输入n,记住应是&n。  i是循环变量。  记住:填空后,手工地将循环执行几次,检验是否正确。求和、平均值  1.请补全main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的的绝对值,并显示出来。  main()  {longintn;  clrscr();  printf("Enterthedata:");  scanf(___1___);  

6、printf("******theorigialdata********");  if(n<0)  ___2___  printf("");  printf(___3___);  }  第一处:"%ld",&n  第二处:n=-n  第三处:"%ld",n  解析:此题要注意的是数据类型,输入输出的格式控制。  长整数使用ld(或Ld)  双精度浮点数使用lf(或Lf)  此处df不能大写  2.请在函数fun的横线上填写若干个表达式,使从键盘上输入一个整数n,输出斐波纳契数列。斐波契数列是一种整数数列,其中每数等于前两数之后,如:011235813…… 

7、 1)intfun(intn){  2)if(___1___)  3)return0;  4)elseif(___2___)  5)return1;  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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。