函数
 函数是什么?
         数学中我们常见到函数的概念,但是你了解C语言中的函数吗?维基百科中对函数的定义:子程序
         在计算机科学中,子程序(英语:subroutine,procedure,function,routine,method,subprogram,callable unit),是一个大型程序中的某部分代码,由一个或多个语句块组成。他负责完成某项特定任务,而且相较于其他代码,具备相对的独立性
         一般有输入参数并有返回值,提供对过程的封装和细节隐藏,这些代码通常被集成为软件库

 C语言中函数的分类
 1.库函数
 2.自定义函数
 库函数:
 为什么会有库函数?
        1.我们知道我们在学习C语言编程的时候,总是在一个代码编写完成之后迫不及待的想知道结果,想把这个结果打印到我们的屏幕上看看,这个时候我们会频繁的使用一个功能,将信息按照一定的格式打印到屏幕上(printf)
        2.在编程的过程中我们会频繁的做一些字符串的拷贝工作(strcpy)
        3.在编程时我们也计算,总会计算n的k次方这样的运算(pow)
 像上面我们描述的基本功能,它们不是业务性的代码,我们在开发的过程中每个程序员都可能用得到,为了支持可移植性和提高程序的效率,所以C语言的基础库中提供了一系列类似的库函数,方便程序员进行软件开发

那怎么学习库函数呢?
 可以参考   : www.cplusplus.com

简单的总结,C语言常用的库函数都有:
 IO函数
 字符串操作函数
 字符操作函数
 内存操作函数
 时间/日期操作函数
 数学函数
 其他库函数
 注:使用库函数就必须包含#include对应的头文件,库函数也一定要全部记住,而是需要学会查询工具的使用,比如 MSDN,https://en.cppreference.com/w/  (把en 换成 zh可以看中文版)
 自定义函数
 如果库函数能干所有的事情,那还要程序员干什么?所以更加重要的是自定义函数,自定义函数和库函一样,有函数名,返回值类型和函数参数,但是不一样的是这些都是我们自己来设计,这给程序员一个很大的发挥空间

 举两个个例子:写一个函数可以找出两个函数的最大值


例二: 写一个函数可以交换两个整形变量的内容:
 第一张图是错误的解法

错误原因:a, b 的值并没有交换的原因:之前了解过指针的定义,任何值都是有地址的,但是这个函数在接收a , b的值的时候又给x,y创建了一个新的空间,新的地址,交换的是新创建的地址,跟原本a,b 的地址并没又关系,所以a,b的值并没有被交换。

正确解法


 函数的参数
 实际参数(实参):
      真实传给函数的参数,叫实参,实参可以是:常量,变量,表达式,函数等,无论实参是何种类型的量,在进行函调用时,他们都必须有确定的值,以便把这些值传送给形参
 形式参数(形参):
     形式参数是函数名后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数,形式参数当函数调用完成之后就自动销毁了,因此形式参数只在函数中有效。
 上面例子(例二)中的,x,y,pa,pb就是形式参数,在main函数中a,b就是实际参数

