简答题有如下C语言程序段的输出结果为:( )。 int arr[]={6,7,8,9}; int *ptr; ptr=arr; *(ptr+2)+=2; Printf(“%d,%d\n”,*ptr, *(ptr+2)); A、8,10 B、6,8 C、7,9 D、6,10简答题下面关于指针的运算中,描述( )是错误的。 A、两个指针在一定条件下可以进行相等或者不等的运算 B、可以用一个空指针赋给某个指针 C、两个指针在一定的条件下可以相减 D、两个指针在一定的条件下可以相加简答题若main( )函数带参数,参数个数最多是( )。 A、0 B、1 C、2 D、3简答题指针变量和C语言的其它变量不一样,它没有数据类型和存储类型; A、正确 B、错误简答题有以下C语言程序语句: int a[10] = {1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; 运行后 b中的值是:( )。 A、5 B、6 C、8 D、9简答题C语言的指针可以进行任意算术运算; A、正确 B、错误简答题若有定义:int x[5], *p=x;,则不能代表x数组首地址的是:( )。 A、x B、&x[0] C、&x D、p简答题以下程序的输出结果是( )。 #include int func(int s); void main ( ) { int a[ ]={1,2,3,4},i,x=0; for(i=0;i { x=func(a[i]); printf("%d-",x); } printf("\n"); } int func(int s) { int x; static int t=3; x=s+t; t++; return x; } A、4-5-6-7- B、4-6-8-10- C、4-4-4-4- D、4-3-2-1-简答题下面程序的运算结果为( )。 #include void swap(char *px,char *py); void swap(char *px,char *py) { int t; t=*px; *px=*py; *py=t; } void main( ) { char a=3,b=5; swap(&a,&b); printf("%d,%d\n",a, b); } A、3,5 B、3,3 C、5,3 D、5,5简答题以下程序的执行结果是( )。 #include void func(int *b,int n); void main( ) { int a[ ]={5,6,7,8}; func(a,4); for(i=0;i printf("%3d",a[i]); } void func(int *b,int n) { int i; for(i=0;i b[i]=2*i; } A、5 6 7 8 B、10 12 14 16 C、0 2 4 6 D、2 4 6 8简答题变量的地址是指针常量; A、正确 B、错误简答题2个相同类型的C语言指针,如果它们指向同一片连续的存储空间,如数组,则他们各自可以进行自加或者自减运算;之间也可以进行减法运算; A、正确 B、错误简答题指针常量和普通的整型常量一样,它是一个整型值; A、正确 B、错误简答题调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是地址传递。 A、正确 B、错误简答题将数组名作为函数传入的实参,则形参接收到的是( )。 A、数组的首地址 B、数组的第一个元素的值 C、数组中全部元素的值 D、数组元素的个数简答题若有定义:int x[10], *p=x;,则*(p+5)表示:( )。 A、数组元素x[5]的地址 B、 数组元素x[5]的值 C、数组元素x[6]的地址 D、 数组元素x[6]的值简答题下面程序的运算结果为( )。 #include int *fun(int n); int *fun(int n) { static int i, a; for( i=0; i { a = a + i+1; } return &a; } void main( ) { int *p; p = fun(3); printf("%d\n",*p); } A、1 B、3 C、&a D、6简答题下面程序的运行结果是: ( )。 #include void main( ) { int a[5]={1,2,3,4,5}; int *p =a; printf("%d-%d",*p, *(p+4)); } A、1-5 B、1-4 C、1-1 D、1-3简答题在C语言的指针中,无论是变量还是常量,可以是一级也可以是多级的。 A、正确 B、错误简答题若有下面语句“int i , a[5] ; int *p ; p=a; ”,则( )是对数组元素的错误表示。 A、*(a+i) B、p[i] C、*(p+i) D、p+i