您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第三章数据类型与运算符习题
第三章数据类型一、选择题:1、以下标识符中,不能作为合法的C用户定义标识符的是()A)putcharB)doubleC)_123D)INT2、下列字符序列中,不可用作C语言标识符的是()A.b70B.#abC.symbolD.a_13.以下不能定义为用户标识符的是:(C)A.MAINB._HJC.208ongD.LINE124.以下是正确的字符常量是:(B)。A.cB.'\\'C.'W1'D.\32a5.以下各项是错误的整型常量的是:(B)A.-0xcdfB.018C.0xeD.0116、下列四组选项中,均不是C语言关键字的选项是:(A)A)defineB)getcC)includeD)whileIFcharscanfgotypeprintfcasepow7、下面四个选项中,均是正确的八进制数或十六进制数的选项是:(C)A)-10B)0abcC)0010D)0al20x8f-017-0x11-0xl23-0110xc0xf1-0x88、下面四个选项中,均是正确的数值常量或字符常量的选项是:(D)A)0.0B)aC)'3'D)+0010f3.9E-2.50110xabcd8.9elel0xFFOO2e2'&''\'''0a50.9、下面不正确的字符串常量是:(A)。A)'abc'B)12'12C)0D)10.设int类型的数据长度为2字节,则该类型数据的取值范围是:(D)A.0至65536B.0至65535C.-32767至32768D.-32768至3276711、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为(A)A)charint1ongint=floatdoubleB)char=int1ongint=floatdoubleC)charint1ongint=float=doubleD)char=int=1ongint=floatdouble12.若有以下程序段(n所赋的是八进制数)intm=32767,n=0327;printf(%d,%o\n,m,n);执行后输出结果是:()A)32767,327B)32767,0327C)32767,777D)32767,077713.设变量a是整形,f是实型,i是双精度型,则表达式10+′a′+i*f值的数据类型为:()A.intB.floatC.doubleD.不确定14.在C语言中,char型数据在内存中的存储形式是:()A.补码B.反码C.源码D.ASCII码15.字符串a在内存中占据的字节个数为:()A.0B.1C.2D.316.下列为字符常量的是:()A.“a”B.‘ab’C.‘\n’D.‘\084’17.在C语言中,下面字符串能用作变量名的是:()A.a+bB.autoC.2-andD.a218.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后c2中的值为()A)DB)68C)不确定的值D)C19.下列为字符常量的是()A.“a”B.‘ab’C.‘\n’D.‘\084’20.在C语言中,下面字符串能用作变量名的是()A.a+bB.autoC.2-andD.a2二、填空题:1.在C语言中的实型变量分为两种类型,它们是___和______。2.将下列字符串表示成C语言的字符串常量(1)C:\TC\LIB_____________(2)Hesaid:I’mastudent.________________(3)85%studentpassed.____________________________3.在C语言中,标识符中英文字母的大小写________(是/不是)等价的。换句话说,sum、Sum、SUM是3个_______(相同/不同)的标识符。4.已知charw;intx;floaty;doublez;则表达式:w*x+z-y所求得的数据类型为。5.变量名由字母、数字和下划线组成,并且必须是______打头。6.C语言的数据类型分为基本类型、构造类型、指针类型和空类型。(正确/错误)。7.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为。三、看程序写结果1.如果对以下程序进行编译和运行,其结果为________。main(){intx,y;x=555;y=x+2;y=x+2;printf(“x=%d”,x,y);}2.执行以下程序,写出程序运行结果________。main(){intc1,c2;c1=97;c2=98;printf(%c%c\n,c1,c2);printf(%d%d\n,c1,c2);}3.执行以下程序,写出程序运行结果________。main(){charc1,c2;c1='A';c2='a';c1=c1+2;c2=c2+2;printf(%d%c,c1,c2);}参考答案一、选择题:1、B2、B3、C4、B5、B6、A7、C8、D9、A10、D11、A12、A13、C14、D15、C16、C17、D18、A二、填空题:1、floatdouble2、(1)”c:\\TC\\LIB”(2)”Hesaid:\”I\’amastudent”(3)”85%%studentpassed”3、不是,不同4、double5、字母、下划线6、正确7、‘f’三、看程序写结果1、x=5552、ab97983、67c第三章运算符和表达式一、选择题:1、以下运算符中,优先级最高的运算符是()A.=B.!=C.*(乘号)D.()2、若有以下定义,则能使值为3的表达式是()intk=7,x=12;A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)3、设在tc2.0中有整型变量x,y,z均为3,表达式(x++)+(y++)+(z++)的值是()A.6B.7C.8D.94、有以下程序运行后的输出结果是:()main(){chara='A',b;print(%c,,++a);printf(%c\n,b=a++);}A.B,BB.B,CC.A,BD.A,C5、有以下程序运行后的输出结果是:()main(){chara='a';printf(%c,,++a);printf(%c\n,a++);}A)b,bB)b,cC)a,bD)a,c6、设a=6,b=4,则表达式b*=a+3的值为:()A)3B)18C)27D)367、有如下程序段,其输出结果是:()inta=3;floatb=15.6,f=1.5;printf(“%d”,a+(int)b/2+(int)f%3);A)10B)11C)12D)138、以下程序的输出结果是:()main(){inta=3;printf(%d%d\n,a,a++);}A.43B.44C.53D.549、以下程序的输出结果是()。main(){inta=10;printf(%d%d\n,a,a++);}(A)1110(B)1111(C)1220(D)121110、若有定义:inta=8,b=5,c;执行语句c=a/b+0.4;后c的值为()。(A)1.4(B)1(C)2.0(D)211、若x,i,j和k都是int型变量,则执行下面表达式x=(i=4,j=16,k=32)后x的值为()A)4B)16C)32D)5212、若有代数式3ae/bc,则不正确的C语言表达式是:()A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*313、以下不正确的叙述是:()A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。14、已知各变量的类型说明如下:()inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是:A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=f1oat(i)15、若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是:()A)2.500000B)2.7500OOC)3.500000D)0.000000。16、若x,i,j和k都是int型变量,则执行下面表达式后x的值为:()x=(i=4,j=16,k=32)A)4B)16C)32D)5217、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:()A)7B)8C)6D)218、若有代数式3ae/bc,则不正确的C语言表达式是:()A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*319.在C语言中运算对象必须是整型的运算符是:()A.%B./C.==D.=20.若有以下定义:intx=10,y=3,z;则语句:printf(“%d\n”,z=(x%y,x/y));的输出结果为()A.1B.0C.2D.321.下列哪一个表达式的值是整数类型()。A.15/2B.15/2+2.0C.25/5.0D.0.5*1022.若doublex=2,y;则执行y=x+3/2;后,y的值是()。A.3.500000B.3.000000C.2.000000D.323、以下运算符中优先级最低的是()A)&&B)&C)||D)|24、设以下变量均为int类型,则值不等于7的表达式是()A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)25.设有以下定义inta=0;doubleb=1.25;charc=’A’;#defined2则下面语句中错误的是:()(A)a++;(B)b++(C)c++;(D)d++;26.若有定义:inta=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为:()(A)1.4(B)1(C)2.0(D)227.若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf(%d,%d\n,m,i);}执行后的输出结果是:()(A)8,6(B)8,3(C)6,4(D)7,428.表达式b*=(b=3)+(a=10)的值为:()(A)3(B)19(C)27(D)39二、填空题:1、若有以下定义intm=5,y=2;则计算表达式y+=y-=m*=y后的y值是。2、若a为int型变量,则下面表达式的值为。(a=4*5,a*2),a+63、若a是int型变量,则执行表达式a=25/3%3后,a的值为。4、s=3,s++,s;这个语句执行完后,s的值为。5、C语言中的标识符只能由三种字符组成,他们是字母、数字和。6、已知i=5;写出语句a=--i,执行后整型变量a的值是。7、设x的值为15,n的值为2,则表达式x*=n+3运算后x的值是。8、intx=2;x*=y=z=4;则x的值为。9、表达式i++相当于表达式i=。10、若s是unsignedint型变量,则下面表达式的值是________。s%2+(s+1)%211、程序段执行后c3的值是_______。intc1=1,c2=2;floatc3;c3=1/c2*c1;12、已知’a’的ASCII码为97,printf(“%5c\n”,’e’)的输出是______;printf(“%5d\n”,’e’)的输出是___________。13、表达式:5%2=__________,2/3=__________。14、在C语言中,单目运算符的结合方向(运算方向)是_____________;唯一的一个三目运算符是_____________。15、设a,b,t为整型变量,初值为a=7,b=9,执行完语句t=(ab)?a:b后,t的值是。16、算术表达式a=b+3中,a、b称为_______
本文标题:第三章数据类型与运算符习题
链接地址:https://www.777doc.com/doc-2182155 .html