全国计算机等级考试二级C语言上机考试试题详解.pdf
《全国计算机等级考试二级C语言上机考试试题详解.pdf》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言上机考试试题详解.pdf(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四部分第四部分 全国计算机等级考试二级全国计算机等级考试二级 C C 语言上机考试试题详解语言上机考试试题详解第第 7 7 章全国计算机等级考试二级章全国计算机等级考试二级 C C 语言上机考试试题语言上机考试试题第第 1 1 套套填空题:填空题:请补充 main 函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存原来的字符串中.例如:当 strN=“123 abcdef ABCDEF!时,结果输出:“123ABCDEFABCDEF!”。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数fun 的横线上填入所
2、编写的若干表达式或语句。试题程序:includestdio.h#includeinclude=a&*(pf+j)=z)(pf+j)=【2】;j+;else【3】;printf(*new string*n”);puts(str);system(pause”);改错题:改错题:下列给定程序中,函数 fun()的功能是逐个比较 a,b 两个字符串对应位置中的字符,把 ASC值小或相等的字符依次存放到c 数组中,形成一个新的字符串.例如:a 中的字符串为 fshADfg,b 中的字符串为 sdAEdi,则 c 中的字符串应为 fdAADf。请改正程序中的错误,使它能得到正确结果。注意:不要改动 mai
3、n 函数,不得增行或删行,也不得更改程序的结构。试题程序:include#include string.h void fun(char p,char q,char*c)int k=0;while(pq)/*found*/if(p=q)ck=q;else ck=*p;if(*p)p+;if(*q)q+;/*found*/K+main()char a10=”fshADfg”,b10=”sdAEdi,c80=0;fun(a,b,c);printf(The string a:);puts(a);printf(The string b:);puts(b);printf(”The result:);put
4、s(C);编程题:编程题:请编写函数 fun(),其功能是将两个两位数的正整数a、b 合并形成一个整数放在 c 中。合并的方式是:将a 数的十位和个位数依次放在c 数的个位和十位上,b 数的十位和个位数依次放出 c 数的百位和千位上。例如,当 a=16,b=35,调用该函数后,c=5361。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。试题程序:includemain()float a,b,c,disc,xl,x2;do printf(Input a,b,c:);scanf(f,f,f”,a,b,&c);disc=b
5、b-4a*c;if(disc0)printf(”disc=fn lnput again!n,disc);while(【1】);printf(*the result*n1”);x1=【2】;x2=【3】;printf(”nx1=6。2fnx2=%6.2fn,x1,x2);改错题改错题:下列给定程序中,函数 fun()的功能是根据整型形参m,计算如下公式的值。(m+1)y=l1/(22)+1/(33)1/(44)+(1)/(mm)例如:m 中的值为 5,则应输出 0.838611。请改正程序中的错误,使它能得到正确结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序
6、:includeincludestdio。hdouble fun(int m)double y=1。0;/*found*/int j=1,i;for(i=2;i=m;i+)j=1j;/*found*/y+=1/(ii);return(y);main()int n=5;printf(nThe result islfn,fun(n);编程题:编程题:请编一个函数 void fun(int ttMN,int ppN,tt 指向一个 M 行 N列的二维数组,求出二维数组每列中最大元素,并依次放入pp 所指的一维数组中。二维数组中的数已在主函数中给出.注意;部分源程序给出如下。请勿改动主函数 main
7、和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句.试题程序:include#include stdio.h#define M 3#define N 4void fun(int ttMN,int pN)main()int tMN=68,32,54,12,14,24,88,58,42,22,44,56;int pN,i,j,k;printf(The riginal data is:n”);for(i=0;iM;i+)for(j=0;jN;j+)printf(6d”,ti j);printf(”n);fun(t,p);printf(nThe result is:n”);for
8、(k=0;kN;k+)printf(4d”,pk);printf(”n);第第 3 3 套套填空题填空题:数组 xxN保存着一组 3 位数的无符号正整数,其元素的个数通过变量num 传入函数 fun()。请补充函数 fun(),该函数的功能是:从数组xx 中找出个位和百位的数字相等的所有无符号整数,结果保存在数组中,其个数由函数fun()返回.例如:当 xx8=135,78,72,32,222,424,333,141,541时,bb6=787,232,222,424,333,141.注意:部分源程序给出如下.请勿改动主函数 main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编写
9、的若干表达式或语句。试题程序:includeconio。h#define N 1000 int fun(int xx,int bb,int num)int i,n=0;int g,b;for(i=0;inum;i+)g=【1】;b=xxi/100;if(g=b)【2】;return【3】;main()int xx8=135,787,232,222,424,333,141,541,yyN;int num=8,n=0,i=0;printf(*original data*n”);for(i=0;inum;i+)printf(%u”,xxi);printf(nnn);n=fun(xx,YY,num);
10、printf(”nyy=);for(i=0;in;i+)printf(u”,yyi);改错题:改错题:下列给定程序中函数 fun()的功能是计算 1/n!的值。例如:给 n 输入 5,则输出 0.008333。请改正程序中的错误,使它能得到正确结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:includestdio。h#includeconio。h /*found*/int fun(int n)double result=1.0;if(n=0)return 1.0;while(n1&n170)/*found*/result*=n+;result=1/res
11、ult;return result;main()int n;printf(”Input N:);scanf(%d”,n);printf(”n1/d!=lfn,n,fun(n);编程题:编程题:编写函数 fun(),它的功能是求 n 以内(不包括 n)同时能被 5 与 11 整除的所有自然数之和的平方根 s,并作为函数值返回.例如:n 为 1000 时,函数值应为 s=96。979379。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。试题程序:#include conio。h#include math.h#includ
12、e double fun(int n)main()int n=1000;printf(s=fn”,fun(1000);第第 4 4 套套填空题:填空题:给定程序的功能是判断字符ch 是否与串 str 中的某个字符相同;若相同,什么也不做,若不同,则插在串的最后.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!试题程序:#include include string。hvoid fun(char*str,char ch)while(*str&*str!=ch)str+;if(*str【1】ch)str0=ch;【2】=0;main
13、()chars81,c;printf(nplease enter a string:n);gets(s);printf(n please enter the character to search:”);c=getchar();fun(【3】);printf(nthe resultis sn”,s);改错题:改错题:下列给定程序中函数 fun()的功能是计算正整数 num 的各位上的数字之平方和。例如:输入 352,则输出应该是 38;若输入 328,则输出应该是 77。请改正程序中的错误,使它能得到正确结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:#i
14、nclude stdio.h#include include math.h#include int fun(int t)main()int n;n=1000;printf(”n=d,f=dn,n,fun(n));第第 5 5 套套填空题填空题:请补充函数 fun(),该函数的功能是:把从主函数中输入的字符串 str2 倒置后接在字符串 strl 后面。例如:strl=“How do,str2=“?od uoy,结果输出:“How do you do?”。注意:部分源程序给出如下.请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句.试题程序
15、:#include stdio.hinclude conio。h#define N 40void fun(char*strl,char*str2)int i=0,j=0,k=0,n;char ch,*pl=strl,p2=str2;while((pl+i))i+;while(*(p2+j)j+;n=【1】;for(;k=j/2;k+,j-)ch=*(p2+k);*(p2+k)=*(p2+j);*(p2+j)=ch;【2】;for(;【3】;i+)(pl+i)=p2+;(pl+i)=0;main()char strl N,str2 N;int m,n,k;printf(”*Input the s
16、tring strl&str2*n);printf(nstrl:”);gets(strl);printf(”nstr2:”);gets(str2);printf(*The string strl str2*n);puts(strl);puts(str2);fun(str1,str2);printf(“The new string*n”);puts(str1);改错题:下列给定程序中,函数 fun()的功能是找出 100n(n 不大于 1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在 s 所指的数组中,个数作为函数值返回。请改正程序中的错误,使它能得到正确结果.注意:不要改
17、动 main 函数,不得增行或删行,也不得更改程序的结构.试题程序:#includestdio.h#define N 100int fun(int*s,int n)int i,j=0,k,a,b,c;for(i=100;in;i+)*k=n;a=k%10;k/=10;b=k10;c=k/10;if(a=b+c)*s j=i;return j;main()int aN,n,num=0,i;do printf(nEnter n(=1000):);scanf(%d,&n);while(n 1000);num=fun(a,n);printf(nnThe result:n”);for(i=0;iincl
18、ude stdlib。h#define N 5fun(int aN,int n)main()int aNN,n,i,j;printf(*The array*n);for(i=0;iN;i+)/*产生一个随机 55 矩阵*/for(j=0;j=5);/产生一个小于 5 的随机数 n/printf(n=4dn”,n);fun(a,n);printf(*THE RESULTn”);for(i=0;iN;i+)for(j=0;jdefine N 1000void fun(char tt,int num)int i,j,bb10;char*p=tt;for(i=0;i10;i+)numi=0;bbi=0
19、;while(【1】)if(p=0*p=9)【2】;p+;for(i=l,j=0;i10;i=i+2,j+)【3】;main()char str N;int num10,k;printf(”nPlease enter a char string:);gets(str);printf(nThe original string*n”);puts(str);fun(str,num);printf(n*The number of letter*n”);for(k=0;k5;k+)printf(n”);print f(”d=%d,2*k+1,num k);printf(”n”);return;改错题改错
20、题:下列给定程序中,函数fun()的功能是求出数组中最小数和次最小数,并把最小数和 a0中的数对调,次最小数和a1中的数对调。请改正程序中的错误,使它能得到正确结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:include conio。hinclude stdio。hdefine N 20void fun(int*a,int n)int i,m,t,k;*for(i=0;in;i+)m=i;for(k=i;kn;k+)if(ak am)*k=m;t=a i;ai=am;am=t;main()int x,bN=ll,5,12,0,3,6,9,7,10,8,n
21、=10,i;for(i=0;iinclude string.hint fun(int score,int m,int up)main()int i,n,up9;int score 9=24,35,88,76,90,54,59,66,96;n=fun(score,9,up);printf(”nup to the average score are:);for(i=0;in;i+)printf(%d”,upi);第第 7 7 套套填空题填空题:请补充 main 函数,该函数的功能是:从字符串str 中取出所有数字字符,并分别计数,然后把结果保存在数组b 中并输出,把其他字符保存在b10中。例如:当
22、 strl=“abl23456789cde090时,结果为:0:2 1:1 2:1 3:1 4:1 5:1 6:1 7:1 8:1 9:2 0ther charactor:5注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#includestdio.h#includeconio。hmain()int i,bll;char*str=”ab123456789cde090,*p=str;printf(*the origial data*n);puts(str);for(i=0;ill;i+)bi=0;whi
23、le(p)switch(【1】)case 0:b0+;break;case 1:b1+;break;case 2:b2+;break;case 3:b3+;break;case 4:b4+;break;case 5:b5+;break;case 6:b6+;break;case 7:b7+;break;case 8:b8+;break;case 9:b9+;break;【2】;【3】;printf(”*the result*n);for(i=0;il0;i+)printf(”n%d:d,i,bi);print f(nother charactor:d,b i);改错题:下列给定程序中,函数 f
24、un()的功能是计算并输出high 以内的素数之和。high由主函数传给 fun()函数.若 high 的值为 100,则函数的值为 1060。请改正程序中的错误,使它能得到正确结果.注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:#include conio.h#include include math。hint fun(int high)int sum=0,n=0,j,yes;while(high=2)yes=1;for(j=2;j=high/2;j+)*ifhigh%j=0 yes=0;break;*if(yes=0)sum+=high;n+;high-;
25、return sum;main()printf(%dn”,fun(100);编程题:编程题:请编写函数 void fun(int x,int pp,int*n),它的功能是求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参 n 返回。例如,若 x 中的值为 24,则有 6 个数符合要求,它们是 2,4,6,8,12,24.注意:部分源程序给出如下.请勿改动主函数 main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。试题程序:#include include void fun(int x,int pp,int*n)mai
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 上机 考试 试题 详解
限制150内