【C基础篇】之C语言概述

【C基础篇】之C语言概述

1. 计算机的结构构成

  • 输入:鼠标、键盘…

  • 输出:声卡、显卡…

  • 中央处理器(CPU):

    控制器:帮助CPU获取指令交给运算器;

    运算器:负责数据运算;

    寄存器:储存cpu用来数据运算;

    预取器:从内存中获取程序中的指令;

    MMU:虚拟内存映射。

  • 内存储器:

    Rom(read only memory)

    PAM(随机:random access memory)

    优点:内存靠”电信号“来储存数据,所以不可持久化

    缺点:读写快

  • 硬盘

    优点:内存靠“磁信号”来储存数据,具有持久化
    缺点:读写慢

2. 第一个程序"Hello world"

#include <stdio.h>

// C语言中以#开头的行 称为预处理行 是在预处理阶段处理的
// #include 是包含头文件的关键字
// stdio.h 标准输入输出的头文件 我们的使用的printf就在这个头文件里

//int 函数的返回值类型 先不用管
//main 主函数 是程序的入口 每个程序必须有且仅有一个
//() 里面是main函数的参数 先不用管 ()里面的内容可以不写 但是 ()必须写
//可以写成  int main()
//	()圆括号  []方括号  {}花括号
int main(int argc, const char *argv[])
{
	//{}里面包住的部分叫做函数体,就是我们实际要执行的代码

	//printf 是系统给我们提供的输出的函数 
	//功能就是将 "" 内的内容打印到终端  \n 表示换行的意思 就是回车
	printf("hello world\n"); //C语言中每条指令结束 都需要加 分号
	return 0;//函数的返回值  先不用管
}

//单行注释

/*
	多行
	注释
*/

#if 0
	多行
	注释
#endif

3. gcc编译器

  • 预处理阶段

    • 参数:-S

    • 生成文件:xxx.s汇编文件

    • 格式:gcc -E xxx.c -o xxx.i

    • 使用工具:预处理器(包含在gcc编译集合工具中)

    • 完成工作:

      1.文件展开(将stdio.h文件内容和源码放在一起)

      2.宏名替换成宏值

      3.注释替换成空格

      4.展开条件编辑

  • 编译阶段

    • 参数:-S

    • 生成文件:xxx.s汇编文件

    • 工具:编译器(包含在gcc编译集合工具中)

    • 使用命令:gcc -S xxx.i -o xxx.s

    • 完成工作:

      【重点】逐步检查语法错误----整个gcc编译四步骤中最耗时间
      将C程序翻译成汇编指令,得到.s汇编文件

  • 汇编阶段

    • 参数:-c

    • 生成文件:xxx.o目标文件(二进制)

    • 工具:汇编器(包含在gcc编译集合工具中)

    • 使用命令:gcc -c xxx.s -o xxx.o

    • 完成工作:

      进行汇编指令翻译成对应的二进制指令

  • 链接:

    • 参数:无

    • 生成文件:xxx.exe可执行文件(二进制)

    • 工具:预处理器(包含在gcc编译集合工具中)

    • 使用命令:gcc xxx.o -o xxx.exe

    • 完成工作:

      库引入
      合并多目标项目
      合并启动例程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

编程远泊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值