- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言程序设计第7章_数组_2样版.ppt
[例子]编写程序,实现一维数组A[10]元素值循环左移3 位(要求用指针实现)。 #include stdio.h #define N 10 int main() { int array[N] = {98,124,58,78,90,587,21,0,-65,106}; int i,t,*p=array; for(i=1;i=3;i++) { t=*array; for(p=array+1;p=array+N-1;p++) *(p-1)=*p; *(p-1)=t; } for(p=array;parray+N;p++) printf(%5d,*p); return 0; } 7.2.3 数组作函数的参数 1. 数组元素作函数的参数 数组元素作函数的参数与普通变量作函数的参数本质相同。数组元素作函数实参时,仅仅是将其代表的值作为实参处理。 数组中元素作为函数的实参,与简单变量作为实参一样,结合的方式是单向的值传递。 【例】数组元素作函数的参数。 #include stdio.h float max(float n,float z) /* 函数有二个形参n,z */ { if(nz) return n; else return z; } void main() { float m,a[]={3.2,180,2.3,35,56,67,68,45,-34,10}; int k; m=a[0]; for(k=1;k10;k++) /*循环9次*/ m=max(m,a[k]); /*调用9次函数,实参m和a[k]给形参n,z*/ printf( %.2f\n,m); /*输出m和值 */ } 特别注意:数组元素只能作为函数的实参,不能作为函数的形参。 2. 数组名作函数参数 数组名代表数组的首地址,在数组名作为函数的参数时,形参和实参都应该是数组名(或是指针)。在函数调用时,实参给形参传递的数据是实参数组的首地址,即实参数组和形参数组完全等同,是存放在同一存储空间的同一个数组,形参数组和实参数组共享存储单元。如果在函数调用过程中形参数组的内容被修改了,实际上也是修改了实参数组的内容。 有四种形式: (1)实参与形参都用数组名。 (2)实参用数组名,形参用指针变量。 (3)实参与形参都用指针变量。 (4)实参用指针变量,形参用数组名。 例:编写一个输出一维数组的函数,在主程序中调用该函数。 形参:void pntarray(int b[],int N) /(int *b,int N) 实参: pntarray(array,N) /(p,N) 其中:array为数组名,p为指向数组array的指针 void output(int b[],int n) { int *ptr; for(ptr=b;ptrb+n;ptr++) printf(%5d,*ptr); printf(\n); } void maopao(int b[],int n) { int i,temp,*px; for(i=0;in-1;i++) for(px=b;pxb+n-1-i;px++) if(*px*(px+1)) {temp=*px; *px=*(px+1);*(px+1)=temp;} } int find(int b[],int n,int x) { int flag=0,bot,top,mid; bot=0;top=n-1; while(bot=top) {mid=(bot+top)/2; if(*(b+mid)==x) {flag=1;break;} else if(x*(b+mid)) bot=mid+1; else top=mid-1; } return flag; } void main() { int array[N]={96,35,12,58,78,90,587,21,0,-65}; int x; output(array,N);//调用output函数输出排序前数组 maopao(array,N);//调用maopao函数对数组排序 output(array,N);//调用output函数输出排序后数组 printf(input data:); scanf(%d,x); //输入要找的数x if(find(array,N,x))//调用find函数查找x在数组中是否存在 printf
您可能关注的文档
- 2018人教版三-级语文上册金色的草地ppt教材_1样版.ppt
- 2018最新人教版五-级语文上册小苗与大树的对话ppt_1样版.ppt
- 2018重庆MBA该如何复习呢_1样版.doc
- 2、爸爸的花儿落了_1样版.ppt
- 35科技企业云办公简易推介201208_1样版.ppt
- 3_信息化教学设计过程_1样版.ppt
- 3_信息化教学过程与策略_1样版.ppt
- 4的乘法口诀_1样版.ppt
- 592版_析分例案性共利水建1样版.doc
- 5S推行培训_1样版.ppt
- 贵州贵州省建设投资集团有限公司招聘考试真题附答案详解(研优卷).docx
- 河南南阳师范学院2021年招聘25名硕士研究生冲刺卷一(附答案与详解)及答案详解(名校卷).docx
- 陕西延长石油 (集团) 有限责任公司 所属单位招聘笔试题库及答案详解(必刷).docx
- 贵州民航产业集团有限公司招聘笔试题库含答案详解(基础题).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库含答案详解(考试直接用).docx
- 邢台市水务发展集团有限公司招聘真题附答案详解(实用).docx
- 新华保险总部人力资源部(党委组织部)招聘笔试题库含答案详解(预热题).docx
- 贵州苔茶产业发展集团有限公司招聘笔试题库含答案详解(b卷).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库附答案详解(综合题).docx
- 贵州城乡产业发展集团有限公司招聘笔试题库附答案详解(实用).docx
文档评论(0)