文档库 最新最全的文档下载
当前位置:文档库 › 数据类型、运算符与表达式练习题

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

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

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

一、单项选择题

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

A.”a” B. {ABC} C. ?abc\0? D. ?a?

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

A.ABC B. “ABC” C. ?abc? D. ?a?

3. 在PC机中,?\n?在内存占用的字节数是()。

A. 1

B. 2

C. 3

D. 4

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

A. 5

B. 6

C. 3

D. 4

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

A. 4

B. 6

C. 7

D. 8

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

A. 0L

B. 49627

C. 0.054838743

D. 2.1869e10

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

A. OL

B. 0821

C. 40000

D. 0x2a

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

A. …\a?

B. …\160?

C. …070?

D. 070

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

A. ASCII代码值

B. BCD代码值

C. 内码值

D. 十进制代码值

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

A. 1

B. 0

C. -1

D. 出错

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

A. <=

B. =

C. %

D. &&

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

A. 0

B. 1

C. 2

D. 表达式出错

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

A. 4,4

B. 6,6

C. 4,6

D. 6,4

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

A. 6

B. 9

C. 8

D. 表达式出错

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

A. 3,3

B. 5,4

C. 4,5

D. 6,6

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

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

17. 表达式“1?(0?3:2):(10?1:0)”的值是()。

A. 3

B. 2

C. 1

D. 0

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

A. 0

B. 11

C. 10

D. 出错

19.下列表达式中符合C语言语法的赋值表达式是()。

A. a=7+b+c=a+7

B. a=7+b++=a+7

C. a=(7+b,b++,a+7)

D. a=7+b,c=a+7

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

A. a=1,b=1

B. y=int(x)

C. a=b=5

D. i++

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

A. 1

B. 4

C. 4.333333

D. 4.6

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

A. 1

B. 0

C. 14

D. 12

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

A. 0

B. 1

C. 15

D. 35

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

A. ?a?&&?b?

B. a<=b

C. a||b+c&&b-c

D. !((a

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

A. (int)a

B. int(a)

C. a=a-48

D. a/(int)a

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

A. (char)a

B. a=3

C. a=a-48

D. a=a+48

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

A. 32L

B. 510000

C. -1.00

D. 0568

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

A. 'a'

B. '\x41'

C. '\101'

D. "a"

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

A. 0

B. '0'

C. '\0'

D. "0"

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

A. &&,!,||

B. ||,&&,!

C. &&,||,!

D. !,&&,||

31.表达式!x||a==b 等效于。

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

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

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

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

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

A. 2,3

B. 2,0

C. 3,0

D. 3,2

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

ch=(ch>='A'&& ch<='Z')? (ch+32):ch

A. A

B. a

C. Z

D. Z

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

A. 3

B. 4

C. 6

D. 8

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

A. char a=3;

B. char a=”3”;

C. char a=%;

D. char a=*;

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

A. \\

B. \'

C. 074

D. \0

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

A.160 -0xffff 011

B.-0xcdf 01a 0xe

C.-01 986,012 0668

D.-0x48a 2e5 0x

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

A.-0f1 -0xffff 0011

B.-0xcdf 017 12,456

C.-018 999 5e2

D.-0x48eg -068 03f

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

A.160 0.12 e3

B.123 2e4.2 e5

C.-18 123e4 0.0

D.-e3 234 1e3

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

A.+1e+1 5e-9.4 03e2

B.-60. 12e-4 -8e5

C.123e 1.2e-4 -8e5

D.-e3 8e-4 5.e-0

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

A.'\" …\\' …\n'

B.…\' …\017' …\"'

C.'\018' …\f' …x ab'

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.0 0f 8.9e …&'

B."a" 3.9E-2.5 1e1 …\"'

C.'3' 011 0xFF00 0a

D.+001 0xabcd 2e2 50

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

A.'abc'

B."12'12"

C."0"

D." "

46.已知各变量的类型说明如下:int k,a,b; unsigned long w=5; double x=1.42;则以下不符合C

语言语法的表达式是( )

A.x%(-3)

B.w+=-2

C.k=(a=2,b=3,a+b)

D.a+=a-=(b=4)*(a=3)

47.已知各变量的类型说明如下:int i=8,k,a,b; unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言合法的表达式是( )

A.a+=a-=(b=4)*(a=3)

B.a=a*3=2

C.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+9

B.d=9+e,f=d+9

C.d=9+e,e++,d+9

D.d=9+e++=d+7

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

A.float B char C.double D.不确定

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

A.x%=(k%=5)

B.x%=(k-k%5)

C.x%=k-k%5

D.(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)0xa5 B)2.5e-2 C)3e2 D)0582

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

A)0至255 B)0至65535 C)-256至255 D)-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)1111 1111 1111 1000 B)1000 0000 0000 0000

C)0000 0000 0000 1000 D)1111 1111 1111 0111

62.已知int i; float f; 正确的语句是()。

A)(int f)%i B)int(f)%i C)int(f%i) D)(int)f%i

63.已知:char a; int b;float c; double d; 执行语句c=a+b+c+d; 后,变量c的数据类型是()。

A)int B)char C)float D)double

64.已知:int i,a;执行语句“i=(a=2*3,a*5),a+6;后,变量i的值是()。

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

65.已知:int i=5;执行语句i+= ++i;i的值是()。

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

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

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

67.已知:char c='A';int i=1,j;执行语句j=!c&&i++;则i和j的值是()。

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

68.已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为()。

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

