清华谭浩强C语言 第8章 函数

第8章 函 数;8.1 概述;函数的构成; C程序的全部工作都是由各式各样的函数完成的,所以也把C语言称为函数式语言。;程序开发中使用函数的优点;函数的一些说明;函数的分类;8.2 函数定义的一般形式;2)有参函数的一般形式 函数类型 函数名( 形参表列 ) { 说明语句部分; 可执行语句部分; };3.“ 空函数 ” 类型说明符 函数名( ) { }

“空函数”什么操作也不做。其作用是在此处留一函数的位置,以便将来扩充功能之用。函数名也在将来换取实际的函数名。;函数定义的一些说明;2.函数体:函数首部下用一对{}括起来的部分。如果函数体内有多个{},最外层是函数体的范围。 函数体一般包括声明部分、执行部分两部分。1)声明部分:在这部分定义本函数所使用的变量和进行有关声明(如函数声明)。2)执行部分:程序段,由若干条语句组成(可以在其中调用其它函数)。 ;例:输入三个整数,求三个整数中的最大值不使用函数(除main外)

main(){ int n1,n2,n3,nmax; scanf(“%d%d%d”,&n1,&n2,&n3); if(n1>n2) nmax=n1; else nmax=n2; if(n3>max) max=n3; printf(“max=%d\n”,nmax);} ;使用函数int max(int,int,int); /*函数声明*/main(){ int n1,n2,n3,nmax; scanf(“%d%d%d”,&n1,&n2,&n3); nmax=max(n1,n2,n3); printf(“max=%d\n “,nmax); } ?int max(int x,int y,int z){ int m; if(x>y) m=x; else m=y; if(z>m)m=z; return m;};8.3 函数参数和函数的值;例 从键盘输入两个数,输出其中较大的一个。 main( ) { int a, b, c ; scanf(“%d,%d”, &a, &b); c=max(a,b); /? a, b为实际参数 ?/ printf(“Max is %d”,c); } max(x,y) /? x, y为形式参数 ?/ int x, y; { int z; z=x>y ? x : y; return(z); };说明:1)形参变量在被调用前不占用存储单元;在被调用结束 后,形参所占存储单元亦被释放。因此,形参只有在该函数内有效。调用结束,返回调用函数后,则不能再使用该形参变量。2)实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此,应预先用赋值、输入等办法,使实参获得确定的值。3)实参对形参的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。4)实参和形参占用不同的内存单元,即使同名也互不影响5)在被定义函数中,必须指定形参的类型。实参和形参的类型应相同或赋值相容。;main( ){ int a=3, b=5; void swap( int , int ); swap (a, b); printf(“a=%d, b=%d\n”, a, b);}void swap (int x, int y){ int temp; temp=x; x=y; y=temp; printf(“x=%d , y=%d \n”, x, y);}是按值传递的按址传递放在指针里面讲。;8.3.2 函数的返回值; 4)return语句返回值的类型应与该函数的类型一 致。否 则以函数类型为准。 5)若函数中没有return语句,则该函数被调用后也会带 回不确定的值。为了明确表示不需要函数返回值,可 以用“void”定义函数为 “无类型”。凡不需要返回值的函数,一般均定义为“void”类型。 6)一个函数可以有一个以上的return语句,执行到哪个return语句,哪个return语句起作用。

;8.4 函数的调用;8.4.2 函数调用

