最新数据类型运算符与表达式练习题.docx

上传人:b****8 文档编号:9295047 上传时间:2023-02-04 格式:DOCX 页数:17 大小:27.55KB
下载 相关 举报
最新数据类型运算符与表达式练习题.docx_第1页
第1页 / 共17页
最新数据类型运算符与表达式练习题.docx_第2页
第2页 / 共17页
最新数据类型运算符与表达式练习题.docx_第3页
第3页 / 共17页
最新数据类型运算符与表达式练习题.docx_第4页
第4页 / 共17页
最新数据类型运算符与表达式练习题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

最新数据类型运算符与表达式练习题.docx

《最新数据类型运算符与表达式练习题.docx》由会员分享,可在线阅读,更多相关《最新数据类型运算符与表达式练习题.docx(17页珍藏版)》请在冰豆网上搜索。

最新数据类型运算符与表达式练习题.docx

最新数据类型运算符与表达式练习题

第三章运算符与表达式练习题

一、单项选择题

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.4

4.在PC机中,”a\xff”在内存占用的字节数是()。

A.5B.6C.3D.4

5.字符串”\”ABCD\””在内存占用的字节数是()。

A.4B.6C.7D.8

6.在C语言中,合法的长整型常数是()。

A.0LB.49627C.0.054838743D.2.1869e10

7.在C语言中,合法的短整型常数是()。

A.OLB.0821C.40000D.0x2a

8.下列数据中不属于“字符常量”的是()。

A.‘\a’B.‘\160’C.‘070’D.070

9.char型常量在内存中存放的是()。

A.ASCII代码值B.BCD代码值C.内码值D.十进制代码值

10.inta=4,b=3,c=-2,d=2;逻辑表达式a>0&&b&&c<0&&d>0的值是()。

A.1B.0C.-1D.出错

11.在以下一组运算符中,优先级最高的运算符是()。

A.<=B.=C.%D.&&

12.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。

A.0B.1C.2D.表达式出错

13.设整型变量i,j=3;则计算表达式i=j+++j后i,j的值为()。

A.4,4B.6,6C.4,6D.6,4

14.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。

A.6B.9C.8D.表达式出错

15.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是()。

A.3,3B.5,4C.4,5D.6,6

16.sizeof(double)的结果值是()。

A.8B.4C.2D.出错

17.表达式“1?

(0?

3:

2):

(10?

1:

0)”的值是()。

A.3B.2C.1D.0

18.inta=0;if(a=1)a+=10;结果的值是()。

A.0B.11C.10D.出错

19.下列表达式中符合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+7

20.下列表达式中,不正确的表达式是()。

A.a=1,b=1B.y=int(x)C.a=b=5D.i++

21.intn;floatf=13.8;执行“n=((int)f)%3”后,n的值是()。

A.1B.4C.4.333333D.4.6

22.用十进制数表示表达式“12|012”的运算结果是()。

A.1B.0C.14D.12

23.设有整型变量a=35,表达式“(x&15)&&(x|15)”的值是()。

A.0B.1C.15D.35

24.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是()。

A.’a’&&’b’B.a<=bC.a||b+c&&b-cD.!

