需要注意的几点:

1. 储存类型符指的是函数的作用范围,它有两种形式:static和extern。static说明的函数只能作用于其所在的源文件,它又称为是内部函数;extern说明函数可以被其他源文件中的函数调用,它又被称为是外部函数。需要注意的是:默认的函数存储类型外部函数。

2. 返回值类型符指的是函数体语句执行完成后,函数返回值的类型,如int,float,char等,若函数无返回值,则用空类型void来定义函数的返回值。默认情况为int型(有些编译器不支持默认情况)

3. 函数名由任何合法的标识符构成。为了增强程序的可读性,建议将函数名的命名与函数内容有一定关系,以养成良好的编程风格。

4. 形参说明表是一系列用逗号分开的形参变量数据类型声明。如int x,int y,int z表示形参变量有3个:x,y,z。它们的类型都是int型的。形参说明表可以省略,省略时表示函数无参数。

5. 函数语句体是放在一对花括号{}中,主要由两部分组成

①局部数据类型声明。用来说明函数中局部变量的数据类型;

②功能实现部分。可由顺序语句、分支语句、循环语句、函数调用语句和函数返回语句等语句构成,是函数的主体部分。

6. 函数返回语句的形式有以下两种。

① 数有返回值类型,则函数返回语句的形式为:

return(表达式的值);

② 函数的返回值为void时(即函数无返回值的时候),函数的返回语句为:

return;

这种情况下也可以不用写return语句。

学完自定义函数之后,我们在来看看函数的声明和调用。

这里要注意一下,如果自定义函数在main函数之前是不需要声明的,但是如果自定义函数在main函数之后的话,在调用该函数之前是要先进行声明的。

声明的语法就是将前面所说的自定义函数的形式后面加上一个英文状态下的分号。

我们在来看看函数的调用。

函数在定义完成后若不进行调用是发挥不了任何作用的。

函数的调用分为两种情况:

1) 函数无返回值的函数调用语句: 函数名([实参列表]);

2) 函数有返回值的函数调用语句: 变量名=函数名([实参列表]);

在这里需要注意:变量名的类型必须要与函数的返回值的类型相同。

不论是那种调用情况,函数在被调用时都会去执行函数中的语句内容,函数执行完毕后,回到函数的调用处,继续执行程序中函数调用后面的语句。

例如:我们通过编写自定义函数来求任意两个整数的绝对值之和。

分析:两个整数的绝对值之和仍然是整型数,函数在调用时需要一个整型变量来接收函数的返回值。

#include

int abs_sum(int m, int n)//自定义函数

{

int sum;

if (m < 0)

{

m = -m;

}

if (n < 0)

{

n = -n;

}

sum = m + n;

return sum;

}

int main()

{

int x, y,z;

printf("请输入要计算的两个数:\n");

scanf_s("%d%d", &x, &y);

z = abs_sum(x, y);//函数的调用

printf("|%d|+|%d|=%d\n", x, y, z);

}

好了今天的讲述就到这里了。有什么问题大家可以私聊我啊!

