求C语言 数组 题解 习题如下求正解

1.给出以下定义:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};则正确的叙述为A)数组X和数组Y等价B)... 1. 给出以下定义:

char x[]="abcdefg";

char y[]={'a','b','c','d','e','f','g'};

则正确的叙述为

A)数组X和数组Y等价 B)数组x和数组Y的长度相同

C)数组X的长度大于数组Y的长度 D)数组X的长度小于数组Y的长度

2. 若有下面的程序片段:

int a[12]={0}, *p[3], **pp, i;

for(i=0; i<3; i++)

p[i]=&a[i*4];

pp=p;

则对数组元素的错误引用是

A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2)

3. 设有以下定义:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

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)

4. 不能把字符串:Hello!赋给数组b的语句是

A) char b[10]={'H','e','l','l','o','!'};

B) char b[10];b="Hello!";

C) char b[10];strcpy(b,"Hello!");

D) char b[10]="Hello!";

5. 若有以下说明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

char c='a',d,g;

则数值为4的表达式是

A)a[g-c] B)a[4]

C)a['d'-'c'] D)a['d'-c]

6. 若有以下说明:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为6的表达式是

A) *p+6 B) *(p+6) C) *p+=5 D) p+5

7. 若有以下说明:

int w[3][4]o={{0,1},{2,4},{5,8}};

int(*p)[4]=w;

则数值为4的表达式是

A) *w[1]+1 B) p++,*(p+1)

C) w[2][2] D) p[1][1]

8. 若有以下的说明和语句:

main()

{int t[3][2], *pt[3],k;

fpr(k=o; k<3;k++)pt[k]=t[k];

}

则以一选项中能正确表示t数组元素地址的表达式是

A) &t[3][2] B) *pt[0]

C) *(pt+1) D) &pt[2]

9. 以下程序的输出结果是

main( )

{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];

for(i=0;i<4;i+=2)printf("%d ",p[i]);

}

A) 5 2 B) 5 1 C) 5 3 D) 9 7

10. 若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是

int t[3][3], *pt([3], k;

for (k=0;k<3;k++) pt[k]=&t[k][0];

A) 5 2 B) 5 1 C) 5 3 D) 9 7

11. 执行下面的程序段后,变量k中的值为

int k=3, s[2];

s[0]=k; k=s[1]*10;

A) 不定值 B) 33 C) 30 D) 10

12. 若已定义:

int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;

其中 0≤i≤9, 则对a数组元素不正确的引用上

A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]

13. 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为

A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节
展开
 我来答
丁丁说不
2009-04-25 · TA获得超过172个赞
知道答主
回答量:89
采纳率:0%
帮助的人:0
展开全部
1.c
2.c
3.D
4.B
5.D
6.C
7.D
8.C
9.C
10.你抄错了,答案应该是a[1][2]
11.A
12.D
13.C
呵呵,上面是我自己做的,正确答案还不知道,仅供参考!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-04-27
展开全部
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式