((a

c||1)

25.设a是char型变量,其值字符为’1’,则把其值变成整数1的表达式是()。

A.(int)aB.int(a)C.a=a-48D.a/(int)a

26.设a是int型变量,其值为3,则把其值变成字符’3’的表达式是()。

A.(char)aB.a=3C.a=a-48D.a=a+48

27.以下选项中,不正确的C语言常量是(TC中)。

A.32LB.510000C.-1.00D.0568

28.以下选项中,是不正确的C语言字符型常量。

A.'a'B.'\x41'C.'\101'D."a"

29.字符串的结束标志是。

A.0B.'0'C.'\0'D."0"

30.逻辑运算符中,运算优先级按从高到低依次为。

A.&&,!

,||B.||,&&,!

C.&&,||,!

D.!

,&&,||

31.表达式!

x||a==b等效于。

A.!

((x||a)==b)B.!

(x||y)==bC.!

(x||(a==b))D.(!

x)||(a==b)

32.intb=0,x=1;执行语句if(x++)b=x+1;后,x,b的值依次为。

A.2,3B.2,0C.3,0D.3,2

33.设ch是char型变量,其值为'A',则下面表达式的值是

ch=(ch>='A'&&ch<='Z')?

(ch+32):

ch

A.AB.aC.ZD.Z

34.字符串"ABC"在内存占用的字节数是

A.3B.4C.6D.8

35.要为字符型变量a赋初值,下列语句中哪一个是正确的

A.chara=3;B.chara=”3”;C.chara=%;D.chara=*;

36.下列不正确的转义字符是

A.\\B.\'C.074D.\0

37.下面四个选项中均是合法整型常量的选项是()

A.160-0xffff011B.-0xcdf01a0xe

C.-01986,0120668D.-0x48a2e50x

38.下面四个选项中均是不合法整型常量的选项是()

A.-0f1-0xffff0011B.-0xcdf01712,456

C.-0189995e2D.-0x48eg-06803f

39.下面四个选项中,均是不合法的浮点数的选项是()

A.1600.12e3B.1232e4.2e5

C.-18123e40.0D.-e32341e3

40.下面四个选项中,均是合法的浮点数的选项是()

A.+1e+15e-9.403e2B.-60.12e-4-8e5

C.123e1.2e-4-8e5D.-e38e-45.e-0

41.下面四个选项中,均是合法转义字符的选项是()

A.'\"‘\\'‘\n'B.‘\'‘\017'‘\"'

C.'\018'‘\f'‘xab'D.'\\0'‘\101'‘x1f'

42.下面四个选项中,均是不合法的转义字符的选项是()

A.'\"'‘\\'‘\xf'B.'\1011'‘\'‘\a'

C.'\011'‘f'‘\}'D.'\abc'‘\101'‘x1f

43.下面正确的字符常量是()

A.‘c"B.'\\"C.'w'D."

44.下面四个选项中,均是正确的数值常量或字符常量的选项的是()

A.0.00f8.9e‘&'B."a"3.9E-2.51e1‘\"'

C.'3'0110xFF000aD.+0010xabcd2e250

45.下面不正确的字符串常量是()

A.'abc'B."12'12"C."0"D.""

46.已知各变量的类型说明如下:

intk,a,b;unsignedlongw=5;doublex=1.42;则以下不符合C语言语法的表达式是()

A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)

47.已知各变量的类型说明如下:

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=float(i)

48.以下不正确的叙述是()

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,APH和aph是两个不同的变量

C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中

的值不变

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

49.以下正确的叙述是()

A.在C程序中,每行中只能写一条语句

B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C.在C语程序中,无论是整数还是实数,都能被准确无误地表示

D.在C程序中,%是只能用于整数运算的运算符

50..以下符合C语言语法的赋值表达式是()

A.d=9+e+f=d+9B.d=9+e,f=d+9C.d=9+e,e++,d+9D.d=9+e++=d+7

51.表达式18/4*sqrt(4.0)/8值的数据类型为()

A.floatBcharC.doubleD.不确定

52.若有以下定义,则能使值为3的表达式为3的表达式是()intk=7,x=12;

A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)

53.设以下变量均为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)

54.C语言并不是非常严格的缩放语言,在以下关于C语言的不严格的叙述中,错误的说法是()。

A)任何不同数据类型都不可以通用

B)有些不同类型的变量可以在一个表达式中运算

C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型

D)同一个运算符号在不同的场合可以有不同的含义

55.在C语言中,int、char和short三种类型数据所占的内存()。

A)均为2个字节B)由用户自己定义

C)由所用机器的字长决定D)是任意的

56.下列常数中不能作为C语言的数据类型是()。

A)0xa5B)2.5e-2C)3e2D)0582

57.设int类型的数据长度为2字节,则unsignedint类型数据的取值范围是()。

A)0至255B)0至65535C)-256至255D)-32768至32767

58.在C语言中,数字029是一个()。

A)八进制数B)十六进制数C)十进制D)非法数

59.下列可以正确表示字符型常数的是()。

A)”a”B)'\t’C)”\n”D)297

60.以下错误的转义字符是()。

A)'\\’B)'\'’C)'\81’D)'\0’

61.C语言中整数-8在内存中的存储形式是()。

A)1111111111111000B)1000000000000000

C)0000000000001000D)1111111111110111

62.已知inti;floatf;正确的语句是()。

