您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > C语言习题集参考答案
C语言习题集一、程序设计基本概念1、以下叙述正确的是:__B__。A)C语言的源程序不必通过编译就可以直接运行。B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。C)C语言源程序经编译形成的二进制代码可以直接运行。D)C语言中的函数不可以单独进行编译。2、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是_B_。A)有0个或多个输入。B)有0个或多个输出。C)有穷性。D)可行性。3、以下叙述中正确的是___C__。A)C语言比其它语言高级。B)C语言可以不用编译就能被计算机识别执行。C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。D)C语言出现的,具有其它语言的一切优点。4、C语言中用于结构化程序设计的3种基本结构是__A__。A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。A)计算机语言中,只有机器语言属于低级语言。B)高级语言源程序可以被计算机直接执行。C)C语言属于高级语言。D)机器语言是所用机器无关的。二、C程序设计初步1、以下4个用户定义标识符中,全部合法的一组是__A__。A)_mainencludesinB)if–maxturboC)txtREAL3COMD)intk_2_0012、以下不能定义为用户标识符的是_D__。A)scanfB)VoidC)_3comD)int3、以下符合C语言语法的实型常量是__C__。A)1.2E0.5B)3.14159EC).5E-3D)E154、若以下选项中的变量已正确定义,则正确的赋值语句是_C__。A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3;5、设有定义:floata=2,b=4,h=3;以下C语言表达式中与代数式hba21计算结果不相符的是__B__。A)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2D)h/2*(a+b)6、下面叙述正确的是__A___。A)C程序中注释部分可以出现在程序中任何合适的地方。B)花括号“{”和“}”只能作为函数体的定界符。C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。D)分号是C语句之间的分隔符,不是语句的一部分。7、下列选项中可以作为C语言中合法整数的是__C__。A)10110BB)0386C)0XffaD)x2a28、下列选项中非法的表达式是__D___。A)0=x100B)i=j==0C)(char)(65+3)D)x+1=x+19、有以下程序:main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf(“%d%d%3.1f%3.1f\n”,a,c,f,x);}程序运行后的输出结果是_B__。A)16516.5B)1651.56.5C)1651.06.5D)2651.56.510、设有以下定义:inta=0;doubleb=1.25;charc=’A’;#defined2则下面语句中,错误是__D__。A)a++;B)b++;C)c++;D)d++;11、设有如下程序段:intx=2002,y=2003;printf(“%d\n”,(x,y));则以下叙述正确的是__D__。A)输出语句中格式说明的个数少于输出项的个数,不能正确输出。B)运行时产生出错信息。C)输出值为2002。D)输出值为2003。12、设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面2位,并将第3位四舍五入的是__C__。A)x=x*100+0.5/100.0B)x=(x*100+0.5)/100.0C)x=(int)(x*100+0.5)/100.0D)x=(x/100+0.5)*100.0c中先强制将数改为int型13、要求以下程序功能是计算:101...31211smain(){intn;floats;s=1.0;for(n=10;n1;n--)s=s+1/n;printf(“%6.4f\n”,s);}程序运行后输出结果错误,导致错误结果的程序行是__C__。A)s=1.0;B)for(n=10;n1;n--)同for(n=10,n=10,n++)C)s=s+1/n;D)printf(“%6.4f\n”,s);14、在一个C程序中__B__。A)main函数必须出现在所有函数之前。B)main函数可以在任何地方出现。C)main函数必须出现在所有函数之后。D)main函数必须出现在固定位置。15、下列叙述中,正确的是__D__。A)C语言中既有逻辑类型也有集合类型。B)C语言中没有逻辑类型但有集合类型。C)C语言中有逻辑类型但没有集合类型。D)C语言中既没有逻辑类型也没有集合类型。(本人注:C语言没有,如果表示逻辑类型,只能用整型值代替,0代表false,非0代表true。集合是一种没有元素间关系的类型。C语言没有这种类型。注意数组不算,因为数组元素之间有前驱和后继关系。)16、下列关于C语言用户标识符的叙述中正确的是__B__。(只能以下划线和字母开头)A)用户标识中可以出现下划线和中划线(减号)。B)用户标识符中不可以出现中划线,但可以出现下划线。C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头。D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头。17、下列关于单目运算符++、--的叙述中正确的是__D__。A)它们的运算对象可以是任何变量和常量。B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量。C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量。D)它们的运算对象可以是char型变量、int型变量和float型变量。18、有以下程序:main(){inti=10,j=1;printf(“%d,%d\n”,i--,++j);}执行后输出结果是__B_。A)9,2B)10,2C)9,1D)10,1填空题1、以下sum函数的功能是计算下列级数之和。!...!3!2132nxxxxsn,请给函数中的各变量正确赋初值。doublesum(doublex,intn){inti;doublea,b,s;s=1.0;a=1;b=1;for(i=1;i=n;i++){a=a*x;b=b*i;s=s+a/b;}returns;}2、若有语句:inti=-19,j=i%4;printf(“%d\n”,j);则输出结果是__-3___。同步练习1、一个C语言的源程序中,___A__。A)必须有一个主函数B)可能有多个主函数C)必须有除主函数外其它函数D)可以没有主函数2、C语言程序总是从_C__开始执行。A)第一条语句B)第一个函数C)主函数D)子程序3、对C语言源程序执行过程描述正确是__A__。A)从main函数开始执行。B)从程序中第一个函数开始执行,到最后一个函数结束。C)从main函数开始执行,到源程序最后一个函数结束。D)从第一个函数开始,到main函数结束。4、以下选项中合法的用户标识符是__B__。A)longB)_2TestC)3DmaxD)for5、以下对C语言的描述中正确是__C___。A)C语言源程序中可以有重名的函数。B)C语言源程序要求每行只能书写一条语句。C)注释可以出现在C语言源程序中的任何位置。D)最小的C语言源程序中没有任何内容。6、在C语言中,不正确的int类型常数是__A__。A)32768B)0C)037D)0xAF7、以下选项中属于C语言的数据类型是__C__。A)复数型B)逻辑型C)双精度型D)集合型8、下列变量中定义合法的是__A__。A)shor_a=1-1e-1;B)doubleb=1+5e2.5;C)longdo=0xfdal;D)float2_and=1-e-3;9、C语言中运算对象必须是整形的运算符是__A__。A)%=B)/C)=D)*=10、设有intx=11;,则表达式(x++*1/3)的值是__A__。A)3B)4C)11D)1211、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是_C__。A)1B)2C)2.0D)1212、若有以下程序段:intc1=1,c2=2,c3;c3=1.0/c2*c1;,则执行后,c3中的值是_A__。A)0B)0.5C)1D)213、执行下列程序的输出结果是_A__(小数点后只定1位)。main(){doubled;floatf;longm;inti;i=f=m=d=20/3;printf(“%d%ld%f%f\n”,i,m,f,d);}A)666.06.0B)6666.76.7C)666.06.7D)666.76.014、设有以下的变量定义:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是__A__。A)a+=a-=(b=4)*(a=3)B)x%(-3)C)a=a*3=2D)y=float(i)15、执行下列程序后的输出结果是_C__。注:此题应注意Cmain(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(“%d\n”,d*y);}A)3B)3.2C)0D)3.0716、若变量已正确定义并赋值,下面符合C语言语法的表达式是_B___。A)a:=b+1B)a=b=c+2C)int18.5%3D)a=a+7=c+b17、假定有以下变量定义:intk=7,x=12;,则值为3的表达式是_D__。A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)18、设x和y均为int型变量,则下列语句:x+=y;y=x-y;x-=y;的功能是__D__。A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值19、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为_C_。A)4B)16C)32D)52二、填空题1、以下程序的输出结果是____。0voidmain(){unsignedshorta=65536;intb;printf(“%d\n”,b=a);}2、若有定义:inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是__3__。c=(a-=(b-5));c=(a%11)+(b=3);3、设有以下变量定义,并已赋确定的值,charw;intx;floaty;doublez;则表达式:w*x+z-y年求得的数据类型为__double或双精度型__。三、顺序结构典型考试题1、以下4个选项中,不能看作一条语句的是_D__。A){;}B)a=0,b=0,c=0;C)if(a0);D)if(b==0)m=a;n=2;2、有以下程序:main(){intx=102,y=012;printf(“%2d,%2d\n”,x,y);}执行后输出结果是__C__。A)10,01B)02,12C)102,10D)02,103、有定义语句:intx,y;,若要通过语句scanf(“%d,%d”,&x,&y);使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是__C__。A)1112回车B)11,12回车C)11,12回车D)11,回车12回车4、若有以下程序段(n为八进制数)intm=32767,n=032767
本文标题:C语言习题集参考答案
链接地址:https://www.777doc.com/doc-2907843 .html