C语言基础:从预处理到数据类型的深入理解
需积分: 0 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程序至关重要。