C语言是一种广泛使用的编程语言,尤其适合底层系统编程和嵌入式开发。这篇文档是对C语言基础知识的总结,包括头文件、程序规范、变量、内存管理、数据类型以及进制转换等多个方面。 头文件在C语言中起着至关重要的作用。"xxx.h"的头文件通常是我们自定义的头文件,而`<xxx.h>`则是标准库提供的系统头文件,如`<stdio.h>`用于输入输出操作。程序中应避免使用非英文字符,除了注释和特定函数如`printf()`之外。在编写源代码时,路径中的反斜杠 `\` 应该转义为 `\\`,双引号 `"` 应该转义为 `\"`,并且64位系统中,文件名包含括号时要在括号前加空格。 接下来,文档提到了变量和转义字符。`putchar()`函数用于输出单个字符,而`printf()`用于输出字符串。转义字符如`\n`表示换行,`\r`表示回车,`\t`表示水平制表,这些在控制台输出中非常常见。高版本的编译器对某些特殊字符如 `$` 的处理比较宽松,可以作为函数名或变量名。在Visual Studio 2013中,一个解决方案可以包含多个项目,启动项目可以通过右键菜单设置。 C语言的关键字是预定义的保留字,用于构建程序结构。例如,`auto`用于声明局部变量,`break`用于跳出当前循环,`case`和`switch`用于条件选择,`const`定义常量,`continue`跳过当前循环迭代,`default`是`switch`语句的默认选项,`do...while`和`while`循环,`double`和`float`分别定义双精度和单精度浮点数,`enum`用于定义枚举类型,`extern`声明外部变量,`for`循环,`goto`进行无条件转移,`if...else`条件判断,`int`基本整型,`long`长整型,`register`尝试将变量存储在CPU寄存器中,`return`返回函数值,`short`短整型,`signed`和`unsigned`指定有符号或无符号,`sizeof`计算数据类型或表达式的大小,`static`定义静态变量,`struct`定义结构体,`switch`和`case`一起用于多分支选择,`typedef`重定义数据类型,`union`联合体,`void`无类型,`volatile`表示变量可能在程序运行期间被修改,`while`循环。 关于内存,C语言程序中数据存储的地址通常是从低地址向高地址增长。局部变量在栈上分配,而全局变量在数据段或BSS段。局部变量的声明和定义在C语言中是有区别的,但没有初始化的全局变量只算是声明,初始化后才成为定义。未定义的全局变量会被自动初始化为零。 数据类型是C语言的核心部分。进制转换是编程中常见的任务,包括二进制、八进制和十六进制之间的转换。原码、反码和补码用于表示有符号整数,其中补码的使用使得计算机能够更高效地处理负数,避免了零的两种表示方式,并且充分利用了存储空间,可以表示更多不同的数值。 此外,`%d`用于格式化输出有符号整数,`%u`用于无符号整数。赋值操作符`= `实际上是在二进制级别上复制值。在32位操作系统下,`short`和`int`的数据宽度通常是相同的。 总结起来,这份文档提供了C语言的基础知识,包括头文件的使用、编程规范、变量概念、内存管理、数据类型以及进制转换等内容,适合已经有一定基础并希望复习巩固的读者。通过这份笔记,读者可以加深对C语言的理解,并进一步提升编程技能。

















