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

1、若有以下定义和语句:
char *s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
则输出结果是

4

5

9

10

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、设有以下说明语句
struct ex
{ int x ; float y; char z ;} example;
则下面的叙述中不正确的是

struct结构体类型的关键字

example是结构体类型名

x,y,z都是结构体成员名

struct ex是结构体类型

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

1

3 0

1 -2

死循环

5、若t为double类型,表达式t=1,t+5,t++的值是

1

6.0

2.0

1.0

6、若有以下定义和语句:
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A');
则输出结果是

2,M

3,E

2,E

输出项与对应的格式控制不一致,输出结果不确定

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

x/y*z

x*(1/(y*z))

x/y*1/z

x/y/z

8、下述程序段的输出结果是?
int x=10;
t y=x++;
printf(″%d,%d″,(x++,y),y++);

11,10

11,11

10,10

10,11

9、以下程序输出的值为?
main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);
}

1

9

10

0

10、设有如下定义:
char *aa[2]={"abcd","ABCD"};
则以下说法中正确的是

aa数组元素的值分别是"abcd"和"ABCD"

aa是指针变量,它指向含有两个数组元素的字符型一维数组

aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

aa数组的两个元素中各自存放了字符'a'和'A'的地址