ImageVerifierCode 换一换
格式:DOCX , 页数:426 ,大小:123.12KB ,
资源ID:11475249      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11475249.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二级C语言上机题库内部资料.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二级C语言上机题库内部资料.docx

1、二级C语言上机题库内部资料2011年3月最新计算机二级C语言题库(根据等考通最新版本自己整理)第一套1.程序填空题在主函数中从键盘输入若干个数放入数组a中,用0结束输入但不计入数组。下列给定程序中,函数fun的功能是:输出数组元素中小于平均值的元素。例如,数组中元素的值依次为34、54、675、456、453、121,则程序的运行结果为34、54、121。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!#include #include void fun(_1_,int n) double count=0.0; double a

2、verage=0.0; int i=0; for(i=0;in;i+) _2_; average=_3_; for(i=0;in;i+) if(aiaverage) if(i%5=0) printf(n); printf(%d,ai); main() int a1000; int i=0; printf(nPlease enter datas(end with 0):); do scanf(%d,&ai); while(ai+!=0); fun(a,i-1);【答案】 (1) int a (2)count+=ai或count=count+ai (3)count/n2.程序修改题给定程序中,函数

3、fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/(2*2)+1/(3*3)+1/(4*4)+1/(m*m)例如:若m中的值为5,则应输出1.463611。请改正程序中的错误,使其能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include double fun(int m) double y=1.0; int I;/*found*/ for(i=2;im;i+)/*found*/ y+=1/(i*i); return(y);main() int n=5; printf(nThe result is %lfn, fun(n);【答案】(1)将

4、for(i=2;im;i+) 改为: for(i=2;i=m;i+)(2)将y+=1/(i*i); 改为:y +=1.0/(i*i);3.程序设计题函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串中的内容为“ABCDEFG 123456”,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后,t所指的数组中的内容应

5、是“246”。注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include #include void fun(char *s, char t)main() char s100,t100; printf(nPlease enter string S:); scanf(%s, s); fun(s,t); printf(nThe result is: %sn,t);【答案】void fun(char *s,char t) int k,n=0; for(k=0;kstrlen(s);k+) if(k%2=0 & sk%2=0)

6、tn+=sk; tn= 0;第二套1.程序填空题给定程序中,函数fun的功能是:找出NN矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!#include #define N 4void fun(int(*a)N,int *b) int I,j; for(i=0; iN; i+) /*found*/ bi=_1_; for(j=1;jN;j+)/*found*/ if(bi_2_aji) bi= aji; main() int xNN=12,5,8,7,6,1,9

7、,3,1,2,3,4,2,8,4,3,yN,I,j; printf(nThe matrix :n); for(i=0;iN;i+) for(j=0; jN; j+) printf(%4d,xij); printf(n); /*found*/ fun(_3_); printf(nThe result is:); for(i=0; iN; i+) printf(%3d,yi); printf(n);【答案】(1)a0i (2) =或 (3)x, y2.程序修改题给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;

8、若未找到,则函数值为NULL。例如,当字符串中的内容为“abcdabfabcdx”、t中的内容为“ab”时,输出结果应是abcdx。当字符串中的内容为“abcdabfabcdx”、t中的内容为“abd”时,则程序输出未找到信息not be found!。请改正程序中的错误,使其能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include #include char *fun(char *s,char *t) char *p,*r,*a;/*found*/ a=Null; while(*s) p=s;r=t; while(*r)/*found*/ if(r

9、=p) r+;p+; else break; if(*r=0) a=s; s+; return a ;main() char s100,t100,*p; printf(nPlease enter string S :); scanf(%s,s); printf(nPlease enter substring t :); scanf(%s,t); p=fun(s,t); if(p) printf(nThe result is :%sn,p); else printf(nNot found !n);【答案】(1)将a=Null; 改为:a=NULL; (2)将if(r=p) 改为:if(*r=*p

10、)3.程序设计题编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。Yn+1=cos(yn)迭代步骤如下:(1)取y1初值为0.0。(2)y0=y1,把y1的值赋给y0。(3)y1=cos(y0),求出一个新的y1。(4)若y0-y1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2)。(5)所求y1就是方程cos(x)-y=0的一个实根,作为函数值返回。程序将输出结果Result=0.739085。注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。#include #i

11、nclude #include float fun()main() FILE *out; float cos=fun(); printf(Result=%fn,cos); out=fopen(outfile.dat,w); fprintf(out,%f,cos); fclose(out);【答案】float y1=0.0,y0;do y0=y1; y1=cos(y0);while(fabs(y0-y1)=1e-6);return y1;第三套1.程序填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的

12、功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的新数据覆盖原数据,其他学生数据不变;若找不到,则什么都不做。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!#include #define N 5typedef struct student long sno; char name10; float score3;STU;void fun(char *filename, long sno) FILE *fp; STU n; int I;

13、 fp=fopen(filename,rb+);/*found*/ while(!_1_) fread(&n,sizeof(STU),1,fp);/*found*/ if(n.sno_2_) break; if(!feof(fp) for(i=0;i3;i+) n.scorei+=3;/*found*/ fseek(fp,1L*_3_,SEEK_CUR); fwrite(&n, sizeof(STU), 1, fp); fclose(fp);main() STU tN=10001,MaChao,91,92,77,10002,CaoKai,75,60,88,10003,LiSi,85,70,78

14、,10004,FangFang,90,82,87,10005,ZhangSan,95,80,88,ssN; int I,j; FILE *fp; fp=fopen(student.dat,wb); fwrite(t, sizeof(STU), N, fp); fclose(fp); printf(nThe original data :n); fp=fopen(student.dat,rb); fread(ss, sizeof(STU), N, fp); fclose(fp); for(j=0; jN; j+) printf(nNo:%ld Name:%-8sScores: , ssj.sno

15、,ssj.name); for(i=0;i3;i+) printf(%6.2f ,ssj.scorei); printf(n); fun(student.dat,10003); fp=fopen(student.dat,rb); fread(ss,sizeof(STU),N,fp); fclose(fp); printf(nThe data aftermodifying :n); for(j=0;jN;j+) printf(nNo:%ld Name: %-8s Scores:, ssj.sno,ssj.name); for(i=0;i3;i+) printf(%6.2f,ssj.scorei)

16、; printf(n); 【答案】(1)feof(fp) (2)=sno (3)sizeof(STU) 2.程序修改题给定程序中,函数fun的功能是:计算正整数num的各位上的数字之积。例如,若输入252,则输出应该是20;若输入202,则输出应该是0。请改正程序中的错误,使其能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include long fun(long num)【答案】(1)将long k;改为:long k=1;或long k;k=1;(2)将num=10;改为:num/=10; 3.程序设计题程序定义了NN的二维数组,并在主函数中自动赋值

17、。请编写函数fun(int aN, int n),函数的功能是:使NN的二维数组左下三角元素中的值乘以n。例如:若n的值为3,a数组中的值为: 1 9 7 2 3 8 4 5 6则返回主程序后a数组中的值应为: 3 9 7 6 9 8 12 15 18注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include #include #define N 5int fun(int aN,int n)main() int aNN,n,I,j; printf(*The array*n); for(i=0;iN;i+) for(j=0

18、;j=3); printf(n=%4dn,n); fun(a,n); printf (*THE RESULT*n); for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,aij); printf(n); 【答案】int fun(int aN,int n) int j,k; for(j=0;jN;j+) for(k=0;k2)的素数的个数,素数的个数作为函数值返回。例如,输入x=20,结果:2,3,5,7,11,13,17,19。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!#include int

19、 fun(int x) int I,j,count=0; printf(nThe prime number between 2 to %dn,x); for(i=2;i=x;i+) for(_1_;j=i) count+; printf(count%15 ? %5d : n%5d,i); return count;main() int x=20,result; result=fun(x); printf(nThe number of prime is : %dn,result);【答案】(1)j=2 (2)i (3)j2.程序修改题给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,

20、形成新的字符串,并取代原字符串。请改正程序中的错误,使其能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include void fun(char *s) int I,j; for(i=0,j=0;si!=0;i+) if(si=0&si=9)/*found*/ sj=si;/*found*/ sj=0;main() char item80; printf(nEnter a string:); gets(item); printf(The string is:%sn,item); fun(item); printf(The string of changi

21、ng is:%sn,item);【答案】(1)将sj=si; 改为:sj+=si; (2)将sj=0; 改为:sj= 0;3.程序设计题请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如,若有5门课程的成绩是90.5、72、80、61.5、55,则函数的值为:71.80。注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include float fun(float *a,int n)main() float score30=90.5,72,80,61.5,55, aver; aver=fun(s

22、core,5); printf(Average score is:%5.2fn, aver);【答案】float fun(float *a,int n) float s=0.0; int I; for(i=0; in; i+) s+=ai; return s/n; 第五套1.程序填空题给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回:S=1*3/2*2+3*5/4*4+5*7/6*6+(2n-1)*(2n+2)/ (2n)*(2n)例如:当行参n的值为10时,函数返回9.612558。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:部分源程序已给出。

23、不得增行或删行,也不得更改程序的结构!#include double fun(int n) int I; double s,t;/*found*/ s=_1_;/*found*/ for(i=1;i=_2_;i+) t=2.0*I;/*found*/ s=s+(2.0*i-1)*(2.0*i+1)/_3_; return s;main() int n=-1; while(n0): ); scanf(%d,&n); printf(The result is: %fn,fun(n);【答案】(1)0 (2)n (3)(t*t)2.程序修改题 在给定程序中,fun函数的功能是:将n个无序整数从小到大

24、排序。请改正程序中的错误,使其能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include #include fun(int n,int*a) int I,j,p,t; for(j=0;jn-1;j+) p=j;/*found*/ for(i=j+1;iai)/*found*/ t=I; if(p!=j) t=aj;aj=ap;ap=t; putarr(int n,int *z) int I; for(i=1;i=n;i+,z+) printf(%4d,*z); if(!(i%10) printf(n); printf(n);main() int aa2

25、0=9,3,0,4,1,2,5,6,8,10,7, n=11; printf(Before sorting%d numbers:n,n); putarr(n,aa); fun(n, aa); printf(After sorting%d numbers:n,n); putarr(n,aa);【答案】(1)将for(i=j+1;in-1;i+) 改为:for(i=j+1;in;i+)或for(i=j+1;i=n-1;i+)(2)将t=i;改为:p=i;3.程序设计题请编写一个函数unsigned fun(unsigned n),n是一个大于10的无符号整数,若n是m(m2)位的整数,则函数求出n的后m-1位的数作为函数值返回。例如,若n的值为1234,则fun()函数值为234。注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。#include conio.h

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1