若有说明:int *p1,*p2,m=5,n; 以下均是正确赋值语句的选项是________。A.p1=&m; p2=&p1;B.p1=&m; *p1=*p2;C.p1=&m; p2=p1;D.p1=&m; *p2= *p1;

题目

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

A.p1=&m; p2=&p1;

B.p1=&m; *p1=*p2;

C.p1=&m; p2=p1;

D.p1=&m; *p2= *p1;


相似考题
更多“若有说明:int *p1,*p2,m=5,n; 以下均是正确赋值语句的选项是________。”相关问题
  • 第1题:

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

    A.p=1;

    B.*q=2;

    C.q=p;

    D.*p=5;


    正确答案:D
    解析:本题中首先定义了整型变量n,其初值为0,接着定义一个指针变量p并让它指向n,然后定义了一个指向指针的指针变量q,并让它指向p。选项A中将常量1赋给指针p,而p的值应为地址,所以不正确。选项B中*p的值也应为地址,故将常量 2复制给*p不正确。选项C中将p的值赋给q,使q也指向p所指向的存储单元,该存储单元中存放的是常量0,而q被定义为一个指向指针的指针变量,它所指向的存储单元中应该存放的是地址值,故不正确。所以,4个选项中选项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题:

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

    A.p=1;

    B.*q=2

    C.q=p

    D.*p=5


    正确答案:D
    解析:本题中n是int型变量,p是指向int型的指针变量,q是指向指针的指针变量,故正确答案为D。

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

  • 第6题:

    若有如下程序: 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

  • 第7题:

    若有说明: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

  • 第8题:

    有定义: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

  • 第9题:

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

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

    正确答案:B

  • 第10题:

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

    • A、p=q
    • B、*p=*q
    • C、n=*q
    • D、p=n

    正确答案:D

  • 第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题:

    单选题
    对于函数定义:  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
    解析: 暂无解析

  • 第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题:

    若有说明int i,j=2, *P=&i;,则能完成i=j赋值功能的语句是_______。

    A.i=*p;

    B.*P2=*&j;

    C.i=&j;

    D.i=**p;


    正确答案:B
    解析:指针是一种用来存放变量地址的特殊变量。本题中指针变量p用于存放整型变量i的地址,改变*p的值即为改变i的值。又因为“&”和“*”两个运算符的优先级别相同,按自右而左的方向结合,所以*&j先进行&j运算,得j的地址,再进行*运算,取所得地址里面的值,故*&j与j等价。

  • 第16题:

    有以下程序include <stcli0.h>main( ){ int a,b,k,m,*p1,*p2; k=1,m=8; p1=&k,p2=&am

    有以下程序

    #include <stcli0.h>

    main( )

    { int a,b,k,m,*p1,*p2;

    k=1,m=8;

    p1=&k,p2=&m;

    a=/*p1 -m; b=*p1+*p2+6;

    printf(”%d ”,a); printf(”%d\n”b);

    }

    编译时编译器提示错误信息,你认为出错的语句是

    A) a=/*p1- m;

    B)b=*p1+*p2+6;

    C)k=1,m=8;

    D)p1=&k, p2=&m;


    正确答案:D
    【答案】D
    【知识点】C语言书写规范
    【解析】D中语句应为p1=&k,p2=&m;中间的逗号应变成分号。

  • 第17题:

    有以下函数定义; 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。

  • 第18题:

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

    A.k=*p1+*p2

    B.k=*p1*(*p2)

    C.p2=k

    D.p1=p2


    正确答案:C

  • 第19题:

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

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

    正确答案:B

  • 第20题:

    有以下变量说明,下面不正确的赋值语句是() 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

  • 第21题:

    若有说明: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

  • 第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题:

    单选题
    若有说明:intn=2,*p=&n,*q=p,则以下非法的赋值语句是:()
    A

    p=q

    B

    *p=*q

    C

    n=*q

    D

    p=n


    正确答案: 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
    解析: 暂无解析