为什么需要函数

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

什么叫函数

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

如何定义函数

    > 格式:函数的返回值 函数的名字(函数的形参列表){函数的执行体}> 定义:函数定义的本质是详细描述函数之所以能够实现某个特定功能的具体方法> 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. Java中迭代列表中数据时几种循环写法的效率比较
  2. undefined reference to 'pthread_mutex_trylock'
  3. 【CentOS Linux 7】实验4【Shell编程】
  4. java数组的调用_java中数组的应用及方法
  5. 迈克尔·戴尔再次到访2019戴尔科技峰会,为“戴尔中国4.0+战略”加个码……
  6. 蜂鸟A20开发板刷 cubietruck 的 SD 卡固件
  7. Flink批处理练习
  8. (转)修改的T4代码生成器(续)
  9. 敏捷开发免费管理工具——火星人预览之三:迭代,计划会,分配
  10. 四、CLR执行程序集中代码和IL代码简介
  11. 细粒度审计导致SYSTEM表空间异常引发ORA-01653同时性能异常
  12. 第十七周项目4 - 日期结构体(是当年的第几天)
  13. 为suse 12.3桌面系统安装金山WPS OFFICE
  14. Java的世界如此美妙
  15. linux中yaml安装包如何安装,yaml-cpp的安装
  16. go 并发goroutines,channal
  17. iPad安卓协议是怎么实现功能的
  18. 简单的汇率转换工具---初试AJAX
  19. python红楼梦人物词频统计_用Python绘制红楼梦词云图,竟然发现了这个!
  20. 常用多媒体文件格式压缩标准解析学习---图像表示与声音基本

热门文章

  1. 单例模式(java代码实现)
  2. ios备忘录下载安卓版_苹果备忘录app下载
  3. 【STM32】 色环电阻
  4. HTTP报文(这篇讲得比较详细)
  5. java 上位机_java实现上位机与下位机串口通信
  6. 重装系统找不到固态_安装win10系统时无法识别固态硬盘怎么解决
  7. c语言随机抽奖小程序,基于C#实现简单的随机抽奖小程序
  8. 本地创建MYSQL数据库详解
  9. 波特率和比特率的区分
  10. 推荐系统中传统模型——LightGBM + LR融合