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,代表该函数没有返回值,程序再次运行报错。
- C语言(21)-----函数定义与调用实例
- C语言-内部函数与外部函数+调用实例
- C语言 函数定义及调用
- c语言宏定义函数如何调用
- R语言中函数定义与调用
- GO 语言调用C函数(实例)
- C语言早期函数声明与定义
- Python定义与调用函数、默认参数操作实例说明
- C语言入门教程 (十) 函数的定义和调用
- C语言入门(十二)函数的定义和调用
- c语言与c++函数调用区别
- C语言中全局变量的定义与调用
- C语言中全局变量的定义与调用
- C语言宏定义函数与函数的区别
- Linux汇编GAS调用C语言函数实例
- C语言——实例034 函数调用
- C语言函数的递归和调用实例分析
- C语言:返回指针的函数,函数声明、定义和调用,嵌套调用
- cmd.exe启动参数详解
- 20161104
- java锁的种类及研究
- 闭包
- 使jquery.tmpl支持序号${index}
- C语言(21)-----函数定义与调用实例
- ISE中modelsim的连接
- find命令集锦
- [构建跨平台APP]PhoneGap环境配置方法介绍
- 单例设计模式
- 无法修正错误,因为您要求某些软件包保持现状,它们破坏了软件包间的依赖关系
- BIEE 12c linux下连接mysql数据源
- 实现简单的android UI界面
- 51nod-1274 最长递增路径