您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > C语言程序设计习题及答案
第一部分C语言基础一、单项选择1.以下不是C语言的特点的是()。(A)C语言简洁、紧凑(B)能够编制出功能复杂的程序(C)C语言可以直接对硬件进行操作(D)C语言移植性好2.下列浮点数的表示中正确的有()。(A)223(B).719E22(C)e23(D)12e2.03.字符型常量在内存中存放的是()。(A)ASCII代码(B)BCD代码(C)内部码(D)十进制码4.“BB\n\\\123\r”在内存中占的字节数是(),此字符串的长度为()。(A)6(B)7(C)8(D)9(E)10(F)115.对于语句scanf(“%f□%f,z=%f”,&x,&y,&z);,其合法的输入形式为()。(A)□14.7□2.0□15.3(B)14.7,2.0,15(C)14.7□□2.0,15.3(D)14.7□□□2.0,z=156.下列运算符中,结合方向为自左向右的是()。(A)=(B),(C)+=(D)――7.若有intx;则sizeof(x)和sizeof(int)两种描述()。(A)都正确(B)值不一样(C)前者正确(D)后者正确8.整型变量x=1,y=3,经下列计算后,x的值不等于6的是()。(A)x=(x=1+2,x*2)(B)x=y2?6:5(C)x=9-(--y)-(--y)(D)x=y*4.2/29.单精度变量x=3.0,y=4.0,下列表达式中y的值为9.0的是()。(A)y/=x*27/4(B)y+=x+2.0(C)y-=x+8.0(D)y*=x-3.010.若整型变量i=3,j=4,作运算j=i+++j+i后,i的值为(),j的值为()。(A)10(B)4(C)3(D)1111.设有整型变量x=10,表达式(x&&1535)&(x|55&100)的值为()。(A)0(B)1(C)10(D)1112.设有整型变量x,其值为25,则表达式:(x&201)|(x10|7&x^33)的值为()。(A)35(B)41(C)11(D)313有整型变量x,单精度变量y=5.5,表达式:x=(float)(y*3+((int)y)%4)执行后,x的值为()。(A)17(B)17.500000(C)17.5(D)1614.表达式:0?2:0,3/2,0==3=2?55:6.0,4%3的值为()。(A)1.3333333(B)1(C)6.0(D)1.515.以下选项中属于C语言中数据类型的是()。(A)复数型(B)逻辑型(C)双精度型(D)集合型16.在C语言中,不正确的int类型的常数是()。(A)32768(B)0(C)037(D)0xAF17.语句:printf(“%d\n”,(a=2)&&(b=-2));的输出结果是()。(A)无输出(B)结果不确定(C)-1(D)118.当c的值为0时,在下列选项中能正确将c的值赋给变量a,b的是()。(A)c=b=a;B)(a=c)||(b=c);(C)(a=c)&&(b=c);(D)a=c=b;19.下列程序的输出结果是()。(A)3(B)3.2(C)0(D)3.07main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(“%d\n“,d*y);}20.下列变量定义中合法的是()。(A)short_a=1-.1e-1;(B)doubleb=1+5e2.5;(C)longdo=0xfdaL;(D)float2_and=1–e–3;21.设intx=1,y=1;表达式(!x||y--)值是(A)0(B)1(C)2(D)-122.下列程序执行后的输出结果是()。(A)G(B)H(C)I(D)Jmain(){intx=‘f‘;printf(“%c\n“,‘A’+(x–‘a‘+1));}23.下列程序执行后的输出结果是()。(A)-32767(B)FFFE(C)-1(D)-32768main(){charx=0xFFFF;printf(“%d\n“,x--);}24.设有如下定义:inti=8,k,a,b;unsingedlongw=5;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是:(A)a+=a-=(b=4)*(a=3)(B)x%(-3)(C)a=a*3=2(D)y=float(i)25.以下程序的执行结果是()。inta=2,c=5;printf(“a=%%d,b=%%d\n”,a,c);(A)a=%2,b=%5(B)a=2,b=5(C)a=%%d,b=%%d(D)a=%d,b=%d26.在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是()。(A)a=20000+20000;(B)a=4000*10;(C)a=30000+10000;(D)a=4000L*10L;27.以下叙述正确的是(A)可以把define和if定义为用户标识符。(B)可以把define定义为用户标识符,但不能把if定义为用户标识符。(C)可以把if定义为用户标识符,但不能把define定义为用户标识符。(D)define和if都不能定义为用户标识符。28.以下程序的输出结果是main(){inta=3;printf(%d\n,a+(a-=a*a));}(A)-6(B)12(C)0(D)–1229.下列程序执行后的输出结果是(小数点后只写一位)(A)666.06.0(B)666.76.7(C)666.06.7(D)666.76.0main(){doubled;floatf;longl;inti;i=f=1=d=20/3;printf(%d%ld%f%f\n,i,l,f,d);}30.已定义x为float型变量。X=213.82631;printf(%-4.2f\n,x);则以上程序运行结果为()。(A).输出为-213.82(B).输出为213.83(C).输出为213.82(D).输出格式描述符的域宽不够,不能输出二、填空1.C语言规定,标识符只能由_______,_______,_______三种字符组成,而且,第一个字符必须是_____或______.2.一个C程序一般由若干函数构成的,程序中有且只有一个______.3.一个C函数是由_________和____________两部分组成的。4.一个C程序总是从_______开始执行的.5.C语言的基本数据类型有_______.________.________和实型数据,其中实型数据又分为_________和_________.6.在内存中占据16位的无符号整型变量的范围是_______到_________.7.在C语言中,八进制整常量以_____开头,十六进制整常量以_______开头.8.十进制数7转化为八进制为________,十进制数–2248转化为十六进制为________.9.在C语言中,&运算符用作_________运算和_________运算,而*运算符用作________和_________运算.10.将下列运算符按优先级从高到低顺序排列:=!=!+&&()||%&是_______________________.11.‘x’在内存中占_____字节,”x”在内存中占______字节,”\101”在内存中占_____字节.12.若x为整型变量,执行语句x=‘b’-‘A’;后,x的值为________.13.浮点单精度变量x,执行表达式语句x=8.7+123.7*6–‘a’%7;后,x的值为______________.14.整型变量i和j,i的初值为3,执行表达式语句j=(i++)+(i++)+(i++);后,变量i的值为_____,变量j的值为______.15.整型变量a,b,c它们的初值都是0,运行表达式:++a&&b++&&++c后,a.b.c的值分别为:_____,______,_____.若在同样的初值的条件下,运行表达式:++a||b++||++c后,a,b,c的值分别为:_______,______,________.16.输出语句printf(“%-8.4s,%5.3f,%4d”,”MAYAPP”,”35.1753”,12346);的输出结果为_______________________.17.若x为单精度型变量,y为字符型变量,z为整型变量,执行如下的输入语句:scanf(%f%c%d”,&x,&y,&z);后,从键盘输入12.77A79A86.此时,变量x,y,z的值分别baba*22为_______,_______,_______.18.欲将一个16位二进制的整型变量的高8位清零,而只保留低8位,可用的方法是_______________________________________.19.已知有a.b两个数,执行x=b;b=a;a=x操作后,执行的效果是____________.20.位运算符_______(填能或不能)用于浮点数.21.将下列数学式改写成C语言的表达式.(1)ax3+bx2+cx+d写成____________________.(2)写成22.分析下面的程序的运行结果.main(){intx=0,y=0,z=0;x=++y+(++z);print(“%d,%d,%d*”,x,y,z);x=y+++z++;printf(“%d,%d,%d*”,x,y,z);x=--y+z--;printf(“%d,%d,%d*”,x,y,z);}程序结果为:_____________________.23.由C语言编成的程序文件FILE1.C经编译后的文件名是。24.程序文件中若有语句getchar();该程序文件头应有予编译命令。25.若有说明语句floatx=8;inta[2];则表达式sizeof(x)==sizeof(a)的值是。26.整型变量a=5,b=7;表达式b/a*100的值是。27.以下程序段运行的结果是。inta=5,b=3;printf(“a+b=%4d,”,a+=b+=a+b);printf(“a–b=%4d\n”,a-=b-=a-b);28.设有以下变量定义,并已赋确定的值charw;intx;floaty;doublez;则表达式:w*x+z–y所求得值的数据类型为。29.写出与代数式(x+2)ex+2对应的C语言表达式:。30.写出“若char类型变量ch是大写英文字母,改变ch为对应小写字母”的C表达式:三、判断正误1.C语言程序设计是一种面向过程的结构化设计语言。2.C语言程序是由函数构成的。3.任何C语言编写的文件必须至少包含一个main()函数。4.一个C语言程序可以在不同的文件中。5.C语言程序不允许直接访问物理地址。6.函数的过程体实际是一个复合语句。7.用宏定义的符号型常量必须是用大写字母来表示。8.void型数据类型是指数据不存在。9.C语言中变量必须先定义,后使用。10.C语言中,scanf与Scanf等同。11.当有如下定义unsignedintI;时,做如下赋值I=-1;是不允许的。12.有如下定义floatx=1.2345;执行printf(“%f”,x);结果输出为1.2345。13.如下定义charc1=’a’,c2=’b’,c3=c1-c2;执行printf(“%c”,c3);结果为无任何显示。14.可以有如下定义:inta=b=c=0;15.intx=4,y=5;floatz=x/y;则z的值为0.8;16.inti=4;x=(i++,i++);后,x的值为5;17.空语句没有任何意义,所以在C程序中不应该出现空语句。18.要求出某一变量占用内存空间的长度可以用函数sizeof(变量)实现。19.要判断x,y,z的大小顺序可以用如下表达式xyz;20.在do{}while(P);结构中,当条件P成立时,结束循环。21.Switch结构中必须要有default项。22.在main()函数中若加入return语句,则编译出错。23.for循环语句中括号内至少必须要有一个表达式。24.各种循环结构可以相互替代。25.if(i=1
本文标题:C语言程序设计习题及答案
链接地址:https://www.777doc.com/doc-4512439 .html