C语言学习第三天

前言

数据类型和编译过程

一、分步编译:

		i. 预处理:  头文件展开		宏替换		删除注释	 不会进行语法检测
			
			gcc -E hello.c > hello.i 
			gcc -E hello.c -o hello.i  
			
		ii. 编译: 生成汇编文件: 
				1. 语法分析: 
				2. 词法分析:
				3. 语义分析 
				4. 统计符号 
				
			gcc -S hello.i -o hello.s 
			
		iii. 汇编:转换为二进制文件 
				1. 统计符号
				2. 制作符号表 
				
			gcc -c hello.s -o hello.o 
			
		vi. 链接: 生成可执行的二进制文件
				1. 合并符号表 
				
			gcc hello.o -o hello 

二、数据类型

1.变量

定义:程序运行过程中发生变化的量
语法格式:存储类型	数据类型    标识符
					数据类型 决定变量占据内存的大小
					标识符 内存空间的名称
					demo:
						变量声明:int 变量名;//没有分配内存
						声明提升:系统赋予一个随机值
						int num;未分配内存
						int num=10;分配空间 

2.常量

定义:程序运行过程中不变的量;
分类:整型常量  字符串常量  字符常量 标识常量(宏定义)

3.宏定义

符号定义常量
#define 标识符 常量
#define MONTH  12    //没有分号 
特点:
	1.结尾没有“;”号
	2.一般全大写
	3.预处理阶段进行替换
	4.替换掉魔鬼数字
	5.宏是原样替换,计算过程中不增加()
	    例如:
				#define M 10 
				#define N M + 5
				
				
				int main()
				{
					printf("2 * N = %d", 2 * N) ;	// 30 
										2 * M + 5
										2 * 10 + 5 = 25
					
					printf("N * N = %d", N * N );   // 225
										M + 5 * M + 5 = 65
						
					return 0;
				}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值