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

1、以下程序的输出结果是
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

无定值

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

9

7

5

以上均不是

3、不能把字符串:Hello! 赋给数组b的语句是

char b[10]={'H','e','l','l','o','!'};

char b[10];  b="Hello!";

char b[10];  strcpy(b,"Hello!");

char b[10]="Hello!";

4、以下说法中正确的是

C语言程序总是从第一个定义的函数开始执行

在C语言程序中,要调用的函数必须在main()函数中定义 

C语言程序总是从main()函数开始执行

C语言程序中的main()函数必须放在程序的开始部分

5、若有以下说明和语句,则输出结果是哪一项?
(strlen(s)为求字符串s的长度的函数)
char s[12]="a book!";
printf("%d",strlen(s));

12

8

7

11

6、以下所列的C语言常量中,错误的是

0xFF

1.2e0.5

2L

'\72'

7、若变量c为char类型,能正确判断出c为小写字母的表达式是

'a'<=c<= 'z'

(c>= 'a')||(c<= 'z')

('a'<=c)and ('z'>=c)

(c>= 'a')&&(c<= 'z')

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

0

1

3

表达式语法有错

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

*(w[0]+2)

*(pw+1)[2]

pw[0][0]

*(pw[1]+2)

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

4

5

9

10