c语言初学 | 数据类型、ASCII、转义字符、字符串
前言本文为C语言自学第2天完整学习笔记涵盖头文件、布尔类型、基础数据类型、sizeof、unsigned无符号类型、ASCII编码、全部转义字符、字符串本质、strlen与sizeof区别。全篇无废话、考点全覆盖、适合背诵、刷题、博客发布。一、头文件引用 #include必考基础1. 头文件作用头文件是系统提供的函数工具库想要使用系统函数必须引入对应头文件。2. 三大必考头文件#include stdio.h // 标准输入输出printf、scanf#include stdbool.h // 布尔类型bool、true、false#include string.h // 字符串操作strlen3. 核心考点#include 是预处理指令不是语句末尾不加分号.h是头文件后缀header表示从系统目录查找头文件双引号 用于自定义本地头文件二、布尔类型 _Bool / boolC99新增1. 作用专门用于逻辑判断只有两种状态真 / 假。2. 两种写法_Bool flag1 1; // C原生写法无需头文件bool flag2 false; // 简洁写法必须引入 stdbool.h3. 底层规则考试高频true 本质 1false 本质 0布尔类型固定占用1字节任意非0值赋值给布尔变量结果都是 true三、基础数据类型核心必考1. 原理不同数据类型占用内存大小不同用于适配不同范围的数据节约内存空间。2. 最全类型对照表专升本满分版数据类型中文名称字节数取值范围 / 精度char字符型1-128 ~ 127short短整型2-32768 ~ 32767int整型4-2147483648 ~ 2147483647long长整型4/8随系统平台变化long long长长整型8-922亿亿 ~ 922亿亿float单精度浮点46位有效数字double双精度浮点815位有效数字_Bool布尔型10、13. sizeof 运算符必考作用计算类型/变量占用内存字节数输出格式必须用%zuprintf(%zu, sizeof(int)); // 输出44. 有符号 / 无符号重难点signed int默认正数、负数、0unsigned int只能存 0 和正数范围翻倍unsigned int num 4294967295; // 无符号int最大值四、ASCII 编码必考背诵点1. 定义计算机只能存数字ASCII 是字符 ↔ 十进制数字的映射表。2. 必背基准值三道题必考0 → 48A → 65a → 97空格 → 32\n → 103. 万能规律小写字母 - 大写字母 32数字、大写、小写字母内部编码连续递增printf(%d, a - A); // 固定输出32五、转义字符考试最大坑点·最全完整版1. 定义以\开头代表特殊功能不再代表原本字符。2. 格式控制类最常用转义字符功能考试重点\n换行光标移到下一行行首\t水平制表符相当于Tab空格\r回车光标回到本行开头覆盖内容\b退格光标左移一格覆盖前一个字符\f换页控制台几乎不用3. 符号输出类必须转义\\输出反斜杠 \\输出单引号 \输出双引号 4. 功能类转义字符\0字符串结束标志ASCII0不可见、不占有效长度\a蜂鸣警报5. 难点辨析\r 和 \b超多错题\r整行回到行首覆盖整行开头\b只退一格只覆盖前一个字符printf(abc\r12); // 输出 12c printf(ab\bc); // 输出 ac6. 进制转义拓展考点\ddd八进制字符\xhh十六进制字符必须带xprintf(%c, \101); // A printf(%c, \x41); // A六、字符串、strlen、sizeof专升本超级重点1. 字符串本质C语言字符串以\0结尾由系统自动追加用户不用写。abc 实际存储a b c \02. strlen 与 sizeof 终极区别必考函数作用是否包含\0头文件strlen()统计有效字符长度❌ 不包含string.hsizeof()统计内存总字节数✅ 包含无需头文件3. 经典例题strlen(abc); // 3 sizeof(abc); // 44. 字符串坑题解析strlen(c:\add\test) 9原因\a、\t 各算1个转义字符不再是普通字符。七、今日全部考点总结背诵版头文件三种stdio.h、stdbool.h、string.h布尔类型1字节非0为真0为假数据类型字节口诀char1、short2、int4、longlong8unsigned 无符号只能存正数ASCII三大基准48、65、97大小写差32转义字符\n换行、\t制表、\r行首覆盖、\b退格覆盖、\\反斜杠\0是字符串结束符不计入有效长度strlen算字符、sizeof算内存、strlen不含\0、sizeof含\0

相关新闻

python学习(fifth)

python学习(fifth)

