5.C语言之函数


5.1.函数概述
(1)当程序简单的时候,可以用一个main函数完成所有功能。当程序变得超长、功能变得复杂的时候,把所有功能写在main函数里面已经超出了人脑的承受范围。则我们需要把一个大程序分成许多小的模块来组织,于是乎出现了概念叫做函数。
(2)函数是C语言代码的基本组成部分,它是一个小模块,整个程序由很多功能独立的模块(函数)组成,这就是程序设计的基本分化方法。
(3)main:一个C语言程序只能有且必须有一个main函数。C语言规定,一个C语言程序从main函数开始执行,到main函数执行完结束。
(4)printf:用来在标准输出中打印信息。该函数是C语言标准库提供的一个库函数。在C语言中写代码时可以引用库函数,但是必须使用#include包含该库函数所在的头文件。


5.2.函数定义、声明、调用
(1)函数定义是指该函数的实现。函数定义中包含了函数体,函数体中的代码段决定了该函数的具体功能。
(2)函数声明实际上是函数原型声明,函数声明的作用是告诉使用该函数的的人,使用该函数时的传参明细和该函数的返回值类型。
(3)函数调用就是使用函数名来调用函数完成功能,调用时必须参照原型给函数传参,然后从函数得到适当的返回值作为结果。


5.3.函数参数和返回值
(1)形参是形式参数的简称,在函数定义和函数声明中的参数列表中的参数,都是形参;实参是实际参数的简称,函数调用中,实际传递的参数才是实参。
(2)函数调用的过程,其实就是实参传递给形参的一个过程。这个传递实际是一次拷贝,实际传参的时候,实参本身并没有进入到函数内,而是把自己的值复制了一份传给了函数中的形参,在函数中参与运算。此传参方法叫做传值调用。
(3)当函数执行完之后,会给调用该函数的地方返回一个值。该值的类型就是函数声明中的返回值类型,该值就是函数体中最后一句return xxx;中返回的那个值。


5.4.函数名和变量名
(1)起名字时候不能随意,要遵守规则。第一就是合法,第二是合理。合法就是符号C语言中变量名的命名规则。合理就是变量名起的好,人一看就知道什么意思,一看就知道这个函数是干嘛的,而且优美、好记。
(2)C语言中,所有的符号都是区分大小写的。也就是说abc和Abc和aBc都是不同的符号。
(3)C语言函数名变量名的命名习惯。没有固定的结论,有多种使用都很广泛的命名方式。譬如linux的命名习惯student_age str_to_int;骆驼命名法studentAge StrToInt。


5.func
/*
 * 公司:XXXX
 * 作者:Rston
 * 博客:http://blog.csdn.net/rston
 * GitHub:https://github.com/rston
 * 项目:C语言之函数
 * 功能:简易计算器。
 */
#include <stdio.h>

// 函数声明
int add(int a, int b);
int sub(int a, int b);
int multiply(int a, int b);
int divide(int a, int b);

int main(int argc, char **argv)
{
    int a = 12, b = 10;

    // 函数调用
    printf("a = %d. b = %d. add(a, b) = %d.\n", a, b, add(a, b));
    printf("a = %d. b = %d. sub(a, b) = %d.\n", a, b, sub(a, b));
    printf("a = %d. b = %d. multiply(a, b) = %d.\n", a, b, multiply(a, b));
    printf("a = %d. b = %d. divide(a, b) = %d.\n", a, b, divide(a, b));

    return 0;
}

// 函数定义,实现加法
int add(int a, int b)
{
    return (a + b);
}

// 函数定义,实现减法
int sub(int a, int b)
{
    return (a - b);
}

// 函数定义,实现乘法
int multiply(int a, int b)
{
    return (a * b);
}

// 函数定义,实现除法
int divide(int a, int b)
{
    return (a / b);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值