零基础学嵌入式 Day2

Day2

一.C语言开发环境搭建

编译器的选择:这里选用dev c++ 和keil-ARM

优点:简单易用、免费开源、中文支持、功能完整

如何正确显示中文

二.集成开发环境介绍

  1. 什么是集成开发环境(IDE)?

集成开发环境,英文叫 Integrated Development Environment,简称 IDE。听起来很高大上,其实说白了就是把程序员需要的各种工具整合在一起的软件。

这就像一个多功能工具箱,里面有螺丝刀、扳手、锤子、钳子等各种工具。如果没有这个工具箱,我们修理东西时就要四处找工具,非常麻烦。IDE 就是程序员的工具箱,把编辑器、编译器、调试器等工具都集成在一个软件里,让我们能够在一个界面中完成编程的所有工作。

在没有 IDE 的时代,程序员需要用一个软件写代码,用另一个软件编译代码,再用第三个软件调试程序。这就像做饭时需要在不同的房间找锅、找铲子、找调料一样麻烦。IDE 的出现让编程变得简单多了,所有工具都在同一个界面中,随时可以使用。

  1. Dev C++ 界面详细介绍
    当我们第一次打开 Dev C++ 时,看到的界面可能会让一些同学感到困惑。别担心,我们来详细了解一下这个界面的各个部分,就像熟悉一个新教室的布局一样。

菜单栏:位于窗口的最上方,包含了 “文件”、“编辑”、“搜索”、“查看”、“项目”、“运行”、“调试”、“工具”、“窗口”、“帮助” 等菜单。这就像教室里的各种设施标识,告诉我们每个功能在哪里。

  • “文件” 菜单:用于新建、打开、保存文件,就像文件柜一样管理我们的程序文件。
  • “编辑” 菜单:提供复制、粘贴、查找、替换等编辑功能,就像 Word 里的编辑功能。
  • “运行” 菜单:包含编译和运行程序的命令,这是我们最常用的功能之一。

工具栏:位于菜单栏下方,是一排图标按钮。这些按钮是最常用功能的快捷方式,就像遥控器上的快捷键,让我们能够快速执行常用操作。比如新建文件的图标看起来像一张白纸,保存文件的图标是一个软盘,编译运行的图标是一个绿色的三角形。

编辑区:这是窗口中中央最大的区域,我们的代码就是在这里编写的。这就像作文本,我们在这里写我们的 C 语言程序。编辑区有很多贴心的功能:

  • 行号显示:每一行代码前面都有行号,这样当程序出错时,我们能快速找到出错的位置。
  • 语法高亮:不同类型的代码会显示成不同的颜色。比如关键字是蓝色的,字符串是红色的,注释是绿色的。这就像用不同颜色的笔做笔记一样,让代码更容易阅读。
  • 自动缩进:当我们写代码时,编辑器会自动调整缩进,让代码看起来更整齐。

项目管理器:通常在左侧,显示当前项目的文件结构。对于简单的程序,我们可能只有一个文件,但当程序变得复杂时,可能会有很多文件,项目管理器帮助我们组织和管理这些文件。

关于正确显示中文

1

image-20250619195711070

三.第一个c程序

1程序员的传统:打印Hello world

hello world打印成功标志着我们的开发环境已基本搭建成功

/*Hello World*/
#include <stdio.h>//printf的定义就在这个头文件中

int main() //int 是表示返回值的数据类型为整型 main是c语言程序起始的地方
{
printf("hello world\n");//main里使用了格式化打印函数printf \n指的是换行
	//  ;代表着一行代码结束,少分号会报错
    return 0;//返回值
}//花括号内指的是我们的函数体

四.数据类型

