以下是个人总结的,如有误请指出。

前者的数是固定的,后者的数是随机的。

前者只是规定了参数是什么类型的一个形式的参数 ,后者是一个实际的参数。

函数模块化无非就是把实现功能的语句放进C文件,再把定义函数的语句放进H文件(头文件)然后再在主函数main里面直接调用头文件里定义的语句。

传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路

模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include "XXX.h"文件即可。使用模块化编程可极大地提高代码的可阅读性、可维护性、可移植性等

51单片机c语言(单片机C语言)(1)

模块化

子函数:将完成某一种功能的程序代码单独抽取出来形成一个模块,在其它函数中可随时调用此模块,以达到代码的复用和优化程序结构的目的

void Function(unsigned char x, y)

{

}

返回值 函数名(形参)

{

函数体

}

数组:把相同类型的一系列数据统一编制到某一个组别中,可以通过数组名 索引号简单快捷的操作大量数据

int x[3]; //定义一组变量(3个)

int x[]={1,2,3}; //定义一组变量并初始化

x[0] //引用数组的第0个变量

x[1] //引用数组的第1个变量

x[2] //引用数组的第2个变量

引用x[3]时,数组越界,读出的数值不确定,应避免这种操作

C语言的预编译以#开头,作用是在真正的编译开始之前,对代码做一些处理(预编译)

预编译

意义

#include <REGX52.H>

把REGX52.H文件的内容搬到此处

#define PI 3.14

定义PI,将PI替换为3.14

#define ABC

定义ABC

#ifndef __XX_H__

如果没有定义__XX_H__

#endif

与#ifndef,#if匹配,组成“括号”

选择结构

就是实现选择功能的。

循环结构

实现循环功能的。

一个加工厂 给材料返回东西,就叫有参数有返回值。

一个加工厂 不给材料返回东西 ,就叫无参数有返回值。

一个加工厂 给材料不返回东西,就叫有参数无返回值。

一个加工厂 不给材料不返回东西,就叫无参数无返回值。

如何接住返回值呢?

定义一个变量,然后把函数有返回值的函数调用再赋值给变量。

,