69.为了求出s=10!的值,则变量s的类型应当为()。(10!=3628800)

A)int B)unsigned C)long D)以上三种类型均可以

70.已知:int x=1,y;则y=++x* ++x的结果为()。

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

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

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

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

A) int i=0,j=0;B) int i=1,j=0;

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

C) int i=0,j=1;D) int i=1,j=1;

(j==1)?(i=1):(i=3);i+=j+=2;

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

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

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

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

int a=14,b=15,x;

char c='A';

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

A)TRUE B)FLASE C)0 D)1

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

A)(double)x B)x(double) C)double(x) D)(x)double

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

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

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

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

A) 12_a B) signed C) t-o D) _if

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

A) continue B) char C) If D) default

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

A) swicth B) cher C) Case D) void

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

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

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

A) 2L B) 49627 C) 34566666 D) 213

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

A) 1.2E B) .579899 C) 1.2e0.6 D) 8

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

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

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

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

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

A) 0x B) 0x4de C) 0x1h D) ox77

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

A) 019 B) 0L C) 0xff D) 1e1

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

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

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

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

A) a/=b+c B) a%(4.0)

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

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

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

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

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

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

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

的C 语言表达式是( )

A) 1/(float)a*b*c B) 1/(a*b*c) C) 1.0/a/b/c D) 1/a/b/(float)c

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

?的C 语言表

达式是( )

A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z

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

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

94. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( )

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

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

A. A p_o do

B. float lao _A

C. b-a goto int

D._123 temp INT

二、填空题

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

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

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

4、逻辑运算符!是________运算符,其结合性是由______。

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

6、已知char c ;表达式(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、已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是___,变

量x 的值是___,变量y 的值是____

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

13、设下列运算符:<<、+、++、&&、<=,其中优先级最高的是 ,优先级最低

的是 。

14、已有定义:int x=110,y=017;,则计算表达式:(x++,++y )后,按十进制表示,变量x 的

值是_____,变量y 的值是_____。

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

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

16、若已有定义语句:int k=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、若有定义:int e=1,f=4,g=2;float m=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、已有定义:float f=13.8;,则表达式:(int)f%3的值是______.

23、已有定义:int x=3;, 则表达式:x=x+1.78的值是______.

24、已有定义:double x=3.5; 则表达式:x=(int)x+1的值是___.

25、已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是_____.

三、操作题

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

main()

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

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

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

}

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

main()

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

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

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

}

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

main()

{

int i=6;

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

}

main()

{

int i=6,j;

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

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

}

main()

{

int i=6,j;

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

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

}

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

(1)main()

{ float f;

int i=4;

f=10/i;

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

}

(2)main()

{ float f;

int i=4;

f=10.0/i;

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

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

main()

{ int a=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)设int i=1,j=2,k=3;,请写出以下表达式的值及计算后变量i、j、k 的值。

①( ++i ) * ( ++j ) * ( ++ k) ②( i++ ) * ( ++j ) * (k++)

③i=i+j,j=j+k,k=k+i ④! ( i = j ) && ( j = k )

六、编程题:

1. 要将“China”翻译成密码。密码规律是:用原来字母的后面第4个字母代替原来的字母。

请编写一程序实现。并输出结果。(Glmre)

2. 设长方形的高为1.5,宽为2.3,编程求该长方形的周长和面积。

参考答案:

一、选择题

1-5 ABACC 6-10 (AB)DCAA 11-15 CADAB 16-20 ABBCB 21-25 ACBDC

26-30 DDDCD 31-35 DABBA 36-40 CADDB 41-45 AACDA 46-50 AAADD

51-55 CDCAC 56-60 DBDBC 61-65 ADCCC 66-70 BBCCA 71-75 AD(DA)DA 76-80BDCDA 81-85 DBCAB 86-90 ACBAD 91-95 CABBC

二、填空题

1、#define 标识符字符串

2、10-308~10+308

3、0或1

4、逻辑非、从右向左

5、函数

6、数字字符或大写字母或小写字母a和b

7、1

8、补码

9、2、1 10、4、7、2 11、unsigned int、double、char

12、数据类型变量名[=表达式1][,变量名2[=表达式2],……];

13、++、&& 14、111、16 15、算术、关系、逻辑、赋值、逗号

16、4、7、2 17、8.000000 18、13.700000 19、int 20、double

21、m%10+m/100*10+m%100/10)*100

22、1 23、4 24、4.000000 25、3 26、28 27、2、3

三、操作题

1、aa bb cc ab

2、 a b

3、9,21,6 9,18 9,27

A N 97 98 4、(1)2.000000 (2)2.500000

5、11

12

1

四、(2)区别是:求负:单目,右结合;减法:双目,左结合;

取地址:单目,右结合;按位与:双目,左结合;

五、(1)2.5、 3.5

(2)①24,i=2,j=3,k=4 ②9,i=2,j=3,k=4 ③6,i=3,j=5,k=6④ 0,i=2,j=3,k=3

六、编程题

1、#include

void main()

{char c1=?c?,c2=?h?,c3=?i?,c4=?n?,c5=?a?;

c1=c1+4;c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4;

printf(“%c%c%c%c%c\n”,c1,c2,c3,c4,c5);

}

2、#include

void main()

{float x=1.5,y=2.3;

printf(“周长是:%6.2f,面积是:%6.2f\n”,2*(x+y),x*y);

}

C语言试题:数据类型、运算符与表达式