1.基本数据类型
数据类型类别具体类型功能与特点描述数值范围 / 精度说明
有符号整型int最常用整型,类似 “长子”,整型家族代表通常存储 -2147483648 到 2147483647 的整数(与计算机内部存储方式相关 )
有符号整形short像 “小弟弟”,范围小但占内存少,嵌入式系统常用通常是 -32768 到 32767
有符号整型long类似 “大哥哥”,范围比 int 大,不同系统大小有差异但至少和 int 一样大无固定统一范围,至少与 int 范围一致
有符号整型long long如同 “超级大哥”,存极大整数通常从 -9223372036854775808 到 9223372036854775807
无符号整型unsigned + 上述整型(如 unsigned int 等)表示 “无符号”,只能存非负整数(0 和正数 ),正数范围翻倍以 unsigned int 为例,范围通常是 0 到 4294967295(原 int 正数范围基础上翻倍 )
浮点型float单精度浮点数,像普通尺子测长度,精度有限但够用约 6 - 7 位有效数字精度
浮点型double双精度浮点数,像精密游标卡尺,精度更高,处理小数常用约 15 - 16 位有效数字精度
浮点型long double扩展精度浮点数,精度最高,不同系统具体实现有差异无固定统一精度,依系统而定
字符型char存储单个字符(字母、数字、标点等 ),字符用单引号括起,内部以数字编码(ASCII 码 )存储字符如 ‘A’(对应 ASCII 码 65 )、‘5’ 、‘!’ 等,依托 ASCII 码实现数字与字符映射,要用单引号括起来
2.构造数据类型
构造数据类型概念描述形象类比 / 示例
数组类型由基本数据类型组合,可存储同类型数据,有一维、二维、多维等一排储物柜,一维像一排柜子,二维像柜子矩阵(行和列 ),三维像立体柜子组合;如整型数组存一系列整数
指针类型C 语言中重要概念,不直接存数据,存数据的内存地址告诉朋友家的地址,而非搬房子,地址即数据在内存的 “地址”
结构体类型把不同类型数据组合在一起填写学生信息表,包含姓名(字符串)、年龄(整数)、身高(浮点数)等不同类型信息
联合体类型允许不同类型数据共享同一块内存空间,同一时间只有一种数据用途多功能房间,有时当卧室,有时当客厅,同一时间仅一种用途
枚举类型表示一组有限的选择一周七天、一年十二个月、交通灯三种颜色等,便于程序理解和维护
3.自定义数据类型

除了 C 语言提供的基本数据类型,我们还可以使用 typedef 关键字来定义自己的数据类型。这就像给数据类型起别名一样,让程序更容易理解。

比如,我们可以定义:

typedef int studentAge;  // 定义学生年龄类型
typedef float studentHeight;  // 定义学生身高类型

五.数据在内存中的存储

1.内存的基本概念

要理解数据在内存中的存储,我们首先要了解什么是内存。计算机的内存就像一个巨大的储物柜,有无数个小格子,每个格子都有一个唯一的编号(地址),可以存储一个字节的数据。

2. 字节和位的概念

在深入了解数据存储之前,我们需要理解两个基本概念:位(bit)和字节(byte)。

位(bit)是计算机中最小的数据单位,它只能存储 0 或 1 这两个值。这就像一个开关,只有 “开” 和 “关” 两种状态。位的英文 “bit” 实际上是 “binary digit”(二进制数字)的缩写。

字节(byte)由 8 个位组成,是计算机中基本的存储单位。一个字节可以存储 256 种不同的值(从 00000000 到 11111111,也就是十进制的 0 到 255)。为什么是 8 个位呢?这是历史上形成的标准,8 个位恰好可以表示一个英文字符。

3.不同数据类型的存储空间

不同的数据类型在内存中占用的空间是不同的,这就像不同大小的物品需要不同大小的盒子来装一样。

字符型(char)

char 类型通常占用 1 个字节的空间。一个字节的 8 个位可以表示 256 种不同的值,这足够表示所有的 ASCII 字符(包括大小写字母、数字、标点符号等)。

想象一下,我们用一个小盒子来装一个字符,这个盒子刚好够放下一个字符,不多不少。

整型

不同的整型占用不同的内存空间:

  • short 通常占用 2 个字节(16 位),可以表示 65536 种不同的值。如果是有符号的,范围是 - 32768 到 32767;如果是无符号的,范围是 0 到 65535。
  • int 在现代系统中通常占用 4 个字节(32 位),可以表示约 42 亿种不同的值。
  • long 的大小取决于系统,在 32 位系统中通常是 4 个字节,在 64 位系统中通常是 8 个字节。
  • long long 通常占用 8 个字节(64 位),可以表示非常大的数值范围。

这就像我们有不同大小的盒子:小盒子装小物品,大盒子装大物品。如果我们知道要装的物品不大,就不需要浪费空间使用大盒子。

浮点型

  • float 通常占用 4 个字节,按照 IEEE 754 标准的单精度格式存储。
  • double 通常占用 8 个字节,按照 IEEE 754 标准的双精度格式存储。

装小物品,大盒子装大物品。如果我们知道要装的物品不大,就不需要浪费空间使用大盒子。

浮点型

  • float 通常占用 4 个字节,按照 IEEE 754 标准的单精度格式存储。
  • double 通常占用 8 个字节,按照 IEEE 754 标准的双精度格式存储。

浮点数的存储比整数复杂得多,它分为三个部分:符号位、指数位和尾数位。这就像科学计数法一样,比如 3.14×10²,其中 3.14 是尾数,2 是指数,符号是正号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值