从零开始学习C语言日记——DAY21

一、函数的声明和定义

函数声明∶

1.告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体是不是存在,无关紧要。

2.函数的声明一般出现在函数的使用之前。要满足先声明后使用。

3.函数的声明一般要放在头文件中的。

函数定义∶

函数的定义是指函数的具体实现,交待函数的功能实现。

从零开始学习C语言日记——DAY21_第1张图片

 

如果把函数放主程序后面会产生这样一个错误,warning,Add未定义;假设外部返回int。因为扫描是从上往下扫的。

先在前定义函数int Add(int x,int y);即可。但是尽量不要用,不是这么用的

从零开始学习C语言日记——DAY21_第2张图片

 

单独添加一个源文件写一个模块叫Add.c,单独添加一个头文件叫Add.h

源.C

从零开始学习C语言日记——DAY21_第3张图片

 

Add.c

从零开始学习C语言日记——DAY21_第4张图片

 

Add.h

从零开始学习C语言日记——DAY21_第5张图片

 

.h的内容放置函数的声明

#ifndef __ADD_H__

#define __ADD_H__

这样的话可以防止头文件被重复定义

函数递归
什么是递归?
程序调用自身的编程技巧称为递归( recursion )。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个氖原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的主要思考方式在于:把大事化小

简单来说一个函数自己调用自己就叫递归


递归的两个必要条件
1.存在限制条件,当满足这个限制条件的时候,递归便不再继续。

2.每次递归调用之后越来越接近这个限制条件。

从零开始学习C语言日记——DAY21_第6张图片

 

问题:输入此程序为什么走着走着就报错了?

 

报错stack overflow——栈溢出

因为任何一次函数调用都会在栈区里为他分配一块空间,装不下了自然会报错

从零开始学习C语言日记——DAY21_第7张图片

 

练习1∶
接受一个整型值(无符号),按照顺序打印它的每一位。例如︰输入∶1234,输出1234.

从零开始学习C语言日记——DAY21_第8张图片

 

流程图

从零开始学习C语言日记——DAY21_第9张图片

 

你可能感兴趣的:(笔记,学习,c语言,c++,开发语言,监督学习)