《计算机二级C语言操作题高频考卷.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言操作题高频考卷.docx(5页珍藏版)》请在课桌文档上搜索。
1、一、程序填空题1填空题给定程序中,函数tim的作用是:不断从终端读入整数,由变量a统计大于。的个数,用变量c来统计小于O的个数,当输入O时结束输入,并通过形参pa和Pb把统计的数据传回主函数进行输出。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。BLANKl.C存放在BLNK1.C中。不得增行或删行,也不得更改程序的结构!试题程序:Wincluderfdivoidfun(intpx,inty)Ifound/mtLU;canf(-%d0.&k);foundwhile2.if(k0)a-H-;if(kO)b;/found/QI:i*px=a;py三b;Imain()nti.
2、y;fun(&x.&y);prilf(x=%dy=%dn,*,x,y):I参考解析:【参考答案】(l)a=0,b=0,k(kl.0)(3)scanf(“d”,&k)【解题思路】填空1:下面的SCanf函数用到变量k,需要提前定义,在WhiIe循环中使用了临时存放正、负数个数的变量a,b,因此也要提前定义。填空2:根据题意,输入O时结束程序,因此当k!=0时进入循环记录正负数的个数。填空3:需要不断从终端输入整数,因此在循环体内添加输入操作。二、程序修改题2简答题在主函数中从键盘输入若干个数放人数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun的功能是:计算数组元素中所有值为正
3、数的平均值(不包括0)o例如,数组中元素的值依次为:39、-47、21、2、-8、15、0,则程序的运行结果为19请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:I!include2*include3doublefun(intx1)K(5found/6 Intsum=0.0;7 intc三0,i三0;8 while(xi!=0)if(xi0)Ksum三xi;/found/sum-c;returnsum;Imain()(int1000;inti-0;rintf(*nPleaseentersomedata(endwith0):)
4、;do(scanf(%d,&xi);while(xi+-0);printf(-%lfn,fun(x);参考解析:【参考答案】(1)doubleum=0.0;(2)sum/=c;【解题思路】(1)变量定义错误,变量SUln存放所有数据的和,应定义为double型。(2)C语言中的除法运算符是。三.程序设计题3简答题编写函数fun,其功能是:根据以下公式计算s,并将计算结果作为函数值返回,n通过形参传人。C.I、=I.I-X1*21+2+3I2+3*n例如,若n的值为11时,函数的值为Lo注意:部分源程序给出如下。请勿改动主函数Inain和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的
5、若干语句。试题程序:*include *include*includefloat fun (int n)includevoidmain()(intn;floats;system(,CLS);printf(*,nPleaseenterN:);scanf(h%d,&n);s-fun(n)iprintf(Theresultis:%f【参考答案】Ifloatfun(intn)2 13 intitsi0;4 floats=0.0;5 for(i-l;i三ni*)S(7 si-si+i;Z求每一项的棺分号*/8 s=s+1.0sl;/*求多项式1.的值*/9源returns;【解题思路】此类计算表达式值的程序,首先需要根据题意分析表达式的规律,得出通项,然后再完成程序语句。本题中表达式的规律是l+2+n的倒数之和,那么可以通过for循环语句来实现第1项到第n项的变化。其实就是累加算法,方法是先根据题目要求定义变量,注意该变量的数据类型,然后对其进行初始化操作,因为该变量的作用是累加器,所以初始值应为0(或0.0,根据变量数据类型来确定),再通过for循环语句来完成累加过程。本题中Sl用来表示每一项的分母,每一项的分母都是由前一项分母加项数。注意,由于Sl定义成一个整型,所以在s=s+1.0sl语句中不能把1.0写成1。