Linux 嵌入式 C 学习 Day3|变量、类型转换、全量运算符、IO 输入输出完整笔记
前言前两日吃透 Linux 操作、gcc 四步编译、C 语言基础数据类型今天 Day3 深入程序核心变量规范、初始化、隐式/强制类型转换、全套运算符、printf/scanf/getchar/putchar 输入输出覆盖嵌入式 C 最常用的运算与交互逻辑配套课堂练习题拆解新手一次性吃透。一、变量完整知识点1. 变量底层原理程序运行时变量在内存中开辟一块对应数据类型大小的存储空间变量名是内存空间别名通过变量名读写内存里的数据程序结束变量内存自动回收。2. 变量使用铁律先定义后使用未初始化的变量内存是随机垃圾值严禁直接使用。3. 变量命名规范嵌入式开发标准允许字符、数字、下划线三大限制不能以数字开头不能和 C 语言关键字重名尽量不与库函数printf、main 等重名。两种行业命名风格Linux/GNU 风格内核、嵌入式常用下划线分隔temp_val、max_num驼峰命名上层应用TempVal、MaxScore核心原则见名知意可读性优先。4. 变量定义与初始化定义数据类型 变量名;intnum;floatf;charch;bool flag;// 需要引入头文件 #include stdbool.h初始化定义时直接赋值inta10;floatb3.14f;赋值定义完成后修改值inta;a100;二、表达式与数据类型转换1. 表达式特性由常量、变量、运算符组合而成任何表达式必有值、必有对应类型。2. 混合运算自动转换隐式转换运算时两边类型不一致低精度自动转为高精度统一计算转换优先级从低到高char/short → int → unsigned int → long → float → double特殊规则char、short 参与运算强制提升为 intfloat 参与运算强制提升为 double浮点精度永远高于整型无符号高于有符号。3. 强制类型转换显式转换语法(目标类型)变量/表达式inta10;floatb(float)a;// int转float风险高精度转低精度会丢失数据小数截断、高位直接截取。4. 赋值转换规则整型赋值浮点自动补小数精度扩展浮点赋值整型直接舍弃小数部分有符号/无符号互相赋值直接拷贝内存二进制正负可能翻转大数据存入小空间截断低位极易出现数值异常。示例坑点charch355;// char仅1字节截取355二进制低8位输出为负数printf(ch %d\n,ch);三、全套运算符详解1. 算数运算符 - * / % --/整型相除直接舍去小数仅保留整数浮点除法保留小数%取余只能用于整型float/double 不能取余自增自减区分i后置先使用原值运算结束后自增 1i前置先自增 1再使用新值、--仅能作用于变量不能写(ab)。课堂练习题数字拆分求和定义int num2389取出千、百、十、个位并求和打印。2. 赋值运算符基础复合赋值 - * / %左值只能是变量能放在等号左边可修改内存常量、表达式不能做左值右值常量、变量、表达式均可。3. 逗号运算符语法表达式1,表达式2,表达式3...执行顺序从左至右依次运算整体结果为最后一个表达式的值。intres(12,34,56);// res最终等于114. sizeof 运算符作用获取变量/类型占用内存字节数编译阶段计算不运行代码。sizeof(int);floatf;sizeof(f);打印专用格式符%zu。5. 运算符优先级速记括号 单目运算符 双目 三目 赋值 逗号双目内部优先级算数 移位 关系 位运算 逻辑四、输入输出函数stdio.h 必备1. 单字符 IOputchar / getcharputchar功能终端输出单个字符参数ASCII 数值/字符常量返回值打印字符的 ASCII 码int 类型限制一次只能输出一个字符。putchar(A);putchar(65);getchar功能从键盘读取一个字符典型练习输入小写字母转大写输出原理小写 a-z 比大写 A-Z ASCII 大 32ch-32即可转换。2. 格式化printf / scanfprintf格式化打印%d %f %c %s %zu等格式符scanf键盘读取数据变量前必须加取地址区分重点printf中%f兼容 float、doublescanf严格区分float 用%fdouble 用%lf。3. 字符串puts、getsputs输出字符串自带换行gets读取整行字符串实际开发存在安全漏洞仅课堂演示。五、今日重点作业拆解题目定义a37b64拼接出新数字3476规则千位a 的十位百位b 的个位十位a 的个位个位b 的十位分步计算a37个位37%10 7十位37/10 3b64个位64%10 4十位64/10 6组合3*1000 4*100 7*10 6 3476完整代码示例#includestdio.hintmain(void){inta37,b64;inta_shia/10;inta_gea%10;intb_shib/10;intb_geb%10;intnew_numa_shi*1000b_ge*100a_ge*10b_shi;printf(拼接结果%d\n,new_num);return0;}六、今日学习总结变量必须初始化命名遵循嵌入式规范先定义后使用混合运算自动类型转换高精度存低精度数据会丢失自增、取余、逗号、sizeof 是笔试高频运算符分清前后置 区别putchar/getchar 轻量化单字符交互嵌入式底层调试常用数字拆分依靠/整除、%取余是必考题型。后续学习预告下一节学习关系运算符、逻辑运算符、if 分支判断语句正式进入程序逻辑控制。标签#嵌入式学习 #C语言Day3 #C语言变量 #C语言运算符 #printf scanf #Linux C 开发

