网站大量收购闲置独家精品文档,联系QQ:2885784924

第6章数组.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章数组

1.若有以下定义 int x[10], *pt=x; xx[0]x+ix[i] *(x+i) x[i]则对x数组元素的正确引用是A) pt+3B) *x[10]C) *(pt+10)D) *(x+3) 参考答案:D【解析】没有A选项的引用形式。*与放在一起作用抵消,所以B选项错误,最大只能引用到x[9]。*(pt+i)表示引用指针pt所指元素后的第i个元素,所以C选项错误,最大只能为*(pt+9)。因此D选项正确。2.有以下程序 #include stdio.h main() { int i, s=0, t[ ]={1,2,3,4,5,6,7,8,9}; for(i=0;i9;i+=2) s+=*(t+i); //*(t+i) t[i] printf(%d\n,s); }程序执行后的输出结果是A) 20B) 25C) 45D) 36 参考答案:B【解析】统计1~9九个数中的奇数和,此题考察指向数组的指针。C语言规定数组名代表数组的首地址,也就是第一个元素的地址。因此*(t+i)代表数组的第i+1个元素。程序运行的结果是1+2+3+4+5+6+7+8+9=25。3. 有以下程序 #include stdio.h void fun(int *s, int n1, int n2) { int i, j, t; i=n1; j=n2; while( ij ) { t=s[i]; s[i]=s[j]; s[j]=t; i++; j--; } } main() {int a[10]={1,2,3,4,5,6,7,8,9,0}, k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k10;k++) printf(%d, a[k]); printf(\n);}01234567894321098765Fun(a,4,9) {s=a,n1=4,n2=9;I=4,j=9While (ij)49 t=s[4] s[4]=s[9] s[3]=t i=1, j=212 t=s[1]}程序的运行结果是A) 4321098765B) 5678901234C) 0987654321D) 0987651234 参考答案:B【解析】该程序首先给一维数组赋值,然后三次调用fun函数,其中fun(a,0,3);功能是将一维数组中第1个元素和第4个元素互换,第2个元素和第3个元素互换;其中fun(a,4,9);功能是将一维数组中第5个元素和第10个元素互换,第6个和第9个元素互换,第7个元素和第8个元素互换;其中fun(a,0,9);功能是将将一维数组中第1个元素和第10个元素互换,第2个元素和第9个元素互换……依次类推。因此B选项正确。4. 有以下程序 #include stdio.h main() { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3}, c[5]={0} ,i; for(i=0; i12; i++) c[ s[i] ]++; for(i=1; i5; i++) printf(%d ,c[i]); printf(\n); }程序的运行结果是A) 2 3 4 4B) 4 3 3 2C) 1 2 3 4D) 1 1 2 3 参考答案:B【解析】在for(i=0;i<12;i++) c[s[i]]++中,数组元素s[i]的值作为数组c的下标,当退出循环时,数组c的4个元素的值分别为4、3、3、2。因此B选项正确。5. 若有以下程序 #include stdio.h void fun(int a[ ], int n) { int t,i,j; for (i=1; in; i+=2) for (j=i+2; jn; j+=2) if (a[i] a[j]) { t=a[i]; a[i]=a[j];a[j]=t;} } main() { int c[10]={10,9,8,7,6,5,4,3,2,1},i; 1 9 7 5 3 10 1 8 3 6 5 4 7 2 9 fun(c, 10); for (i=0;i10; i++)printf(%d,, c[i]); printf(\n); }则程序的输出结果是A) 1,10,3,8,5,6,7,4,9,2,B) 10,9,8,7,6,5,4,3,2,1,C) 2,9,4,7,6,5,8,3,10,1,D) 10,1,8,3,6,5,4,7,2,9, 参考答案:D【解析】该题首先对一维数组进行初始化,c[0]到c[9]依次赋值为10到1;fun(c, 10);语句调用fun函数,fun函数的功能是将一维

文档评论(0)

juhui05 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档