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

1、若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是

*p

a[10]

*a

a[p-a]

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

&x

&p

x

*x

3、以下c语言函数声明中,不正确的是:

void fun (int x, int y);

fun (int x, int y);

int fun (int x,y);

char *fun (char *s);

4、若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是
for(i=5;i>0;i--)
for(j=0;j<4;j++){…}

20

24

25

30

5、设有以下定义或语句,则输出的结果是?
(用small模式编译,指针变量占2个字节)
struct date
{long *cat;
struct date *next;
double dog;
}too;
printf("%d",sizeof(too));

20

16

14

12

6、若有以下的定义:
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a
则值为3的表达式是

p+=2,*(p++)

p+=2,*++p

p+=3,*p++

p+=2,++*p

7、以下所列的各函数首部中,正确的是

void play(var :Integer,var b:Integer)

void play(int a,b)

void play(int a,int b)

Sub play(a as integer,b as integer)

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

数组的长度

数组的首地址

数组每一个元素的地址

数组每个元素中的值

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

*(a[1]+1)

*(&a[1][1])

(*(a+1))[1]

*(a+5)

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

无定值