C++语言程序设计

单选题存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?(  )A x=*pa;B x=*(a+1);C x=*(pa+1);D x=a[1];

题目
单选题
存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?(  )
A

x=*pa;

B

x=*(a+1);

C

x=*(pa+1);

D

x=a[1];

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是( )。

A.main() {……x=fun(2,10);……} float fun(int a,int b){……}

B.float fun(int a,int b){……} main() {……x=fun(i,j);……}

C.float fun(int,int); main() {……x=fun(2,10);……} float fun(int a,int b){……}

D.main() {float fun(int I,intj); ……x=fun(i,j);……} float fun(int a,int b){……}


正确答案:A
解析:C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)。在选项A)中,调用的子函数在调用后面定义,所以不正确。在选项B)、C)中,被调用函数在主调函数之前定义,再在主函数中调用,所以是正确的;在选项D)中,在主调函数中先对子函数float fun(int i,int j)进行了定义,然后进行调用。

第2题:

存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?

A. x=*pa;

B.x=*(a+l);

C.x=*(pa+1);

D.x=a[1];


正确答案:A

第3题:

若有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x++) : (y++) 中的条件表达式 (x-y) 等价的是

A)(x-y>0)

B)(x-y<0)

C)(x-y<0||x-y>0)

D)(x-y==0)


正确答案:D
答案 D
解析 : 此条件表达式的执行顺序是先求解表达式 “ x-y ” 的值 , 若值为非 0 , 则再求解表达式“ x++ ” ,其值就是条件表达式的值;若表达式 “ x-y ” 的值为 0 ,则再求解表达式 “ y++ ” ,其值就是条件表达式的值。因此本题的答案为选项 D 。

第4题:

设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&

设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&a[0][0];”后,(*(pa+1))的值为(31)。

A.2

B.3

C.&a[0][1]

D.&a[1][0]


正确答案:A
解析:对于语句“pa=pb=&a[0][0];”赋值后pb已经变为列指针,则pa也是列指针。在进行TC编译时,会出现“Warning:Suspiciouspointerconversioninfunctionmain”的提示信息,表明pb由行指针变为列指针。

第5题:

存在定义int a[10],x,* pa;,若pa=&a[0],下列的( )选项和其他3个选项不是等价的。

A.x=*pa;

B.x=*(a+1);

C.x=*(pa+l)

D.x=a[1];


正确答案:A
本题考查的是数组和指向数组的指针之问的关系,选项A中x是被数组a的第一个元素赋值,其余的都是被数组a的第二个元素赋值。

第6题:

( 8 )有如下的函数定义:

int Xfun(int *a, int n){

int x=*a;

for(int *pa=a+1; pa<a+n; pa++)

if(*pa>x) x=*pa;

return x;

}

若执行了语句

int x[5]={23,46,78,55,16};

后,通过表达式 Xfun(x,5) 调用该函数,则得到的返回值为 【 8 】 。


正确答案:

第7题:

假定有定义为“int a[10]〕,x,*pa=a;”,若要把数组a中下标为3的元素值斌给x,则不正确的赋值为()

A.x=pa[3]

B.x=*(a+3)

C.x=a[3]

D,x=*pa十3


参考答案D

第8题:

若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为()。

a. x=pa[3];

b. x=*(a+3);

c. x=a[3];

d. x=*pa+3;


正确答案是:A

第9题:

有如下的函数定义:

int Xfun(int*a,int n){

int X*a;

for(int*pa=a+1;pa if(*pa>x)x=*pa;

retum x;

}

若在执行了语句:

int x[5]=(23,46,78,55,16);

后,通过表达式Xfun(x,5)调用该函数,则得到的返回值为______。


正确答案:78。
78。 解析:函数Xfun()的作用是找出最大的数。

第10题:

存在定义int a[10],x,*pa;,若pa=&a[0],下列( )选项和其他3个选项不是等价的。

A.x=*pa;

B.x=*(a+1);

C.x=*(pa+1);

D.x=a[1];


正确答案:A

更多相关问题