3 数据类型、运算符与表达式 一、单项选择题 1、以下选项中,不正确的 C 语言浮点型常量是( C )。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 分析:e 后面的指数必须为整数。 2、以下选项中,( D )是不正确的 C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" 分析:在C 语言中,’a ’表示字符常量,”a ”表示字符串。 3、 在 C 语言中,字符型数据在计算机内存中,以字符的(C )形式存储。 A.原码 B.反码 C. ASCII 码 D. BCD 码 分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII 码放到储存单元中。 4、若x 、i 、j 和k 都是int 型变量,则计算下面表达式后,x 的值是( C )。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以x=32. 5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B )。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“*”以及除法运算符“/”,赋值运算符包括“=、+=、-=、*=、/=、……”,关系运算符包括“<、<=、>、>=”。 6、若有代数式bc ae 3 ,则不正确的C 语言表达式是( C )。 A.a/b/c*e*3 B. 3*a*e/b/c C.3*a*e/b*c D. a*e/c/b*3 分析:C 选项表达的是3ace/b 。 7、表达式!x||a==b 等效于( D )。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 分析:由符优先级先后顺序在!x||a==b 中应先算“||”再算“!”,最后算“==”。选项B 不影响运算顺序。 8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A )。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 分析:先算括号里面的,a 不大于b ,则m=0,c 不大于d ,则n=0. 9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。 A. 3 B. 0 C. 9 D. -12 分析:从后往前算,a*=a 即a=a*a ,a=9;然后a-=a=9,a=a-9,=0;a+=0,a=a+a=0. 10、在以下一组运算符中,优先级最低的运算符是( D )。

习题三(运算与表达式)

习题三 一、选择题 1.若有代数式 bc ae 3,则不正确的C 语言表达式是( C )。 A. a/b/c*e*3 B. 3*a*e/b/c C. 3*a*e/b*c D. a*e/c/b*3 2.在C 语言中,要求运算数必须是整型的运算符是( D )。 A. / B. = C. ++ D. % 3.若有定义语句:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值( A )。 A.2. B. 2. C.3. D.0. 4.若有定义int x=5,y=2,则表达式5/2的结果为(B )。 A. 2.5 B. 2 C. 2.0 D. 3 5.判断char 型变量ch 是否为大写字母的正确表达式是( C )。 A. ‘A ’<=ch<=’Z ’ B. (ch>=’A ’)&(ch<=’Z ’) C. (ch>=’A ’)&&(ch<=’Z ’) D. (ch>=’A ’)and(ch<=’Z ’) 6.为表示关系a ≥b ≥c,则正确的C 语言表达式为( C )。 A. a>=b>=c B. (a>=b)&(b>=c) C. (a>=b)&&(b>=c) D. (a>=b)||(b>=c) 7.逻辑运算符两侧运算对象的数据类型(D )。 A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型 D.可以是任何数据类型 8.下列运算符中,优先级最高的是( B )。 A. < B. + C. && D. == 9.设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. !((x=y&&ch<’B ’&&!y )的值为( B )。 A. 0 B. 1 C. “假” D. true 11.下列表达式中,不满足条件“当x 为奇数时值为真,当x 为偶数时值为假”的是( C )。 A. x%2==1 B. !(x%2==0) C. !(x%2) D. x%2 12.设有int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式(m=a>b )&&(n=c>d)后,n 的值为( C )。 A. 0 B. 1 C. 2 D. 3 13.判断char 型变量c 是否为0到9的数字的正确表达式为( C )。 A. ‘0’<=c<=’9’ B. 0<=c<=9 C. c>=’0’&&c<=’9’ D.c>=0&&c<=9 14.设有int x=3,y=4,z=5,则执行表达式!(x+y )+z-1&&y+z/2的结果是( D )。 A. 6 B. 0 C. 2 D. 1

运算符与表达式练习题附答案

1. 以下运算符中优先级最高的是()。 A.&&B.+ C.!= D.?: 2.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()。 A.a>=10 or a<=0 B.a>=10| a<=0 C.a>=10 && a<=0 D.a>=10||a<=0 3. C语言中运算对象必需是整型的运算符是()。(A)+ (B)/ (C)% (D)* 4. 已知int i;float f;正确的表达式是()。 A)(int f)%i B) int(f)%i C) int(f % i) D) (int)f % i 5. 下列程序的输出结果是()。 void main( ) { int a=7,b=5; printf("%d\n",b=b%a); } (A)0 (B)1 (C)5 (D)不确定值6. 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;

