C Primer Plus 笔记:scanf与字符串处理,常量定义与头文件应用

5星 · 超过95%的资源 需积分: 10 75 下载量 199 浏览量 更新于2024-07-31 1 收藏 1.59MB DOC 举报
《C Primer Plus》笔记文档包含了关于C语言的基础概念和实用技巧,对初学者和进阶者都非常有价值。以下是文档中的几个关键知识点: 1. 输入函数的差异: scanf()函数在读取用户输入时,会自动在字符串末尾添加空字符'\0',这有助于识别输入的结束。然而,scanf()遇到空白字符(如空格、制表符或换行符)时会停止读取,导致只能获取到单个单词。为避免这种情况,通常推荐使用gets()函数处理整个字符串,尽管它存在安全风险(易受缓冲区溢出攻击),现代编程实践中推荐使用fgets()。 2. 字符串和字符的区别: 字符常量'x'是基本数据类型char,而字符串常量"x"实际上是char数组,包含字符'x'和空字符'\0'。理解两者之间的区别有助于正确处理字符串操作,例如内存管理和拼接。 3. 字符串长度和大小计算: strlen()函数返回的是字符串的实际长度,不包括空字符'\0',它以字符计数。而sizeof()用于计算数据类型的大小,包括空字符,因此它会以字节数返回字符串的总长度。 4. 符号常量的作用: 定义符号常量具有重要意义,它们提高代码的可读性和可维护性。通过#define预处理器指令定义如`#define PI 3.14159`,可以明确表示一个固定的数值,避免因误操作而改变其值。使用const关键字可以创建只读常量,如`const float pi = 3.14159;`,确保在计算过程中不变。 5. 头文件使用示例: 提到了常用的头文件,如`<stdio.h>`(标准输入输出头文件)、`<limits.h>`(整数限制头文件)和`<float.h>`(浮点数限制头文件)。通过这些头文件,可以访问系统特定的最大和最小整数、浮点数范围等信息,用于测试或验证数据范围。 6. 标准输入输出示例: 提供了一个简单的程序片段,展示了如何使用`printf()`函数显示系统上的整型和浮点型数值的上下限。这对于理解和使用标准库函数以及了解编译器环境有帮助。 综上,《C Primer Plus》笔记提供了丰富的C语言基础内容,涵盖了输入处理、数据类型、预处理器指令和头文件使用等核心知识点,适合学习者深入理解并实践C语言编程。