C语言-第二天
01 计算机中的单元bit位计算机中的最小存储单位表示一个二进制位0或1。byte字节计算机中基本存储单元1 byte 8 bit。计算机中的数据以二进制形式存储所有的程序和数据最终都转化为0和1的组合。不同的数据类型占用不同数量的字节从而决定了其取值范围和精度。02 基本数据类型C语言根据数据的特性和用途进行了类型划分不同类型的数据在内存中占据不同大小的空间。基本数据类型包括整型、浮点型、字符型。2.1 整型整数类型简称整型用于存放整数值如 12、30、3456 等。整型类型对照表类型存储大小值范围short2字节-32,768 ~ 32,767unsigned short2字节0 ~ 65,535int4字节-2,147,483,648 ~ 2,147,483,647unsigned int4字节0 ~ 4,294,967,295long4字节-2,147,483,648 ~ 2,147,483,647unsigned long4字节0 ~ 4,294,967,295long long8字节-2⁶³ ~ 2⁶³-1unsigned long long8字节0 ~ 2⁶⁴-1注意事项整型分为有符号 signed 和无符号 unsigned 两种默认是 signed。开发中使用整型一般用 int 型如果不足以表示大数可以使用 long long。各类型存储大小受到操作系统、编译器、硬件平台的影响。字面量后缀整数字面量默认是 int 类型。long 类型添加后缀 l 或 L如 100L。long long 类型添加后缀 ll 或 LL如 100LL。无符号添加后缀 u 或 U如 200U可组合使用如 200ULL。代码示例2.2 精准宽度整型C语言的整数类型short、int、long在不同计算机上占用的字节宽度可能不同。嵌入式开发中使用精确宽度类型可以确保代码在各种平台上的一致性。标准库头文件 stdint.h 中定义了精确宽度类型别名类型名称含义int8_t8位有符号整数int16_t16位有符号整数int32_t32位有符号整数int64_t64位有符号整数uint8_t8位无符号整数uint16_t16位无符号整数uint32_t32位无符号整数uint64_t64位无符号整数代码示例2.3 整型的对应占位符占位符对应类型%dint%uunsigned int%hd / %hushort / unsigned short%ld / %lulong / unsigned long%lld / %llulong long / unsigned long long%zusize_tsizeof 返回值2.4 浮点型浮点类型用于表示小数如 123.4、7.8、0.12 等。类型存储大小值范围有效小数位数float4字节1.2E-38 ~ 3.4E386 ~ 9double8字节2.3E-308 ~ 1.7E30815 ~ 18long double16字节3.4E-4932 ~ 1.2E493218或更多注意事项浮点数字面量默认是 double 型。float 类型需加后缀 f 或 F如 3.14f。long double 类型需加后缀 l 或 L。开发中建议使用 double 型精度要求更高时使用 long double。两种表示形式十进制数形式如 3.14和科学计数法形式如 3.14e2。代码示例2.5 浮点型的对应占位符占位符说明%fdouble类型默认保留6位小数%lfprintf中与 %f 相同scanf 中输入 double 必须用 %lf%Lflong double类型输入输出都必须用 %Lf%.2f保留2位小数%e科学计数法表示浮点数2.6 字符型字符类型 char 可以表示单个字符如一个数字、一个字母、一个符号。char 类型的字面量用单引号括起来如 A、0、\n。常用转义字符转义字符说明\n换行符\t制表符\b退格\r回车符\\反斜杠\单引号\双引号字符类型本质char 类型本质是一个整数是 ASCII 码中对应的数字存储长度是 1 个字节。char 类型可以进行数学运算。signed char 取值范围 -128 ~ 127unsigned char 取值范围 0 ~ 255。2.7 字符型的对应占位符使用 %c 表示 char 类型用于输出单个字符。例如printf(%c\n, A); 输出A2.8 ASCII码表ASCIIAmerican Standard Code for Information Interchange码是一种用于表示文本字符的字符编码标准一共规定了 128 个字符的编码。关键ASCII码字符十进制字符十进制0~948~57A~Z65~90a~z97~122 32\n10\t9\\92\39记忆技巧A65a97048大小写字母之间相差32。03 获取数据和数据类型占用字节数sizeof运算符用于获取数据类型或变量、字面量的存储大小单位是字节。返回值为size_t类型的无符号整数值格式占位符是%zu。size_t 通常是 unsigned int 或 unsigned long 的别名由系统和编译器决定。代码示例心得体会通过今天的学习我对C语言的基本数据类型有了系统而深入的理解。数据类型的学习看似基础但它是后续指针、数组、结构体等高级内容的根基理解得越扎实后续学习就越轻松。整型部分让我认识到short、int、long 在不同平台上的字节宽度可能不同这在嵌入式开发中尤其重要。精准宽度类型如 int32_t、uint8_t通过 stdint.h 头文件提供了跨平台的一致性保证这是实际工程开发中非常实用的工具。在蓝桥杯单片机竞赛中精准控制数据宽度对内存和寄存器的操作至关重要。浮点型的学习让我理解了 float 和 double 的精度差异。开发中优先使用 double 的建议很实用因为 float 的精度限制仅6~9位有效数字在科学计算中容易导致误差积累。同时printf 中 %f 和 %lf 的等价性以及 scanf 中必须区分使用的细节是初学者容易踩坑的地方。字符型的学习揭示了一个重要概念char 本质上是一个整数它存储的是 ASCII 码值。这个认知打通了字符与整数之间的桥梁理解了为什么 A 1 B也为后续学习字符处理和字符串操作打下了基础。ASCII 码表中关键值的记忆A65, a97, 048会大大提高编程效率。sizeof 运算符是理解数据类型内存占用的直接工具。通过它我们可以精确掌握每种数据类型在当前平台上的实际大小这对于嵌入式系统中有限的内存资源管理尤为重要。掌握 sizeof 的用法也能帮助我们更好地理解指针运算和内存布局。总体来说今天的内容为C语言学习打下了坚实的数据基础。接下来需要在实际编程中反复练习将理论知识转化为编程直觉特别是要熟练掌握各类型对应的格式占位符这是后续输入输出操作的必备技能。

