Day2
一.C语言开发环境搭建
编译器的选择:这里选用dev c++ 和keil-ARM
优点:简单易用、免费开源、中文支持、功能完整
如何正确显示中文
二.集成开发环境介绍
- 什么是集成开发环境(IDE)?
集成开发环境,英文叫 Integrated Development Environment,简称 IDE。听起来很高大上,其实说白了就是把程序员需要的各种工具整合在一起的软件。
这就像一个多功能工具箱,里面有螺丝刀、扳手、锤子、钳子等各种工具。如果没有这个工具箱,我们修理东西时就要四处找工具,非常麻烦。IDE 就是程序员的工具箱,把编辑器、编译器、调试器等工具都集成在一个软件里,让我们能够在一个界面中完成编程的所有工作。
在没有 IDE 的时代,程序员需要用一个软件写代码,用另一个软件编译代码,再用第三个软件调试程序。这就像做饭时需要在不同的房间找锅、找铲子、找调料一样麻烦。IDE 的出现让编程变得简单多了,所有工具都在同一个界面中,随时可以使用。
- Dev C++ 界面详细介绍
当我们第一次打开 Dev C++ 时,看到的界面可能会让一些同学感到困惑。别担心,我们来详细了解一下这个界面的各个部分,就像熟悉一个新教室的布局一样。
菜单栏:位于窗口的最上方,包含了 “文件”、“编辑”、“搜索”、“查看”、“项目”、“运行”、“调试”、“工具”、“窗口”、“帮助” 等菜单。这就像教室里的各种设施标识,告诉我们每个功能在哪里。
- “文件” 菜单:用于新建、打开、保存文件,就像文件柜一样管理我们的程序文件。
- “编辑” 菜单:提供复制、粘贴、查找、替换等编辑功能,就像 Word 里的编辑功能。
- “运行” 菜单:包含编译和运行程序的命令,这是我们最常用的功能之一。
工具栏:位于菜单栏下方,是一排图标按钮。这些按钮是最常用功能的快捷方式,就像遥控器上的快捷键,让我们能够快速执行常用操作。比如新建文件的图标看起来像一张白纸,保存文件的图标是一个软盘,编译运行的图标是一个绿色的三角形。
编辑区:这是窗口中中央最大的区域,我们的代码就是在这里编写的。这就像作文本,我们在这里写我们的 C 语言程序。编辑区有很多贴心的功能:
- 行号显示:每一行代码前面都有行号,这样当程序出错时,我们能快速找到出错的位置。
- 语法高亮:不同类型的代码会显示成不同的颜色。比如关键字是蓝色的,字符串是红色的,注释是绿色的。这就像用不同颜色的笔做笔记一样,让代码更容易阅读。
- 自动缩进:当我们写代码时,编辑器会自动调整缩进,让代码看起来更整齐。
项目管理器:通常在左侧,显示当前项目的文件结构。对于简单的程序,我们可能只有一个文件,但当程序变得复杂时,可能会有很多文件,项目管理器帮助我们组织和管理这些文件。
关于正确显示中文


三.第一个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 是指数,符号是正号。
823

被折叠的 条评论
为什么被折叠?



