中国高校课件下载中心 》 教学资源 》 大学文库

内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(三)

文档信息
资源类别:文库
文档格式:DOC
文档页数:3
文件大小:56KB
团购合买:点击进入团购
内容简介
内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(三)
刷新页面文档预览

内蒙古科技大学 教 案 课程名称:C语言程序设计 编写时间:2014年2月16日 授课章节 第七章指针(三) 目的要求 掌握指针作为函数的参数 指向一维数组元素的指针作为函数的参数 重点难点 教学内容 1、指向变量的指针 在C语言中,不仅变量可以作为函数,指针变量也可以作为函数的参数。参数的传递, 都是以值传递的方式进行的,实参将其值传递给形参。当然,指针作为函数的参数,传递 的是变量的地址值。例如: 例输入a和b两个整数,按从小到大的顺序存储。 void swap(int *pl,int *p2) int temp; if(*1>*p2) temp=*pl; *pl=*p2: *p2=temp: main() int a.b: scanf(dd"a,b): swap(&a,&b) printf("\n a=%d,b=%d",a,b); 当然指针也可以用作实参。 1、在sWap函数中,由于是要交换pl与p2所指存储单元的值,所以不能将tep定 义为指针类型,否则会导致系统崩溃 2、由于C语言中函数的参数传递均为值传递,所以只有上述方式才能实现在被调用 函数中改变调用函数中定义变量的值。 2、指向一维数组元素的指针作为函数的参数 当指针指向一维数组首地址,即第一个元素地址后,就可以通过访问数组各元素。 例用函数实现求数组平均值 #include double savg(int *p,int n)

内 蒙 古 科 技 大 学 教 案 课程名称: C 语言程序设计 编写时间:2014 年 2 月 16 日 授课章节 第七章 指针(三) 目的要求 掌握指针作为函数的参数 重点难点 指向一维数组元素的指针作为函数的参数 教学内容 1、指向变量的指针 在 C 语言中,不仅变量可以作为函数,指针变量也可以作为函数的参数。参数的传递, 都是以值传递的方式进行的,实参将其值传递给形参。当然,指针作为函数的参数,传递 的是变量的地址值。例如: 例 输入 a 和 b 两个整数,按从小到大的顺序存储。 void swap(int *p1,int *p2) { int temp; if(*p1>*p2) { temp=*p1; *p1=*p2; *p2=temp; } } main() { int a,b; scanf("%d%d",&a,&b); swap(&a,&b); printf("\n a=%d,b=%d",a,b); } 当然指针也可以用作实参。 1、在 swap 函数中,由于是要交换 p1 与 p2 所指存储单元的值,所以不能将 temp 定 义为指针类型,否则会导致系统崩溃。 2、由于 C 语言中函数的参数传递均为值传递,所以只有上述方式才能实现在被调用 函数中改变调用函数中定义变量的值。 2、指向一维数组元素的指针作为函数的参数 当指针指向一维数组首地址,即第一个元素地址后,就可以通过访问数组各元素。 例 用函数实现求数组平均值。 #include double savg( int *p,int n)

int *x: double s=0,avg s=*x: avg=s/n; return avg: main() inta[10]={1,11,21,31,41,51,61,71,81,91}*p double avg avg=savg(a,10) printf("avg=%f",avg): 1、在函数的参数中,除了传递数组首地址外还需传递数组的长度,否则所编写的函 数不具备通用性 由于传递的是数组的首地址,所以在自定义函数中即可以使用指针方式,也可使 用下标方式访问数组元素。 3、指向字符串指针作为函数的参数 例用函数实现将源字符串的ASCII码为奇数的字符复制到目标数组 void sepy(char pl,char *p2) while(*p1) if(*1%2) *p2+=pl: pl++ *p2=10': main() 1 char a[]="I love my Motherland !"b[40]; scpy (a,b) printf(%s”,b) 在字符串的相关运算中,由于处理的是有效字符,所以不需要在参数传递长度。可以 根据字符串的结束标志\0'或用字符串函数strlen求得其长度

{ int *x; double s=0,avg; for(x=p;x<p+n;x++) { s+=*x; } avg=s/n; return avg; } main() { int a[10]={1,11,21,31,41,51,61,71,81,91} *p; double avg; avg=savg(a,10); printf("avg=%f",avg); } 1、在函数的参数中,除了传递数组首地址外还需传递数组的长度,否则所编写的函 数不具备通用性。 2、由于传递的是数组的首地址,所以在自定义函数中即可以使用指针方式,也可使 用下标方式访问数组元素。 3、指向字符串指针作为函数的参数 例 用函数实现将源字符串的 ASCII 码为奇数的字符复制到目标数组 void scpy(char *p1,char *p2) { while(*p1) { if(*p1%2) { *p2++=*p1; } p1++ } *p2= '\0'; } main() { char a[]="I love my Motherland !",b[40]; scpy(a,b); printf("%s",b); } 在字符串的相关运算中,由于处理的是有效字符,所以不需要在参数传递长度。可以 根据字符串的结束标志‘\0’或用字符串函数 strlen 求得其长度

课堂教学小结: 通过本讲,使学生能掌握用指针做为函数的参数编写各类程序

课堂教学小结: 通过本讲,使学生能掌握用指针做为函数的参数编写各类程序

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档