若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中O<=i<3,0<=j<4)值的正确引用为( )。
A)(q i)[j]
B)*q[il][j]
C)*(*q[i] j)
D)*(*(q i) j)
第1题:
若有定义语句:int a[4][10],* P,* q[4];且0<=i<4,则错误的赋值是( )。
A.P=a
B.q[i]=a[i]
C.p=a[i]
D.p=&a[2][1]
第2题:
若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是( )。
A.m[--i]
B.m[2*2]
C.m[m[o]]
D.m[m[i]]
第3题:
若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中O<=i<3,0<=j<4)值的正确引用为( )。
A)(q i)[j]
B)*q[il][j]
C)*(*q[i] j)
D)*(*(q i) j)
第4题:
若有定义语句:int u[4][10],*P,*q[4];且0≤i<4,则错误的赋值是
A.p=a
B.q[i]=a[i]
C.p=a[i]
D.p=&a[2][1]
第5题:
若有定义int a[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值.元素值的正确引用为( )。
A.*(*(a+i.+j.
B.(a+i.[j]
C.*(a+i+j.
D.*(a+i.+j
第6题:
若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是______。
A.m[-i]
B.m[2*2]
C.m[m[0]]
D.m[m[i]]
第7题:
有如下程序: #include <iostream.h> using namespace std; class Base { protected: int i; public: int j; }; class Derived:public Base { int m; public: int n; }; int main() { Derived d; d.i=0; //[1] d.j=0; //[2] d.m=0; //[3] d.n=0; //[4] return 0; } 其中主函数中有两个赋值语句有错,这两个错误的赋值语句是( )。
A.[1]和 [2]
B.[1]和[3]
C.[2]和[3]
D.[2]和[4]
第8题:
若有定义语句:int m[][3]={1,2,3,4,5,6,7};,则与该语句等价的是
A.int m[][3j={{1,2,3},{4,5,6},{i 7}};
B.int m[][3]={{1,2},{3,4},{5,6,7}};
C.int m[][3]={{1,2,3},{4,5},{6,7}};
D.int nl[][3]={{1},{2,3,4},{5,6,7}};
第9题:
若有定义:int a[2][3];则才a数组的第i行第j列(假调i,j已正确说明并赋值)元素值的正确引用为
A.*(*(a+i)+j)
B.(a+i)[j]
C.*(a+i+j)
D.*(a+i)+j
第10题:
有如下程序: #include <iostream.h> using namespace std; class Base { protected: int i: public: int j; }; class Derived: public Base { int m: public: int n; } int main() { Derived d: d.i=0; //[1] d.J=0; //[2] d.m=0; //[3] d.n=0: //[4] return 0; } 其中主函数中有两个赋值语句有错,这两个错误的赋值语句是
A.[1]和[2]
B.[1]和[3]
C.[2]和[3]
D.[2]和[4]
第11题:
第12题:
m[--i]
m[2*2]
m[m[0]]
m[m[i]]
第13题:
阅读下列函数说明和C函数,回答问题1~2,将解答填入栏内。
[说明]
若矩阵Am×n中存在某个元素aij满足:aij…是第i行中最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。下面程序的功能是输出A中所有鞍点,其中参数A使用二维数组表示,m和n分别是矩阵A的行列数。
[程序]
void saddle (int A[ ] [ ], int m, int n)
{ int i,j,min;
for (i=0;i <m;i + + )
{ min: (1);
for (j=1; j<n; j+ +)
if(A[i][j]<min) (2);
for (j=0; j<n; j+ +)
if ((3))
{ p=0;
while (p<m&&(4))p+ +;
if (p > = m)printf ("%d,%d,%d\n",i,j,min);
}
}
}
[问题1] 将函数代码中的(1)~(4)处补充完整
[问题2]在上述代码的执行过程中,若A为矩阵,则调用saddle(A,3,3)后输出是(5)。
第14题:
阅读以下说明和C++程序,将应填(n)处的字句写在对应栏内。
[说明]
设计一程序,输入10个整数到一个数组中,调整这10个数在数组中的位置,使得其中最小的一个数成为数组的首元素,最大的一个数成为数组的末元素。
[C++程序]
include <iostream.h>
define SIZE 10
void main ( )
{
int data [SIZE];
int m;
cout<<"请输入"<<SIZE<<"个整数:";
for ( m=0;m<SIZE; m++ ) (1);
int j=0,k=0;
for ( int i=1;i<SIZE; i++ )
if ((2)) j=i;
else if ( data[i]<data[k] ) (3);
if (j>0 ) {
int d=data[0];
(4);
data[k]=d;
}
if ( k<SIZE-1 )
{
int d=data [SIZE- 1 ];
data[SIZE- 1 ]=data[j];
(5);
}
cout<<end1<<" 排序后: ";
for ( m=0;m<SIZE; m++ ) cout<<data[m]<<" " ;
}
第15题:
有如下程序: #include<iostream.h> class Base { protected:int i; public:int j; }; class Derived:public Base { int m; public:int n; }; int main() { Derived d; d.i=0; //[1]d.j=0; //[2]d.m=0; //[3]d.n=0; //[4]return 0; } 其中主函数中有两个赋值语句有错,这两个错误的赋值语句是( )。
A.[1]和[2]
B.[1)和[3]
C.[2]和[3]
D.[2]和[4]
第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题:
以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。
define M 2
define N 4
void SumColumMin(int a[M][N],int *sum)
{ int i,j,k,s=0;
for(i=0;i〈N;i++)
{ k=0;
for(j=1;j<M;j++)
if(a[k][i]>a[j][i])k=j;
s+=【 】;
}
【 】 =s;
}
main( )
{ int x[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin(【 】);
printf("%d\n",s);
}
第18题:
若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j<4)值的正确引用为( )。
A.(q+i)[j]
B.*q[i][j]
C.*(*q[i]+j)
D.*(*(q+i)+j)
第19题:
若有定义语句:"int a[4][10],*P,*q[4];"且0≤i<4,则错误的赋值是( )。
A.D=a
B.q[i]=a[i]
C.p=a[l]
D.P=&a[2][1]
第20题:
有如下程序: #include <iostream> using namespace std; class Base { protected: int i; public: int j; }; class Derived:public Base {int m; public: int n; }; int main() { Derived d; d.i=0;//[1]d.j=0;//[2]d.m=0;//[3]d.n=0;//[4]return 0; } 其中主函数中有两个赋值语句有错,这两个错误的赋值语句是______ 。
A.[1]和[2]
B.[1]和[3]
C.[2]和[3]
D.[2]和[4)
第21题:
设数组a[0.n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i<n,0≤j<m)的存储位置相对于数组空间首地址的偏移量为 ( )。
A.(j*m+i)*4B.(i*m+j)*4C.(j*n+i)*4D.(i*n+j)*4
第22题:
设有如下定义:
struct sk
{ int m;
floatx;
}data,*q;
若要使q指向data中的m域,正确的赋值语句是( )。
A)q=&data.m;
B)*q=data.m;
C)q=(struct sk*)&data.m;
D)q=(struct sk*)data.m;
第23题:
若有定义:inta[3][4];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的不正确引用为()
第24题:
p=a
q[i]=a[i]
p=a[i]
p=&a[2][1]