1.编程:
人类语言 --->编程语言(C语言)---汇编语言--->机器语言(01010)
编译过程:预处理 编译 汇编 链接
2.预处理
预处理:1.宏定义 2.文件包含 3.条件编译
(1)宏定义 --- 定义了符号常量
#define 标识符 字符串
#define 宏名 宏值
#define N 100
表示,定义了一个宏 (符号),而这个符号 代表的值 就是100
#define 宏名(参数) 宏值
说明:
1. 预处理阶段,只做文本原样替换
2. 宏 就是用 宏值 将 宏名 原样替换
3. 用途
当作常量来用
好处,可以做到 一改全改,方便操作
4. 宏名
符合标识符命名规则
宏名,一般都是大写 --- 主要是为了和普通变量名区分
5. 程序中 处于 ""中的 宏名 不会被替换
6. 宏名 不要和关键字重名
7. 宏替换过程中,存在宏的副作用 ---- 文本的原样替换
处理:
能加括号的尽量都加括号
8. 宏定义 只能放在一行
练习:
从键盘输入 圆的半径,求出圆的周长和面积
L = 2 * π * r
S = π * r * r
(2)文件包含
#include "文件名" //首先在当前路径下寻找要包含的文件,找不到再到系统默认路径下寻找
#include <文件名> //默认到系统指定路径下寻找头文件
作用:
将文件名代表的文件中的内容 ,替换到当前文件
条件编译: //也是文本替换 --- 符合条件的文本
//形式1
#ifdef 标识符
程序段1
#else
程序段2
#endif
//形式2
#ifdef 标识符
程序段1
#endif
#ifndef 标识符
程序段1
#else
程序段2
#endif
#if 表达式
程序段1
#else
程序段2
#endif
(3)多文件编程
main.c
|--add.c //自己的点c通常会包含自己的点h
|--add.h //一部分是 对外的函数声明 一部分时自己的点c需要用到的头文件等内容
|--sub.c
|--sub.h