实验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],正确的表示方法是: 。
A.p=a B.p=*a C.p=**a D.p=a[0][0]
二、阅读程序,写出运行结果
以下程序段的运行结果是 15 。
三、以下程序段的运行结果是 60 。
以下略
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论