第2章基本数据类型和运算练习题一、单项选择题1.下列数据中属于“字符串常量”的是()。A.”a”B.{ABC}C.’abc\0’D.’a’2.下列数据中属于“字符串常量”的是()。A.ABCB.“ABC”C.’abc’D.’a’3.在PC机中,’\n’在内存占用的字节数是()。A.1B.2C.3D.44.在PC机中,”a\xff”在内存占用的字节数是()。A.5B.6C.3D.45.字符串”ABC”在内存占用的字节数是()。A.3B.4C.6D.86.字符串”\”ABCD\””在内存占用的字节数是()。A.4B.6C.7D.87.在C语言中,合法的长整型常数是()。A.0LB.4962710C.0.054838743D.2.1869e108.在C语言中,合法的短整型常数是()。A.OLB.0821C.40000D.0x2a9.下列数据中不属于“字符常量”的是()。A.‘\a’B.‘\160’C.‘070’D.07010.char型常量在内存中存放的是()。A.ASCII代码值B.BCD代码值C.内码值D.十进制代码值11.设整型变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是()。A.0,0B.0,1C.1,0D.1,112.设整型变量m,n,a,b,c,d均为1,执行“(m=ab)&&(n=ab)”后,m,n的值是()。A.0,0B.0,1C.1,0D.1,113.设a为2,执行下列语句后,b的值不为0.5的是()。A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)14.设a为5,执行下列语句后,b的值不为2的是()。A.b=a/2B.b=6-(--a)C.b=a%2D.b=a3?2:215.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为()。A.3,3,2B.3,2,2C.3,2,3D.2,3,216.intb=0,x=1;执行语句“if(x++)b=x+1;”后,x,b的值依次为()。A.2,3B.2,0C.3,0D.3,217.设有语句inta=3;,则执行了语句a+=a-=a*a;后,变量a的值是()。A.3B.0C.9D.-1218.设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是()。A.3B.0C.9D.-1219.inta=4,b=3,c=-2,d=2;逻辑表达式a0&&b&&c0&&d0的值是()。A.1B.0C.-1D.出错20.在以下一组运算符中,优先级最高的运算符是()。A.=B.=C.%D.&&21.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。A.0B.1C.2D.表达式出错22.设整型变量i,j=3;则计算表达式i=j+++j后i,j的值为()。A.4,4B.6,6C.4,6D.6,423.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。A.6B.9C.8D.表达式出错24.设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是()。A.6B.12C.15D.表达式出错25.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是()。A.3,3B.5,4C.4,5D.6,626.若已定义x和y为double类型,则表达式;x=1,y=x+3/2的值是()。A.1B.2C.2.0D.2.527.sizeof(double)的结果值是()。A.8B.4C.2D.出错28.表达式“1?(0?3:2):(10?1:0)”的值是()。A.3B.2C.1D.029.设a=1,b=2,c=3,d=4,则表达式:ab?a:cd?a:d的结果为()。A.4B.3C.2D.130.设a为整型变量,不能正确表达数学关系:10a15的C语言表达式是()。A.10a15B.a==11||a==12||a==13||a==14C.a10&&a15D.!(a=10)&&!(a=15)31.inta=0;if(a=1)a+=10;结果的值是()。A.0B.11C.10D.出错32.下列表达式中符合C语言语法的赋值表达式是()。A.a=7+b+c=a+7B.a=7+b++=a+7C.a=(7+b,b++,a+7)D.a=7+b,c=a+733.设f是实型变量,下列表达式中不是逗号表达式的是()。A.f=3.2,1.0B.f0,f10C.f=2.0,f0D.f=(3.2,1.0)34.下列表达式中,不正确的表达式是()。A.a=1,b=1B.y=int(x)C.a=b=5D.i++35.若有以下定义:chara、intb、floatc、doubled,则表达式a*b+d-c值的类型是()。A.floatB.intC.charD.double36.intn;floatf=13.8;执行“n=((int)f)%3”后,n的值是()。A.1B.4C.4.333333D.4.637.用十进制数表示表达式“12|012”的运算结果是()。A.1B.0C.14D.1238.设有整型变量a=35,表达式“(x&15)&&(x|15)”的值是()。A.0B.1C.15D.3539.设字符型变量a=3,b=6,计算表达式c=(a^b)2后c的二进制值是()。A.00011100B.00000111C.00000001D.0001010040.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是()。A.’a’&&’b’B.a=bC.a||b+c&&b-cD.!((ab)&&!c||1)41.设a是char型变量,其值字符为’1’,则把其值变成整数1的表达式是()。A.(int)aB.int(a)C.a=a-48D.a/(int)a42.设a是int型变量,其值为3,则把其值变成字符’3’的表达式是()。A.(char)aB.a=3C.a=a-48D.a=a+4843.设ch是char型变量,其值为’A’,则下面表达式的值是()。ch=(ch=’A’&&ch=’Z’)?(ch+32):chA.AB.aC.ZD.z44.设有整型变量i、j、k,i值为3,j值为6。计算表达式“k=i^j3;”后,k的值是()。A.56B.51C.40D.2745.设有无符号短整型变量i、j、k,i值为013,j值为0x13。计算表达式“k=~i|j3;”后,k的值是()。A.06B.0177776C.066D.017776646.设有无符号短整型变量a值为331,计算表达式“a=(a4)&~(~04)”后,a的值是()。A.0B.15C.015D.017二、填充题1.在内存中存储“A”要占用个字节,存储‘A’要占用个字节。2.C语言中的逻辑值“真”是用表示的,逻辑值“假”是用表示。逻辑表达式值为“真”是用表示的,逻辑表达式值为“假”是用表示的。3.符号常量的定义方法是。4.说明变量时,若省略存储类型符,系统默认其为存储类别,该存储类别的类型符为:。5.无符号基本整型的数据类型符为,双精度实型数据类型符为,字符型数据类型符为。6.定义变量的完整语句格式是。7.变量的作用域主要取决于变量,变量的生存期既取决于变量,又取决于变量。8.从变量的存储类型来说,变量不允许初始化。变量、变量和变量可以初始化。其中变量如果不进行初始化,则变量和变量的初值不确定,而变量初值为0。9.设下列运算符:、+、++、&&、=,其中优先级最高的是,优先级最低的是。10.设二进制数A是00101101,若想通过异或运算A^B使A的高4位取反,低4位不变,则二进制数B应是。11.设a=3,b=2,c=1,则ab的值为,abc的值为。12.若已知a=10,b=20,则表达式!ab的是值为。13.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为。14.设整型变量x,y,z均为5:①执行“x-=y-z”后x=,②执行“x%=y+z”后x=,③执行“x=(yz)?x+2:x-2,3,2”后x=。15.能表述“20X30或X-100”的C语言表达式是。16.请写出数学式的C语言表达式。17.C语言中运算结果可以当成逻辑值使用的表达式有:表达式、表达式、表达式、表达式、表达式和表达式。b×ca