后,c的值为()。 (A)1.4 (B)1 (C)2.0 (D)2 7. 已知x=4.5,y=2.5,求表达式(x+y)/2+(int)y%(int)x的值()。 A) 3 B) 5 C) 3.5 D) 5.5 8. 已知各变量的类型如下 int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是()。 (A)a+=a-=(b=4)*(a=3)(B)a=a*3+2 (C)x%(-3)(D)y=float(i) 9. 已知int a,b;执行语句a=(b=3*2,b*4),a+6;后变量a的值为()。 A) 6 B) 12 C) 24 D)30 10. 若有以下程序 main() { int k=2,i=2,m; m=(k+=i*=k);

(完整word版)C语言运算符与表达式的练习题答案

C语言运算符与表达式的练习题 单项选择题 (1)以下选项中,正确的 C 语言整型常量是(D)。 A. 32L B. 510000 C. -1.00 D. 567 (2)以下选项中,(D)是不正确的 C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" (3)字符串的结束标志是(C)。 A. 0 B. '0' C. '\0' D. "0" (4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (5)逻辑运算符中,运算优先级按从高到低依次为(D)。 A. && ! || B. || && ! C. && || ! D. ! && || (6)表达式!x||a==b 等效于(D)。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) (7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是(A)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 *(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是(B)。 A. 3 B. 0 C. 9 D. -12 (9)在以下一组运算符中,优先级最低的运算符是(D)。 A. * B. != C. + D. = (10)设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是(B,上机13)。 A. 6 B. 12 C. 15 D. 表达式出错 (11)若已定义 x 和 y为double 类型,则表达式的值是(D)。

C语言运算符与表达式的练习题

C语言运算符与表达式的练习题 (作业写到纸质作业本上,在规定时间内交给助教批阅,不要 再网上提交) 一、单项选择题 (1) 以下选项中,正确的C 语言整型常量是。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中,是不正确的C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" (3) 在C 语言中,字符型数据在计算机内存中,以字符 的形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 (4) 字符串的结束标志是。 A. 0 B. '0' C. '\0' D. "0" (5) 算术运算符、赋值运算符和关系运算符的运算优先级按 从高到低依次为。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运 算、赋值运算

C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (6) 逻辑运算符中,运算优先级按从高到低依次为。 A. &&,!,|| B. ||,&&,! C. &&,||,! D. !,&&,|| (7) 表达式!x||a==b 等效于。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) (8) 设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 (9) int b=0,x=1;执行语句if(x++) b=x+1; 后,x,b 的值依次为。 A. 2,3 B. 2,0 C. 3,0 D. 3,2 (10) 设有语句int a=3;,则执行了语句a+=a-=a*=a; 后,变量 a 的值是。 A. 3 B. 0 C. 9 D. -12 (11) 在以下一组运算符中,优先级最低的运算符是。 A. * B. != C. + D. =

1、c语言-数据类型与运算符(含答案)详解

一、选择题 1. 可用作C语言用户标识符的一组标识符是( B )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 2. 存储以下数据,占用存储字节最多的是(D )。 A. 0 B. ‘0’ C. “0” D. 0.0 3. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 4. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。 A. 12 B. 144 C. 156 D. 288 5. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数 式1/abc的表达式是( A)。 A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c 6. 设”int a=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C )。 A. 15 B. 26,15 C. 15,26 D. 26 7. 设x是一个int型的,y的值为10,则表达式x && y的值为(C )。 A. 1 B. 0 C. 与x值相同 D. 与x值相反 8. x>0 && x<=10的相反表达式为( A )。 A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 9. x>0 || y==5的相反表达式为( B )。 A. x<=0 || y!=5 B. x<=0 && y!=5 C. x>0 || y!=5 D. x>0 && y==5 10. 下面的哪个保留字不能作为函数的返回类型?( C ) 。 A. void B. int C. new D. long 11. 假定a为一个整型数组名,则元素a[4]的字节地址为(B) 。 A. a+4 B. a+8 C. a+16 D. a+32 12. 字符串”a+b=12\n”的长度为(B )。 A. 6 B. 7 C. 8 D. 9 13. 假定下列x和y均为int型变量,则不正确的赋值为( B )。 A. x+=y++ B. x++=y++ C. x=++y D. ++x=++y 14. 设有以下定义 int a=0; double b=1.25; char c=’A’; #define d 2 ( D ) A.a++; B. b++ C. c++; D.d++; 15. 设x和y均为bool量,则x&&y为真的条件是( A) 。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个 16.以下叙述中正确的是(A) A. C程序中注释部分可以出现在程序中任意合适的地方 B.花括号"{"和"}"只能作为函数体的定界符

作业━━第 1 章(2)━━运算符与表达式

运算符与表达式 【学习要点】 1.掌握运算符的目数、优先级、结合性等概念。 2.掌握算术运算及其应用。 3.掌握自增、自减运算及其应用。 4.掌握关系、逻辑运算及其应用。 5.掌握位运算及其应用。 6.掌握赋值、复合赋值运算及其应用,掌握赋值兼容时的类型转换。 7.掌握表达式求值时类型的自动转换和强制转换。 8.掌握表达式的组成,掌握逻辑表达式的优化及其副作用。 9.掌握逗号运算符、sizeof运算符、条件运算符及其应用。 ------------------------------------------------------------------------------------------------------------------------------------------------- 【例题分析】 1.若int x,y,z;下列表达式中运算结果与x=y=24相同的是______。 A.x=(y=z=8,4*6) B.x=y=(z=8,4*6) C.x=y=z=8,4*6 D.x=(y=z=8),4*6 【答案】B 【解析】 ①C++语言的赋值运算有别于其它高级语言,逗号运算又是其它高级语言所没有的。 ②在赋值表达式中,可以有多个赋值运算符,计算顺序自右向左,运算优先级低,仅高于逗号运算符。 ③逗号既是分隔符,又是运算符,可以用一个逗号运算符或多个逗号运算符将多个表达式连接成逗号表达式,计算顺序自左向右,并将最后一个表达式的值作为整个逗号表达式的值,逗号运算优先级最低。 2.若int i=6,k=0;下列表达式中运算结果使k=7的是______。 A.k=i+++k B.k=k+i++ C.k=++i+k D.k=k+++i 【答案】C 【解析】 ①自增++、自减--运算符是C++语言特有的。 ②运算符++、--出现在变量的前面或后面,其运算结果是不同的。若++、--出现在变量前,则先将变量的值加1(或减1)后,再将变量的值参加运算;反之则先将变量的值参加运算,再将变量的值加1(或减1)。 ③自增、自减运算符的优先级高于算术运算符,因此对于k=i+++k:解释为i++,再加k;对于k=k+++i:解释为k++,再加i。 3.表达式‘A’+’B’+20的值是______。 【答案】151 【解析】不同类型的数据混合运算时,系统可以自动进行类型转换,将表示范围小的数据类型转换成另一操作数的相同类型后再参与运算,则转换为65+66+20=151。 4.若int e=8;double f=6.4,g=8.9;则f+int(e/3*int(f+g)/2)%4的值是______。 【答案】9.4 【解析】 ①不同类型的数据混合运算时,可以使用强制类型转换符,将一种数据类型强制转换成另一种数据类型后再参与运算。 ②表达式中:e/3的值是整型数2,int(f+g)的值是整型数15,int(e/3*int(f+g)/2)的值是整型数15,15%4的值是整型数3,最后加上实型数f,得到最终值是实型数9.4。 1

