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

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

b=a/2

b=6-(--a)

b=a%2

b=a>3?2:1

2、若有以下定义和语句:
int w[2][3],(*pw)[3];pw=w;
则对w数组元素的非法引用是

*(w[0]+2)

*(pw+1)[2]

pw[0][0]

*(pw[1]+2)

3、表达式1&3&5&7的值为:

1

3

5

7

4、设有定义int x=1; int y='a'<'A'?x--:x++;,则变量y的值是:

0

2

1

3

5、下面哪一项是不正确的字符串赋值或赋初值的方式

char *str; str="string";

char str[7]={'s','t','r','i','n','g'};

char str1[10];str1="string";

char str1[]="string",str2[]="12345678";

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

宏替换只是字符替换

宏名无类型

宏替换不占用运行时间

宏替换不占用编译时间

7、下列程序的输出结果是。
int a[5]={2,4,6,8,10},*p,**k;
p=a;  k=&p;
printf("%d",*(p++));
printf("%d\n",**k);

4 4

2 2

2 4

4 6

8、设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为

不定值

4

3

1

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

enum a={one,two,three};

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

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

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

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

1

3 0

1 -2

死循环