c语言备考习题及部分答案.doc_第1页
c语言备考习题及部分答案.doc_第2页
c语言备考习题及部分答案.doc_第3页
c语言备考习题及部分答案.doc_第4页
c语言备考习题及部分答案.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 判断题1.在C语言中,不同类型的数据不可以在一起进行算术运算。()2.由于计算机的计算精度很高,所以在C语言中程序计算1.0/3*3的结果肯定等于1。()3.当一个C语言表达式中同时含有字符型、整型、单精度和双精度类型数据参加运算时,按照由低到高的原则,所有的数据都必须先转换为双精度类型数据后方能参加运算。()4.赋值运算符优先于条件运算符。()5.C语言与其他高级语言一样,对于所有的同级运算符均遵循左结合原则。()6.如果被定义函数的返回值类型是整型或字符型,使用前可以不必进行说明。( )7.表达式1282的值是32。(8.若x为整型变量、j为实型变量,当执行语句:x=(int)j;后,j也变为整型变量。( )9.inta=4,b=0;则表达式a&!b的值是1.( )10.赋值运算符优先于条件运算符.( )11.!的优先级可以比/高。()12.两个char型数据相加,其结果为char型。()13.若有定义inta;floatb=2.1;则a=int(b+3)是合法的赋值表达式。()14.若有inta=4,b=0;则表达式a&!b的值为0。()15.对于intn=3;执行n+=n-=n*n;后n的值是9。()16.表达式152的值为2。()17.用语句a=a+b,b=a-b,a=a-b;可以交换a,b两个变量的值。()18.在C语言中,定义inta=b=c=5;是错0的,而inta,b,c;a=b=c=5;是正确的.()19.表达式“5=3”是一个关系表达式,且其值为0。()20.若有定义inta,b;则下列语句可用于实现交换a,b的值。()a=ab;b=ba;a=ab;21.若有定义inta=3,b=4,c=5;则a+bc&b=c的值为1。()22.intx=3,y=2;则表达式(y+=-x)?y+:x+的值为3。()23.设intx=3,y=2;表达式(y+=-x)?y+:x+的值是3。()24.已知inta=5,b=5;则表达式:+ab?a:b-+a?+b:a的值为6。()25.表达式(13)的值是15。()二、 单选题1.下面四个选项中,均是合法整型常量的选项是(A)。A)160B)-0xcdfC)-0lD)-0x48a -0xffff0la 986,0122e5 0110xe06680x2.设有定义:intm=1,n=-1;则执行语句printf(%dn,(m-&+n);后的输出结果是(B)。A)1 B)0 C)1 D)23.设x,y,z,t均为int型变量,则执行以下语句后,t的值为(C)。 x=y=z=1;t=+x|+y&+z; (A)不定值(B)2(C)1 (D)04.执行下列程序段后,变量a,b,c的值分别是(D)。 intx=10,y=9; inta,b,c; a=(-x=y+)?-x:+y; b=x+; c=y;(A)a=9,b=9,c=9(B)a=9,b=10,c=9(C)a=1,b=11,c=10(D)a=8,b=8,c=105.执行下面的程序段后,B的值为(B)。intx=35;charz=A;intB;B=(x&15)&(za);(A)0(B)1(C)2(D)36.表达式11&10的结果用二进制表示为(D)。A)11B)3C)1D)107.设有语句inta=3;则执行语句a+=a-=a*a后,变量a的值是(D)。(A)3(B)0(C)9(D)-128.在下列选项中,不正确的赋值语句是(D)。A)t/=5;B)n1=(n2=(n3=0); C)k=i=j;D)a=b+c=1;9.设x为int型变量,则执行以下语句后,x的值为(B)。x=10;x+=x-=x-x; A)10B)20C)0D)-2010.若有inta=1,b=2,c=3,d=4;则表达式:a+b?a+:cb)&(n=cd)后,n的值为(B)。A)1B)2C)3D)015.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的语句是(C)。A)c=b=a;B)(a=c)(b=c);C)(a=c)&(b=c);D)a=c=b;16.设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=ab)|(n=cd)运算后,n的值位为(D)。A)0B)1C)2D)317.假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4; m=(wx)?w:x;m=(my)?m:y;m=(m0&y=y21.假设整型变量a为2,使b的值为0的表达式是(C)。A)b=a/2B)b=6-(-a)C)b=a%2D)b=a3?0:122.若有intb=2;则表达式(b2)/(b1)的值是(A)。A)0B)2C)4D)823.设intx=3,y=4,z=5;则下面表达式中值为0的是(D)。A)x&yB)x=yC)x|y+z&y-zD)!(x2|b-=4之后,b变量的值为(C)。A)3B)0C)4D)228.以下( A)表达式取值是正确的。A)1&a的结果为1B)3&5的结果为0C)3|5的结果为0D)3|a的结果为029.设有语句a=4;则执行语句a-=a+=a*a;后,变量a的值是(B)A)4B)0C)20D)1630.设有inta=4,b=6;则表达式a&b的值为(B)A)3B)4C)11D)1231.以下哪个表达式的值为4(D)A)11/3B)11.0/3C)(flaot)11/3D)(int)(11.0/3+0.5)32.表达式k=(1210)?4:1?2:3的值为(D)A)1B)2C)3D)433.假设所有变量均为整型,则表达式:(a=2,b=5,b+,a+b)的值为(B)。A)7B)8C)6D)234.下列程序的输出结果是(C)。main()inta=016;a%=6-1;printf(%d,a);a+=a*=a/=3;printf(%d,a+);printf(%d,+a); A)403B)402C)424D)41335.数学式4|x|10的C语言表达式为(A)。A)4X&X-10&x-4B)4X&X-10&x-4C)4X|X-10|x-4D)4X|X-10|xbB)c-,+b,a+=1C)a=c+bn-m=kD)p+37.有定义inta=3,b=4,c=5;执行完表达式a+-b&b+c-&+c后,a,b,c的值分别为(B)。A)345B)435C)444D)44538.2字符串常量“abcnt012xa1*2”在内存中所占的存储空间数是(A)。A)11B)13C)15D)1839.设x,y分别为单精度和双精度类型变量,则下列选项(D)可将表达式x+y的运算结果强制转换为整型数据。A)(int)x+yB)int(x)+yC)int(x+y)D)(int)(x+y)40.在执行语句if(x=y=2)=x&(x=5)y*=x;后变量x、y的值应分别为(C)。A)2、2B)5、2C)5、10D)执行时报错41.当z的值不为0时,不能正确地将z的值赋给变量x和y的是(C)。A)x=y=zB)x=z,y=zC)(x=z)|(y=z)D)(x=z)&(y=z)42.设有整型变量a,实型变量f,双精度型变量x,则表达式10+b+x*f值的类型为(C)。(A)int(B)float(C)double(D)不能确定43.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D)。(A)x & y; (B)x=y;(C) x | y + z & y z ; (D) !(xy)& ! z | 1);Y)&!Z|1);44.表达式ab|c&d的运算顺序是(D)。(A),&,|(B),|,&,(C),&,|,(D),&,|45.在位运算中,操作数每左移一位,其结果相当于(A)。(A)操作数乘以2(B)操作数除以2(C)操作数除以4(D)操作数乘以446.若有intk=5;floatx=1.2;则表达式(int)(x+k)的值是(D)。(A)5(B)6.2(C)7(D)647.表达式k=(120(B)a!=0(C)a=0(D)a.B)+-+=C)y?10:20,z的值为(B)。A)10B)20C)1D)253.若已定义x和y为double类型,则表达式x=2,y=x+10/4的值是(C)。A)2B)4C)4.0D)4.554.sizeof(a+10)的值为(A)类型。A)intB)float C)double D)char55.若有floatx=2.5,y=4.7;inta=7;则表达式x+a%3*(int)(x+y)%2/4的值为(D)。A)4.0B)3.0C)2.75D)2.556.intx=3,y=2;则条件表达式xy?1:2.3的值为(B)。A)1B)1.0C)2.3D)257.已知:intx=1,y=2,z;则执行:z=xy?+x:+y,z的值为(C)。(A)1(B)2(C)3(D)458.C语言中,运算对象必须是整型数的运算符是(A)。A)%B)/C)%和/D)*59.若有关系xyz,应使用(A)C语言表达式。A)(x=y)&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)60.以下能正确表示a10或a0的合法的C语言关系表达式是(C)。A)a=10ora=10a=10|a=10|a=061.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是(C)。A)1B)2C)2.0D)2.562.若t为double类型,表达式t=1,t+5,t的值是(C )。A)1B)6.0C)1.0D)663.在以下一组运算符中,优先级最高的运算符是(C)。A)=B)=C)%D)&64.若有以下定义:|chara;intb; floatc; doubled;则表达式a*b+d-c值的类型为(D)。A)floatB)intC)charD)double65.表示关系xyz的C语言表达式为( A)。A)(x=y)&(y=z) B)(x=y)AND(y=z) C)(x=y=z) D)(x=y)&(y=0|b=0)&(a0|b=0&b=0)&(a0&b0)&(a+b070.在以下的四个运算符中,优先级最低的运算符是(D)A)=B)/C)!=D)&71.在以下的四个运算符中,优先级最高的运算符为(B)。A)?:B)+C)&D)+=72.设a和b为int型变量,且a的值为15,b的值为240,则表达式(a&b)&b|b的值为(B)A)0B)1C)trueD)False73.假设有intx=11;则表达式(x+*1/3)的值是(A)A)3B)12C)11D)074.以下关于运算符优先顺序的描述中,正确的是(D)A)关系运算符算术运算符赋值运算符B)逻辑运算符关系运算符算术运算符C)算术运算符关系运算符赋值运算符D)赋值运算符关系运算符算术运算符75.sizeof(double)是一个(A)A)整型表达式B)实型表达式C)不合法的表达式D)函数76.设有整型变量a,实型变量f,双精度型变量x,则表达式10+b+x*f的值的类型为(D)A)intB)floatC)doubleD)不能确定77.若有intk=5;flaotx=1.2;则表达式(int)(x+k)的值是(D)A)5B)6.2C)7D)678.下面对变量赋初值正确的是(C)A)inta=b=c=1;B)inta=1,b=c=2;C)inta=1,b=1,c=1;D)inta=b=1,c=2;79.设有以下语句:inta=3,b=6,c;c=abbc执行完后f的值是(B)A)1B)0C)3D)281.若x=2,y=1,则表达式xy?1:1.5的值为(C)A)1B)1.5C)1.0D)282.在位运算中,操作数每左移一位,其结果相当于(A)A)操作数乘以2B)操作数除以2C)操作数乘以4D)操作数除以483.在位运算中,某操作数右移3位,其结果相当于(D)A)操作数乘以6B)操作数除以6C)操作数乘以8D)操作数除以884.在C语言中,若以下变量均为int型,则下面程序段的输出结果是(B)。s=6,u=6;u=s+;u+;printf(%d,u);A)7B)6C)5D)485.若有定义:intx=3;doubley;则执行语句y=(double)x;后,变量x的数据类型为(A)。A)intB)charC)flaotD)double86.若有定义doublex,y;则表达式x=1,y=x+3/2的值为(C)。A)1B)2C)2.0D)2.587.若有定义intx,y,t;则执行语句:x=y=3,t=+x|+y;后,y的值为(C)。A)不定值B)4C)3D)188.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为(C)。x=(i=4,j=16,k=32)A)4B)16C)32D)5289.假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是(B)。A)7B)8C)6D)2三、多选题1.下列选项中,对变量的初始化定义正确的是(AB)。(A)inta,b,c=3; (B)inta=3,b=3,c=3;(C)inta=b=c=3;(D)inta=3;b=3;c=3;(E)inta,b=c=3;2.下列赋值语句中正确的有(BCDE)(A)a=1,b=3,c=5;(B)a=(b=10)/(c=2);(C)a+=a-=a*a;(D)a+=b; (E)a=1;b=2;c=3;3.C语言中的语句中除了控制语句外,还应包括(ABCD)。(A)函数调用语句(B)表达式语句(C)空语句(D)复合语句(E)输入输出语句4.在下列说法中,正确的是(BDE)。(A)和其它语言一样,C语言本身也提供了输入输出语句。(B)在C语言中,赋值语句和赋值表达式不是两个等价的概念。(C)语句x%=y+3;与x=x%y+3;的执行效果是一样的。(D)在inta=3,b=3,c=3;中对变量的初始化不是在编译阶段完成的。(E)语句x=ab?a:b;与语句if(ab)x=a;elsex=b;的作用等价。5.在C语言中,每个变量必须在使用前进行类型说明或定义,这样可以(BCD)。(A)为变量赋初值(B)规定该变量的取值范围(C)规定该变量所能进行的运算操作(D)方便在编译时为其分配存储单元(E)规定变量的个数6.下列运算符中,属于单目运算符的有(ABC)。A)sizeofB)+C)!D)!=E),7.变量x,y,z均为double型且已正确赋值,能够正确表示数学式子x/yz的C语言表达式是(BCDE)。(A)x/y*z(B)x/y/z(C)x/y*1/z(D)x*(1/(y*z)(E)1.0/y*1/z*x8.下列哪些运算符的优先级相同且运算次序从左到右(ABC)。(A)()-(B)+-(C)=(D)&|(E)&|9.假设在程序中a、b、c均被定义为整型,并且已赋大于1的值,则下列能正确表示代数式1/abc的表达式是(ACDE)。A)1.0/a*1.0/b*1.0/cB)1/a/b/(float)cC)1.0/(a*b*c)D)1.0/a/b/cE)1.0/(float)(a*b*c)10.设有定义:ints,t=387;则可以改变变量t的值的语句有(BD)(A)s=(char)t;(B)t=t/2*2;(C)t=t+65536;(D)t=-(t|32768);(E)t2;11.设a,b和c都是int型变量,且a=3,b=4,c=5,则值为0的表达式是(AD)。A)a+bc&b=c B)a|b+c&b-cC)!(ab)&!c|1 D)!(x=a)&(y=b)&0E)!(a+b)+c-1&b+c/212.以下正确的叙述是(ABD)A)a&=b等价于a=a&bB)a|=b等价于a=a|bC)a!=b等价于a=a!bD)a=b等价于a=abE)a&=b等价于a=a&b13.下列各语句组中,可实现a,b两个整型变量值互换的是(ABD )。A)a=a+b;b=a-b;a=a-b;B)t=a;a=t;b=t;(intt;)C)a=b;b=a;D)a=ab;b=aa;a=ab;E)b=a;a=b;14.已知a为整型变量,则与表达式a!=0真假值相同的表达式有(ABC)A)a0|aa+b等效于c(a+b)B) 若a,b均为真,则a&b也为真C 表达式0&1的值为0D) 逻辑运算符!的优先级比位运算符|高E) 若a,b不同为真,则a|b的值为假17.以下语句组中,不能使i的值为4的是(ACDE)。A)i=j=(i=3)+);B)i=1,j=1;i+=j+=2;C)i=0,j=0;(i=2,i+(j=2);D)i=j=4; E)i=0,j=1;(j=1)?i+=3:i=2;18.假设所有变量均已正确定义并赋值,则以下合法的C语句有(BE)。A)a:=b+1;B)a=b=c+=2;C)int18.5%3;D)a=a+7=c+d;E)(flaot)3+2;19.假设有定义inta=12,n=5;则值为0的表达式有(BCDE)A)a/=aB)a%=aC)a/=a+aD)a%=(n%=2)E)a-=a*=a20.若a、b、sum为整型,则计算a+|b|的值的方法可以是(BD)。(A)sum=a0?a+b:a-b;(B)sum=b0?a+b:a-b;(C)ifa0thensum=a+belsesum=a-b;(D)ifb0thensum=a+belsesum=a-b;(E)ifb0thensum=a-belsesum=a+b;21.下列说法正确的是(BCD)(A)可以对两个实型表达式进行“相等”的判断(B)不能够对两个实型表达式进行“相等”的判断(C)一个关系表达式可以视为一个整型表达式(D)字符数据能够作为整数参加运算(E)整型数据和实型数据都可以进行“求余”运算22.在x的值处于-2到2,4到8时值为“真”,否则为“假”的表达式是(DE)A)(2x-2)|(4x8)B)!(x=2)|(x=8)C)(x-2)&(x4)&(x-2)&(x2)|(x4)E)(x-2)&(x4)&(xb&c四、填

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论