若有说明inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是()。
第1题:
若有说明.inti,j=2,*p=,则能完成i=j赋值功能的语句是()。
A、i=*p;
B、*p=*
C、i=
D、i=**p;
第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
第3题:
若有说明int i,j=2, *P=&i;,则能完成i=j赋值功能的语句是_______。
A.i=*p;
B.*P2=*&j;
C.i=&j;
D.i=**p;
第4题:
若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是______。
A.i=*p
B.*P=*&j
C.i=&j
D.i=**p;
第5题:
若有说明: inti,j=7, *p=&i;, 则与i=j; 等价的语句是( )。
A.i= *p;
B.*p=*&j;
C.i=&j;
D.i=* *p;
第6题:
若有说明int i,j=2,*p&i;,则能完成i=j赋值功能的语句是______。
A.i=*p;
B.*p=*&j;
C.i=&j;
D.i=**p;
第7题:
有如下程序:
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。【解析】该题需要搞清楚以下几点:④定义了一个指针数组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
第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;
第10题:
若有说明:inti,j=7,*p=&i;则与i=j;等价的语句是()。
第11题:
9284
9824
6982
6385
第12题:
i=*p
*p=*&j
i=&j
i=**p
第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
第14题:
若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是 ( )
A.i=*p;
B.*p=*&j
C.i=&j
D.i=* *p;
第15题:
若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是______。
A.i=*p;
B.*p=*&j;
C.i=&j;
D.i=**p;
第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]
第17题:
A.*(*(a+i)+j)
B.p[i][j]
C.(*(p+i))[j]
D.p[i]+j
第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
第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
第20题:
若有定义“inta[3][4],*p;”,则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是()。
第21题:
若有语句:inti,*p=&i;则均表示变量地址的选项是()
第22题:
i=*p;
*p=j
i=&j;
i=**p;
第23题:
*&p,*p,&i
i,p,&*i
*&i,&i,*p
&i,p,&*p