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

1、用数组名作为函数调用时的实参,实际上传送给形参的是

数组首地址

数组的第一个元素值

数组中全部元素的值

数组元素的个数

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

4

5

9

10

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

0

1

3

表达式语法有错

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

0

2

1

3

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

3

4

6

12

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

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

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

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

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

7、以下程序的输出结果是
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
}

0

29

31

无定值

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

2,M

3,E

2,E

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

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

9

7

5

以上均不是

10、以下程序的输入结果是
main( )
{  int i=010,j=10,k=x10;
  printf("%d,%d,%d ",i,j,k);
}

8,10,16

8,10,10

10,10,10

10,10,16