欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    全国计算机二级C语言试题库.docx

    • 资源ID:68228138       资源大小:110.79KB        全文页数:87页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    全国计算机二级C语言试题库.docx

    下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+l)+f(0)+f(l)+f(2)+f(n)的值。 例如,当n为5时,函数值应为10.407143。f(x)函数定义如下:f(x)=请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#indude <stdlib.h>#include <conio.h>#include <stdio.h>#include <math.h> /* f o und*I f(double x)if(x=O.O| |x=2.0) return 0.0;else if(x<0.0) return(x-l)/(x-2);else return(x+l)/(x-2);double fun(int n)int i; double s=O.Ozy;for(i=-n; i<=n;i+)y=f(1.0*i); s+=y;/*found*/ return s|void main()system("CLS");printf("fn”,fun(5);正确:double f(double x)正确:return s;【参考答案】(1)错误:f(double x)(2)错误:return s t=l+l/2+l/3+l/4+.+l/m例如,若输入5,则应输出2.283333o请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <stdlib.h>#include <conio.h>#include <stdio.h> double fun(int m)(double t=1.0;int I;for(l=2;l<=m;l+)t+=l.O/k;return I;void main()int m;system("CLS");printf("nPlease enter linteger number:");scanf(”d”,&m);printf("nThe result is %lfn"/ fun(m);)【参考答案】错误:t+=l.O/k;正确:t+=1.0/l;(2)错误:return I;正确:return t;下列给定程序中,函数fun的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给 字符串 s 输入:AaaaBBbl23CCccccd,则应输出结果:upper=5,lower=9。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<conio.h>#include<stdio.h>/*found*/void fun(char *s,int a,int b)while(*s)/*found*/if(*s>='a' && *s<='z') b+;s+;main()(char s100;int upper=0Jower=0;printf("nplease a stringgets(s);fun(s,&upper/&lower);printf("n upper=%d lower=%dn"/upper,lower);【参考答案】(1)错误:void fun(char *sz int a, int b)正确:void fun(char *s, int *a, int *b)(2)错误:a+;正确:(*a)+;错误:b+;正确:(*b)+;下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252, 则输出应该是20。若输入202,则输出应该是0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <stdio.h> #include <conio.h> long fun(long num) long k; dok *=num%10;/*found*/ num =10;while(num);return(k);) main()(int n;printf("Please enter a number:");scanf("ld”,&n);printf("n%ldn"/fun(n);【参考答案】错误:long k;正确:long k=l;错误:num=10;正确:num/ =10;下列给定程序中函数fun的功能是:计算n!o例如,给n输入5,则输出120.000000。 请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <stdio.h>#include <conio.h>double fun(int n)double result =1.0;/*found*/if n=0return 1.0;while(n>l&&n<170)/*found*/ result=n-;return result; void main()int n;printf("lnput N:");scanf("%d”,&n);printf("nn%d!=%lfn"/n,fun(n);【参考答案】(1)错误:if n=0正确:if(n=O)错误:result =n-;正确:result *=n;下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自 然数之和。k的值山主函数传入,若k的值为500,则函数的值为4622。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <stdio.h>#include <conio.h>#include <stdlib.h>int fun(int k)int m=O,mc=O, j;while(k>=2)&&(mc<10)/*m*found* * * / if(k%13=0)| |(k%17=0)m=m+k;mc+;k;/*m*found* * Ireturn m;void main()system("CLSH);printf("%dn ",fun(500);【参考答案】错误:if(k%13=0)| |(k%17=0)正确:if(k%13=0)| |(k%17=0)错误:缺少大括号正确:加卜.列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如卜公式的值: 请改正函数fun()中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <stdlib.h>#include <conio.h> #include <stdio.h> double fun(int m) double y=1.0;int I;/* * * found for(l=2;l<m;l+)/* *foundy-=l/(l*l);return(y);)void main()int n=5;system("CLS");printf("nThe result is %lfn", fun(n);【参考答案】(1)错误:for(i=2;i<m;i+) 正确:for(i=2;i<=m;i+)(2)错误:y-=l/(i*i);正确:y-=1.0/(i*i);在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给 定程序中,函数fun的功能是:计算数组元素中值为正数的平均值(不包括0)。例如,数组中元素 的值依次为39,-47,21,2,-8,15,0,则程序的运行结果为19.250000» 请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <conio.h>#include <stdio.h>double fun(int x) /*found*/ int sum=0.0;int c=0,1=0;while(xl!=0)sum+=xl;C+;)I+;/*found*/ sum=sumc;return sum;【参考答案】正确:double sum=0.0;正确:sum/=c;(1)错误:int sum=0.0;(2)错误:sum=c;下列给定程序中,函数fun的功能是:判断一个整数m是否是素数,若是返回1,否则返回0。在 main函数中,若fun()返回1则输出"YES",若fun()返回0则输出"NO!"。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <stdlib.h>#include <conio.h>#include <stdio.h>int fun(int m)int k=2;while (k<=m&&(m%k)/*found* * * / k+/*m*found* * / if(m=k)return 1;else return 0;|void main()int n;system("CLS");printf("nPlease enter n:");scanf(“d”,&n);if(fun(n) printf("YESn");else printf(HNO!n");【参考答案】错误:k+(2)错误:if(m=k)正确:k+;正确:if(m二二 k)下列给定程序中,函数fun的功能是:按如下递归公式求函数值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14.请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include <stdio.h>int fun(n)int c;if(n=l)c=10;elsec=fun(n-l)+2;return(c);void main()int n;printf("Enter n:");scanf("%d",&n);printf("The result: %dnn" ,fun(n);【参考答案】错误:int fun(n)正确:int fun (int n)错误:if(n=l)正确:if(n=l)下列给定程序中,函数fun的功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一 项起,斐波拉契级数序列为1,1,2,3,5,8,13,21,例如,若给n输入7,该项的斐波拉契级数值为 13。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#indude <stdio.h>*/long fun(int g)/*founcl switch(g);case Orreturn 0;/*foundcase 1; case 2:return 1;return (fun(g-l)+fun(g-2);void main()long fib; int n;printf(',lnputn:");scanf("%d"/&n);printf(,n=%dn',/n);fib=fun(n);printf("fib=%dnn"/fib);)【参考答案】(1)错误:switch(g);正确:去掉分号(2)错误:case l;case 2: return 1;正确:case l:case 2:return 1;下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a中的数 对调、次最大数和al中的数对调。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include <conio.h>#include <stdio.h>#define N 20void fun(int *ajnt n);(int I, m, t, k;for(l=0; l<n;l+)(/* *fou nd*/m=0;for(k=l+l; k<n; k+) if(ak>am)m=k;t=al;al=am;am=t;main()(int bN=ll,5,12,0,3,6,9,7,10,8,n=10,i;system("CLS");for(i=0; i<n; i+)printf("%d ",bi);printf("n");fun(b,n);for(i=0; i<n; i+)printf("%d ", bi);printf("n");【参考答案】错误:void fun(int *a, int n);正确:void fun(int *a, int n)(2)错误:m=0;正确:m=i;下列给定程序中,函数fun的功能是:将卜进制正整数m转换成进制数,并按位输出。例如,若 输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)« 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:/include <stdio.h>tfinclude <conio.h>/* f 0 und*Ivoid fun(int mjnt k);int aa20z i;for(i=0;m;i+)/*found*/ aai=m/k;m/=k;for(;i;Hprintf("%d",aai);)main()int b,n;printf("nPlease enter a number and a base:nH);scanf("%d%d"/&n/&b);fun(nzb);printf("n ");)【参考答案】(1)错误:void fun(int m, int k);正确:void fun(int m, int k)错误:aai=m/k;正确:aai=m%k;(3)错误:printf("%d”, aai);正确:printf(”%d”, aai-l);下列给定程序中,函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y 不相等,z和y不等。例如,当x的值为9,y的值为ll,z的值为15时,函数值为-3.50。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:ftinclude <stdlib.h>/include <stdio.h>#include <math.h>#define FU(m,n) (m/n)float fun(float a,float b,float c)float value;value=FU(a+b/a-b)+FU(c+b/c-b);/* f 0 und*I return(Value);void main()float x,y,z,sum;printf("lnput x y z:");scanf(”f%f%f“,&x,&y,&z);printf(“x=%f,y=%f,z=%fn,x,y,z);if(x=y 11 y=z) printf("Data error! nexit(O);sum=fun(x/y/z);printf("The result is:%5.2fn M,sum);【参考答案】错误用define FU(mzn) (m/n)正确:#define FU(m,n) (m)/(n)错误:return(Value);正确:return (value);下列给定程序中函数fun的功能是:先将在字符串s中的字符按逆序存放到t串中,然后把s 中的字符按正序连接到t串的后面。例如,当S中的字符串为ABCDE时,则t中的字符串应为 EDCBAABCDE»请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#include#include<stdlib.h><conio.h><stdio.h><string.h> void fun (char *sz char *t)int I,si; sl=strlen(s); for (l=0;l<sl;l+)tl=ssl-l;for (l=0;l<sl;l+) tsl+l=sl;void main()char s100, t100;system("CLS");printf("nPlease enter string s:");scanf(”s”,s);fun(s,t);printf ("The result is: %sn"zt);)【参考答案】错误:ti)=ssl-l;正确:ti=ssl-l-i;下列给定程序中,函数fun的功能是:求三个数的最小公倍数。例如,给变量xl、x2、x3分别输 入15、11、2,则输出结果应当是330«请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:/include <stdio.h>int fun(int x,int y,int z)intj=l;t=m=n=lj/*found*/while (t!=0 && m!=0 && n!=0)j=j+l; t=j%x;m=j%y;n=j%z;return j;void main()int xl,x2,x3J;printf("lnputxl x2 x3:");scanf(,'%d%d%d,'/&xl/&x2/&x3);printf("xl=%d/x2=%d/x3=%d nH/xl/x2,x3);j=fun(xl/x2,x3);printf("The minimal common multiple is: %dn"J);【参考答案】(1)错误:j=l;正确:j=0;(2)错误:while (t!=0 && m!=0 && n!=0)正确:while (t!=0 11 m!=0 11 n!=0)下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如输入8名学生的成绩:80.5 60 72 90.5 98 51.5 88 64则低于平均分的学生人数为4(平均分为75.5625)o请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:/include <stdlib.h>#include <stdio.h>#include <conio.h>#define N 20int fun(float *sz int njloat *aver)float ave zt=0.0;int count=0zkj;for(k=0;k<n;k+)/*found*/t=sk;ave=t/n;for(i=0;i<n;i+)if(si<ave) count+;/* f o und*I*aver=&ave;return count;)void main()float s30,aver;int m,i;system("CLS");printf("nPlease enter m: '*);scanf("%d”,&m);printf("nPlease enter %d mark :n",m);for(i=0;i<m;i+) scanf("%f',s+i);printf("nThe number of students :%dn"/fun(s/mz&aver);printf("Ave=%fn"/aver);)【参考答案】正确:t+= sk;(1)错误:t=sk;(2)错误:*aver=&ave;正确:*aver二ave;下列给定程序中,函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。 注意:字符串的长度最长允许为79。请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#include<stdio.h><string.h><conio.h>void fun(char s,int n) char a80/p;int I;/* *fou nd*I s=p;for(l=0;l<n;l+) al= doal=*p;/*found*/填空 while(*p);al='O'strcpy(s,a);|void main()int n;char s80;system("CLS");printf("nEnter a string: ");gets(s);printf("nThe string:%sn",s);printf("nEnter n (number of*):"); scanf(”%d”,&n);fun(s,n);printf("nThe string after inster:%sn",s);)【参考答案】正确:p=s;错误:s=p;应填 p+;或+p;或 p+二 1;或 p=p+l;错误:ai='0'正确:ai='0'或 ai=0下列给定程序中,函数fun的功能是:删除字符串s中所有空白字符(包括Tab符、回车符及换 行符)。输入字符串时用"#"结束输入。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <string.h>#include <stdio.h>#include <ctype.h> fun(char *p)int i, t; char c80j;for(i=0zt=0;pi;i+)if(!isspace(*(p+i) ct+=pi;/* f 0 und*I ct="O"strcpy(p,c);void main()char c,s80;int i=0;printf("lnput a string:");c=getchar();while(c!='#')si=c;i+;c=getchar();si='0'fun ;puts(s);【参考答案】错误:ct="O"正确:ct=3;下列给定程序中,函数fun的功能是:先从犍盘上输入一个3行、3列的矩阵的各个元素的值, 然后输出主对角线元素之和。请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#indude <stdio.h> void fun() int a33,sum;int i,j;*/sum=l;for (i=0;i<3;i+)for (j=O;j<3;j+)*/scanf("%d",aiU);for(i=0;i<3;i+)sum=sum+aii;printf("Sum=%dn",sum);void main()(fun();|【参考答案】错误:sum=l;正确:sum=0;(2)错误:scanf("%d",aiUl);正确:scanf("%d",&aij);下列给定程序中函数fun的功能是:求出字符串中最后一次出现的子字符串的地址,通过函数 值返回,在主函数中输出从此地址开始的字符串;若未找至U,则函数值为NULLo例如,当字符串 中的内容为abcdabfabcdx,t中的内容为ab时,输出结果应是abcdx。当字符串中的内容为 abcdabfabcdx,t中的内容为abd时,则程序输出未找到的信息"Notfound!"。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <string.h>char *fun(char *s,char *t) char p/r/a;a=Null;while(*s)P=s;r=t;while(*r)/*found*/ if(r=p) r+;p+;else break;if(*r='O') a=s;s+;return a;void main()chars100zt100,*p;system("CLS");printf("nPlease enter string S: ");scanf(”s”,s);printf("nPlease enter substring t:scanf("%s"zt);p=fun(szt);if(p) printf("nThe result is:%sn ",p);else printf(MnNot found>n【参考答案】(1)错误:a = Null;正确:a=NULL;错误:if(r=p) r+;p+;正确:if(*r二=*p) r+;p+;下列给定程序中,函数fun的功能是:将字符串tt中的小写字母都改为对应的大写字母,其他字 符不变。例如,若输入2脏了,则输出280“。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#include<stdio.h><string.h><conio.h>char *fun(char tt) int I;/*"ound*/for(l=0;ttl;l+)if('a,<=ttl)|(ttl<= 'z')ttl+=32;return(tt);main() char tt81;system("CLS");printf(HnPlease enter a string:gets(tt);printf("nThe result string is: n%s”,fun(tt);)【参考答案】错误:11正确:&&错误:tti+= 32 正确:tti-=32;下列给定程序中,函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函 数值返回。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <stdlib.h>#include <conio.h>#include <string.h>#include <stdio.h> #define N 80int fun(char *szchar *t)int n;char *p, *r;n=0;/*found*/P=&s0;*r=t;while(*p)if(*r=*p)r+;if(*r='0') (n+;1;P+;)return n;)void main()char aN,bN; int m;systemC'CLS*');printf("nPlease enter string a:gets(a);printf("nPlease enter substring b:"); gets(b);m=fun(azb);m=printf(*'nThe result is :m=%dn"/m);)【参考答案】(1)错误:*r=t;正确:r二t;(2)应填:r=t;或 r=&tO;下列给定程序中函数fun的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新 数放在t中。高位仍在高位,低位仍在低位。例如当s中的数为87653142时,t中的数为7531。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#include<stdlib.h><stdio.h><conio.h>void fun(long sjong *t) int d;long sl=l;t=0;while(s>0)d=s%10;if(d%2=0) *t=d*sl+*t;sl*=10;s/=10;|void main()long s, t;system("CLS");printf("nPlease enter s:scanf(“ld”,&s);fun(s,&t);printf("The result is :%ldn",t);【参考答案】错误:t=0;正确:*t=0;(2)错误:if(d%2=0)正确:if(d%2!=0)F列给定程序中,函数fun的功能是:实现两个整数的交换。例如,给a和b分别输入60和65, 输出为:a=65 b=60请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <stdio.h>#include <conio.h>tfinclude <stdlib.h>/*foun(j* * /void fun(int azb)intt;/* f 0 und*It=b;b=a;a=t;void main()int a,b;system("CLS");printf("Enter a, b: M); scanf("%d%d,z&az&b);fun(&a, &b);printf("a=%d b=%dn", a,b);|【参考答案】(1)错误:void fun(int a,b)正确:void fun(int *a,int *b)(2)错误:t=b;b=a;a=t;正确:t=*b;*b=*a;*a=t;下列给定程序中,函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面 值相等的十进制整数。规定输入的字符串最多只能包含5位8进制数字。例如,若输入77777, 则输出将是32767。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include <stdio.h>#include <stdlib.h>/include <string.

    注意事项

    本文(全国计算机二级C语言试题库.docx)为本站会员(文***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开