更多“若有说明inti,j=2,*p=i;,则能完成i=j赋值功能的语句是()。A、i=*pB、*p=*jC、i=jD、i=**p”相关问题
  • 第1题:

    若有说明.inti,j=2,*p=,则能完成i=j赋值功能的语句是()。

    A、i=*p;

    B、*p=*

    C、i=

    D、i=**p;


    参考答案:B

  • 第2题:

    有如下程序 #include(iostream.h> voidmain( ) {charch[2][5]={"6937","8254"),*p[2]; inti,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j])\0;j+=2) s=10*s+p[i][j]一0; cout<<S;} 该程序的输出结果是( )。

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C
    C。【解析】该题主要要搞清楚以下几点:①定义了一个指针数组char*p[2]后,程序中第一个循环“for(i=0;i(2;i++)p[i]=ch[i]”的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组P和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体“s=s*10+p[i][j]-0”的功能是这样的,每执行一次,将s中的值乘以10(即将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前p[i][j]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件p[i][3]>\0是指p[i][j]中的字符只要不是字符串结束标志\0就继续循环,语句j+=2;是使下标j每次增加2,即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  • 第3题:

    若有说明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等价。

  • 第4题:

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

    A.i=*p

    B.*P=*&j

    C.i=&j

    D.i=**p;


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

  • 第5题:

    若有说明: inti,j=7, *p=&i;, 则与i=j; 等价的语句是( )。

    A.i= *p;

    B.*p=*&j;

    C.i=&j;

    D.i=* *p;


    正确答案:B

  • 第6题:

    若有说明int i,j=2,*p&i;,则能完成i=j赋值功能的语句是______。A.i=*p;B.*p=*&j;C.i=&

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

    A.i=*p;

    B.*p=*&j;

    C.i=&j;

    D.i=**p;


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

  • 第7题:

    有如下程序:include<iostream.h>voidmain(){charch[2][5]={"6937","8254&q

    有如下程序:

    include<iostream.h>

    voidmain()

    {charch[2][5]={"6937","8254"),*p[2];

    inti,j,s=0;

    for(i=0;i(2;i++)p[i]=ch[i];

    for(i=0;i<2;i++)

    for(j=0;p[i][j]>\0;j+=2)

    s=10*s+p[i][j]-0;

    cout<<s;}

    该程序的输出结果是( )。

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C

    C。【解析】该题需要搞清楚以下几点:④定义了一个指针数组char*p[2]后,程序中第一个循环“for(i=0;i(2;i++)p[i]=ch[i]”的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组P和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体“s=s*10+p[i][j]-0”的功能是这样的,每执行一次,将s中的值乘以10(即将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前p[i][i]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件p[i][j]>\0是指p[i][j]中的字符只要不是字符串结束标志\0就继续循环,语句j+=2;是使下标j每次增加2,即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  • 第8题:

    以下函数返回a所指数组中最大值所在的下标值: fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]>a[p])______; return(p); } 在下划线处应填入的内容是( )。

    A.i=p

    B.a[p]=a[i]

    C.p=j

    D.p=i


    正确答案:D
    解析:该题目要求的是最大数的位置(下标)。程序通过对a所指数组中的元素进行逐个比较,记录最大数的下标i,并把该下标记录在变量p中,所以,如果a[i]>a[p]关系成立,应该把i的值赋给p,这样才满足题目的要求。

  • 第9题:

    若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是() int i,j,(*p)[3]; int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; p=a;

    • A、*(*(a+i)+j)
    • B、p[i][j]
    • C、(*(p+i))[j]
    • D、p[i]+j

    正确答案:D

  • 第10题:

    若有说明:inti,j=7,*p=&i;则与i=j;等价的语句是()。

    • A、i=*p;
    • B、*p=j
    • C、i=&j;
    • D、i=**p;

    正确答案:B

  • 第11题:

    单选题
    有以下程序 #include  main() {  char c[2][5]={6938,8254},*p[2];  int i,j,s=0;  for(i=0;i<2;i++)   p[i]=c[i];  for(i=0;i<2;i++)   for(j=0;p[i][j]>0;j+=2)    s=10*s+p[i][j]-'0';  printf(%d,s); } 程序运行后的输出结果是(  )。
    A

    9284

    B

    9824

    C

    6982

    D

    6385


    正确答案: B
    解析:
    p定义了两个字符串指针,p[0]指向c[0],p[1]指向c[1]。所以,p[i][j]等价于c[i][j],s = 10*s+ p[i][j]- '0',作用是把字符串p[i]转化成10进制数,注意到内层循环中j+=2,结果取c[0]中的第0个,第2个元素,取c[1]中的第0个,第2个元素。i=0时,输出63;i=1时,输出85。答案选择D选项。

  • 第12题:

    单选题
    若有说明inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是()。
    A

    i=*p

    B

    *p=*&j

    C

    i=&j

    D

    i=**p


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

  • 第13题:

    有以下程序,其中函数f的功能是将多个字符串按字典顺序排序#includestring.hvoidf(char*p[],intn){char*t;inti,j;for(i=0;in-1;i++)for(j=i+1;jn;j++)if(strcmp(p[i],p[j])0){t=p[i];p[i]=p[j];p[j]=t;}}main(){char*p[5]={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”}。

    :A.2

    B.3

    C.6

    D.4


    正确答案:D

  • 第14题:

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

    A.i=*p;

    B.*p=*&j

    C.i=&j

    D.i=* *p;


    正确答案:B

  • 第15题:

    若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是______。A.i=*p;B.*p=*&j;C.i=&am

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

    A.i=*p;

    B.*p=*&j;

    C.i=&j;

    D.i=**p;


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

  • 第16题:

    若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为 int s[2][3]={0},( *p)[3]; p=s;

    A.*(*(p+i)+j)

    B.*(p[i]+j)

    C.(p+i)+j

    D.(*(p+i))[j]


    正确答案:A
    解析:p+i是数组s的第i+1行的首地址,而*(p+i)则是数组第i+1行第1列的元素的地址,*(p+i)+j则是第i+1行的第j+1列的地址,*(*(p+i)+j)引用的是数组元素s[i][j]的值。注意:通过建立一个指针数组来引用二维数组元素。

  • 第17题:

    若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是()int i,j,(*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;

    A.*(*(a+i)+j)

    B.p[i][j]

    C.(*(p+i))[j]

    D.p[i]+j


    参考答案:D

  • 第18题:

    以下函数返回a所指数组中最小的值所在的下标值: fun(int*a,int n) { int i,j=0,P; p=j; for(i=j;i<n;i++) if(a[i]<a[j])____return(p); } 在下划线处应填入的是( )。

    A.i=P

    B.a[p]=a[i]

    C.p=j

    D.p=i


    正确答案:D
    p是存放最小下标的变量,而if后的表达就是实现这个}j的的,当if成立时,就把小的下标放到p中,故选择D选项。

  • 第19题:

    以下函数返回a所指数组中最小的值所在的下标值 fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<a[p])______; return(p);} 在下划线处应填入的是

    A.i=p

    B.a[p]=a[i]

    C.p=j

    D.p=i


    正确答案:D
    解析:该程序先判断a[i]a[p],如果条件为真,则a[i]比当前的设定的最小值小(p保留的当前最小元素的下标),那么将i赋给p即将比较过的最小的元素下标保留在p中,作为下面判断的标准。

  • 第20题:

    若有定义“inta[3][4],*p;”,则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是()。

    • A、p=a
    • B、*(*(p+i)+j)
    • C、*(p+i*4+j)
    • D、*(*(a+i)+j)

    正确答案:C

  • 第21题:

    若有语句:inti,*p=&i;则均表示变量地址的选项是()

    • A、*&p,*p,&i
    • B、i,p,&*i
    • C、*&i,&i,*p
    • D、&i,p,&*p

    正确答案:D

  • 第22题:

    单选题
    若有说明:inti,j=7,*p=&i;则与i=j;等价的语句是()。
    A

    i=*p;

    B

    *p=j

    C

    i=&j;

    D

    i=**p;


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

  • 第23题:

    单选题
    若有语句:inti,*p=&i;则均表示变量地址的选项是()
    A

    *&p,*p,&i

    B

    i,p,&*i

    C

    *&i,&i,*p

    D

    &i,p,&*p


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