c语言第二章习题和详解

发布时间:2019-12-19 18:12:44   来源:文档文库   
字号:

2、第二章

1、设整型变量a的值为2,下列表达式值为1的是__(A)

A) a%3 B) a/3 =0 C) --a D) a++

2. 设变量abc已定义并赋值,则下列表达式中符 C语言语法规则的是__ (B)

A) a=5++操作数只能是变量 B) a=b=c++ C) a=%2 D) b=a+1=2左边只能是单个变量,即变量1=变量2=。。。

3. 下列式中,最终运算结果的数据类型不是单精度的表达式是__(A)

A)(int)(3+3.0) B)1e-3 fen:n必须为整数 C) (float)(3) D)(int)3.0+3.0

4.字符串”ab\x41 \\34cd\102y”的长度是_A_\xhh表示ASCII:\x41,4116进制的。字符串含有\0\102也表示ASCII码,但1028进制的,长度为10,储存空间占11个字节。

A)10 B)12 C)14 D)18

5、变量是在程序运行过程中可改变的 它的三要素是类型、名称、数值

6.以下选项中合法的常量是?D

A)Internet B)E_3变量 C)02x D)0xfeL

7.以下选项中合法的赋值表达式是?C

A) d=8+a+f=d+62D B)d=(a+8)+ +2A

C) d=(8+e,e+ +,d+9) D)d=7+e+ + =d+7

8.main( )

{int x=5,y=3;

float f;

f=x/y;表示为整形

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

}

则程序的输出结果是?f=1.000000

9. 设整型变量x,y,z均为2,表达式(x++)+(y++)+(z++)的值是_A先使用值再加加_

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

10.int a=3,b=5;float x=7.5,y=3.5;则表达式(float)a+b/2+(int)x%(int)y;的值是6.0__

*11.执行语句:int a; a=1+1.5;后,正确的叙述是_D_

A)a的值是字符‘3 B)a的值是浮点型

C)不允许字符型和浮点型相加

D)a的值是字符’1’的ASCII码值加上1

12. int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是_B_

A)均为2个字节TCVC不一样 B)0~65535

C)-32768~32767 D)-256255

13. 执行下列语句后,运行结果为C__i++i++最后+

main()

{ int i=3,j;

j=++i+i++;

printf(%d\n,j);

}

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

14.执行下列语句后,运行结果为6;y=1;z=6.000000__ __ __

main()

{

int x=4,y;

float k=4,z;

clrscr( );

printf("%d\n",--x*--x*--x);

x=4;

y=--x*--x*--x;

printf("y=%d\n",y);

z=--k*--k*--k;

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

x为浮点型:从左向右计算。 --i优先于*

x为整型:在输出函数中,从左向右计算;在输出函数外,先连续减,然后乘积。

15. aint类型,且其值为5,则执行表达式a+=a-=a*a后,a的值为_C_自右至左 a=a-a^2=-20 a=a+a=-40

A) -5 B) -40 C) -15 D)不确定

16. 如果x,y,ij都是int型变量,则表达式x=(i=1,j=6,y=8)的值为_8_

17main()不懂看课件

{int x=0,z,y=z=-1; i--优先于-

x=x---z-y;

printf("x=%d\n",x);

}输出结果是:1

main()

{int x=0,z,y=z=-1;

x=--x-z-y;

printf("x=%d\n",x);

}输出结果是:1

main()

{int x=0,z,y=z=-1;

x=-y-z+--x;

printf("x=%d\n",x);

}输出结果是:1

main()

{int x=0,z,y=z=-1;

x+=--x-z-y; 自右向左

printf("x=%d\n",x);

}输出结果是:0

main()

*{int x=0,z,y=z=-1;

x+=z---y;自右向左

printf("x=%d\n",x);

}输出结果是:x=0 x=0+(-1--1=0

main()

{int x=0,z,y=z=-1; /* x*=-y-z---x; */

x=-y-z---x; /* x+=-y-z---x; */

printf("x=%d\n",x);

}输出结果是:x=2

18.

main

{ int x=3,y=0;

y=++x*--x;/*x=++x*x--;*/自右向左即:--x=2 ++x=3 y=3*3=9

printf(y=%d,x=%d\n,y,x);

}输出结果是:y=9 x=3

19.a=3,b=3,c=5;

c+b++*a*++b 的值是53

a++ *a + b + c*a* ++b 的值是73自右至左

a*a++ +b* ++a 的值是28

printf(%d,%d\n,a,a++)

的输出结果是 4 3

printf(%d,%d\n,a,++a)

的输出结果是4 4

printf(%d,%d\n,++a,a)

的输出结果是4 3

*printf(%d,%d\n,a++,a)

的输出结果是3 3右结合性

19main()

{int x=3;

x+=--x+x++;

printf(x=%i\n,x);

}x=7

main()

{int a=9;

a+=a-=a+a;

printf(%d\n,a);

}此程序执行后的结果是:?-18

main()

{int a=5;

a*=a/=a++;

printf(%d\n,a);

}此程序执行后的结果是:?2

main()

{

int x=4,y;

float k=4,z;

clrscr( );

printf("%d\n",--x*--x*--x);

x=4;

y=++x*--x*--x;

printf("y=%d\n",y);

z=++k+--k*--k;

printf("z=%f,k=%f\n",z,k);

}输出结果:

6

y=27

z=9.000000,k=3.000000

本文来源:https://www.2haoxitong.net/k/doc/93bf54ca49d7c1c708a1284ac850ad02df8007d9.html

《c语言第二章习题和详解.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式