1、函数的定义:
函数头+函数体,一般形式为:
返回值类型 函数名(参数列表)
          {
               函数体(函数实现特定功能的过程)
           }
2、函数的声明:返回值类型 函数名(参数列表);
3、返回语句
(1)返回语句的作用:
1)  利用返回语句能立即从所在的函数中退出,即返回到调用的程序中去;
2)返回语句能返回值。将函数值赋给调用的表达式中,当然有些函数没用返回值。
(2)函数返回值的说明:
1)函数的返回值都是通过函数中的return语句获得的,return语句奖被调用函数中的一个确定值返回到调用函数中
2)在定义函数时,要明确指出函数返回值的类型。
3)如果函数值的类型和return语句中表达式的值不一致,则以函数返回值的类型为准。数值型数据可以自动进行类型转换,即函数定义的返回值类型决定最终返回值的类型。
4、函数参数分为:形式参数和实际参数
形式参数:定义函数时,函数名后面括号中的变量名称,作用是占位,等待实参的代替
实际参数:在调用一个函数时,真正使用的一个函数时,函数名后面括号中的参数,即实际参数,也是计算的结果。
5、数组作为函数参数时:
只传递数组的地址,而不是将整个数组赋值到函数中。当用数组名做为实参调用函数时,指向该数组的第一个元素的指针就被传递到函数中。
(1)数组元素作为函数参数
(2)数组名作为函数参数:此时实参与形参都使用数组名。     
(3)可变长度数组作为函数参数:可将函数的参数声明成长度可变的数组,在此基础上利用上面的程序经行修改。
6、使用指针作为函数参数
此时,定义的的函数的参数为可变长度的数组。
7、主函数main的形式参数如下:
main(int argc,char*argv[])
argc参数保存命令行的参数个数,是整形变量。这个参数的值至少是1,因为至少程序名就是第一个参数。
argv参数是一个指向字符指针数组的指针,这个数组中的每一个元素都指向命令行实参。所有命令行实参都是字符串,任何数字都必须由程序转变成为适当的格式。
8、函数的调用方式:
(1)函数语句的调用方式:Display();
(2)函数表达式调用:函数出现在一个表达式中,这时要求函数必须带回一个确定的值,而这个值则作为参加表达式运算的一部分。例如:iResult=iNum3*AddTwoNum(3,5);     /*函数在表达式中*/
(3)函数参数调用:函数调用作为一个函数的实参,这样将函数返回值作为实参传递到函数中使用。例:iResult=AddTwoNum(10,AddTwoNum(3,5));     /*函数在参数中*/
9、递归调用:即每个函数都可以直接或间接地调用自己。所谓间接调用,是指在递归函数调用的下层函数中再调用自己。
10、局部变量:在一个函数内部的变量是局部变量。这些变量作用在函数内,不能被其他函数调用。
全局变量:在所有函数的外部声明的变量,即为全局变量。全局变量是可以在程序中的任意位置进行访问的变量。
11、数学中常用的函数:
(1)abs函数:求整数的绝对值。int abs(int i);
(2)labs函数:求长整数的绝对值。long labs(long n);
(3)fabs函数:返回浮点数的绝对值。double fabs(double x);
(4)sin函数:正弦函数。double sin(double x);
(5)cos函数:余弦函数。double cos(double x);
(6)tan函数:正切函数。double tan(double x);
(7)isalpha函数:检查字母,如果参数(ch)是字母表中的字母(大写或小写),则返回非零。要包含头文件ctype.h(字符分类函数库)
(8)isdigith函数:检查数字,如果ch是数字则函数返回非零值,否则返回零。要包含头文件ctype.h
(9)isalnum函数:检查字母或数字,是则返回非零值,不是则返回零。要包含头文件ctype.h

