C语言基础:从预处理到数据类型的深入理解

需积分: 0 1 下载量 137 浏览量 更新于2024-08-03 收藏 341KB DOCX 举报
"C语言基础知识概览" C语言是计算机编程的基础,它的语法简洁而强大,被广泛用于系统编程、嵌入式系统以及软件开发。在C语言的学习中,理解和掌握其基本概念至关重要。 第一章主要介绍了C语言的编译过程,这涉及到四个关键步骤: 1. **预处理**:预处理器负责处理`#`开头的指令,如宏定义(#define)、条件编译(#if, #else, #endif)和包含头文件(#include)。它并不检查语法,只会处理源代码中的文本替换。 2. **编译**:编译器对预处理后的源代码进行语法分析,如果语法正确,会生成汇编代码。此阶段会捕获语法错误。 3. **汇编**:汇编器将汇编代码转换为机器语言,即目标代码(.obj文件),这是一个二进制文件,包含了可执行指令。 4. **链接**:链接器将目标代码与所需的库函数连接起来,生成最终的可执行程序(.exe文件)。这个阶段解决函数调用和全局变量的引用。 在编写C程序时,通常从`.c`源文件开始,通过编译生成`.obj`中间文件,然后链接生成可执行的`.exe`文件。在表达式中,`=`用于赋值,`==`用于比较两个值是否相等。`scanf`函数用于从标准输入读取数据,但无法指定小数位数。标识符的命名规则需要遵循,不能以数字开头,且不应与关键字冲突,如`do`是关键字,但`Do`或`_do`则不是。 第二章探讨了C语言中的数据类型和运算: - 整型数据在内存中以补码形式存储,字符型则是ASCII码表示。 - 字符型变量可以通过ASCII码进行计算,例如 `'a' + 'b'` 实际上是在计算它们的ASCII值之和。 - 字符变量加`'0'`可以得到对应的十进制数字,反之减`'0'`可以得到相应的字符。 - ASCII码中,小写字母比大写字母多32,大写转小写、小写转大写可通过加减32实现。 - `%`运算符用于求余数,操作数必须是整型。 - `strlen()`函数计算字符串的长度,遇到`\0`终止。 - `sizeof()`函数返回数据类型的大小或变量所占用的内存字节数,对于未初始化的字符数组,会在赋值时自动添加`\0`作为结束符。 - 数字与百分号结合时,百分号左边的变量类型决定了结果的类型。 - 除法运算中,两边都是整数则结果也是整数,任何一方为浮点数则结果为浮点数。 - 输入`double`类型数据使用`%lf`,`float`类型使用`%f`。 这些基础知识构成了C语言编程的基础,理解并熟练运用它们对于编写高效、可靠的C程序至关重要。
2023-03-11 上传