A)(intf)%iB)int(f)%iC)int(f%i)D)(int)f%i

63.已知:

chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是()。

A)intB)charC)floatD)double

64.已知:

inti,a;执行语句“i=(a=2*3,a*5),a+6;后,变量i的值是()。

A)6B)12C)30D)36

65.已知:

inti=5;执行语句i+=++i;i的值是()。

A)10B)11C)12D)A,B,C答案都不对

66.字符串”\\\22a,0\n”的长度是()。

A)8B)7C)6D)5

67.已知:

charc='A';inti=1,j;执行语句j=!

c&&i++;则i和j的值是()。

A)1,1B)1,0C)2,1D)2,0

68.已知:

intx=1,y=2,z;则执行z=x>y?

++x:

++y;则z的值为()。

A)1B)2C)3D)4

69.为了求出s=10!

的值,则变量s的类型应当为()。

(10!

=3628800)

A)intB)unsignedC)longD)以上三种类型均可以

70.已知:

intx=1,y;则y=++x*++x的结果为()。

A)y=9B)y=6C)y=1D)表达式是错误的

71.已知“inta=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为()。

A)0B)1C)4D)5

72.选出使变量i的运行结果为4的表达式()。

A)inti=0,j=0;B)inti=1,j=0;

(i=3,(j++)+i)j=i=((i=3)*2);

C)inti=0,j=1;D)inti=1,j=1;

(j==1)?

(i=1):

(i=3);i+=j+=2;

73.已知:

intx;则使用逗号运算的表达式“(x=4*5,x*5),x+25”的结果为(),变量x的值为()。

(1)A)20B)100C)表达式不合法D)45

(2)A)20B)100C)125D)45

74.执行下面的语句后x的值为()。

inta=14,b=15,x;

charc='A';

x=((a&b)&&(c<'a'));

A)TRUEB)FLASEC)0D)1

75.若定义了intx;则将x强制转化为双精度类型应该写成()。

A)(double)xB)x(double)C)double(x)D)(x)double

76.要判断char型变量m是否是数字字符,可以使用下列表达式()。

A)0<=m&&m<=9B)'0'<=m&&m<='9'

C)“0”<=m&&m<=“9”D)前3个答案都是错误的

77.以下可用作用户标识符的是:

()

A)12_aB)signedC)t-oD)_if

78.以下不是关键字的标识符是:

()

A)continueB)charC)IfD)default

79.C语言提供的合法的关键字是:

()

A)swicthB)cherC)CaseD)void

80.以下选项中不合法的int整型常数是()

A)32768B)-56C)03D)0xAF

81.以下不合法的长整型常量是()

A)2LB)49627C)34566666D)213

82.以下正确的实型常量是()

A)1.2EB).579899C)1.2e0.6D)8

83.以下选项中合法的实型常数是()

A)5E2.0B)E-3C).2E0D)1.3E

84.以下合法的八进制数是()

A)0135B)068C)013.54D)o7

85.以下合法的十六进制数是()

A)0xB)0x4deC)0x1hD)ox77

86.以下选项中非法的数值常量是()

A)019B)0LC)0xffD)1e1

87.若变量已正确定义,以下合法的赋值表达式是()

A)a=1/b=2B)++(a+b)

C)a=a/(b=5)D)y=int(a)+b

88.若变量已正确定义,以下非法的表达式是()

A)a/=b+cB)a%(4.0)

C)a=1/2*(x=y=20,x*3)D)a=b=c

89.设x为int类型,其值为11,则表达式(x++*1/3)的值是:

A)3B)4C)11D)12

90.设a,b均为double型,且a=5.5;b=2.5;则表达式

(int)a+b/b的值是()

A)6.500000B)6C)5.500000D)6.000000

91.若a,b,c均被定义成整型并已赋大于1的值,能正确表示代数式

的C语言表达式是()

A)1/(float)a*b*cB)1/(a*b*c)C)1.0/a/b/cD)1/a/b/(float)c

92.以下变量x,y,z均为double型且已正确赋值,不能正确表示代数式

的C语言表达式是()

A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z

93.若题中变量已正确定义并赋值,下面符合C语法的表达式是()

A)a%=7.6B)a++,a=7+b+cC)int(12.3)%4D)a=c+d=a+7

94.若t已定义为double型,则表达式:

t=1,t++,t+5的值为()

A)7B)7.0C)2.0D)1.0

95.下面四个选项中,均是不合法的用户标识符的选项的是:

()

A.Ap_odoB.floatlao_AC.b-agotointD._123tempINT

二、填空题

1.符号常量的定义方法是。

2、双精度实数的表示范围是___________,其有效位数是________。

3、关系表达式的运算结果是________。

4、逻辑运算符!

是________运算符,其结合性是由______。

5、表达式的运算对象可以是常量、变量和________。

6、已知charc;表达式(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)&&c<=98的值为1,则变量c的值是_____________。

7、已知:

a=15,b=240;则表达式(a&b)&b||b的结果为______。

8、负数在计算机中是以______形式表示。

9、在内存中存储“A”要占用个字节,存储‘A’要占用个字节。

10、设a,b,c为整型数,且a的值为2,b的值为3,c的值为4,表达式:

a*=16+(b++)-(++c)的值为______。

11、已有定义:

intx=0,y=0;,则计算表达式:

(x+=2,y=x+3/2,y+5)后,表达式的值是___,变量x的值是___,变量y的值是____

12、定义变量的完整语句格式是。

13、设下列运算符:

<<、+、++、&&、<=,其中优先级最高的是,优先级最低的是。

14、已有定义:

intx=110,y=017;,则计算表达式:

(x++,++y)后,按十进制表示,变量x的值是_____,变量y的值是_____。

15、C语言中运算结果可以当成逻辑值使用的表达式有:

表达式、表达式、表达式、表达式、表达式和表达式。

16、若已有定义语句:

intk=3,j=4;,运行表达式(k+=j,j/=4.0,++j,j+2)后,表达式的值是_____,变量k的值是_____,变量j的值是_____。

17、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为。

18、若有定义:

inte=1,f=4,g=2;floatm=10.5,n=4.0,k;则计算赋值表达式

k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是。

19、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为。

20、表达式pow(2.8,sqrt(double)(x)))值的数据类型为。

21、假设m是一个三位数,从左到右用a、b、c表示各位的数字,则从左到右各个数字是bac的三位数的表达式是。

22、已有定义:

floatf=13.8;,则表达式:

(int)f%3的值是______.

23、已有定义:

intx=3;,则表达式:

x=x+1.78的值是______.

24、已有定义:

doublex=3.5;则表达式:

x=(int)x+1的值是___.

25、已有定义:

intx=10,y=3,z;,则表达式:

z=(x%y,x/y)的值是_____.

三、操作题

1.写出以下程序运行的结果:

main()

{charc1='a',c2='b',c3='c',c4='\101',c5='\116';

printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);

printf("\t\b%c%c",c4,c5);

}

2.分析以下程序能否正常运行。

main()

{intc1,c2;c1=97;c2=98;

printf("%c%c\n",c1,c2);

printf("%d%d\n",c1,c2);

}

3.写出以下四个程序运行的结果:

main()

{

inti=6;

printf("%d,%d,%d\n",i,(i++)+(i++)+(i++),i);

}

main()

{

inti=6,j;

j=(i++)+(i++)+(i++);

printf("%d,%d\n",i,j);

}

main()

{

inti=6,j;

j=(++i)+(++i)+(++i);

printf("%d,%d\n",i,j);

}

4.写出以下程序运行的结果:

(1)main()

{floatf;

inti=4;

f=10/i;

printf("%f\n",f);

}

(2)main()

{floatf;

inti=4;

f=10.0/i;

printf("%f\n",f);}

5.分析下面程序执行后的结果。

main()

{inta=3,b=7;

printf(“%d\n”,a+++++b);

printf(“%d\n”,b%a);

printf(“%d\n”,!

a>b);

printf(“%d\n”,a+b);

printf(“%d\n”,a&&b);

}

四、简答题

(1)用户标识符在命名时,应注意哪几个方面?

(2)C语言中,怎样区分求负与减法运算?

怎样区分取地址运算和按位与运算?

五、求下面算术表达式的值

(1)设x=2.5,a=7,y=4.7,x+a%3*(int)(x+y)%2/4

设a=2,b=3,x=3.5,y=2.5,(float)(a+b)/2+(int)x%(int)y

(2)设inti=1,j=2,k=3;,请写出以下表达式的值

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1