03填空题(运算符与表达式)

2.2 填空题 (191)&运算符作为单目运算符时表示的是____运算;作为双目运算符时表示的是_____运算。 (192)请计算sizeof的值: char str[] = "Hello" ; char *p = str ; int n = 10; 请计算 sizeof (str ) = ____ sizeof ( p ) = _____ sizeof ( n ) = ______ (193)请计算sizeof的值: void Func ( char str[100]) { // 请计算 sizeof( str ) = _____ } (194)请计算sizeof的值: void *p = malloc( 100 ); // 请计算 sizeof ( p ) = ______ (195)下列程序段的输出是_______。 #define f(a, b, x) a*x+b printf("%d, %d\n", f(3,2,1), f(6, 5, f(3, 2, 1))); (196)下列程序段的输出是_____。 main() { int k; for(k=1; k<5; k++) { if(k % 2) printf("*"); else continue; printf("#"); } } (197)下列程序段的输出是_____。 int *p, *q, k=5, j=6; q=&k; p=q;

q=&j; printf("%d", *p); (198)设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是____。 (199)下面程序的输出是_________。 V oid main(void) { int a = 2; printf("%d %d %d\n", a, ++a, a--); } (200)有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&k 的值为______。 (201)设y是int型变量,请写出判断y为非法的关系表达______。 (202)若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。 fun(int a[ ]) { int i; for(i=1; i<=10; i++) _____ = i; for(i=0; i<5; i++) ______ = a[i]; } (203)设ch是字符型变量,判断ch为英文字母的表达式是______。 (204)下列程序段的输出结果是______。 printf("%xn", (0x19 <<1) & 0x17); (205)表示x≥y≥z的C表达式是_______。 (206)下列程序段的输出是______。 printf("%on", 010<<1^1); (207)下列程序段的输出是______。 int k; float s; for (k=0, s=0; k<7; k++) { s += k/2; } printf("%d, %fn", k, s); (208)设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_____________。

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

第三章运算符与表达式练习题 一、单项选择题 1.下列数据中属于“字符串常量”的是()。 A.”a” B. {ABC} C. ?abc\0? D. ?a? 2.下列数据中属于“字符串常量”的是()。 A.ABC B. “ABC” C. ?abc? D. ?a? 3. 在PC机中,?\n?在内存占用的字节数是()。 A. 1 B. 2 C. 3 D. 4 4. 在PC机中,”a\xff” 在内存占用的字节数是()。 A. 5 B. 6 C. 3 D. 4 5.字符串”\”ABCD\””在内存占用的字节数是()。 A. 4 B. 6 C. 7 D. 8 6. 在C语言中,合法的长整型常数是()。 A. 0L B. 49627 C. 0.054838743 D. 2.1869e10 7.在C语言中,合法的短整型常数是()。 A. OL B. 0821 C. 40000 D. 0x2a 8.下列数据中不属于“字符常量”的是()。 A. …\a? B. …\160? C. …070? D. 070 9.char型常量在内存中存放的是()。 A. ASCII代码值 B. BCD代码值 C. 内码值 D. 十进制代码值 10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是()。 A. 1 B. 0 C. -1 D. 出错 11.在以下一组运算符中,优先级最高的运算符是()。 A. <= B. = C. % D. && 12.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。 A. 0 B. 1 C. 2 D. 表达式出错 13.设整型变量i,j=3; 则计算表达式i=j+++j后i,j的值为()。 A. 4,4 B. 6,6 C. 4,6 D. 6,4 14.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。 A. 6 B. 9 C. 8 D. 表达式出错 15.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是()。 A. 3,3 B. 5,4 C. 4,5 D. 6,6 16.sizeof(double)的结果值是( )。 A.8 B. 4 C. 2 D. 出错 17. 表达式“1?(0?3:2):(10?1:0)”的值是()。 A. 3 B. 2 C. 1 D. 0 18.int a=0; if(a=1) a+=10; 结果的值是()。 A. 0 B. 11 C. 10 D. 出错 19.下列表达式中符合C语言语法的赋值表达式是()。 A. a=7+b+c=a+7 B. a=7+b++=a+7 C. a=(7+b,b++,a+7) D. a=7+b,c=a+7 20.下列表达式中,不正确的表达式是()。 A. a=1,b=1 B. y=int(x) C. a=b=5 D. i++

C详细答案复习题c

第3章运算符和表达式 丰富的运算符可使表达式方便、简捷。初学者一下掌握这么多操作符会有压力。可通过写或计算表达式的练习,以及各章程序实例中出现的表达式,进一步熟悉运算符。 3.1 表达式的基本概念 对数据进行各种运算的符号为运算符,参与运算的数据为操作数。表达式构成:常量、变量、有返回值的函数调用是表达式,表达式加圆括号、或用运算符作正确连接后也是表达式。 圆括号左、右括号个数要相同,多层括号时内层括号中的运算优先;整个表达式必须写在同一行上。 a·x3+b·x2+c·x+d 写作 a*x*x*x+b*x*x+c*x+d 或 ((a*x+b)*x+c)*x+d; 写作 1/(1+1/(1+x));等等。 C运算符:算术、关系、逻辑、条件、赋值、逗号运算符,等等。 根据参与运算的操作数个数,运算符可分为单目、双目以及三目运算符。两个操作数的运算符是双目运算符,“单目运算符”只有一个操作数。三目运算符是C语言所特有的,它有三个操作数。 不同运算符参与运算时有优先级问题。如先乘除、后加减。 同级运算一般是从左向右进行。特例如赋值“x=y=3”,先计算y=3、再计算x=y。特例将特别指出,一般按缺省。 主要介绍算术(包括自增自减)、关系、逻辑、赋值、逗号运算符,以及由这些运算符构成的各类表达式。 3.2 算术运算符与算术表达式 内容:算术运算符及其功能,算术表达式,优先级、运算时的类型转换规则。 3.2.1 算术运算符 1. 算术运算符 C的算术运算符有:+ - * / %(取余) 其中“-”可作单目运算符,如-5,表达式3*-5值为-15。 各运算符优先级:先乘除、后加减;取余的优先级和乘除相同。 优先级的讨论,应限于同一层括号内,同级运算一般从左到右执行。具体规则如下:

C++习题第02章基本数据类型、运算符与表达式

第02章基本数据类型、运算符与表达式 1. 选择题 (1)在32位机中,int型字宽为()字节。 A) 2 B) 4 C) 6 D) 8 (2)下列十六进制的整型常数表示中,错误的是()。 A) 0xad B) 0X11 C)0xA D) 4ex (3)设n=10,i=4,则执行赋值运算n%=i-1后,n的值是()。 A) 0 B) 1 C) 2 D) 3 (4)若有a=2,b=4,c=5,则条件表达式a>b?a:b>c?a:c的值为()。 A) 0 B) 2 C) 4 D) 5 (5)若有a=1,b=2,则表达式++a==b的值为()。 A) 0 B) 1 C) 2 D) 3 2.简答题 (1)指出下列数据中哪些可作为C++的合法常数? (a) 588918 (b) 0129 (c) 0x88a (d) e-5 (e) ″A″ (f) .55 (g) ’\\’(h) 0XCD (i) 8E7 (j) π (2)指出下列符号中那些可作为C++的合法变量名? (a) ab_c (b) β(c) 3xyz (d) if (e) cin (f) a+b (g) NAME (h) x! (i) _temp (j) main (3)根据要求求解下列各表达式的值或问题。 (a) (int)3.5+2.5 (b) (float)(5/2)>2.4 (c) 21/2+(0xa&15) (d) 设int i=10,则表达式i&&(i=0)&&(++i)的值是多少?该表达式运算结束后变量i的值为多少? (e) 设int a=1,b=2,c=3;,求表达式a

