单片机支持c语言编程(单片机C语言)
单片机支持c语言编程(单片机C语言)void Function(unsigned char x y) 子函数:将完成某一种功能的程序代码单独抽取出来形成一个模块,在其它函数中可随时调用此模块,以达到代码的复用和优化程序结构的目的传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include "XXX.h"文件即可。使用模块化编程可极大地提高代码的可阅读性、可维护性、可移植性等模块化
以下是个人总结的,如有误请指出。
- 常量和变量的区别在于
前者的数是固定的,后者的数是随机的。
- 形参和实参的区别在于
前者只是规定了参数是什么类型的一个形式的参数 ,后者是一个实际的参数。
- 函数模块化和调用
函数模块化无非就是把实现功能的语句放进C文件,再把定义函数的语句放进H文件(头文件)然后再在主函数main里面直接调用头文件里定义的语句。
传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路
模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include "XXX.h"文件即可。使用模块化编程可极大地提高代码的可阅读性、可维护性、可移植性等
模块化
- 子函数和数组
子函数:将完成某一种功能的程序代码单独抽取出来形成一个模块,在其它函数中可随时调用此模块,以达到代码的复用和优化程序结构的目的
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预编译
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匹配,组成“括号” |
- C语言语句
选择结构
就是实现选择功能的。
循环结构
实现循环功能的。
- 函数返回值以及如何接返回值
一个加工厂 给材料返回东西,就叫有参数有返回值。
一个加工厂 不给材料返回东西 ,就叫无参数有返回值。
一个加工厂 给材料不返回东西,就叫有参数无返回值。
一个加工厂 不给材料不返回东西,就叫无参数无返回值。
如何接住返回值呢?
定义一个变量,然后把函数有返回值的函数调用再赋值给变量。