初步认识嵌入式:Linux的初步了解与C语言基础的初步学习

本文介绍了嵌入式系统的基本知识结构,包括C语言编程、Linux系统基础,以及C语言的基础学习。内容涵盖Linux的基础指令如ls、cd等,C语言的关键字、运算符和数据类型,还有对数组和控制语句的理解。通过学习,作者实践编译了一个五子棋程序,以此展示了嵌入式工程师所需的基本技能。
摘要由CSDN通过智能技术生成

:首先了解了嵌入式的基本知识结构:

基础: 编程 相关

C语言编程

C语言基础 Linux系统基础

C语言的高级编程 如何使用C语言

数据结构: 如果更好的编程程序

应用层: 侧重 应用软件 程序 应用工程师

IO 进程

网络编程 数据库

C++ Qt 图形图像界面

Python 工具使用 人工智能

底层(系统): 嵌入式系统的核心

ARM体系结构 与 接口编程 ====> 单片机 硬件电路基础 数字电路 底层工程师

系统移植 移植Linux到 目标开发板 系统工程师

驱动开发 给系统写一个 你自己的 设备的驱动程序 驱动工程师

:然后初步了解了Linux1 基础指令

ls: 查看当前工作路径中的内容

cd: 切换工作目录

cd 目录名 进入到对应目录

cd .. 返回上级目录

cd - 返回上一次的工作目录

cd ~ 返回家目录

Linux路径结构:

路径: 找到这个文件或目录(文件夹) 的位置信息

Windows: D:\WorkSpace\软件安装包

Linux: ~/ARM/adc 相对路径 : 从当前工作路径或家目录开始的一个路径

/home/xwq/ARM/adc 绝对路径 : 从根目录'/'开始的一个路径

根目录: Linux系统的最底层目录 有且只有一个

pwd: 打印当前工作路径

等等命令...

三C语言基础的学习

关键字 由编译器定义的 有特殊含义的词汇 不能用作他用

标志符 由编程者 自定义的 名字 变量名 函数名 ..名

只能由 数字 字母 下划线 组成 不能以数字开头 不能与关键字重名

运算符 由编译器定义的 特殊标点符号 表示数学运算或某些特殊动作

分隔符 为了程序的美观 易读 而引入的一些排版 操作 不影响程序本身

标点符号 参与程序的表示, 需要严格按照规定使用

有些 标点符号出现在表达式中 为运算符使用

每一条C代码的 结尾 需要使用; 作为结束符

以及2进制,8进制,10进制,16进制的转换

基本数据类型:

布尔类型: 值 真 假 数值的bool判断 非0 为真 0 假

精确类型:

整型 4字节宽度 : int (signed int) 表示 数 取值范围 - 2^31 ~ + 2^31-1

unsigned int 无符号整型 0- (2^32 -1)

计算机中有符号数的表示 使用最高位 表示符号位 0 正 1 负数

负数 采用 补码方式表示 方便进行无差别算数运算

补码 转换为 负数 : 补码 取反 + 1

短整型 short (signed short) 2字节存储一个 整数 - 2^15 ~ + 2^15-1

unsigned short 无符号整型 0- (2^16 -1) 65535

字符型 char signed char 1字节 存储一个整数 -128 ~ + 127 (2^8 -1)

unsigned char 0-255

也可以 存储一个字符的 ASCII

long int 长整型:

浮点型: 小数 2.5 3.7 非精确表示法

常量: 在设计程序时就 确定的 不会在程序运行过程中 改变的 量

数值常量:

PI 3.14f G 9.8

100 5 2.8

100 5 2.8

指数常量:

3.5789e-8 表示 3.5789 * 10 ^-8

0.000000035789

字符常量:char 'A' 'z' '0' 其本质是 对应字符的 编码值 ASCII

字符串常量: "A" "abc" "012jklk"

由多个字符,连续存放在内存中, 且有一个结束符'\0' 即值 =0

字符与字符串常量 在内存中存储:

标志常量: 宏定义 类似于字符串替换

#define PI 3.14

#define G 9.8

变量: 本质是 一个容器 可以存放数的容器

在C语言中定义一个变量: 本质申请存储空间

格式:

存储类型 数据类型 变量名 ;

数据的存储类型:

auto: 自动 可以省略 由编译器决定存储位置

static: 静态区 修饰变量时 表示 指定该变量空间在静态区

register: 寄存器存储类型 表示该变量 应放到CPU的寄存器中

不是强制的 只是建议

extern : 引用存储类型 多文件编程中

表示 不需要给该变量 分配存储空间 表示在其他文件中 已经被定义了

该文件 只是引用 该变量

const: 常量类型 指定变量的存储空间 位于常量区 仅在修饰全局变量时

若 const 修饰局部变量 其存储空间位置不会改变 仅表示 该变量只读

四 C语言的控制语句的学习

编程的3种结构:

1.顺序结构: 依次向后执行

2.分支结构: 依据某种条件选择程序的 执行路线

3.循环结构: 重复执行某些动作

分支结构:

有对条件进行判断 选择分支

二分支结构:if else 结构

多分支结构: switch case 结构

for循环:

循环的3部分, 1) 循环的准备动作 初始化 通常是执行一次

2) 循环体 语句块 多次循环执行

3) 向退出条件 靠近的语句

运行逻辑:

(1) 执行一次 表达式1, 完成初始化

(2) 判断表达式2 真 还是 假

若真

(3)执行 循环体

(4)执行 表达式3

(5) 回到 动作(2) 继续执行

若假 退出 for循环结构

循环的嵌套:

在一个循环中 包含了 其他的循环

运行逻辑: 外层循环 执行一次, 内层循环执行完一次

循环的控制语句:

循环的退出控制 break; 执行该语句 则该循环退出

 C语言数组的学习

数组: 是一种构造的数据类型

将 多个 相同类型的 数据 在内存中 有序 连续存放 这种结构称作 数组结构

元素: 数组中的 单个数据 称作数组的 元素

数组 的定义:

存储类型 数据类型 数组名 [ 元素个数 ];

存储类型: 决定数组在内存中的区域

数据类型: 决定数组元素的类型

数组名: 一个标志符 自定义

[] : 是标点符号 不能缺少 表示这是一个数组

元素个数: 指定数组元素的个数 目的是指定占用的内存

总结:在结束了上面的学习后,我尝试编译了一个简单的程序:五子棋,这个程序综合了我所学的很多知识,是一个综合性较强的程序。通过这一段时间的学习,让我初步了解了成为嵌入式工程师所需的基本要求,并开启了我的求学之路。

路漫漫其修远兮,吾将上下而求索。

                                          

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值