C语言数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题 1. 以下不合法的用户标识符是:() a) f2_G3 b) If c) 4d d) _8 2. 以下选项中合法的用户标识符是:() a) long b) _2Test c) 3Dmax d) A.dat 3. 以下可用作用户标识符的是:() a) 12_a b) signed c) t-o d) _if 4. 以下不是关键字的标识符是:() a) continue b) char c) If d) default 5. C语言提供的合法的关键字是:() a) swicth b) cher c) Case d) void 6. 以下选项中不合法的int整型常数是() a) 32768b) -56 c) 03 d) 0xAF 7. 以下合法的长整型常量是() a) 2L b) 49627 c) 34566666 d) 213& 8. 以下正确的实型常量是() a) 1.2E b) .579899 c) 1.2e0.6 d) 8 9. 以下选项中合法的实型常数是() a) 5E2.0 b) E-3 c) .2E0d) 1.3E 10. 以下合法的八进制数是() a) 0135b) 068 c) 013.54 d) o7

11. 以下合法的十六进制数是() a) 0x b) 0x4de c) 0x1h d) ox77 12. 以下选项中非法的数值常量是() a) 019b) 0L c) 0xff d) 1e1 13. 若变量已正确定义,以下合法的赋值表达式是() a) a=1/b=2 b) ++(a+b) c) a=a/(b=5)d) y=int(a)+b 14. 若变量已正确定义,以下非法的表达式是() a) a/=b+c b) a%(4.0) c) a=1/2*(x=y=20,x*3) d) a=b=c 15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是: a) 3 b) 4 c) 11 d) 12 16.设a,b均为double型,且a=5.5;b=2.5;则表达式 (int)a+b/b的值是() a) 6.500000 b) 6 c) 5.500000 d) 6.000000 17.若a为int型,且其值为3,则执行完表达式: a+=a-=a*a后,a的值是() a) -3 b) 9 c) -12 d) 6 18.设k和x均为int型变量,且k=7;x=12;则能使 值为3的表达式是() a) x%=(k%=5) b) x%=(k-k%5) c) x%=k-k%5 d) (x%=k)-(k%=5)

表达式与语句

