为什么需要函数

    > 避免了重复性操作> 有利于程序的模块化

什么叫函数

    > 逻辑上:- 能够完成特定功能的独立的代码块> 物理上:- 能够接收数据【当然也可以不接收数据】- 能够对接收的数据进行处理- 能够将数据处理的结果返回【当然也可以不返回任何值】> 总结:- 函数是个工具,它是为了解决大量类似问题而设计的- 函数可以当做一个黑匣子

如何定义函数

    > 格式:函数的返回值 函数的名字(函数的形参列表){函数的执行体}> 定义:函数定义的本质是详细描述函数之所以能够实现某个特定功能的具体方法> return 表达式; 的含义:- 终止被调函数,向主调函数返回表达式的值- 如果表达式为空,则只终止函数,不向主调函数返回任何值- break是用来终止循环和switch的,return是用来终止函数的例子:void f(){return;//return只用来终止函数,不向主调函数返回任何值}int f(){return 10;//第一: 终止函数; 第二: 向主调函数返回10}> 函数返回值的类型也称为函数的类型,因为如果 函数名前的返回值类型和 函数执行体中的return 表达式; 中表达式的类型不同的话,则最终函数返回值的类型 以函数名前的返回值类型为准例子:int f(){return 10.5;//因为函数的返回值类型是int//所以最终f返回的是10而不是10.5}

函数的分类

    > 有参函数 和 无参函数> 有返回值函数 和 无返回值函数> 库函数 和 用户自定函数> 值传递函数 和 地址传递函数> 普通函数 和 主函数(main函数)> 注意:- 一个程序必须有且只能有一个主函数- 主函数可以调用普通函数 普通函数不能调用主函数- 普通函数可以相互调用- 主函数是程序入口,也是程序的出口

注意的问题:

    函数调用和函数定义的顺序> 如果函数调用写在函数定义的前面,则必须加函数前置声明函数前置声明:- 告诉编译器即将可能出现的若干个字母代表的是一个函数- 告诉编译器即将可能出现的若干个字母所代表的函数的形参和返回值的具体情况- 函数声明是一个语句,末尾必须加分号- 对库函数的声明是通过 #include <库函数所在的文件的名字.h> 来实现的形参和实参> 个数相同> 位置一一对应> 数据类型必须相互兼容如何在软件开发中合理的设计函数来解决实际问题> 一个函数的功能尽量独立,单一> 多学习,多模仿牛人的代码函数是C语言的基本单位,类是Java, C#, C++的基本单位

常用的系统函数

    求X的平方根double sqrt(double x);求X的绝对值int abs(int x);求X的绝对值double fabs(double x);

如有不对或者疏漏的地方,请多多指出。谢谢(⁄ ⁄•⁄ω⁄•⁄ ⁄)

8.郝斌C语言笔记——函数相关推荐

  1. 10.郝斌C语言笔记——指针

    指针的重要性 表示一些复杂的数据结构;快速的传递数据,减少了内存的耗用;使函数返回一个以上的值;能直接访问硬件;能够方便的处理字符串;是理解面向对象语言中引用的基础.总结:指针是C语言的灵魂. 指针的 ...

  2. 【郝斌 C语言 笔记】自增

    前自增:++ i -- 整体表达式的值是 i 加 1 后的值 后自增:i ++ -- 整体表达式的值是 i 加 1 前的值 最终都使 i 的值加 1. #include<stdio.h>i ...

  3. 12.郝斌C语言笔记——枚举

    什么是枚举 把一件事所有可能的取值一一列举出来 怎样使用枚举 例如:#include <stdio.h>//只定义了一个数据类型,并没有定义变量,//该数据类型的名字是 enum Week ...

  4. 郝斌c语言大纲百度云,C语言学习大纲 郝斌(讲解)

    教你如何快速掌握C语言,郝斌讲解,幽默而且加深了解.... 语言概述: 1.为什么学习C语言 1). C的起源和发展 2).C的特点 优点 代码量小 速度快 功能强大 缺点 危险性高 开发周期长 可移 ...

  5. <郝斌C语言自学教程>

    文章目录 P1 我对自学的一些看法 P2 我为什么要出视频 P3 本讲内容概述 p4 HelloWorld程序举例 p5 C语言的起源与发展 p6 C的特点 p7 C的应用领域 p8 C的重要性 p9 ...

  6. 2.郝斌C语言课程大纲

    共分23讲 C语言简介                                                                                 1讲 第一讲  ...

  7. 郝斌c语言视频错误的在哪里,根据郝斌C语言视频学的解简单一元二次方程的代码总是敲错,求大神帮忙看看...

    满意答案 cdqlhh000 推荐于 2016.02.23 采纳率:50%    等级:7 已帮助:107人 # include # include int main(void) { //把三个系数保 ...

  8. 郝斌老师-C语言视频教程(全180讲)

    <郝斌C语言自学教程>郝斌老师C语言自学专讲180集完整版 目录: 180_C期末考试测试题讲解 下 179_NULL的含义 178_C期末考试测试题讲解上 177_文件 宏 typede ...

  9. C语言郝斌视频学习一 变量为什么要初始化和一个小例子以及大纲笔记

    在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以"85"开头的很大的数字(此时该段内存中为一个垃圾 ...

  10. 郝斌老师C语言学习笔记(一)

    在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以"85"开头的很大的数字(此时该段内存中为一个垃圾 ...

最新文章

  1. NNVM Compiler,AI框架的开放式编译器
  2. 将assembly包添加到自己的maven仓库
  3. 单片机at指令解析 开源_分享Github上几个开源单片机硬件驱动库
  4. python --- 倒序输出数组中重复的数字
  5. .net 启动mysql数据库连接_[ASP.net教程]mysql数据库连接方式(.net)
  6. IDEA中的HTTP Client Editor测试API
  7. Qt之表单布局(QFormLayout)
  8. 【Python】Python库之文本处理
  9. 条款05:了解C++默默编写并调用哪些函数
  10. 塔菲尔曲线斜率的大小_中国第一塔,与埃菲尔铁塔齐名,到底有多强悍?
  11. oracle将列名进行拼接,请教关于用拼接的字符串作为表的列名进行操作的问题
  12. docker常用操作(六)docker安装内网穿透nps
  13. Windows 10 windows 11 如何离线安装NetFx3
  14. 自己动手写操作系统(高清图书+源代码)分享
  15. AE+BodyMovin导出动画JSON文件
  16. 工厂模式(Factory Method)
  17. 思科CCNP培训中OSPF协议之详细图解-IELAB
  18. TR单据自动生成TO单并确认
  19. 整理程序员常用英语单词1695个
  20. 抓包工具httpbuger的使用问题

热门文章

  1. matlab 画散点图后添加趋势线
  2. 在淘宝规则不断变化的形式下,该如何让店铺更好地发展
  3. struct vsf_sysutil_statbuf
  4. linux系统声音管理,Mplayer 音量控制详解
  5. java基础题100道
  6. 记一次抓包和破解App接口
  7. 黑苹果快捷键修改_小米air13.3安装黑苹果教程
  8. CAD图纸转换成高质量的彩色PDF格式如何操作?
  9. matlab系统解列模块,基于MATLAB的电力系统仿真终稿.doc
  10. 模拟win10系统开机加载的动画