更多“若有下列定义及初始化语句: int i=100; int *ip=&i; int k=*ip; 并假设整型数i ”相关问题
  • 第1题:

    程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。

    A.int*p=a;

    B.int p=a;

    C.*p=a;

    D.p=a;


    正确答案:A
    解析: 从循环语句中可以看出,是在0~4的循环中输出数组a中的前,5个元素,输出的值为*(p+i),即为指针p向后移动指向的元素。所以初始化要将指针p指向数组a,即int*P=a;。

  • 第2题:

    若有下列定义及初始化语句: int i=100; int*p=&i; intk=*ip; 并假设整型数i的地址为0x12345678,指针中的地址为0x21000000,则k的值为( )。

    A.0x12345678

    B.0x21000000

    C.100

    D.异常


    正确答案:C
    解析: “int *p=&i;”是将i的地址赋值给指针,这是*ip的数值为i的数值100。然后执行“int k=*ip;”语句,将k的值赋给*ip,即100。

  • 第3题:

    定义q为一个指向int类型的变量i的常指针语句()

    A.const int *q=&i;

    B.int * const q=i;

    C.const int *q=i;

    D.int * const q=&i;


    int * const q=&i;

  • 第4题:

    若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是 ( )

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

    int*p,I

    p=a;

    A.* (a+I)

    B.a[p-a]

    C.p+I

    D.* (&a[I])


    正确答案:C

  • 第5题:

    假设i是int类型的变量,并初始化为1,则下列( )是合法的条件语句。

    A.if (i) { }

    B.if (i<<=3) { }

    C.if (i=2) { }

    D.if (true) { }


    正确答案:D
    解析:条件语句的“条件”值应该是布尔类型,选项A中,1不是布尔类型的值;选项B中,i=3值为int类型;选项C中,i=2的值不是布尔类型;选项D正确,该语句的含义是无论何种情况下都执行。