c语言程序环境与预处理

1.程序的翻译环境与执行环境

        翻译环境:在这个环境中源代码被转换为可执行的机械指令

        执行环境:用于实际执行代码

2. 翻译环境

 (1)预编译/预处理:

把<stdio.h>等头文件解开,包含到代码中;define定义的替换,并且删除定义的符号;删除注释。

(2)编译:

把c语言代码转化成汇编语言;

(3)汇编:

把汇编代码转化成二进制指令(机械指令);

3.#define 定义宏

(1)

#define square(x) x*x
//  宏名 宏的参数  宏的内容
#define square(x) ((x)*(x))     //宏最好加括号,因为是完全替换
#define square(x,y) ((x)*(y))

int main()
{
	int r = square(5);    //r = 25
	int r = square(5 + 1);  //r = 5 + 1 * 5 + 1 = 11
	//宏是完全替换的,没有括号
	int r = square((5 + 1));  // r = 36
	
	return 0;
}
#define square(x) ((x)*(x))    
#define m 5
int main()
{
	int r = square(m+1);    
	printf("%d\n", r);
	return 0;
}
//#define 先替换数值m,再替换宏

#undef m  //取消宏定义

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

对玛导至昏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值