C Primer Plus 学习笔记:关键概念解析

需积分: 10 2 下载量 85 浏览量 更新于2024-07-27 收藏 1.59MB DOC 举报
"《C Primer Plus》笔记摘录,作者riusksk,主要涵盖C语言的基础知识,包括输入输出函数、字符串处理、符号常量的定义与使用以及整数和浮点数的限制头文件等内容。" 在C语言中,输入输出函数`scanf()`和`gets()`有着不同的作用。`scanf()`在读取用户输入时,会在字符串末尾自动添加空字符`\0`,并且仅读取到第一个空白字符(空格、制表符或换行符)就停止,这使得使用`%s`格式化字符串时只能读取到一个单词。相比之下,`gets()`函数更适合用来处理包含多个单词的字符串,因为它会读取一行直到遇到换行符为止。 字符串常量和字符常量在类型上有显著区别。字符常量如'x'是基本类型`char`,而字符串常量如"x"实际上是字符数组的派生类型,由字符'x'和结束符'\0'组成。在计算长度时,`strlen()`函数不包含结束符'\0',只计算可见字符数,而`sizeof()`函数则会返回整个字符数组的字节数,包括结束符。 定义符号常量是一种良好的编程实践,可以增强代码的可读性和维护性。通常,我们会使用大写字母来命名符号常量,以便于与其他变量区分开。符号常量可以用`#define`预处理器指令或`const`关键字来定义。前者是简单但不可变的常量,后者创建的常量在内存中是只读的,更安全。例如: ```c #define PI 3.14159 const float pi = 3.14159; ``` 在C语言中,有特定的头文件用于获取整数和浮点数的限制信息。`<limits.h>`提供了关于整数的最大和最小值,如`INT_MAX`和`INT_MIN`,而`<float.h>`则包含浮点数的限制,如`FLT_MAX`和`FLT_MIN`。下面的代码段展示了如何使用这些头文件打印出系统上的整数和浮点数范围: ```c #include<stdio.h> #include<limits.h> #include<float.h> int main(void) { printf("最大整数值: %d\n", INT_MAX); printf("最小整数值: %d\n", INT_MIN); printf("最大浮点正常值: %e\n", FLT_MAX); printf("最小浮点正常值: %e\n", FLT_MIN); return 0; } ``` 这段程序将输出当前系统上整数和浮点数的极限值,这对于了解平台的数值特性非常有用。
2023-05-24 上传