C语言课件-第5章 函数 湘潭大学上课课件.pptx

C语言课件-第5章 函数 湘潭大学上课课件.pptx

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

第5章 函数 ;函数(FUNCTION);为什么要用函数;为什么要用函数;为什么要用函数;为什么要用函数;为什么要用函数;为什么要用函数;C语言中的函数;C语言中的函数;三处使用函数名的地方;基本函数设计;带参数的void函数;定义函数;函数定义;int max(int x,int y) { int z; z=xy?x:y; return(z);};使用函数(函数的调用);函数调用;函数的声明(函数原型);函数的声明(函数原型);函数间通信(交互)---参数传递;实参采用对位方式向形参传值 ;思考:输出结果是输出结果应该是:a=100, b=200 还是:a=200, b=100 呢? ;例:实参向形参单项传值 ;思考:输出结果是什么?;int main() { int a=100; printf(调用函数之前,a=%d\n,a); TryToChange(a); printf(调用函数之后,a=%d\n,a); return 0; } ;如何实现将被调函数中的值带出?;变量是有作用范围的(作用域);函数调用内存变化;变量的作用域;带出被调函数中的值;利用返回值;函数示例;#include stdio.h int firstDigit (int num); //函数声明 int main (void) { int number; int digit; printf(Enter an integer: ); scanf (%d, number); digit = firstDigit (number); printf(\nLeast significant digit is: %d\n, digit); return 0; } // main;int addTwoDigits (int num); int firstDigit (int num); int secondDigit (int num); int main (void) { int number; int sum; printf(Enter an integer: ); scanf (%d, number); sum = addTwoDigits (number); printf (\nSum of last two digits is: %d, sum); return 0; } // main;函数重用;带回多个值—传递参数的地址;带回多个值—传递参数的地址;void Assign(int a[], int size) { int i; for (i=0; isize; ++i) a[i] = i+1; } ;实参和形参的小结;输出2-100内的素数;求最大公约数和最小公倍数 ;输出一个随机数序列 ;求字符串的长度 ;将字符串逆置 ;将十进制数转换成二进制字符串输出;输出螺旋方阵 ;假设用row和col来分别表示当前格子的行号和列号,那么前进的方向就决定了row和col的变化,上下左右4个方向与row和col的变化关系如表 ;rowInc来表示row的增量,那么row的变化可以简单地写成: row = row + rowInc rowInc显然应该是个{0,1,0,-1}的数组,row每次要加的值,都是这个数组中的某个元素。如果元素的下标用index来控制,则每次转向只要将index加1即可。所以row的变化应该写成: row = row + rowInc[index]; 而每一次转向时,index应该这样变化: index = (index +1) %4; 源程序在此;递推 ;递推数列;递推算法的程序实现 ;例:求阶乘;求斐波那契数列的前20项 ;本章练习

文档评论(0)

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

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

1亿VIP精品文档

相关文档