如题目或答案有误,请通过BUG反馈告知我们修正,谢谢!

1、设a为5,执行下列语句后,b的值不为2的是:

b=a/2

b=6-(--a)

b=a%2

b=a>3?2:1

2、以下关于宏替换的叙述不正确的是:

宏替换只是字符替换

宏名无类型

宏替换不占用运行时间

宏替换不占用编译时间

3、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是

x/y*z

x*(1/(y*z))

x/y*1/z

x/y/z

4、以下对枚举类型名的定义中正确的是

enum a={one,two,three};

enum a{one=9,two=-1,three};

enum a={″one″,″two″,″three″};

enum a{″one″,″two″,″three″};

5、循环语句while(!E)中的表达式!E等价于:

E!=0

E!=1

E==0

E==1

6、以下所列的C语言常量中,错误的是

0xFF

1.2e0.5

2L

'\72'

7、若变量c为char类型,能正确判断出c为小写字母的表达式是

'a'<=c<= 'z'

(c>= 'a')||(c<= 'z')

('a'<=c)and ('z'>=c)

(c>= 'a')&&(c<= 'z')

8、下列程序段的输出结果是
void fun(int *x, int *y)
{ printf("%d %d", *x, *y); *x=3; *y=4;}
main()
{ int x=1,y=2;
fun(&y,&x);
printf("%d %d",x, y);
}

2 1 4 3

1 2 1 2

1 2 3 4

2 1 1 2

9、若有以下程序片段: char str[ ]="ab\n2\\"; printf("%d",strlen(str)); 上面程序片段的输出结果是

3

4

6

12

10、以下程序段的输出结果是
int x=3;
do
{  printf("%3d",x-=2); }
while(!(--x));

1

30

1 -2

死循环