相关新闻

pybind11异常处理:C++异常到Python的完美映射实战指南

pybind11异常处理:C++异常到Python的完美映射实战指南

1. 项目概述:为什么C异常处理在Python绑定中是块硬骨头?如果你用pybind11做过C库的Python绑定,大概率踩过这个坑:在C里抛出一个std::runtime_error,满心期待它在Python里变成一个漂亮的RuntimeError异常,结…

2026/7/23 6:27:32阅读更多 →
为什么越来越多人需要 AI 数字分身?不是为了替你工作,而是让专业持续被看见

为什么越来越多人需要 AI 数字分身?不是为了替你工作,而是让专业持续被看见

你有没有过这样的经历: 明明有经验、有产品,也知道客户真正关心什么,却总是没有时间持续发内容。忙完一天,想录一条视频,灯光没调好;想写一篇文章,又不知道从哪里开始。等终于准备好&#xff0c…

2026/7/23 6:27:32阅读更多 →
C++与Eigen实现卡尔曼滤波:从原理到二维轨迹追踪实战

C++与Eigen实现卡尔曼滤波:从原理到二维轨迹追踪实战

1. 项目概述与核心价值 如果你在C项目中处理过传感器融合、机器人定位或者任何需要从带噪声的观测数据中估计系统状态的任务,那么“卡尔曼滤波器”这个名字对你来说一定不陌生。它就像一个聪明的“数据清洁工”和“状态预言家”的结合体,能从一堆杂乱无章…

2026/7/23 6:27:32阅读更多 →
营销避坑指南:如何通过GEO发稿平台绕开90%的无效营销损耗

营销避坑指南:如何通过GEO发稿平台绕开90%的无效营销损耗

2026年,品牌营销进入提质增效的精细化阶段,内容传播的核心阵地已从传统搜索引擎排名,转向AI大模型认知场景。但多数企业仍固守老旧发稿思维,将稿件发布、网页收录等同于有效传播。如今AI已成为用户资讯查询、决策参考的首要入口&a…

2026/7/23 7:47:44阅读更多 →
技术面试准备:技术沟通与问题回答策略

技术面试准备:技术沟通与问题回答策略

一、 面试官视角与二面核心考察点二面(通常由技术负责人、架构师或资深专家进行)将重点考察以下方面:技术深度与广度:验证简历中提到的技术栈( IaaS/PaaS、Docker、边缘计算、ESP-IDF、C语言、AIoT、LLM)是…

2026/7/23 7:47:44阅读更多 →
大路灯护眼灯怎么选?适合学生使用的护眼大路灯推荐,高性价比

大路灯护眼灯怎么选?适合学生使用的护眼大路灯推荐,高性价比

最近护眼大路灯越来越受关注,确实,在改善照明环境、缓解视疲劳方面,它确实比传统照明设备更占优势,但市面上的产品质量参差不齐,很多所谓的护眼灯只是挂了个名头,实际在光学设计、用料、技术调控上都存在差…

2026/7/23 7:47:44阅读更多 →
Minecraft Optifine模组:性能优化与画质增强全指南

Minecraft Optifine模组:性能优化与画质增强全指南

1. Optifine核心功能解析Optifine作为Minecraft最著名的优化模组,其核心价值主要体现在三个方面:性能提升、画质增强和自定义功能。我使用这个模组已经超过5年时间,从早期的1.7.10版本到现在的1.20.x版本,它始终是提升游戏体验的首…

2026/7/23 7:47:44阅读更多 →
TM4C123定时器B配置详解:从GPTMTBMR寄存器到PWM与中断实战

TM4C123定时器B配置详解:从GPTMTBMR寄存器到PWM与中断实战

1. 整体设计与思路拆解通用定时器(GPTM)是嵌入式系统开发中不可或缺的“心脏”部件,它负责精确地度量时间,是驱动电机、生成通信协议、采集传感器数据等一切需要精准时序控制功能的基础。Tiva™ TM4C123BH6ZRB微控制器内置的GPTM模…

2026/7/23 7:47:44阅读更多 →
Core Web Vitals 闭环:LCP/INP/CLS 的前端监控落地

Core Web Vitals 闭环:LCP/INP/CLS 的前端监控落地

Core Web Vitals 闭环:LCP/INP/CLS 的前端监控落地 一、性能即体验:Core Web Vitals 三指标的业务闭环 页面性能直接影响业务转化。Google 的研究数据表明,LCP 从 2.5 秒恶化到 4 秒,bounce rate 上升约 24%。INP 超过 200 毫秒&a…

2026/7/23 7:45:44阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →