内蒙古科技大学:《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 求得其长度

课堂教学小结: 通过本讲,使学生能掌握用指针做为函数的参数编写各类程序
课堂教学小结: 通过本讲,使学生能掌握用指针做为函数的参数编写各类程序
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第九章 文件操作.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(四).doc
- 内蒙古科技大学:《C语言程序设计》课程教学大纲 C Language Programming.pdf
- 《计算机组成原理》课程教学课件(PPT讲稿)第1章 计算机组成原理概述 Computer Organization.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第6章 总线系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第3章 指令系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第2章 运算方法和运算器 第1节 数据表示(数据与文字表示方法).ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第2章 运算方法和运算器 第2节 定点加减运算及实现 第3节 定点乘法运算及实现 第4节 定点除法运算及实现 第5节 定点运算器的组成与结构 第6节 浮点运算方法和浮点运算器.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第4章 中央处理器.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第7章 输入输出系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第5章 存储系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第8章 外围设备.ppt
- 《计算机组成原理》课程教学资源(实验指导)实验五 模型计算机与指令执行.doc
- 《计算机组成原理》课程教学资源(实验指导)实验四 数据通路.doc
- 《计算机组成原理》课程教学资源(实验指导)实验三 存储器.doc
- 《计算机组成原理》课程教学资源(实验指导)实验二 微程序控制器.doc
- 《计算机组成原理》课程教学资源(实验指导)TEC4模型计算机介绍.doc
- 《计算机组成原理》课程教学资源(实验指导)实验一 运算器.doc
- 《计算机组成原理》课程教学大纲 Computer Organization.doc
- 大连理工大学:《数据结构》课程教学课件(PPT讲稿)第八章 排序.ppt
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第八章 结构体与共用体.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.5 字符数组.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(一).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第五章 函数.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.2.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.3.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.3.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(一).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(三).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(四).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第三章 简单的C程序设计.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第一章 C简介.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第二章 数据类型、运算符及表达式(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第二章 数据类型、运算符及表达式(一).doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)编程题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)填空题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)改错题.doc