实验7-3指针与二维数组
【实验目的】
1. 掌握二维数组的三种访问方式指针与二维数组
2. 掌握利用数组名访问二维数组
3. 能够用指向二维数组元素的指针(元素指针)访问二维数组中的数据
4. 能够用指向一维数组的指针(行指针)访问二维数组
【课后练习】
一、选择题
1. 若有定义: int a[2][3] 则对a数组的第i行第j列(假设已正确声明并赋值)元素值的正确引用为  A     
A *(*(a+i)+j)             B.  (a+i)[j]
C.  *(a+i+j)                D.  *(a+i)+j
2. 若有定义: int a[2][3] 则对a数组的第i行第j列(假设已正确声明并赋值)元素地址的正确表示为    D   
A *(a[i]+j)                B.  (a+i)
C.  *(a +j)                  D.  a[i]+j
3. 若有声明int (*p)[4]; 则标示符p    C   
A 是一个指向整型变量的指针
B 是一个指针数组名
C 是一个指针,它指向一个含有四个整型元素的一维数组
D 声明不合法
4. 若有以下语句,则对a数组元素地址的正确表示是  C     
int a[2][3], (*p)[3];
p=a;
A. *(p+2)      B.  p[2]      C. p[1]+1        D. (p+1)+2
5. 若有以下语句,则对a数组元素值的正确引用为      C 
int a[2][3], (*p)[3];
p=a;
A. (p+1)[0]      B.  *(*(p+2)+1)      C. *(p[1]+1)       D. p[1]+2
6. 若有以下声明,且0<= i < 4, 则错误的赋值语句是  D     
int s[4][6], (*p)[6];
A. p=s+i;      B. p=s;      C. p=&s[i];        D. p=*s;
7. 已知int i, x[3][4]; 则不能把x[1][1]的值赋给变量i的语句是    C     
A i = *(*(x+1)+1)            B i = x[1][1]
C i=*(*(x+1))                D i=*(x[i]+1)
8. 已知int a[2][3]={2, 4, 6, 8, 10, 12};正确表示数组元素地址的是    A   
A *(a+1)        B.  *(a[1]+2)    C.  a[1]+3        D.  a[0][0]
9. 已知int a[3][4], *p; 若要指针变量p指向a[0][0],正确的表示方法是:       
Ap=a        Bp=*a        Cp=**a        Dp=a[0][0]
二、阅读程序,写出运行结果
以下程序段的运行结果是    15         
三、以下程序段的运行结果是      60       
以下略

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。