C语言学习day4

本文详细解析了GCC编译过程,包括预处理、编译、汇编和链接阶段,以及语句与表达式的概念。重点探讨了隐式和显式数据类型转换在不同操作中的表现和规则。
摘要由CSDN通过智能技术生成

一.gcc编译过程
    1.预处理阶段:
        处理与#相关的预处理阶段
        gcc -E hello.c -o hello.i(只进行预处理阶段)
    2.编译过程
        将C语言编译为汇编语言
        gcc -S hello.i -o hello.s
    3.汇编阶段
        将汇编语言转为二进制机器语言
        gcc -c hello.s -o hello.o(目标程序)
    4.链接阶段
        将机器语言转为可执行程序
        gcc hello.o -o (文件名)
二.语句与表达式
    1.语句:
        以 ;为结尾的代码
    2.表达式:
        以一个或多个运算符连接的常量,变量或其他表达式所形成的式子
        常量:  有空间              有值 有类型
        变量:  有空间(不能访问)  有值 有类型
        表达式:有空间(临时性空间)有值 有类型
三.隐式转换
    1.混合运算过程中的数据类型转换
        ①浮点型>整形以及整形兼容性数据类型
        ②大空间的数据类型 精度高于 小空间数据类型
        ③无符号数据类型 精度高于 有符号数据类型
        三种条件同时存在时,优先级①>②>③
    2.赋值运算过程中数据类型转换
        由右值的数据类型向左值转换
    3.数据类型隐式转换方式
        整形及整形兼容型数据
            等空间 转 等空间
                数据不变
            小空间 转 大空间
                有符号数据类型:符号位扩展
                无符号数据类型:高位补零
            大空间 转 小空间
                截取数据低位
        浮点型数据  转  整形及整形兼容型数据
            小数部分丢失
        整形及整形兼容型数据  转  浮点型数据
            小数部分扩展
        单精度  转  双精度
            精度扩展
        双精度  转  单精度
            精度损失
四.显式转换
    1.强制转换
        (数据类型)变量,常量,表达式
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值