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

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

(*p).data.a

(*p).a

p->data.a

p.data.a

2、若x=4,则x*=x+2的值为:

36

24

18

20

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

0

1

3

表达式语法有错

4、为表示关系x大于等于y大于等于z,应使用C语言表达式

(x>=Y)&&(Y>=z)

(x>=Y)AND(y>=z)

(x>=Y>=z)

(x>=Y)&(Y>=z)

5、若有以下说明和语句,则输出结果是?
(strlen(s)为求字符串s的长度的函数)
char sp[]="\t\v\\\0will\n";
printf("%d",strlen(sp));

14

3

9

字符串中有非法字符

6、若有定义:int a[3][4];不能表示数组元素a[1][1]的是

*(a[1]+1)

*(&a[1][1])

(*(a+1))[1]

*(a+5)

7、函数调用:strcat(strcpy(str1,str2),str3)的功能是

将串str1复制到串str2中后再连接到串str3之后

将串str1连接到串str2之后再复制到串str3之后

将串str2复制到串str1中后再将串str3连接到串str1之后

将串str2连接到串str1之后再将串str1复制到串str3中

8、以下运算符中,运算对象必须是整型的是:

/

%=

!=

〈=

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

1

3 0

1 -2

死循环

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

9

7

5

以上均不是