今天,继续讲着第二天没有做完的题目,9*9方格,和奶牛问题。
第二天的问题,还是放在第二天里面解决,第三天,只附上第三天的新题型。
1.有如下程序段,输出结果是
int a = 10,b = 20;
int *p, **pp;
p = &a;
pp = &p;
p = &b;
printf(“%d %d \n”, *p, **pp);
A.10, 20
B.10, 10
C.20, 10
D.20, 20
2.若有说明int (*p)[3],则以下叙述正确的是
A.p是一个指针数组
B.p是一个指针,它只能指向一个包含3个int类型元素的二维数组
C.p是一个指针,它可以指向一个一维数组中的任一元素
D.(*p)[3]与*p[3]等价
3.C语言的定义语句char *line[5];的含义是指
A.line是一个数组,其数组的每一个元素是指向字符的指针
B.line是一个指针,指向一个数组,数组的元素为字符型
C.A和B均不对,但它是C语言正确的语句
D.C语言不允许这样定义语句
4.有如下说明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是
A.*p + 9
B.*( p + 8 )
C.*p += 9
D.p + 8
5.若有以下说明, 且0<i<4,则_____________是错误的赋值。
int a[4][10], *p, *q[4];
A.p = a
B.q[i] = a[i]
C.p = a[i]
D.q[i] = &a[2][0]
6.若有以下说明语句:
static int a[2][3] = { 1, 3, 5, 7, 9, 11};
int m, n;
且0≤m≤1,0≤n≤2,则____________是对元素的正确引用。
A.a[m] + n
B.*(a + 5)
C.*(*(a + m) + 3)
D.*(*(a + m) +n)
7.设有以下定义:
int a[2][3]={1,2,3,4,5,6};
int (*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是
A.*((*prt+1)[2])
B.*(*(p+5))
C.(*prt+1)+2
D.*(*(a+1)+2)
不是每道题,都有答案,答案在你那里、、、