表达式与语句 前面已经提到过表达式,相信大家对表达式也有了一个初步的认识,它是由常量、变量、运算符组合(到以后讲函数时,函数也可以是组成表达式的元素),计算以后返回一个结果值。表达式的结束标志是分号(;),C语言中所有的语句和声明都是用分号结束,在分号出现之前,语句是不完整的。例如: 1+2; Counter/3+5; Height*Width; 表达式本身什么事情都不做,只是返回结果值。在程序不对返回的结果值做任何操作的情况下,返回的结果值不起任何作用,表达式的作用有两点,一个是放在赋值语句的右边,另一个是作为函数的参数(以后再介绍)。 表达式返回的结果值是有类型的。表达式隐含的数据类型取决于组成表达式的变量和常量的类型。因此,表达式的返回值有可能是某种大小的整型,或者是某精度的浮点型,或者是某种指针类型。 这里面就有类型转化的问题了,在前面说整型运算的时候也提到过。类型转化的原则是从低级向高级自动转化(除非人为的加以控制)。计算的转换顺序基本是这样的:

字符型-->整型-->长整型-->浮点型-->单精度型-->双精度型 就是当字符型和整型在一起运算时,结果为整型,如果整型和浮点型在一起运算,所得的结果就是浮点型,如果有双精度型参与运算,那么答案就是双精度型了。 强制转换是这样的,在类型说明符的两边加上括号,就把后面的变量转换成所要的类型了。如: (int) a; (float) b; 第一个式子是把a转换成整型,如果原先有小数部分,则舍去。 第二个式子是把b转换成浮点型,如果原先是整数,则在后面补0。 每一个表达式的返回值都具有逻辑特性。如果返回值为非0,则该表达式返回值为真,否则为假。这种逻辑特性可以用在程序流程控制语句中。 有时表达式也不参加运算,如: if(a||b) ………… 5>3?a++:b++; 当a为真时,b就不参加运算了,因为不管b如何,条件总是真。 二、语句 (一)、赋值语句

第三章 数据类型、运算符与表达式 练习与答案

