C 语言程序设计
一、 选择题((1)~(40)每题 1 分,(41)~(50)每题 2 分,共 60 分)
1、有以下程序
main( )
{ char a[]="abcdefg",b[10]="abcdefg";
printf("%d %d",sizeof(a),sizeof(b));
}
执行后输出结果是()
A)7 7 B)8 8 C)8 10 D)10 10
sizeof 对应指针是 4,对应数组是数组所占的字节的多少,所有的包括’\ 0’
sizeof 对与函数传递过来的数组也是 4,因为在 C 语言中数组参数被当作指针传递
2、有以下程序
void swap1(int c[])
{ int t;
t=c[0];c[0]=c[1];c[1]=t;
}
void swap2(int c0,int c1)
{ int t;
t=c0;c0=c1;c1=t;
}
main( )
{ int a[2]={3,5},b[2]={3,5};
swap1(a); swap2(b[0],b[1]);
printf("%d %d %d %d",a[0],a[1],b[0],b[1]);
}
其输出结果是()
A)5 3 5 3 B) 5 3 3 5 C)3 5 3 5 D)3 5 5 3
3、有以下程序
void sum(int *a)
{ a[0]=a[1];}
main( )
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=2;i>=0;i--) sum(&aa[i]);
printf("%d",aa[0]);
}
执行后的输出结果是()
A)4 B)3 C)2 D)1