《c语言从入门到精通》看书笔记——第9章 函数相关推荐

  1. 《c语言从入门到精通》看书笔记——第16章 网络套接字编程(上)——网络

    1.IP地址 每台计算机都需要一个IP地址以识别自己,IP地址由IP协议规定的32位的二进制表示,最新的IPV6协议将IP地址提升为128位,但还不能广泛应用. 32位的IP地址主要分为前缀和后最两部 ...

  2. 《c语言从入门到精通》看书笔记——第14章 文件

    1.文件的基本操作 (1)文件指针 文件指针是指向文件有关信息的指针,这些信息包含文件名,状态,和当前位置,他们保存在一个结构体变量中.在使用文件时需要在内存中为其分配空间,用以存放文件的基本信息.该 ...

  3. 《c语言从入门到精通》看书笔记——第13章 预处理

    1.宏定义 宏定义是预处理命令的一种,它提供了一种可以替换源代码中字符串的机制. 宏定义指令#define用来定义一个标识符和一个字符串,一这个标识符来代表这个字符串,在程序中每次遇到该标识符时就用所 ...

  4. 《c语言从入门到精通》看书笔记——第10章 指针

    1.地址与指针 地址:就是内存区中对每个字节的编号 指针:可以看作是内存中的一个地址.在程序中定义了一个变量,在进行编译时就会给该变量在内存中分配一个地址,通过访问这个地址可以找到相应的变量,这个变量 ...

  5. 《c语言从入门到精通》看书笔记——第3章 数据类型

    1.编程规范 (1)代码缩进:统一为4字符,用Tab (2)变量常量命名规范:常量命名统一为大写格式.如果成员变量,均以m_开始.普通变量,取与实际意义相关的名称,要在前面添加类型的首字母,并且名称的 ...

  6. 《c语言从入门到精通》看书笔记——第2章 算法

    1.通常,一个程序包含算法.数据结构.程序设计方法及语言工具和环境这四个方面 2.算法的特性: 有效性.确定性.可行性.输入(一个算法应有零个获多个输入).输出(1个或多个) 3.算法的优劣: (1) ...

  7. 《c语言从入门到精通》看书笔记——第1章 C语言的概述

    1.使用普遍的高级语言有:Fortran/ALGOL/Basic/COBOL/LISP/Pascal/PRLOLG/C/C++/VC/VB/Delphi/Java等 2. C语言是一个面向过程的语言, ...

  8. 《c语言从入门到精通》看书笔记——第16章 网络套接字编程(下)——套接字

    1.套接字概述 套接字是网络通信的基石,是网络通信的基本构件. 所谓套接字,实际上是一个指向传输提供者的句柄.在WinSock中,就是通过操作该句柄来实现网络通信和管理的.根据性质和作用不同,套接字可 ...

  9. 《c语言从入门到精通》看书笔记——第15章 存储管理

    1.内存的组织方式 程序被组织成以下4个逻辑段 (1)可执行代码 (2)静态数据.可执行代码和静态数据存储在固定的内存位置 (3)动态数据(堆).程序请求动态分配的内存来自内存池,也就是上面所列举的堆 ...

最新文章

  1. 程序员:我只想买件没有格子的衬衫,怎么就这么难?
  2. cmake CMakeLists.txt 命令 add_compile_options、add_definitions、target_compile_definitions、build_command
  3. 罗辑思维 - 当代的学习方法
  4. 【资源】MIT 更新最大自然灾害图像数据集,囊括 19 种灾害事件
  5. 通过计算TCO体现固态盘的真正价值
  6. python编程多行输入_python多行输入的方法有哪些
  7. 光荣的梦想(信息学奥赛一本通-T1328)
  8. go编译go-gtk报错
  9. windows2012 wsus6 更新慢
  10. laravel composer 安装指定版本以及基本的配置
  11. 【手指识别】基于matlab GUI指尖图像采集与检测【含Matlab源码 585期】
  12. Sketch实例教程:制作一个时钟
  13. 计算机的用户账户,计算机用户名是什么意思(如何修改和设置用户名)
  14. 计算机网络中的猫,猫(调制解调器)和路由器有什么区别和功能?
  15. get请求400错误 vue_VUE 配置proxy代理后,前台报错400 bad request
  16. SAS更新SID问题
  17. execl函数的用法
  18. mybatis-plus报错There is no getter for property named ‘null‘ in ‘xx‘和Could not set property ‘XXX‘ of ‘
  19. 醇酰基转移酶基因对猕猴桃酯生物合成的作用
  20. 数据通信基础 - 数据通信方式

热门文章

  1. handle search in myNote app
  2. SAP UI5 attachment control relative url binding
  3. SAP CRM how is db table CRMD_PRODUCT_I read
  4. 使用不同版本的UI5库文件本地测试UI5应用
  5. 使用Adobe Lifecycle ES将若干个word合并成一个PDF
  6. apache2怎么知道从哪个默认文件夹下去查找网页
  7. why my pricing procedure is not determined in QHD 504
  8. SAP CRM呼叫中心里confirm按钮的实现逻辑
  9. 启动tomcat提示The Network Adapter could not establish the connection
  10. 目前电子计算机已经发展到,目前电子计算机已经发展到什么计算机?