C语言(21)-----函数定义与调用实例

来源:互联网 发布:法国42编程学校申请 编辑:程序博客网 时间:2024/06/05 14:35

使用函数的目的是为了模块化编程,所谓的模块化编程就是分类处理,模块化管理。

一部小说由很多章节组成,如果不分章节,500页的书从头到尾看起来就十分费劲。

对于程序也一样,实现某个应用可能有很多代码,如果将这些代码都放在一个方法内,

可读性太差,维护困难,所以出现了函数,将不同的功能放在不同的函数中,再将各个

函数组合成一个应用程序,这样设计的程序可读性和维护性都很强。

1. 关于函数的定义

函数的定义由函数声明和函数体两部分组成。

函数声明又可以分为以下部分组成:

函数返回值类型,函数名,参数列表,函数体,函数操作符组成。

函数定义的标准格式如下:

函数返回值类型  函数名 (参数类型1 参数名1, 参数类型2 参数名2,...) {

     /*函数体*/

     变量定义;

     函数操作;

     return 语句;

}


函数返回值类型包括基本类型:int ,char,double,float等等,以及typedef定义类型。

函数名实际应用中一定要起一个有实际意义的名字,不然神都看不懂,其命名规则

与变量命名规则一致。

参数类型为基本类型和typedef定义类型。

参数名与变量命名规则一致。

变量定义顾名思义就是定义变量,并且初始化。

函数操作即为这个函数我们用来干啥,写业务处理程序。

return语句可以将函数操作处理结果或者返回函数处理状态到函数体外。

eg:

#include "stdio.h" int max(int x, int y) {// 比较两个整数大小,返回较大数int maxValue = 0;if (x>y) {maxValue = x;} else {maxValue = y;}return maxValue;}int main(void) {// main函数int i,j,m=0;scanf("%d%d",&i,&j);m = max(i,j);printf("i和j比较结果较大值为:%d",m);return 0;}

对于以上程序中定义了一个函数max,负责比较两个数的大小,同时返回较大数,

在主函数main中,调用max函数,同时传入从页面获取的两个整数,将max函数比较

的结果赋值给变量m,将变量m打印出来。

关于函数的调用有3种方式:

1. 单独语句

比如: main函数中调用max(i,j),对于返回值没有做任何处理,单词就是调用了一下max函数,就叫做单独语句。

2.子表达式

在上面实例中采用的就是子表达式的调用方式,也即是将max(i,j)函数返回值作为变量m的值,即m=max(i,j),

将函数返回值处理到变量中,或者将返回值作别的处理。

3. 函数实参

比如:

m =max (i,max(i,j))

将max(i,j)比较大小返回值结果作为max函数的一个参数,再此调用max函数,将比较结果赋值给m。


注意:如果要将函数值作为变量值 m = max(i,j),前提是max函数有返回值,即函数要有返回值类型,

否则编译器无法通过,编译器认为你将一个不存在的东西硬塞给我,我只能报错了。

eg:

将上面程序中的max函数修改为:

void max(int x, int y) {// 比较两个整数大小,返回较大数
    int maxValue = 0;
    
    if (x>y) {
        maxValue = x;
    } else {
        maxValue = y;
    }
    
    return maxValue;
}

也就是将max返回值类型int换成void,代表该函数没有返回值,程序再次运行报错。


0 0
原创粉丝点击