c语言谭浩强第八章函数PPT,清华谭浩强C语言 第8章 函数.ppt相关推荐

  1. 2020二级c语言成绩查询入口,2020年全国计算机等级考试一本通 二级C语言

    本书面向全国计算机等级考试二级C语言科目,严格依据新版考试大纲详细讲解知识点,并配有大量的真题和练习题,以帮助考生在较短的时间内顺利通过考试. 本书共15章,主要内容包括考试指南.公共基础知识.C语言 ...

  2. c语言程序设计第五版课后习题答案谭浩强第八章课后题

    c语言程序设计第五版课后习题答案谭浩强第八章课后题 输入三个字符串,按由大到小的顺序输出 要求用指针实现 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个属兑换.写三个函数:1.输入 ...

  3. c语言程序设计曾怡课件,谭浩强 C语言程序设计教程(由曾怡视频修改) 第8章 函数课件...

    谭浩强 C语言程序设计教程(由曾怡视频修改) 第8章 函数课件 一般搬家时转盘与大梁间是固定的,开钻前应根据转盘对井架进行校正,如果中途换转盘,则要在空负荷下根据井架对转盘进行校正 一般搬家时转盘与大 ...

  4. C语言——基础查漏补缺(三):谭浩强红书刷题笔记大杂烩

    相关文章: C语言--基础查漏补缺(一):超长文帮你理清一些概念 C语言--基础查漏补缺(二):<C程序设计试题汇编>应试概念总结 C语言--基础查漏补缺(四):利用<挑战程序设计竞 ...

  5. 谭浩强c语言第三章,谭浩强C语言第三章数据类型.ppt

    谭浩强C语言第三章数据类型.ppt 第三章 数据类型 运算符与表达式 本章要点 数据的描述规则数据的操作规则 主要内容 3 1C的数据类型3 2常量与变量3 3整型数据3 4浮点型数据运行3 5字符型 ...

  6. 谭浩强c语言程序设计教材特点,《C语言程序设计》教案(清华谭浩强)教材.doc

    第一章C语言及程序设计概述 本章要求: 了解C语言的特点.C语言与其它高级语言相比有什么异同: 了解C程序在PC机上的建立.编译和运行过程: 了解C语言程序设计思想的基本篇: 重点:①C语言的主要特点 ...

  7. 谭浩强《C程序分析》(第五版)第七章后续

    局部变量和全局变量 每一个变量都有一个作用域问题,即它们在什么范围内有效. 局部变量 定义变量可能有3种情况: (1) 在函数的开头定义: (2) 在函数内的复合语句内定义: (3) 在函数的外部定义 ...

  8. 谭浩强《C程序分析》(第五版)第七章

    为什么要用函数 模块化程序设计 可以实现编好一批常用的函数来实现不同的功能,例如sin函数实现求一个数的正弦值,用abs函数实现求一个数的绝对值,把他们保存在函数库中.需要用时,直接在程序中写上sin ...

  9. c语言程序设计函数6,C语言程序设计》第6章函数-XiamenUniversity.PDF

    厦门大学非计算机专业本科生公共课 (2012-2013第2学期) <C语言程序设计> 第6章 函数 林子雨 厦门大学计算机科学系 E-mail: ziyulin@ 个人主页:/linziy ...

  10. 《Go语言圣经》学习笔记 第五章函数

    <Go语言圣经>学习笔记 第五章 函数 目录 函数声明 递归 多返回值 匿名函数 可变参数 Deferred函数 Panic异常 Recover捕获异常 注:学习<Go语言圣经> ...

最新文章

  1. Nat. Genet. | 基于遗传学主导的方法定义免疫相关性状的药物靶标
  2. WINKEY功能键你会用吗??
  3. Android开发中,eclipse找不到已存在的layout资源文件
  4. Java工作笔记-Spring boot中配置文件加密(Jasypt的使用)
  5. 每天进步一点点《ML - 逻辑回归》
  6. Recursion and Tail Recursion in Java and Erlang
  7. 360云盘直链解析PHP,360云盘分析直链解析
  8. webgis之geowebcache跨域
  9. 阅读underscore源码笔记
  10. 微信抽奖系统源码 v3.0
  11. RK3566上调试JL2101 1000M PHY
  12. [中国近代史] 第四章测试
  13. 利用快代理搭建自己的代理池(妈妈再也不用担心IP被封了)
  14. 数据导入与预处理实验二---json格式文件转换
  15. UART/USB UART/USB你必须知道的
  16. 京东API接口JD商品详情
  17. IT行业都有哪些岗位?
  18. Qiyuan-python接小球游戏
  19. 电脑版微信头像无法显示并且不能显示表情
  20. 微信3.1.0.58逆向-微信3.1.0.58HOOK接口说明(WeChatHelper.dll)-获取当前聊天微信ID

热门文章

  1. EasyUI 二级联动
  2. duilib中各控件响应的消息类型
  3. Hadoop1.0.4伪分布式安装
  4. 【C语言】10-字符和字符串常用处理函数
  5. 智能门锁电路图_科技生活|网传“小黑盒”刷开智能锁,人脸识别系统“翻脸不认人”?...
  6. bazel proxy 设置
  7. 安卓笔记:去除顶部的bar(安卓5.1)
  8. jackson框架java反序列化漏洞_Jackson CVE-2019-12384: 反序列化漏洞复现
  9. springboot整合rpc远程调用_SpringBoot—-JsonRpc跨语言远程调用协议 - Java天堂
  10. qt自定义qtablemodel实现改变item的背景色