C语言——函数的一些基本概念相关推荐

  1. 【C 语言】C 语言 函数 详解 ( 函数本质 | 顺序点 | 可变参数 | 函数调用 | 函数活动记录 | 函数设计 ) [ C语言核心概念 ]

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  2. swift1.2语言函数和闭包函数介绍

    swift1.2语言函数和闭包函数介绍 在编程中,随着处理问题的越来越复杂,代码量飞速增加.其中,大量的代码往往相互重复或者近似重复.如果不采有效方式加以解决,代码将很难维护. swift1.2语言函 ...

  3. C运行库和C语言函数库/Microsoft C运行库

    C运行库和C语言函数库/Microsoft C运行库 2009-03-04 10:27 973人阅读 评论(0) 收藏 举报 c语言librarydll编译器fortran 1.C运行库和C语言函数库 ...

  4. C语言 —— 函数(一)

    C语言函数 一.C语言函数概念与定义方式 1.1.C语言的函数概念 1.2.函数定义的方式 1.2.1 .C语言无参函数的定义 1.2.2.C语言有参函数的定义 1.2.3.**!!!** 注意:C语 ...

  5. 51单片机实战教程之C语言基础(五 C语言函数及其定义)

    虽然部分C语言函数的返回值与其参数存在对应关系,但是它与数学里的函数不是同一概念.有的书上把它定义为完成特定任务的代码集合. C语言函数的格式为:返回值数据格式  函数名(参数列表){函数体}, 函数 ...

  6. 第05章 Go语言函数(Go语言func)

    函数是组织好的.可重复使用的.用来实现单一或相关联功能的代码段,其可以提高应用的模块性和代码的重复利用率. Go 语言支持普通函数.匿名函数和闭包,从设计上对函数进行了优化和改进,让函数使用起来更加方 ...

  7. C语言函数一章教学,c语言中函数教学的探讨

    摘要:C程序是有函数组成的,使用函数可以提高程序设计的效率,因此学习好函数这章对C语言程序的理解和掌握是非常重要的,根据多年教学实践,以案例为引导教学起到了比较好的效果. 关键词:函数教学:函数定义: ...

  8. 5. (go语言)函数

    5. Go语言函数 1 定义格式 2自定义函数 2.1 无参无返回值 2.2 有参无返回值 2.2.1 普通参数列表 2.2.2 不定参数列表 2.3 无参数返回值 2.3.1 一个返回值 2.3.2 ...

  9. c语言模板函数调用自定义函数调用,C语言函数的递归和调用

    C语言函数的递归和调用Tag内容描述: 1.计算机科学系陈垚,1,张福祥主编辽宁大学出版社,C语言程序设计,计算机科学系陈垚,2,我们先看这样一个例子:,说有一只调皮的小猴子,摘了一堆水果,第一天吃了 ...

最新文章

  1. PAT甲级1028 List Sorting:[C++题解]排序,cin和cout会超时
  2. 判断是否是ie浏览器 前端js_JS判断是否是IE浏览器
  3. linux获取cpu核数(线程数)
  4. 高精度运算模板(大数模板)
  5. 我的第一个项目(人力资源管理之报表管理)
  6. 基于Python的HTTP接口测试
  7. java a =a-=aa_java 初学 :求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字。几个 数相加由键盘控制。...
  8. 【视频开发】CximageMat 、CximagelplImage 以及 lplImageMat的转换、像素位深度
  9. apache+tomcat+jk配置负载均衡
  10. 【图像处理】美图秀秀使用技巧:抠图、透明、改色、教程
  11. 【学术相关】iccv、cvpr、eccv论文接收率及格式下载(附论文下载)
  12. 《工业设计史》第十章:战后重建与设计
  13. blink usb无线网卡驱动 linux,BLINK无线网卡驱动下载
  14. hbuildX使用夜神模拟器配置
  15. 移动硬盘上安装WIN7 WIN10 UBUNTU系统
  16. circos 可视化手册-plots 篇
  17. java惰性计算原理_利用 Lambda 表达式实现 Java 中的惰性求值
  18. log日志:如何设置log级别、打印字体的颜色
  19. 伤害世界不显示服务器,伤害世界肿么开服务器
  20. 红米AC3000、小米cr8806、8808、8809成功刷入openwrt

热门文章

  1. 守望者的逃离 动态规划+滚动数组
  2. 降低OLED屏幕功耗的方法
  3. 如何制作一个高转化的广告落地页(文末有福利)
  4. 自动识别Windows Office 产品GVLK
  5. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest F.Philosopher’s Walk
  6. day4new-转自金角大王
  7. 为什么说千万别用微软 IE 下载 Chrome?
  8. 终于知道google为什么有时不能用了
  9. pyltp依存句法分析_NLP(十二)依存句法分析的可视化及图分析
  10. 很喜欢这句话:将军赶路,不追小兔