A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丁铭检 中级黑马   /  2015-7-9 20:47  /  2028 人查看  /  23 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

一、概念
   一个C程序可由一个主函数和若干个其他函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。
   注意:
   1.C程序是从main函数开始执行的
   2.所有函数都是平行关系,即在定义函数时是分别进行的,是相互独立的。一个函数不从属另一个函数,即函数不能嵌套定义。函数之间是可以互相调用,但是不能调用main函数。main函数是由系统调用的。
   3 .从用户的使用角度看,函数有两种。
     3.1 标准函数,即库函数,它是由系统提供的,用户不必自己定义而直接使用他们。
     3.2 用户自定义函数
   4.从函数的形式看,函数分两类
    4.1  无参函数
    4.2  有参函数
二、函数定义的一般形式
  1.无参函数定义的一般形式
       类型标识符  函数名(){
            声明部分
           语句部分
       }
  2.有参函数定义的一般形式
       类型标识符  函数名(形式参数列表){
           声明部分
           语句部分
        }
3.空函数
        类型说明符   函数名(){
         }
例如:
   void dummy(){
       }
三、函数参数和函数的值
    1. 形式参数和实际参数
     在调用函数时,大多数情况下,主调函数和被调函数之间有数据传递关系。这就是有参函数。在定义函数时函数名后面括号中变量名称为“形式参数”(简称“形参”),在主调函数中调用一个函数时,函数名后面括号中的参数(可以是一个表达式)称为“实际参数”(简称“实参”)。
     注意:
      1.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放。
    2. 实参可以是常量、变量或表达式
    3.在被定义的函数中,必须指定形参的类型
    4.实参与形参的类型应该相同。如果类型不相同则根据不同类型数值的赋值规定进行转换。  字符型和整型可以互相通用,参照ACII表进行转换。
   5.实参向形参的数据传递是“值传递”,单向传递,只由实参传给形参,而不能有形参传给实参。在内存中,实参单元与形参单元是不同的单元。
    在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元扔保留并维持原值。因此,在执行一个被调用函数时,形参的值如果发生改变,并不会改变主调函数的实参的值。
   2. 函数返回值
      1.函数的返回值时通过函数中的return语句获得的。return语句将被调函数中的一个确定值带回主调函数中去。
      2.函数值的类型。既然函数有返回值,这个值当然应属于某一个确定的类型,应当在定义函数时指定函数值的类型。
      3.在定义函数时指定的函数类型一般应该和return语句中的表达式类型一致。如果函数值类型和return语句中表达式的值类型不一致,则以函数类型为准。即函数类型决定返回值的类型。
      4.对于不带返回值的函数,应当用“void”定义函数为“无类型”或成“空类型”。
四、函数调用
    1 .函数调用一般形式
      函数名(实参列表)
     如果是调用无参函数,则“实参列表”可以没有,但括号不能省略。如果实参列表包含对个实参,则各参数之间用逗号隔开。实参与形参的个数应该相等,类型应匹配。实参与形参按顺序对应,一一传递数据。
  2.函数调用的方式
   1. 函数语句
    把函数调用作为一个语句。
   2.函数表达式
    函数出现在一个表达式中,这种表达式称为函数表达式。
   3. 函数参数
    函数调用作为一个函数的实参。
3.对被调用函数的声明和寒素原型
   函数原型的一般形式:
   函数类型  函数名(参数列表);
五、函数嵌套调用
    C语言不能嵌套定义函数,当可以嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。
六、函数的递归调用。
    在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。
    注意:
      程序中不应该出现无终止的递归调用,而只应该出现有限次数的,有终止的递归调用,这可以用if语句来控制,只有在某一个条件成立时才继续执行递归调用,否则就不在继续。

C语言函数大全(语法着色版).chm

178.71 KB, 下载次数: 152

C语言函数大全

23 个回复

正序浏览
路过  收藏
回复 使用道具 举报

很可以、、、、、、
回复 使用道具 举报
学习学习!
回复 使用道具 举报
顶一个!!!
回复 使用道具 举报
受教啦!
回复 使用道具 举报
学习学习!
回复 使用道具 举报
zpy_0806 发表于 2015-7-10 14:15
很好的笔记,赞一个收下了

谢谢。。。。
回复 使用道具 举报
很好的笔记,赞一个收下了
回复 使用道具 举报
丁铭检 发表于 2015-7-10 12:31
可以不同,不会报错。但会出警告。。因为类型不同的话很容易数据误差就很大,影响数据的理想值。。。 ...

谢谢夸奖,视屏我也才刚看完这里。。。
回复 使用道具 举报
llo 发表于 2015-7-10 12:22
return返回的类型必须和定义的函数的类型相同吧???不然会报错的吧

可以不同,不会报错。但会出警告。。因为类型不同的话很容易数据误差就很大,影响数据的理想值。。。

点评

llo
受教了,,谢了*^_^*  发表于 2015-7-10 12:33
回复 使用道具 举报
llo 来自手机 中级黑马 2015-7-10 12:22:59
13#
return返回的类型必须和定义的函数的类型相同吧???不然会报错的吧
回复 使用道具 举报
neobug 发表于 2015-7-10 09:41
非常感谢 总结的很详细

谢谢夸奖,虽然知道你没从头到尾的看过一遍。。。:loveliness:
回复 使用道具 举报
非常感谢 总结的很详细
回复 使用道具 举报
笔记写的挺详细的啊
回复 使用道具 举报
学习学习!加油!
回复 使用道具 举报
25分都还这么拼       不过还是谢谢分享   
回复 使用道具 举报
4B青年 发表于 2015-7-9 22:17
然并卵!不过还是点个赞

都是一些基础的东西,无奈啊。貌似入学考试要有帖子啊。。。
回复 使用道具 举报
然并卵!不过还是点个赞
回复 使用道具 举报
大神,学习了,很好的东西。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马