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

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

*(w[0]+2)

*(pw+1)[2]

pw[0][0]

*(pw[1]+2)

2、设有定义:struct sk
{int a;float b;}data,*p;
若有p=&data;,则对data中的a域的正确引用是

(*p).data.a

(*p).a

p->data.a

p.data.a

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

1

30

1 -2

死循环

4、当调用函数时,实参是一个数组名,则向函数传送的是

数组的长度

数组的首地址

数组每一个元素的地址

数组每个元素中的值

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

E!=0

E!=1

E==0

E==1

6、表达式-1<=3<=-5值是:

0

1

3

表达式语法有错

7、若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示:

已读到此文件末尾

未读到此文件的末尾

此文件已关闭

此文件尚未被打开

8、已知有共用体变量data1定义如下:
union data
{ int i;
char ch;
float f;
} data1;
则变量data1所占的内存存储空间可表示为:

sizeof(int)

sizeof(char)

sizeof(float)

sizeof(int)+sizeof(char)+sizeof(float)

9、执行下列语句后,a的值为:
int a;
#define M(x,y) (x*y)
a=M(1+2,3);

9

7

5

以上均不是

10、假设指针p已经指向某个整型变量x,则*p相当于:

&x

&p

x

*x