第三章数据类型、运算符与表达式 [试题分类]: 1.{ 下列程序执行后的输出结果是________________。 #define MA(x) x*(x-1) mian() \{int a=1,b=2; pirntf(“%d\n”,MA(1+a+b));\} } 试题编号:E54749 答案:8 题型:填空题 2.C语言中基本数据类型包括整型、实型、字符型。() 试题编号:E57279 答案:正确 题型:判断题 3.{ 要得到下列结果: a, b A, B 97,98,65,66 请按要求完善程序。 main( ) \{char c1,c2; c1=’a’;c2=’b’; printf(“%c,%c ”,c1,c2); printf(“%c,%c\n”, ___); printf(“%d,%d,%d,%d\n”,_c1,c2,c1-32,c2-32); \} } 试题编号:E55118 答案:c1-32,c2-32 题型:填空题 4.能表示“整型变量x的绝对值小于5”的表达式是___。(注意本题答案中规定不得使用系统函数)。 试题编号:E55113 答案:(x<5)&&(x>-5) 题型:填空题

5.设有定义"int a,b=10;",则执行语句"a=b<<2+1;"后a的值___。试题编号:E55111 答案:80 题型:填空题 6.设有定义"int x=4;",则表达式"x+=x*=x+1"的值是___。 试题编号:E55110 答案:40 题型:填空题 7.有下列运算符:>>、&&、|、!=,优先级别最高的是___。 试题编号:E55109 答案:>> 题型:填空题 8.用十进制来表示无符号短整型数据的数值范围是___。 试题编号:E55108 答案:0~65535 题型:填空题 9.{ 设有以下变量说明语句 char w='A'; int x=10; float y=20; double z=30; 则执行赋值语句 x=w*x+z-y; 之后x所得值的数据类是___。 } 试题编号:E55106 答案:int型 & 整型 题型:填空题 10.{ 设有变量说明语句 double d=5.4; int a,b; 则执行下述语句组的输出结果是___。 b=((a=2.1)+1.5)/3.6; d*=b; printf("%f\n",d); } 试题编号:E55104

运算符和表达式

运算符和表达式 上课到这一课相隔了好长一段时间,这些日子里收到不少网友的来信支持和鼓励,要求尽快完成余下的部分。出门在外的人不得不先为吃饭而努力,似乎这也成为我的借口,以后每晚抽空打一些吧这样大家也就可以不用隔太久就能看到一些新东西。或许我的笔记并不是很正确,但我尽量的保证每课的实验都会亲自做一次,包括硬件的部分,已求不会误人子弟。 随着访问量不断的增加,网站已启用了https://www.wendangku.net/doc/312525002.html,的国际域名,在这里我感谢各位一直支持磁动力工作室的朋友,更要感激身在远方一直默默支持我的女友。 明浩2003-7-14 晚 呵,费话少说了。上两课说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧。这个语句就是typedef,这是个很好用的语句,但我自己却不常用它,通常我定义变量的数据类型时都是使用标准的关键字,这样别人可以很方便的研读你的程序。如果你是个DELPHI编程爱好者或是程序员,你对变量的定义也许习惯了DELPHI的关键字,如int类型常会用关键字Integer来定义,在用C51时你还想用回这个的话,你可以这样写: typedef int integer; integer a,b; 这两句在编译时,其实是先把integer定义为int,在以后的语句中遇到integer就用int置换,integer就等于int,所以a,b也就被定义为int。typedef不能直接用来定义变量,它只是对已有的数据类型作一个名字上的置换,并不是产生一个新的数据类型。下面两句就是一个错误的例子: typedef int integer; integer = 100; 使用typedef可以有方便程序的移植和简化较长的数据类型定义。用typedef还可以定义结构类型,这一点在后面详细解说结构类型时再一并说明。typedef的语法是typedef 已有的数据类型新的数据类型名 运算符就是完成某种特定运算的符号。运算符按其表达式中与运算符的关系可分为单目运算符,双目运算符和三目运算符。单目就是指需要有一个运算对象,双目就要求有两个运算对象,三目则要三个运算对象。表达式则是由运算及运算对象所组成的具有特定含义的式子。C是一种表达式语言,表达式后面加";"号就构成了一个表达式语句。 赋值运算符 对于"="这个符号大家不会陌生的,在C中它的功能是给变量赋值,称之为赋值运算符。它的作用不用多说大家也明白,就是但数据赋给变量。如,x=10;由此可见利用赋值运

(完整word版)C语言运算符与表达式的练习题答案

C 语言运算符与表达式的练习题 单项选择题 (i )以下选项中,正确的C 语言整型常量是( D )。 A. 32L ⑵以下选项中,( A. 'a' B. 510000 D )是不正确的 B. '\x41' C. -1.00 C 语言字符型常量。 C. '\101' (3)字符串的结束标志是( C )。 A. 0 B. '0' C. '\0' (4) 算术运算 符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (5) 逻辑运算符中,运算优先级按从高到低 依次为( D )。 A. && ! || (6)表达式!x||a B. || && ! C. && || ! ==b 等效于( D )。 ! D. ! && || A. !((x||a)==b) B. !(x||y)==b C .!(x||(a= ==b)) D (!x)||(a==b) (7)设整型变 量 m, n,a,b,c,d 均为 1,执行(m=a>b)&&(n=c>d) 后,m,n 的值是( A A. 0,0 B. 0 ,1 C. 1 ,0 D. 1 , 1 *(8)设有语句 i nt a=3 ;,则执行了语句 a+=a-=a*=a; 后, 变量a 的值是( B A. 3 B. 0 C. 9 D. -12 (9) 在以下一组运算符中,优先级最低的运算 符是( D )。 A. * B. != C. + D.= (10) 设 整型变量i 值为2,表达式(++i )+(++i )+(++i ) 的结果是( B,上机13 ) A. 6 B. 12 C. 15 D. 表达式出错 D. 567 D. "a" D. "0"

03.JAVA考核题-数据类型和运算符(一)第一部分(答案)

JAVA考核-数据类型和运算符 第一部分 英语测试(每题1分,共10分) 1 .(单选) oriented ( A ) A 面向 B 向上 C向下 D 方向 2 .(单选) Object ( B) A 目标 B 对象 C 象征 D 锚 3 .(单选) integer ( D) A 小数 B 浮点数 C 实数 D 整数 4 .(单选) syntax ( C) A 标识符 B 句号 C 语法 D 选择 5 .(单选) infinity ( A) A 无穷 B 确定 C 渺小 D孤独 6. (单选) insert ( B) A 导出 B 嵌入 C 往上 D 动作 7 .(单选) instance ( C) A 插入 B 迅速 C 实例 D 速溶 8 .(单选) comment ( A) A 注释 B 语句 C 内容 D 文档 9.(单选)String ( D) A一束 B一捆 C一打 D一串 10.(单选)conversion ( A) A转换 B分配 C指定 D优化 第二部分 知识点测试(90分) 一、选择题(每题1.5分,共67.5分) 1 . 用8位无符号二进制数能表示的最大十进制数为(C) A. 127 B. 128 C. 255 D. 256 2 .以下能作为char类型的字面值的有(BDE) A. "e" B. 'f' C. '\u12' D. '\u0012' E. '\n' 3 .byte变量的取值范围是(B) A. 0~65535 B. -128~127 C. -256-255 D. 0~32767

4. 以下选项中正确的有(ACD) A. int i = 32; B. float f = 45.32; C. double d=3.2; D. double d=9.21D; 5 .假定x和y为double型,则表达式x=2,y=x+3/2的值是(D) A. 3.5 B. 3 C. 2.0 D. 3.0 6 .下列对于>>和>>>操作符描述正确的是(A) A. 当左面的操作数是正数时,>>和>>>结果相同。 B. (-1 >> 1)的结果是0。 C. (-1 >>> 1) 的结果是-1。 D. 只有在右面的操作数大于等于1时, >>> 才会返回负数。 7 .有如下一段代码: 1)public class ReturnIt{ 2) returnType methodA(byte x, double y){ 3) return x/y*2; 4) } 5) } 在第2行中,方法methodA的有效返回类型returnType应该是?(D) A. int B. byte C. short D. double 8.下列代码的执行结果是(D) 1)public class Beirun{ 2) public static void main(String args[]){ 3) float t=9.0f; 4) int q=5; 5) System.out.println((t++)*(--q)); 6) } 7)} A. 40 B. 40.0 C. 36 D. 36.0 9.下列代码的执行结果是(D) 1)public class Beirun{ 2) public static void main(String args[]){ 3) System.out.println(5/2); 4) } 5)} A. 2.5 B. 2.0 C. 2.50 D. 2 10.下列代码的执行结果是(B) 1)public class Beirun{ 2) public static void main(String args[]){ 3) System.out.println(100%3);

相关文档
相关文档 最新文档