前言:今天睡过头了,7点多醒了一回,就想着再睡一会,9点会有闹钟叫我的,结果9:29才醒来,手机自动关机了,ε(ο`*)))唉,这都是小事,我总觉得我干什么都没精神&am…

2026/7/19 3:21:29阅读更多 →
VM下的Ubuntu 26.04安装过程及出错SMBus Host Controller not enabled解决方法

VM下的Ubuntu 26.04安装过程及出错SMBus Host Controller not enabled解决方法

VM安装出错及过程Ubuntu 26.047.3: SMBus Host Controller not enabled! 77.686920] piix4_smbus 0000:00:0 结论及处理方法在本文结尾处! VM安装出错及过程Ubuntu 26.04 7.3: SMBus Host Controller not enabled! 77.686920] piix4_smbus 0000:00:0 结论及处理方法在本文…

2026/7/19 3:21:29阅读更多 →
Xamarin跨平台开发技术解析与迁移指南

Xamarin跨平台开发技术解析与迁移指南

1. Xamarin技术概述与现状分析Xamarin作为微软收购的跨平台移动开发框架,曾凭借C#语言统一开发iOS/Android应用的特性,在2016-2021年间获得广泛采用。其核心技术原理是通过Mono运行时实现.NET标准库的跨平台支持,配合Xamarin.iOS和Xamarin.An…

2026/7/19 3:21:29阅读更多 →
C++从零实现轻量级消息队列:仿RabbitMQ核心架构与源码解析

C++从零实现轻量级消息队列:仿RabbitMQ核心架构与源码解析

1. 项目概述与核心价值 最近在整理过往的项目经验,发现很多同学对消息队列的实现原理既好奇又有点畏惧。市面上的RabbitMQ、Kafka等成熟产品功能强大,但内部机制像是一个黑盒。恰好,我之前用C从零实现过一个轻量级的消息队列,核心…

2026/7/19 6:31:47阅读更多 →
泰拉瑞亚模组开发指南:用tModLoader打造你的专属游戏世界

泰拉瑞亚模组开发指南:用tModLoader打造你的专属游戏世界

泰拉瑞亚模组开发指南:用tModLoader打造你的专属游戏世界 【免费下载链接】tModLoader A mod to make and play Terraria mods. Supports Terraria 1.4 (and earlier) installations 项目地址: https://gitcode.com/gh_mirrors/tm/tModLoader 厌倦了原版泰拉…

2026/7/19 6:31:47阅读更多 →
实测2.8MB的Rust笔记服务:MinimaMemosa部署教程

实测2.8MB的Rust笔记服务:MinimaMemosa部署教程

简介 什么是 MinimaMemosa ? MinimaMemosa 是一个基于 Rust 构建的轻量级、自托管笔记/备忘录应用,设计目标是将空闲内存占用控制在 5-10MB,最大不超过 100MB。它采用 Memos 风格的时间线布局,支持富文本编辑、Markdown 渲染、标…

2026/7/19 6:31:47阅读更多 →
React Native环境搭建与配置全攻略

React Native环境搭建与配置全攻略

1. React Native环境搭建全景指南刚接触React Native的开发者最常遇到的难题就是环境配置。作为一套跨平台移动开发框架,React Native需要同时打通JavaScript生态和原生开发环境,这对新手来说确实是个挑战。我在过去三年里帮助过上百名开发者搭建React N…

2026/7/19 6:31:47阅读更多 →
京东自动化脚本终极指南:零基础实现京豆自动增长

京东自动化脚本终极指南:零基础实现京豆自动增长

京东自动化脚本终极指南:零基础实现京豆自动增长 【免费下载链接】jd_scripts-lxk0301 长期活动,自用为主 | 低调使用,请勿到处宣传 | 备份lxk0301的源码仓库 项目地址: https://gitcode.com/gh_mirrors/jd/jd_scripts-lxk0301 你是否…

2026/7/19 6:31:47阅读更多 →
Boost 1.54.0在Linux下的安装与使用指南

Boost 1.54.0在Linux下的安装与使用指南

1. 为什么选择Boost 1.54.0版本?Boost库作为C标准库的延伸,在Linux环境下搭建时版本选择至关重要。1.54.0这个2013年发布的版本虽然不算最新,但却是许多遗留系统和稳定项目广泛采用的基准版本。这个版本包含了足够现代的C特性(如智…

2026/7/19 6:29:47阅读更多 →
Go语言静态资源打包方案对比与实践指南

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

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

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

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

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

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

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

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

2026/7/19 0:01:04阅读更多 →
Go语言静态资源打包方案对比与实践指南

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2026/7/18 18:49:35阅读更多 →