abs int 宏定义_C语言之函数与宏定义。相关推荐

  1. mysql宏参数_C语言带参数的宏定义

    C语言允许宏带有参数.在宏定义中的参数称为"形式参数",在宏调用中的参数称为"实际参数",这点和函数有些类似. 对带参数的宏,在展开过程中不仅要进行字符串替换, ...

  2. python展开 c函数中的宏预处理_C 语言常用的预处理-宏函数

    #include // 宏函数 三目运算符 #define MAX(A, B) A>B?A:B //宏函数 多行 添加\直接回车 #define LOOP(FROM, TO, CONTENT)\ ...

  3. .net 宏定义_C语言基础知识:几种特殊的函数宏封装方式

    函数宏介绍 函数宏,即包含多条语句的宏定义,其通常为某一被频繁调用的功能的语句封装,且不想通过函数方式封装来降低额外的弹栈压栈开销. 函数宏本质上为宏,可以直接进行定义,例如: #define INT ...

  4. 条件编译宏定义_C语言学习- 预处理指令2 - 条件编译

    上一篇已经介绍了预处理指令中的宏定义,这篇就介绍一下条件编译! 条件编译的概念 在很多情况下,我们希望程序的其中一部分代码只有在满足一定条件时才进行编译,否则不参与编译(只有参与编译的代码最终才能被执 ...

  5. c语言解除宏定义_C语言宏定义 define,及一些陷阱!

    https://m.toutiaocdn.com/group/6584292311289561607/?iid=39362926900&app=news_article&timesta ...

  6. c语言在函数内部宏定义,简单讲解C++的内部和外部函数以及宏的定义

    C++内部函数和外部函数 函数本质上是全局的,因为一个函数要被另外的函数调用,但是,也可以指定函数只能被本文件调用,而不能被其他文件调用.根据函数能否被其他源文件调用,将函数区分为内部函数和外部函数. ...

  7. arg是什么函数_C 语言编程 — 函数

    函数 函数的本质就是针对变量的操作过程,同时可能也会改变当前程序的状态.它接受多个输入值,计算并返回一个输出值. 函数大体上分为 3 类: 主函数:每个 C 程序都至少有一个 main(). 内置函数 ...

  8. c语言strchr函数内容,c strchr函数_c语言strchr函数_strchr函数用法

    各位看官们,大家好,上一回中咱们说的是字符串比较的例子,这一回咱们说的例子是:字符串查找.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,在C语言的标准库中为我们提供了字符串查找函数,我们 ...

  9. perm函数c语言_C语言setpriority函数

    C 语言 setpriority() 函数:设置程序进程执行优先权 相关函数: getpriority, nice 头文件: #include #include 定义函数: int setpriori ...

最新文章

  1. thinkphp mysql权限管理_TP thinkphp 权限管理 权限认证 功能
  2. 微信二次修改微信号_如何二次修改微信号?简单易懂教程
  3. POJ-1067取石子游戏,威佐夫博弈范例题/NYOJ-161,主要在于这个黄金公式~~
  4. lua进入压缩包_使用lua语言制作贪吃蛇游戏(love2d)(一)开发环境的搭建
  5. 信息学奥赛一本通 1107:校门外的树 | 1931:【05NOIP普及组】校门外的树 | OpenJudge NOI 1.6 06 | 洛谷 P1047 [NOIP2005 普及组] 校门外的树
  6. python导入自己写的模块_大话python模块导入
  7. PaddlePaddle中内置数据集分析
  8. 树莓派android p,Android P最新测试版带来更多的UI和图标方面的改进
  9. 网页设计Web尺寸规范
  10. DSP技术是利用计算机或,DSP技术是什么?
  11. js获取多叉树的广度和深度
  12. 使用Git初始化已有的项目
  13. 外置MOS LED驱动IC7195
  14. 高精度地图2019-2020年或可落地
  15. fir.im Weekly - 揭秘直播移动 APP 技术实现
  16. SSH服务详解(七)– SSH 连接 Github
  17. C语言等待一秒,延时函数sleep()
  18. IOS开发使用@IBInspectable给控件添加额外属性
  19. 如何应对 DDoS 勒索攻击?
  20. JavaScript 原型和原型链

热门文章

  1. 6个月清洗近千亿条微信支付交易记录,他们要搞什么大事情?
  2. 云服务器安装安卓模拟器显示版本过低,安卓模拟器提示系统opengl版本过低无法安装解决办法...
  3. 金融行业红蓝对抗演习解决方案
  4. 线性代数基础概念与重要定义汇总
  5. 工业互联网设备的网络安全管理与防护研究
  6. 关于将ISO 8601格式的时间字符串转化为yyyy-MM-dd hh:mm:ss格式字符串用于前后台传输数据方法...
  7. 英语期刊写作-通往国际学术舞台的阶梯期末
  8. 通往Android的神奇之旅
  9. 几分钟上线一个网站 真是神器
  10. 二元函数泰勒公式例题_二元函数泰勒公式.pdf