六、函数
截止目前为止,已经学习的数据类型、运算符、三种程序结构,已经可以完成一些C语言程序了。但是不足之处在于写简单程
序可以,但是写不了复杂的程序。
当程序简单的时候,一个人可以用一个main函数搞定功能。当程序变长的时候,超出了人大脑的承受范围,这时候容易逻辑
不清了。这时候需要把一个大程序分成许多小的模块来组织,于是乎出现了概念叫函数。
函数是C语言代码的基本组成部分,他是一个小的模块,整个程序由许多个功能独立的模块(函数)组成。这就是程序设计的
基本分化方法。
之前接触过的函数:
1、main函数:C语言中所谓的主函数,主函数就是一种特殊的函数。特别之处在于,一个C语言程序只能并且只能有一
个main函数。C语言规定,一个C语言程序从主函数开始执行,到主函数执行完这个程序结束。
2、printf:函数的作用是用来在标准输出中打印信息。这个函数不是程序员自己写的,是C语言标准库提供的一个库
函数。在C语言中写代码时可以引用库函数,但是必须要“#include <*.h>”引用包含这个库函数的头文件。
1、使用函数来写程序的关键部分:
(1)函数定义:函数定义是关键,是这个函数的实现。函数定义包含了函数体,函数体中的代码段决定了这个函数的功能。
(2)函数声明:函数声明实际上是叫函数原型声明。何为函数原型?函数的原型是指包含了三部分:函数名、返回值类型、函数参数列表。通俗的来说,函数的原型就是这个函数叫什么,接收几个什么类型的参数,返回一个什么类型的值。
函数声明的作用在于告诉使用函数的人,这个函数使用的时候应该传递什么样的参数,它会返回返回什么样类型的
返回值。这些东西都是写函数的人在函数定义中规定好的,如果使用函数的人不参照这个原型来使用,就会出错。结果会和预想的不同。
(3)函数调用:函数调用是使用函数名来调用函数完成功能。调用时必须参照函数原型给函数传参,然后从函数得到适当的返回值作为结果。
2、函数的参数:
(1)形参:形式参数的简称。在函数定义和函数声明中的参数列表中的参数,都是形参。
(2)实参:实际参数的简称。函数调用中实际调用的参数才是实参。
函数调用的过程,其实就是实参传递给形参的一个过程。这个传递过程实际是一次拷贝。实际参数传参的时候,实
参(本质是一个变量)本身没有进入到函数内,而是把自己的值复制了一份传给了函数中的形参,在函数中参与运算。这种传参方法,就叫做传值调用。
3、返回值:
当函数执行完之后,会给调用函数的地方返回一个值。这个值的类型就是函数声明中返回值类型,这个值就是函数体
最后一句 return *;返回的那个值。
4、函数名,变量名:
(1)起名字不能随意,要遵守规则。这个规则有两个层次:第一层就是合法,第二层是合理。合法就是符合C语言中变量命名的规则。合理就是变量名起的好,人一看就知道什么意思,一看就知道这个函数是干嘛的,而且优美、好记。
(2)在C语言中,所有的符号都是区分大小写的。也就是说ABC和ABc是不同的符号。
(3)C语言函数名变量名的命名习惯。没有固定结论,有多种使用很广泛的命名习惯。
介绍两种方法:
a、Linux的命名习惯 student_age(学生年龄变量命名) str_to_int(字符串转整形变量命名)
b、骆驼命名法 StudentAge StrToInt
作业:
(1)自学C语言中函数值和变量名的命名规则。
(2)自学命名习惯
(3)自学程序风格。空格、空行。缩进......
《高质量程序设计指南》 作者:林锐
《华为代码规范》