相关新闻

Windows存储空间软件RAID实战:从RAID 1到RAID 5的搭建、优化与避坑指南

Windows存储空间软件RAID实战:从RAID 1到RAID 5的搭建、优化与避坑指南

1. 项目概述:为什么要在Windows下折腾软件RAID?如果你手头有几块闲置的硬盘,或者正在用一台没有硬件RAID卡的普通PC或服务器,却想提升数据的安全性或读写性能,那么Windows自带的软件RAID功能,绝对是一个被严…

2026/10/15 3:21:57 阅读更多 →
华为eNSP STP实验:从原理到配置,掌握二层网络防环技术

华为eNSP STP实验:从原理到配置,掌握二层网络防环技术

1. 项目概述:为什么STP实验是网络工程师的“必修课”如果你正在学习网络技术,或者已经是一名网络工程师,那么“STP”这个词你一定不陌生。生成树协议,这个听起来有点抽象的概念,却是保障我们网络稳定运行的基石。今天&…

2026/10/9 3:28:40 阅读更多 →
Windows下Podman替代Docker的完整指南

Windows下Podman替代Docker的完整指南

1. 为什么选择Podman替代Docker? 在Windows环境下使用容器技术时,大多数开发者首先想到的是Docker Desktop。但近年来Podman作为替代方案逐渐流行,主要原因在于其独特的架构设计。与Docker不同,Podman采用无守护进程(…

2026/10/12 3:10:54 阅读更多 →

最新新闻

Apereo CAS 指标导出 Datadog 实战:Micrometer Registry 配置与运维指南

Apereo CAS 指标导出 Datadog 实战:Micrometer Registry 配置与运维指南

后端认证鉴权单点登录 【免费下载链接】cas Apereo CAS - Identity & Single Sign On for all earthlings and beyond. 项目地址: https://gitcode.com/gh_mirrors/ca/cas 点击查看 免费下载 本指南聚焦于 Apereo CAS 将运行时指标周期性地导出到 Datadog 的完…

2026/10/15 3:22:39 阅读更多 →
Impeller 渲染入门:用 10 行 C++ 绘制你的第一个三角形(Baby‘s First Triangle 实战指南)

Impeller 渲染入门:用 10 行 C++ 绘制你的第一个三角形(Baby‘s First Triangle 实战指南)

跨平台前端移动开发OpenHarmony 【免费下载链接】flutter_flutter 本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于…

2026/10/15 3:22:39 阅读更多 →
两串锂电池主动均衡方案:升压芯片+MCU实战解析

两串锂电池主动均衡方案:升压芯片+MCU实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 3:22:39 阅读更多 →
psql 分页器 more 进程自旋导致 CPU 满载

psql 分页器 more 进程自旋导致 CPU 满载

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 3:22:39 阅读更多 →
SAP CTO谈预测AI:能解释业务,不等于能准确预测业务

SAP CTO谈预测AI:能解释业务,不等于能准确预测业务

企业希望AI预测客户付款、商品需求和设备故障,但这些问题并不适合全部交给语言模型。在CIO的采访中,SAP首席技术官Philipp Herzig指出,分类、回归等结构化数据任务,需要更合适的预测工具;SAP正在通过RPT和TabPFN等表格…

2026/10/15 3:22:39 阅读更多 →
xv6启动流程深度解析:从硬件复位到第一个Shell进程

xv6启动流程深度解析:从硬件复位到第一个Shell进程

做操作系统实验的同学,十有八九会对启动过程抱有一种“既好奇又懒得碰”的态度。xv6这个教学内核,代码量不大,但启动链条横跨硬件复位、特权级切换、页表建立、第一个进程诞生,任何一个环节理解不到位,后面做系统调用、…

2026/10/15 3:21:39 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →