计算机二级C真题附答案.pdf
《计算机二级C真题附答案.pdf》由会员分享,可在线阅读,更多相关《计算机二级C真题附答案.pdf(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、二级C语言上机考试复习资料(共60套题目)第 1 套1、程序填空题给定矍序中,函数fun的功能是:统计形参s所指字符E 字字符出物的次数,并存族在形参t所指的变量中,晕后在主函数中输出。施s所寤的字符串为:abcdef35adgh3kjsdf7输出结果为:4。请在程序的下划线处造入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序杳放在考生文件卷下的BLANK1.C中。不惜增若或删行,也不循更改程序的结构#inclu de v oid fu n(char *s,int *t)int i,n;n=0;/*fou nd*/for(i=0;_ 1_!=0;i+)/*fou nd*/if(s
2、 i=,0J&s i=_2_)n+;/*f oiind*/3;mainO char s 80=abcdef35 adgh3kj s df7;int t;pr int f(/znT he or iginal s t r ingis :%s n,s);fu n(s,&t);pr int f(nT he r es u lt is :%dn,t);2、程序修改题给定程序MODI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换,现定不允容增加语句和表达式。例如变量a中的值原为8,b中的值原为3,崔浮运行 后a中 的 值 为3,而 的 值 为8。请改正径序中咆错膜,使官助福注意:木 要 改 动
3、m a in函,也不得更改程序的结构!inclu de int fu n(int *x,int y)(int t ;/*fou nd*/t =x ;x =y ;/*fou nd*/r et u r n(y);)3、程序设计题mainO(int a=3,b=8;pr int f(z/%d%dnz/,a,b)b=fu n(&a,b);pr int f(z,%d%dn”,a,b)请编写函数f u n,它的功能是:求 出1至熊 同 得 献7和1 1整除的所有整数并将它们些数的芾数。注意:部分源矍序在文件PR0G1.C中。请勿改易主函薮mai痛 其它函数中的任何内容,仅在函数fun的花括号中填入你编写的
4、若干语句。#inclu de main()int aa 1000,n,k;v oid fu n(int *a,int *n)fu n(aa,&n);for (k=0;k n;k+)if(k+1)%10=0)pr int fCn)els e pr int f(%5 d,aa k);)第 2 套1、程序填空题给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的宅符按ASCII科大小递增施序,并将排序后下标为奇数晶字符取出,存入形参p所羯字将数组中,喇 一 个 新 串。_例加,型参s所指的字符串为:baawrskj g h z lic d a,执行后p所指字符数组中的字符串应为:aach
5、j 1 swo清孟程序的下划技处填入正确的内容并把下划线删除,使程序得出正确的结果注意:源程序存放在考生文件去下的BLANKLC中。不得增行或删行,也不编更改程序的结构!#inclu de v oid fu n(char *s,char *p)int i,j,n,x,t;n=0;for(i=0;s i!=0;i+)n+;for(i=l;in-2;i=i+2)/*f ou r id*/1;/*fou nd*/for(j=_2+2;j s j)t=j;if(t!=i)x=s i;s i=s t;s t=x;2、程序修改题for(i=l,j=0;in;i=i+2,j+)p j=s i;/*fou n
6、d*/P j=一3;)main()char s 80=,zbaaw r s kj ghz licda,z,p 5 0;pr int f(,znT he or iginal s t r ingis :%s n,z,s);fu n(s,p);pr int f CAnT he r es u lt is :%s n,p);给定程序M0DI1.C中 函 数 fu n 的功能是:用.最后一项南地对值小于指定的数(参数num)为止:下面的公式求兀的近似值,直到兀 1 1=1 +-4 3 51+管ii魏雁耦罐麋谭得更改程序的结构#inclu de#inclu de float fu n(float nu m)
7、int s ;float n,t,pit=l;p i=0;n=l;s1 ;/*fou nd*/w hile(t =nu m)(pi=pi+t ;n=n+2;s =-s ;/*fou nd*/t =s%n;pi=pi*4 ;r et u r n pi;m a i n()float nl,n2;pr int f(Ent er a float nu mber:)s canf(f,&n l);n2=fu n(nl);pr int f(6.4 fn”,n 2);)3、程序设计题请编写一个函数void fun(char a,char n),其功能是:删除一个签符里中指定下标的字使 其中2班向原字符串,删除
8、指定字符后的字待串存放在b附旨的数组中,n中存放指定曲下摄例如输入一布字符串:World,然后输入3,则调用该函数后的结果为:Word。注意:部分源程序在文件PR0G1.C中。请勿改凝主函薮m ai/口其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#inclu de#inclu de define L EN 20v oid fu n(char a,char b ,int n)()m a i n()char s t r l L EN,s t r 2 L EN;int n;pr int f(Ent er t he s t r ing:n);get s(s t r l);pr
9、int f(Ent er t he index of t he chardelet ed:);s canf(d”,&n);fu n(s t r l,s t r 2,n);pr int f(z,T he new s t r ing is:%s n,z,s t r 2)第3套1、程序填空题给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至彘点数据域依次为:10、8、6、4、2。果。t t inclu de t t inclu de#define N 5请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结注
10、意:源程序存放在考生文件旁下的BLANK1.C中。不倍增存或删行,也不律更改程序的结构!t y pedef s t r u ct node int dat a;s t r u ct node*nex t;N O D E;v oid fu n(N O D E*h)N O D E*p,*q,*r;/*fou nd*/P =;/*fou nd*/if(p=2)r et u r n;q =p-nex t;p-nex t =N U L L;w hile(q)r =q-nex t;q-nex t =p;/*fou nd*/p=q;q =_ 3;)h-nex t =p;)N O D E*cr eat lis
11、 t(int a)N O D E*h,*p,*q;int i;h=(N O D E*)malloc(s iz eof(N O D E);h-nex t =N U L L;for(i=0;idat a=a i;q-nex t =N U L L;if(h-nex t =N U L L)h-nex t =p=q;els e p-nex t =q;p=q;r et u r n h;)v oid ou t lis t(N O D E*h)N O D E*p;p=h-nex t;if(p=N U L L)pr int f(,zT he lis t is N U L L!nz,);els e pr int
12、f(z,nHead);do pr int f(一%d”,p-dat a);p=p-nex t;w hile(p!=N U L L);pr int f(-Endn);)main()N O D E*head;int a N =2,4,6,8,10);head=cr eat lis t(a);pr int f(nT he or iginal lis t:n);ou t lis t(head);fu n(head);pr int f(/znT he lis t aft er inv er t ing:n);ou t lis t(head);2、程序修改题给定的数目,注意*正:miODIl.C中函数fu
13、n的功能是:计算s所指字符串中含有t所指字符串作为函数值返回。函数fun中 指 定 部 位 的 鹏 使 它 熊 得 出 磔 的 结 果。不要改动main函数,不 麟 行 或 删 行,也术得更改程序的结构!inclu de#inclu de define N 80int fu n(char *s,char *t)int n;char *p,*r;n=0;w hile(*s )P=s;/*fou nd*/r=p;w hile(*r)if(*r=*p)r+;p+;els e br eak;/*fou nd*/if(*r=0)n+;s+;r et u r n n;main()char a N,b N
14、;int m;pr int f(/znP leas e ent er s t r ing a:);get s (a);pr int f(/znP leas e ent er s u bs t r ing b:);get s(b);m=fu n(a,b);pr int f(nT he r es u lt is :m=%dn”,m);)3、程序设计题请编写函数fu生函数的功能是:将放在字符串数组里的M个字符串(每串的长度不超过N),按顺洋合并组题一个新的字符串。函数fu n中给出的语句仅供参考。例如,字符串数组中的建字符串为AAAABBBBBBBCC则合并后的字符串的内容应是:AAAABBBBBB
15、BCCo提示:s t r cat (a,b)的助葡是将字符串b复制到字符串a的串尾上,成为一个新串O注意:鄙分源程序在文件P R 0G1.C中。请勿改务主函薮箕它函数中的任何内容,仅在函数fu n的花括号中填入你编写的若干语句。inclu de#inclu de#define M 3#define N 20v oid fu n(char a M N,char *b)(/*以下代码仅供参考*/int i;*b=0;)第4套1程序填空题main()char w M N=AAAA,BBBBBBB,CC,a 100;pr int f(,zT he s t r ing:n,z);for(i=0;iM;i
16、+)pu t s(w i);pr int f(n);fu n(w,a);pr int f(T he A s t r ing:n,z);pr int f(%s ,a);pr int f(nn);)给定程序史,函数fu n的功熊是:将N X N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左馈。例如,N=3,有下列矩阵1 2 34 5 67 8 9计算结果为3 1 26 4 59 7 8果。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件若下的BL AN K 1.C中。不筹增杆或删行,也不窿更改程序的结构!#inclu de define N
17、4v oid fu n(int (*t)N)int i,j,x;/*fou nd*/for(i=0;i_1;i+)(/*fou nd*/x=t i .2.;for (j=N-l;j=l;j)t i j=t i j-l:/*fou nd*/t i _ 3_=x;)main()intt N =21,12,13,24,25,16,4 7,38,29,11,32,5 4,4 2,21,33,10,i,j;pr int f(z,T he or iginal ar r ay:n);for(i=0;iN;i+)for(j=0;j N;j+)pr int f。%2dpr int f C nz z);)fu n
18、(t);pr int f(nT he r es u lt is:n);for(i=0;iN;i+)for(j=0;j N;j+)pr int f(z/%2d,z,t i j);pr int f(n);)2、程序修改题给定程序M O D I 1.C中函数fu n的功能是:计算并输出下列级数的前N项之和SN,直到SN+I大于q为止,q的值通过形参传入。2 3 4 N+1“1 2 3 N例如,若通值为:5 0.0,则函数值为:4 9.394 94 8。请改正程泽中的错误,使程序能输出正确的结界。注意:不要改动main函数,不容增行或删行,出不得更改程序的结构!inclu de dou ble fu
19、n(dou ble q )int n;dou ble s,t;n=2;s =2.0;w hile(s=q)(t=s;/*fou nd*/s=s+(n+l)/n;n+;pr int f(n=/dn,n);/*f ou r id*/r et u r n s;)main()(pr int f(fn,fu n(5 0);)3、程序设计题编写函数fu n,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:F(0)=0,F(l)=lF(n)=F(n-1)+F(n 2)例如:当t =1000时,函数值为:15 97。注意:部分源程序在文件
20、P R 0GL C中。请勿改副主函薮mai旃 其它函数中的任何内容,仅在函数fu n的花括号中填入你编写的若干语句。t t inclu de#inclu de int fu n(int t)main()/*主函数*/int n;n=1000;pr int f(z/n=%d,f=%dn/z,n,fu n(n);第5套1、程序填空题不是,鬲数退回值为0。回文给定程序中,函数fu n的功能是:判断形参s所指字揖串是否是回文(P alindr ome),若是,函数成回值为1;不是,菌数遗回值为0 回文是正法和反读都一样的字符串 如区分大小写字母)。例如,L EV E日 口L ev el是回文,而L E
21、V L EV不是回文,请在程序的中划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件隽下的BL AN K 1.C中。不得增打或删行,也不偏更改程序的结构!#inclu de#inclu de t t inclu de int fu n(char *s)char *lp,*r p;/*fou nd*/lp=_ 1;r p=s+s t r len(s)-l;w hile(t ou pper(*lp)=t ou pper(*r p)&(lpr p)(/*fou nd*/lp+;r p _ 2 _ ;/*fou nd*/if(lpr p)_ 3 _ ;els e r
22、et u r n 1;)main()char s 81;pr int f(,zEnt er a s t r ing:);s canf(s,s);if(fu n(s)pr int f(n%s is aP alindr ome.nn,s);els e pr int f(ns is n,t aP alindr ome.nn,s);)2、程序修改题给定程序M O D I 1.C中fu n函数的功能是:求出以下分数序列的前n项之和。2 3 5 8 13 21,1 2 3 5 8 13和值通过函数值返回main函数。例如,若n=5,则应输出:8.391667.请改正程序中的错误,演它能得出正荫的结果。注意
23、:不要改动main函数,不得增押或删行,也不得更改程序的结构!inclu de/*fou nd*/fu n(int n)int a=2,b=1,c,k;dou ble s=0.0;for (k=1;k=n;k+)s =s +1.0*a/b ;/*fou nd*/c=a;a+=b;b+=c;3、程序设计题)r et u r n(s);)main()int n=5 ;pr int f(nT he v alu e of fu nct ion is:%lfn,z,fu n(n);请编写函数fu n,函数的功能是:将大于形参m且紧靠m的k个素数存入x x所指的数组中。例如,若输入17,5,则应输出:19
24、,23,29,31,37。国数fu n中给出的语句仅次参考。注意:部分源程序在文件P R O G1.C文件中。请 勿 改 凝 主 函 薮 箕 它 函 数 中 的 任 何 内 容,仅在函数fu n的花括号中填入你编写的若干语句。#inclu de v oid fu n(int m,int k,int x x )/*以下代码仅供参考*/int i,j=l,t=m+1;w hile(j=k)(/*以下完成判断素数,并存放到数组x x中*/main()(pr int f(,znP leas e ent er t w o int eger s:,z)s canf(z,%d%dz,,&m,&n);fu n
25、(m,n,zz);for(m=0;m n;m+)pr int f(,?%d”,z z m );pr int f(n);)第6套1、程序填空题函数fu n的功能是:计算X2 X3 X4/(X)=1+X -+-+2!3!4!*-产 高+E嗯直 到 一 10-6.若 x=2.5,函数值为:1.917915.!请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:源程序存放在考生文件旁下的BL AN K 1.C中。不容增后或删行,也不编更改程序的结构!#inclu de#inclu de dou ble fu n(dou ble x)dou ble f,t;int n;f=1.0+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 真题附 答案
限制150内