Work20230330

 Problem description

1.编写第一个C语言程序hello.c

 2.分步执行hello.c

ubuntu@ubuntu:program330$ gcc -E hello.c -o hello.i
ubuntu@ubuntu:program330$ gcc -S hello.i -o hello.s
ubuntu@ubuntu:program330$ gcc -c hello.s -o hello.o
ubuntu@ubuntu:program330$ gcc hello.o -o a.out
ubuntu@ubuntu:program330$ ls
a.out  hello.c  hello.i  hello.o  hello.s
ubuntu@ubuntu:program330$ ./a.out
在那遥远地方灯火依然昏黄却无数次照亮我的梦乡
 

3.把这两天的内容写成思维导图

 

 4.总结define宏定义

1.无参宏定义

        格式: #define 宏名 宏体    ---->宏体是在程序运行过程中对宏名做的替换

                                                  ---->宏定义的过程就是宏体替换宏名的过程

        eg: #define N 10

        #define STR hello ----->不能通过%s,实现打印hello的效果

        #define STR "hello" ----->能通过%s,实现打印hello的效果

        展开形式

        eg: 

        #define M 4

        #define N M+3

        #define NUM M*N+10/M     //4*4+3+10/4

        结果21

2.带参宏定义

        #define 宏名(参数1,参数2,···) 对参数执行的操作

        eg: #define ADD(a,b) a+b ----->带参宏的宏体,通常是对参数执行的某种操作                eg: printf("%d\n",ADD(10,20)); -----> 30

        在宏定义中使用#,将宏定义中的参数转换成字符串

        #define STR(n) #n

        在宏定义中使用##,实现字符串的拼接

3.注意事项

        1.宏定义的位置在头文件下方,主函数上方
        2.宏定义中宏名一般大写,带参宏的参数不需要大写3.宏定义预处理阶段,不会检查语法错误
        4.宏定义只是简单的替换 5.十进制87转十六进制,八进制和二进制,115的原码反码和补码

十进制 十六进制 八进制二进制
870x570b1270101 0111

115 的原码0111 0011 反码 0111 0011 补码0111 0011

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值