二级C语言上机题库及笔试复习资料.pdf
《二级C语言上机题库及笔试复习资料.pdf》由会员分享,可在线阅读,更多相关《二级C语言上机题库及笔试复习资料.pdf(118页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2011年3月份全国计算机等级考试二级C语言上机题库二级C语言上机考试复习资料,共有5 0套题目一、程序填空题1、给定程序中,函数fu n的功能是根据形参i的值返回某个函数的值。当调用正确时,程序输出:x 1=5.000000,x2=3.000000,xl*xl+xl*x2=40.000000请在程序的下划线处填入正确的内容并把F划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK 1.C 中。不得增行或删行,也不得更改程序的结构!#include double fl(double x)return x*x;double f2(double x,
2、double y)return x*y;/*found*/_1_ fun(int i,double x,double y)if(i=l)/*C und*/return _ 2_(x);else/*un d*/return _ 3 _(x,y);main()double xl=5,x2=3,r;r=fiin(1,x 1,x2);r+=fun(2,xl,x2);printf(Mnx 1 =%f,x2=%f,x 1 *x 1+x 1 *x2=%fnnu,x 1,x2,r);2、给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。例如,形参s
3、所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:letter a:3 timesletter s:3 times请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK 1.C 中。不得增行或删行,也不得更改程序的结构!#include#include#include void fun(char*s)int k26=0,n,i,max=0;char ch;while(*s)if(isalpha(*s)/*e und*/ch=tolower(_ 1 _);n=ch-*a;/*found*/kn+
4、=_ 2 _;s+;/*found*/ifi(iTiaxkn)max=_ 3_;printfCnAfter count:nH);fbr(i=O;i26;i+)if(ki=m ax)printf(nnletter V%c*:%dtimesn”,i+R,ki);)main()char s81;printf(nEnter a string:nnH);gets(s);fun(s);3、给定程序中,函数fim的功能是:将N X N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵:123456789交换后为:321456987请在程序的下划线处填入正确的内容并把下
5、划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK1.C 中。不得增行或删行,也不得更改程序的结构!#include#define N 4/*/void fun(int _1_,int n)int i,s;/*Cun(j*/for(_2_;i+)s=tii;tii=tin-i-l;/*q und*/tin-l-i=_ 3 _;)注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK1.C 中。不得增行或删行,也不得更改程序的结构!#include int fun(int x)int n,si,s2,s3,t;/*e und*/n=
6、_ 1_;t=100;/*nd*/while(t=_ 2_)sl=t%10;s2=(t/10)%10;s3=t/100;if(sl+s2+s3=15)printfC%d】);n+;main()inttN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i,j;printf(nThe original anay:n);fbr(i=O;iN;i+)for(j=O;jN;j+)printf(%d,tij);printf(n);fun(t,N);printf(nThe result is:n);fbr(i=O;iN;i+)fbr(j=O;j999|x0)
7、printfnPlease input(0 x=999):);scanf(n%dn,&x);printfifnThe result is:%dnM,fun(x);)5、函数Em的功能是:把形参a 所指数组中的最小值放在元素a0中,接着把形参a 所指数组中的最大值放在al元素中;再 把 a 所指数组元素中的次小值放在a2中,把 a 所指数组元素中的次大值放在a3;其余以此类推。例如:若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n 中存放a 所指数组中数据的个数。注意:规 定 fun函数中的max存放当
8、前所找的最大值,px存放当前所找最大值的下标。请在程序的下划线处填入正确的内容并把F 划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK 1.C 中。不得增行或删行,也不得更改程序的结构!#include#define N 9void fiin(int a,int n)int ij,max,min,px,pn,t;for(i=0;in-l;i+=2)线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK1.C 中。不得增行或删行,也不得更改程序的结构!#include/*S und*/max=min=
9、1 ;px=pn=i;fbr(j=i+l;jn;j-H-)/*命und*/if(max_3_)min=aj;pn=j;void fun(char*s,char*p)int i,j,n,x,t;n=0;for(i=0;si!=0;i+)n+;for(i=l;in-2;i=i+2)/*Cund*/1;/*e und*/for(j=_2_+2;jsU)t=j;if(t!=i)x=si;si=st;st=x;if(pn!=i)t=ai;ai=min;apn=t;if(px=i)px=pn;if(px!=i+1)t=ai+l;ai+l=max;apx=t;)main()intbN=91,4,2,3,65
10、8,7,i;printf(nnThe original data:n);for(i=0;iN;i+)printf(H%4d”,bi);printfCn”);fiin(b,N);printffnThe data after moving:nn);for(i=0;iN;i+)printf(M%4d,bi);printf(MnH);6、给定程序中,函数fim 的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p 所指字符数组中,形成一个新串。例 如,形 参 s所 指 的 字 符 串 为:baawrskjghzlicda,执行后p 所指字
11、符数组中的字符串应为:aachjlsw请在程序的卜划线处填入正确的内容并把F划for(i=lj=0;in;i=i+2,j+)pj=si;/*found*/PU=一 3一;main()char s80=baawrskjghzlicda,p50;printf(nThe original string is:%sn,s);ftin(s,p);printf(nThe result is:%sn,p);7、给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26846。请在
12、程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK 1.C 中。不得增行或删行,也不得更改程序的结构!#include unsigned long fun(unsigned long n)unsigned long x=0,s,i;int t;s=n;w h i l e(_ 2 _)t=s%1 0;i f(t%2=0)/*/x=x+t*i;i=_ 3 _;s=s/1 0;r e t u r n x;m a i n()u n s i g n e d l o n g n=l;w h i l e(n 9 9 9 9
13、9 9 9 9|n 0)p r i n t f(P l e a s e i n p u t(0 n l 0 0 0 0 0 0 0 0):);s c a n f(-l d”,&n);p r i n t f(n n T h e r e s u l t i s:%l d nH,f u n(n);8、给定程序中,函数f i r n 的功能是:将a所指3X5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。例如,有下列矩阵:12 3 4 51 2 3 4 512 3 4 5若k为2,程序执行结果为3 4 5 123 4 5 1 23 4 5 12请在程序的下划
14、线处填入正确的内容并把下划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的B L A N K 1.C 中。不得增行或删行,也不得更改程序的结构!#i n c l u d e#d e f i n e M 3#d e f i n e N 5v o i d f u n(i n t (*a)N,i n t k)i n t i,j,p,t e m p;f b r(p=l;p =_1 _;p-H-)f b r(i=O;i M;i-H-)t e m p=a i 0;/*Cu n(j*/f o r G=0;j _ 2 _;j+)a i U =a i D+l ;/*3 u
15、 n d*/a i N-l =_ 3_;m a i n()i n tx M N=1,2,3,4,5,1,2,3,4,5,1,2,3,4,5p r i n t f(T he a r r a y b e f o r e m o v i n g:n nn);f b r(i=O;i M;i-H-)f b r(j=O;j N;j+)p r i n t f(n%3 dn,x i|j );p r i n t f f n);f u n(x,2);p r i n t f(T he a r r a y a f t e r m o v i n g:n n);f o r(i=0;i M;i+)f o r a=O;j
16、N;j+)p r i n t f(%3d,x i j );p r i n t f(n);9、给定程序中,函数f i m的功能是:判断形参s所指字符串是否是回文(Pa l i n d r o m e),若是,函数返回值为1;不是,函数返回值为0。回文是正读和反读都一样的字符串(不区分大小写字母)。21例如,L E VE L和Le v e l是回文,而L E VL E V不是回文。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的B L A N K 1.C 中。不得增行或删行,也不得更改程序的结构!#i n c l u
17、d e#i n c l u d e#i n c l u d e i n t f u n(c ha r *s)c ha r *l p,*r p;/*o u n d */q)=s+s t r l e n(s)-l;while(toupper(*lp)=toupper(*rp)&(lprp)p+;rp _ 2 _ ;/*仿und*/ifUpVrp)_ 3 _;else return 1;)main()char s81;printf(nEntcr a string:”);scanfif%sM,s);if(fun(s)printfl(nn,%s is a Palindrome.nn,s);else pr
18、intRns isnt a Palindrome.nn,s);10、给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n 个字符复制到形参t 所指字符数组中,形成一个新串。若 s 所指字符串的长度小于n,则将整个字符串复制到形参t 所指字符数组中。例如,形参s 所指的字符串为:abcdefgh,n 的值为 5,程序执行后t 所指字符数组中的字符串应为:defgho请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK1.C 中。不得增行或删行,也不得更改程序的结构!#include#include#d
19、efine N 80void fun(char*s,int n,char*t)int len,i j=0;len=strlen(s);/*d*/if(n=len)strcpy(_ 1_);else(/*found*/for(i=len-n;i=len-l;i+)tj-H-=_ 2_;/*必und*/main()char sN,tN;intprintEnter a string:M);gets(s);prints Enter n:n);scanff%d”,&n);fun(s,n,t);printfCThe string t:”);puts(t);11、给定程序中,函数fun的功能是:将形参n中,
20、各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。例如,输入一个整数:27638496,函数返回值为:64862。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK 1.C 中。不得增行或删行,也不得更改程序的结构!#include unsigned long fun(unsigned long n)unsigned long x=0;int t;while(n)t=n%10;/*3und*/if(t%2=_ l_)/*e und*/x=_ 2_+t;/*Cun(j*/n
21、=_ 3 _;)return x;)main()unsigned long n=-l;while(n99999999|n0)printfi(nPlease input(0n 100000000):);scanf(,*%ld,&n);printf(nThe result is:%ldnM,fun(n);12、给定程序中,函 数 fun的功能是:有NXN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若 N=3,有下列矩阵:1 2 34 5 67 8 9 计算结果为1 0 06 5 010 14 9请在程序的下划线处填入正确的内容并把下划线删除,使程序
22、得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK1.C 中。不得增行或删行,也不得更改程序的结构!#includc#define N 4void fun(int(*t)_1_)int i,j;for(i=l;iN;i+)for(j=O;ji;j+)_2_=tiU+tU i;/*仿und*/intt N=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,ij;printfifHnThe original array:nM);fbr(i=O;iN;i+)for(j=O;jN;j+)printff%2d H,tij);
23、printf(,nM);fun(t);printf(nThe result is:n);fbr(i=O;iN;i+)fbr(j=O;jN;j+)printf(%2d,tij);printf(n);13、给定程序中,函数fUn的功能是:将 s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次 序。例 如,形 参 s所 指 的 字 符 串 为:def35adh3kjsdf7o 执行结果为:defadhkjsdf3537o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLAN
24、K1.C 中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s)int i,j=0,k=0;char tl80,t280;for(i=0;si!=0;i+)if(si=0&si=9)t2j=si;_ l _else tlk+=si;t2U=0;tlk=O;for(i=0;ik;i+)_2_;/*found*/for(i=0;i 3_;i+)sk+i=t2i;main()char s80=def35adh3kjsdf7;printf(nThe original string is:%sn,s);fiin(s);print心 nThe result is:%s
25、n,s);)14、给定程序中,函数fun的功能是计算下式例如:若形参e 的值为le-3,函数的返回值为0.551690o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注 意:源 程 序 存 放 在 考 生 文 件 夹 下 的BLANK 1.C 中。不得增行或删行,也不得更改程序的结构!#include double fun(double e)int i,k;double s,t,x;s=0;k=l;i=2;/*nd*/x=1 /4;while(x _ 2_ e)s=s+k*x;k=k*(-1);t=2*i;/*8und*/q-data=t;q=q-next;p=p-ne
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 题库 笔试 复习资料
限制150内