更多“有定义:int a[10], n, *p1=a,*p2=&a[9];,则正确的赋值语句为()。”相关问题
  • 第1题:

    设有定义int n=0,*p=&n,**q=&p;,则下列选项中正确的赋值语句是

    A.p=1;

    B.*q=2;

    C.q=p;

    D.*p=5;


    正确答案:D

  • 第2题:

    设有语句:“int a=1,b=2,*p1=&a,*p2=&b;”,则使指针p1指向变量b的赋值语句是______。

    A.p1=*p2

    B.*p1=p2

    C.p1=p2

    D.*p1=*p2


    正确答案:D
    解析:对于定义int*p,*q;,可以通过赋值语句p=q;,把指针变量q中的地址值赋给指针变量p,从而使这两个指针变量指向同一地址。

  • 第3题:

    有以下函数定义: void fun(int n, double x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

    A.fun(int y,double m);

    B.k=fun(10,12.5);

    C.fun(x,n);

    D.void fun(n,x);


    正确答案:C
    解析:本题考查函数调用。函数调用时,实参前不需加类型说明,选项A)错误;题目中的函数没有返回值,所以选项B)错误;函数调用前不需要加类型说明,选项D)错误。

  • 第4题:

    有以下函数定义:void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用的语句是A.fun(int y,double m); B.k=fun(10,12.5); C.fun(x,n); D.void fun(n,x);


    正确答案:C
    选项A中,fun(int y,double m);中变量y和m前不需要类型说明;因为函数fun(10,12.5)没有返回值,所以选项B错误;调用函数fun时,不需要在函数前面加上void,所以选项D错误。故本题的正确答案是选项C。

  • 第5题:

    有以下函数定义; void fun(int n,double x){......} 若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用语句是______。

    A.fun(int y,double m);

    B.k=fun(10,12.5);

    C.fun(x,n);

    D.void fun(n,x);


    正确答案:C
    解析:函数调用的一般形式为;函数名(实参表列);,实参与形参的个数应相等,类型应一致,在调用函数时,不要指定其返回类型,对于返回类型为void的函数,不能作为赋值表达式的组成部分,所以选C。

  • 第6题:

    设p1和p2均为指向int型的指针变量,k为int型变量,下列不正确的赋值语句是(C)。

    A.k=*p1+*p2

    B.k=*p1*(*p2)

    C.p2=k

    D.p1=p2


    正确答案:C

  • 第7题:

    假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为()。

    Apb=b;

    Bpb=&b[0];

    Cpb=b+2;

    Dpb=b[5];


    D

  • 第8题:

    已有定义inta=2,*p1=&a,*p2=&a;下面不能正确执行的赋值语句是()

    • A、a=*p1+*p2;
    • B、p1=a;
    • C、p1=p2;
    • D、a=*p1*(*p2);

    正确答案:B

  • 第9题:

    有以下变量说明,下面不正确的赋值语句是() int a=5, b=10,c; int ?p1=&a,?p2=&b;

    • A、?p2=b;
    • B、p1=a;
    • C、p2=p1;
    • D、c=?p1?(?p2)。

    正确答案:B

  • 第10题:

    若有说明:int*p1,*p2,m=5,n=9;以下均是正确赋值语句的选项是()

    • A、p1=&m;p2=&p1;
    • B、p1=&m;p2=&n;*p1=*p2;
    • C、p1=&m;p2=p1
    • D、p1=&m;*p2=*p1;

    正确答案:B

  • 第11题:

    单选题
    有以下变量说明,下面不正确的赋值语句是() int a=5, b=10,c; int ?p1=&a,?p2=&b;
    A

    ?p2=b;

    B

    p1=a;

    C

    p2=p1;

    D

    c=?p1?(?p2)。


    正确答案: C
    解析: 暂无解析

  • 第12题:

    单选题
    有以下程序段:int *p1,*p2,a[10];p1=a;p2=&a[5];则p2-p1的值为(  )。
    A

    5

    B

    10

    C

    12

    D

    无法确定


    正确答案: A
    解析:
    当直接用数组名初始化指针时,表示把数组首地址的值赋给指针,p1=a,表示把a[0]地址赋给p1,p2=&a[5],表示将数组第5个元素地址赋给p2,p2-p1=5,故答案选择A选项。

  • 第13题:

    若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是( )。

    A.p1:&n;p2=&pl;

    B.p1=n;

    C.p1=&n;*p2=p1;

    D.p1=&n;p2=p1;


    正确答案:D
    解析:本题考查指针变量的赋值。选项A)中,p1、p2本身都是地址变量,不能再将 p1取地址赋给p2;选项B)中,不能将整型数据直接赋值给指针型数据;选项C)中,*p2代表了一个整型变量,而*p2=p1这个语句试图把一个地址值放入一个整型变量中是错误的;选项D)中指针间的赋值是正确的。

  • 第14题:

    若有说明:int*p1,*p2,m=3,n;则p1=&m;p2=p1;是正确的赋值语。()

    此题为判断题(对,错)。


    参考答案:正确

  • 第15题:

    分析下列程序:includemain(){int*p1,*p2,*p;int a=6,b=9;p1=&a;p2=&b;if(a

    分析下列程序: #include<stdio.h> main() { int*p1,*p2,*p; int a=6,b=9; p1=&a;p2=&b; if(a<b){p=p1;p1=p2;p2=p;} printf("%d,%d",*p1,*p2); printf("%d,%d",a,b); } 程序的输出结果为( )。

    A.9,6 6,9

    B.6,9 9,6

    C.6,9 6,9

    D.9,6 9,6


    正确答案:A
    解析: 通过p1=&a,p2=&b分别将a、b的地址赋给指针p1、p2,接着执行if语句,发现ab成立,则通过交换p1、p2的值,即交换a、b所在存储单元的地址,但是a、b的值并没有发生变化。

  • 第16题:

    分析下列程序:includemain(){int *p1,*p2,*p; int a=6,b=9; p1=&a;p2=&b; if(

    分析下列程序: #include<stdio.h> main() { int *p1,*p2,*p; int a=6,b=9; p1=&a;p2=&b; if(a<b){p=p1;p1=p2;p2=p;} printf("%d,%d",*p1,*p2); printf("%d,%d",a,b); } 程序的输出结果为( )。

    A.9,66,9

    B.6,9 9,6

    C.6,9 6,9

    D.9,69,6


    正确答案:A
    解析:通过p1=&a,p2=&b分别将a、b的地址赋给指针p1、p2,接着执行if语句,发现ab成立,则通过交换p1、p2的值,即交换a、b所在存储单元的地址,但是a、b的值并没有发生变化。

  • 第17题:

    若有如下程序: sub(int * t,int n) {int *p1, *p2; for(p1=t,p2=t;p1-t<n;p1++) if(*p1<*p2) p2=p1; return(*p2);} main() {int a[9]={9,36,19,39,26,5,6,33,15}; printf("%d\n",sub(a,9));} 则程序运行后的输出结果是( )

    A.5

    B.9

    C.15

    D.39


    正确答案:A

  • 第18题:

    用指针作函数参数,编程序求一维数组中的最大和最小的元素值。

    #define N 10

    main()

    { void maxmin(int arr[],int *pt1,int *pt2,int n);

    int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;

    p1=&a; p2=&b;

    maxmin(array,p1,p2,N);

    printf("max=%d,min=%d",a,b);

    }

    void maxmin(int arr[],int *pt1,int *pt2,int n)

    { int i;

    *pt1=*pt2=arr[0];

    for(i=1;i<N;I++)

    { if(arr[i]>*pt1) (9) ;

    if(arr[i]<*pt2) (10) ;

    }

    }


    正确答案:
    4.(9) *ptr1=arr[i] (10) *ptr2=arr[i]

  • 第19题:

    若有说明:int *p1,*p2,m=5,n; 以下都是正确的赋值语句的选项是()。

    • A、p1=&m; p2=&p1;
    • B、p1=&m; p2=&n; *p1=*p2;
    • C、p1=&m; p2=p1;
    • D、p1=&m; *p2=*p1;

    正确答案:C

  • 第20题:

    有定义:int a[10], n, *p1=a,*p2=&a[9];,则正确的赋值语句为()。

    • A、n=p2-p1;
    • B、n=p2*p1;
    • C、n=p2+p1;
    • D、n=p1/p2;

    正确答案:A

  • 第21题:

    下列语句定义整型指针p1、p2,()是正确的。

    • A、intp1,p2;
    • B、int*p1,*p2;
    • C、int*p1,p2;
    • D、int**p1,p2;

    正确答案:B

  • 第22题:

    单选题
    若有说明:int *p1,*p2,m=5,n; 以下都是正确的赋值语句的选项是()。
    A

    p1=&m; p2=&p1;

    B

    p1=&m; p2=&n; *p1=*p2;

    C

    p1=&m; p2=p1;

    D

    p1=&m; *p2=*p1;


    正确答案: D
    解析: 暂无解析

  • 第23题:

    单选题
    对于函数定义:  void FUN(int n, double x)  {  … }  若以下选项中的变量都已定义并赋值,则对函数FUN的正确调用的语句是()。
    A

    k=FUN(x,n);

    B

    void FUN(n,x);

    C

    FUN(int y,double m);

    D

    FUN(10,12.5);


    正确答案: D
    解析: 暂无解析

  • 第24题:

    单选题
    有定义:int a[10], n, *p1=a,*p2=&a[9];,则正确的赋值语句为()。
    A

    n=p2-p1;

    B

    n=p2*p1;

    C

    n=p2+p1;

    D

    n=p1/p2;


    正确答案: A
    解析: 暂无解析