第九章测试
1.

若有下列语句:

int a[4]={1,2,3,4},*p;

p=&a[2];

则*p的值是3




A:错 B:对
答案:B
2.

int *p;此时*是一个运算符号,表示间接访问p所指向的变量。


A:错 B:对 3.

有下列程序段,程序段运行后的输出结果是10(       )。

    int *p,n;

       n=10; p=&n; n=*p+10;

       printf("%d\n", *p);        



A:错 B:对 4.

若有说明:int a=2,*p=&a,*q=p;,则以下非法的赋值语句是(       )。



A:p=q B:q=a C:a=*q D:*p=*q 5.

变量的指针是指该变量的(       )。


A:首地址 B:值 C:名 D:别名 6.

若已定义int a=5; 下列对(1)、(2)两个语句的正确解释是(       )

(1) int *p=&a;                  (2) *p=a;


A:语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给p指的空间。 B:语句(1)和语句(2)语句都是把变量a的地址值赋给指针变量p。 C:语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给指针变量p。 D:语句(1)和语句(2)中的*p含义相同,都表示给指针变量p赋值。 7.

下列程序中,主函数调用findmax函数返回数组中的最大值。在下划线处应填入的是(       )。

#include <stdio.h>

findmax( int *a, int n)

  int *p, *s;

  for (p=a, s=a; p-a<n; p++)

       if(__________) s=p;

  return (*s);

}

int main()

{

    int x[5]={12,21,13,6,18};

    printf("%d\n", findmax(x,5));

    return 0;

}



A:a[p]>a[s] B:p>s  C:*p>*s              D:p-a>p-s    8.

有下列程序,程序运行后的输出结果是(       )。

#include <stdio.h>

void fun( int *x,int *y);

int main()

{

    int x=1,y=2;

    fun(&y,&x);

    printf("%d  %d",x,y);

    return 0;

}

void fun( int *x,int *y)

    printf("%d%d",*x,*y);

    *x=3;*y=4;

}



A:214  3 B:123  4
C:121  2
D:211  2
9.

有下列程序段,程序段运行后的输出结果是(       )。

int t[]={0,1,2,3,4,5,6,7,8,9}, *p;

 p=t;

 printf("%d\n", *p+9);



A:10 B:0 C:1 D:9 10.

若有下列语句:

int a[4]={1,2,3,4},*p;

p=a;

则*p的值是3。   



A:错 B:对

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(174) dxwkbang
返回
顶部