您好,欢迎访问三七文档
第一章1.以下叙述中错误的是()B.C语言编写的每个函数都可以进行独立编译并执行2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是()A.C语言程序仅可以编译执行3.C语言规定:在一个源程序中,main的位置()A.可以任意4.一个C语言程序是由()C.函数组成5.以下关于结构化程序设计的叙述中正确的是()B.c语言中,程序的模块化是利用函数实现的6.以下叙述正确的是()C.c语言本身没有输入和输出语句7.以下叙述中错误的是()A.C语言编写的每个函数都可以进行独立编译并执行8.以下叙述正确的是()B.c程序中注释部分可以单独占一行9.以下叙述正确的是()D.c语言函数可以嵌套调用,如fun(fun(x))10.一个C程序的执行是从()D.本程序main函数开始,到main函数结束11.以下叙述不正确的是()A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是()(B‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(Cdouble)3判断字符型变量c1是否为数字字符的正确表达式为()(A(C1=‘0’)&&(C1=‘9’))4若有定义语句:intk1=10,k2=20;,执行表达式(k1=k1k2)&&(k2=k2k1)后,k1和k2的值分别为()(B0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。(Bb-agotoint)6判断字符型变量c1是否为小写字母的正确表达式为()。(B(c1=’a’)&&(c1=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。(Bdouble)8下面四个选项中,均是合法的用户标识符的选项是()。(A-123tempINT)9若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()(D1)10假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。(B8)11以下选项中关于C语言常量的叙述错误的是:()(D经常被使用的变量可定义为常量)12若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。(B32)13下面正确的字符常量是()(B‘w’)14在C语言中,要求运算数必须是整型的运算符是()(A%)15以下关于C语言数据类型使用的叙述中错误的是()(B若只处理’真’和’假’两种逻辑值,应使用逻辑类型)16以下选项中,能表示逻辑值假的是()(B0)17C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()(D必须为字母或下划线)18在C语言中,char型数据在内存中的存储形式是()。(CASCLL码)19下列表达式中,不满足当x的值为偶数时值为真,为奇数时值为假的要求的是()(C!(x%==0))20设:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&&(n=cd)后n的值为()。(C2)21若有数学式3aebc,则不正确的C语言表达式是()(A3*a*e/b*c)第三章程序改错1/*下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。例如,当n为5时,函数值应为10.407143。f(x)函数定义如下:f(x)=(1)(2)0002(1)(2)0xxxxxxxx或请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:*/#includestdlib.h#includestdio.h#includemath.h/**********ERROR**********/f(doublex){if(x==0.0||x==2.0)return0.0;elseif(x0.0)return(x-1)/(x-2);elsereturn(x+1)/(x-2);}doublefun(intn){inti;doubles=0.0,y;for(i=-n;i=n;i++){y=f(1.0*i);s+=y;}/**********ERROR**********/returns}voidmain(){printf(%lf\n,fun(5));}参考答案doublef(doublex)returns;2./*下列给定程序中,函数fun的功能是:求三个数的最小公倍数。例如,给变量x1、x2、x3分别输入15、11、2,则输出结果应当是330。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:*/#includestdio.hintfun(intx,inty,intz){intj,t,n,m;/**********ERROR**********/j=1;t=m=n=1;/**********ERROR**********/while(t!=0&&m!=0&&n!=0){j=j+1;t=j%x;m=j%y;n=j%z;}returnj;}voidmain(){intx1,x2,x3,j;printf(Inputx1x2x3:);scanf(%d%d%d,&x1,&x2,&x3);printf(x1=%d,x2=%d,x3=%d\n,x1,x2,x3);j=fun(x1,x2,x3);printf(Theminimalcommonmultipleis:%d\n,j);}参考答案j=0;while(t!=0||m!=0||n!=0)3/*下列程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:*/#includestdio.h#includeconio.hlongfun(longnum){/**********ERROR**********/longk;do{k*=num%10;/**********ERROR**********/num\=10;}while(num);return(k);}voidmain(){intn;printf(\Pleaseenteranumber:);scanf(%ld,&n);printf(\n%ld\n,fun(n));}参考答案longk=1;num/=10;4/*下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值:t=1-1/(22)1/(33)...1/()mm请改正函数fun()中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:*/#includestdlib.h#includestdio.hdoublefun(intm){doubley=1.0;inti;/**********ERROR**********/for(i=2;im;i++)/**********ERROR**********/y-=1/(i*i);return(y);}voidmain(){intn=5;printf(\nTheresultis%1f\n,fun(n));}参考答案for(i=2;i=m;i++)y-=1.0/(i*i);5/*下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数的值为4622。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:*/#includestdio.h#includestdlib.hintfun(intk){intm=0,mc=0,j;while((k=2)&&(mc10)){/**********ERROR**********/if((k%13=0)||(k%17=0)){m=m+k;mc++;}k--;/**********ERROR**********/)returnm;}voidmain(){printf(%d\n,fun(500));}参考答案if((k%13==0)||(k%17==0))}6注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:*/#includestdlib.h#includeconio.h#includestdio.hdoublefun(intm){doublet=1.0;inti;for(i=2;i=m;i++)/**********ERROR**********/t+=1.0/k;/**********ERROR**********/returni;}voidmain(){intm;printf(\nPleaseenter1integernumber:);scanf(%d,&m);printf(\nTheresultis%1f\n,fun(m));}参考答案t+=1.0/i;returnt;7./*下列给定程序中函数fun的功能是:计算n!。例如,给n输入5,则输出120.000000。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:*/#includestdio.h#includeconio.hdoublefun(intn){doubleresult=1.0;/**********ERROR**********/ifn==0return1.0;while(n1&&n170)/**********ERROR**********/result=n--;returnresult;}voidmain(){intn;printf(InputN:);scanf(%d,&n);printf(\n\n%d!=%lf\n,n,fun(n));}参考答案if(n==0)result*=n--;8/*下列给定程序中,函数fun的功能是:判断一个整数m是否是素数,若是返回1,否则返回0。在main函数中,若fun()返回1则输出YES,若fun()返回0则输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:*/#includestdlib.h#includestdio.hintfun(intm){intk=2;while(k=m&&(m%k))/**********ERROR**********/k++/**********ERROR**********/if(m=k)return1;elsereturn0;}voidmain(){intn;printf(\nPleaseentern:);scanf(%d,&n);if(fun(n))printf(YES\n);elseprintf(NO!\n);}参考答案k++;if(k==m)程序填空1/*已知如下公式:1121231234123353573579下面程序的功能使根据上述公式输出满足精度要求的eps的值,请填空使程序完整。*/#includestdio.h#includemath.hintmain(){doubles=0.0,eps,t=1.0;intn;scanf(%lf,&eps);for(n=1;t=fabs(eps);n++){s+=t;/**********FILL**********/t=[1];}/**********FILL**********/[2];return0;}参考答案t*n/(2*n+1)printf(%lf\n,2*s)2/*请补充main函数,该函数的
本文标题:百科园C语言题库
链接地址:https://www.777doc.com/doc-5124000 .html