欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:18091970       资源大小:19.23KB        全文页数:13页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、计算机等级二级C语言填空题练习题及答案解析求阶乘1. 该fun函数的功能是求10的阶乘。1) #include 2) long fun ( int n)3) if (_1_)4) return (n*fun(_2_);5) else if ( _3_)6) return 1;第一处:n1第二处:n-1第三处:n=1解析:从第2、4行看到了函数名,函数体中又出现了函数的调用,则是递归。我们知道:n!=n*(n-1)! 这就是一个递归的表达式,写成函数就是fun(n)=n*fun(n-1)。因此,4行处填写n-1。又:1!=1 故3,5行就好填了。因此答案是 n1 n-1 n=1。还有 0!=1

    2、故,还可填写:n0 n-1 n=0注意:3 5行的条件是相反的,这也是if与else条件的互斥性。2. 程序的功能是计算s=1!+2!+3!+n!1) long fun(int n)2) int i;3) long s;4) s=_1_;5) for (i=1; i=n; i+)6) s=_2_;7) return s;8) 9) main()10) long s;11) int k,n;12) scanf(%d,&n);13) s=_3_;14) for (k=1; k=n; k+)15) s=_4_;16) printf(%ldn, s);17) 第一处:1第二处:s*i第三处:0第四处:

    3、s+fun(k)解析:首先,搞清楚函数fun、 main各自的功能。Fun是求一个数的阶乘,我们知道: n!=1*2*3*n同时要死记住:求积,积的初值一般等于1。故fun中s是用来存放积的,其初值等于1;求阶乘是连乘,故s=s*iMain是求和,记住:和的初值一般等于0.两个函数中的局部变量s的作用是不同的。Main中的s是存放和的。最后:注意一些变量的类型。阶乘是求积,积的增长速度是比较快的,为防止溢出,fun的返回值类型是long。 输出中 ld 是输出长整数。3. 请补全main函数,该函数的功能是:求1+2!+3!+N!的和。1) main()2) int i,n;3) long s

    4、=0,t=1;4) /clrscr();5) printf(nInput n:n);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!=%ldn,n,s);13) 第一处:&n第二处:t*i第三处:s+t解析:求前n项的阶乘之和。这里没有使用子函数。我们知道:5!=5*4!。即需要利用前一个数的阶乘,还有就是替换。从第3行可知:s存放和,t存放积。输入n ,记住应是 &n。i是循环变量。记住:填空后,手工地将循环执行几次,检验是否正确。求和、平均值 1. 请补全main函数,

    5、该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的的绝对值,并显示出来。main()long int n;clrscr() ;printf(Enter the data:n);scanf(_1_);printf(* the origial data *n);if(n0)_2_printf(nn);printf(_3_);第一处:%ld,&n第二处:n=-n第三处:%ld,n解析:此题要注意的是数据类型,输入输出的格式控制。长整数使用 ld(或Ld)双精度浮点数使用 lf(或Lf)此处 d f 不能大写2. 请在函数fun的横线上填写若干个表达式,使从键盘上输入一个整数n,输出斐波

    6、纳契数列。斐波契数列是一种整数数列,其中每数等于前两数之后,如: 0 1 1 2 3 5 8 131) int fun(int n)2) if(_1_)3) return 0;4) else if(_2_)5) return 1;6) else7) return_3_;8) 第一处:n=0第二处:n=1第三处:fun(n-1)+fun(n-2)解析:求斐波契数列:一项等于其前两项的和。这也是一个递归。求斐波契数列的第n项的值,n从0开始。3. 请补全函数fun,该函数的功能是求出以下分数序列的前n项之和。和值通过函数值返回到main函数。1) #include2) #include3) _1_

    7、 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。记住:两个整数进行算术运算结果也是整数,算术运算中只要有一个操作数是实数,运算结果就是实数。本题希望结果是实数

    8、,故要进行强制类型转换,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=%dn,n);12) _3_ ;13) 第一处:s = q第二处:n+第三处:return s解析:从第8行,从数

    9、学的角度总结出数列的表达式。(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);elsereturn (x +1)/(x-2);double fun( int n )int i; doub

    10、le s=0.0, y;for (i= -n; i=_2_; i+) y=f(1.0*i); s += y; return _3_;main ( )printf(%fn, fun(5) );第一处:0.0第二处:n第三处:s解析:函数f ( double x) 求每个单项的值。 ifelse的条件是互斥的。fun( ) 是求和。1. 给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。int fun(int score, int m, int below)int i, j = 0 ;float aver = 0.0 ;for(i

    11、= 0 ; i m ; i+) aver += scorei ;aver /= (float) m ;for(i = 0 ; i m ; i+)if(scorei aver) belowj+ = _1_ ;return j ;main()int i, n, below9 ;int score9 = 10, 20, 30, 40, 50, 60, 70, 80, 90 ;n = fun(score, 9, _2_) ;printf( nBelow the average score are: ) ;for (i = 0 ; i n ; i+) printf(%d , _3_) ;第一处:scor

    12、ei第二处:below第三处:belowi解析:求平均值,应先求和。此处,和 与平均值使用了同一个变量。Score 是原来的成绩,Below【 】存放低于平均分的分数,还有人数。Below的长度一定不大于score的长度。Below的长度必须通过计数才能得到,且是在比较的过程中得到的。Below数组的长度用j来计数,其初值当然为0。Fun函数中:先求总分,平均分;再比较,比平均分低,存于below,j+。J是后加,不能错了。函数fun的返回值赋值给n,n就是below数组的长度。2. 在主函数中从键盘输入若干个数放入数组x中,用0结束输入但不计入数组。下列给定程序中,函数fun功能是:输出数组

    13、元素中小于平均值的元素。void fun(_1_,int n)double sum=0.0;double average=0.0;int i=0;for(i=0;iN;I+) _2_;average=_3_;for (i=0;iN;I+) if(xiAVERAGE) if(i%5=0)printf(n);printf(%d, ,xi);第一处:int x第二处:sum+=xi第三处:sum/n解析:算法思想同上题3. 请补全fun函数,该函数的功能是求不超过给定自然数的各个偶数之和。int fun(int x)int i,s;s=_1_;for(_2_)s+=i;return s; 第一处:0

    14、第二处:i=2; i 解析:求和,和的初值s为0。最小的非负偶数是0,偶数间的大小关系是相差2。4. 请补全main函数,该函数的功能是:计算并输出下列多项式的值。S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+50)#include _1_ fun(int n)int i,j;double sum=0.0,t;for(i=1;i=n;i+)t=0.0;for(j=1;j=i;j+)t+= _2_;sum+= _3_;return sum;第一处:double第二处:j第三处:1.0/t解析:S中的每一项的分母是1+2+3+i 需要用一个一重循环实现,把所有商相加,需要用一个循环

    15、;组合起来整个就需要二重循环。内循环求每个单项的和,外循环求商的和。每单项的分子是1,应该用浮点数1.0;每单项的分母是求和,和的初值为0.0;函数的返回值是浮点数。5. 请补全main函数,该函数的功能是,计算两个自然数n和m(m10000)之间所有数的和。n和m从键盘输入。main()int n,m;long sum;_1_;clrscr();printf(nInput n,mn);scanf(%d,%d,&n,&m);while( nb)_1_;else_2_;if(maxC) _3_;printf(max=%dn,max);第一处:max=a第二处:max=b第三处:max=c解析:若

    16、ab 则a较大,将其放入max中;否则将b存于max。此时,max中存放的就是前两个数中较大的,再将max与c比较。2. 函数fun的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。int fun(int a, int b, int c)int t;t = (ab) ? (bc? b :(ac?c:_1_) : (ac)?_2_ : (bc)?c:_3_);return t;第一处:a第二处:a第三处:b解析:条件表达式的理解。3. 请补全fun函数,该函数的功能是把从键盘输入的3个整数按从小到大输出。main()int x,y,z,t;clrscr();printf(Input x,y,zn);scanf(%d%d%d,&x,&y,&z);if (_1_)t=x;x=y;y=t; /*交换x,y的值*/if(_2_)t=z;z=x;x=t; /*交换x,z的值*/if(_3_)t=y;y=z;z=t; /*交换z,y的值*/第一处:xy第二处:xz第三处:yz解析:3个数排序,两两比较,小的放前,大者放后。交换。


    注意事项

    本文(计算机等级二级C语言填空题练习题及答案解析.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开