### C语言程序设计知识点梳理
#### 1. C语言概述
- **C语言的发展过程**:C语言由Dennis Ritchie于1972年在贝尔实验室开发完成,最初是为了移植Unix操作系统而设计的。随着时间的推移,C语言逐渐成为一种广泛应用的编程语言,并被标准化为ANSI C和ISO C。
- **当代最优秀的程序设计语言**:虽然这种说法较为主观,但C语言确实因其高效、灵活和可移植性强等特点,在系统编程、嵌入式开发等领域具有不可替代的地位。
- **C语言版本**:主要包括K&R C(基于1978年的《C程序设计语言》一书)、ANSI C(1989年美国国家标准协会发布的标准)和ISO C(1990年国际标准化组织发布)等版本。
- **C语言的特点**:
- 高效性:C语言允许程序员直接访问硬件资源,因此编写出的程序运行效率高。
- 可移植性:C语言编写的程序可以在多种不同的操作系统和硬件平台上运行,只需进行少量甚至无需修改。
- 结构化:支持结构化的编程方式,便于编写复杂程序。
- **面向对象的程序设计语言**:C语言本身并不直接支持面向对象的特性,但可以借助于结构体、指针等机制来模拟面向对象编程。
- **C和C++**:C++是在C语言基础上发展起来的一种面向对象的语言,不仅包含了C的所有特性,还引入了类、对象、继承等概念。
#### 2. 程序的灵魂—算法
- **算法的概念**:算法是指解决问题的一系列步骤或指令集合,是程序设计的核心。
- **简单算法举例**:例如求两个数的最大公约数、排序等。
- **算法的特性**:包括输入、输出、确定性、有穷性和可行性。
- **怎样表示一个算法**:
- **自然语言**:使用日常用语描述算法步骤。
- **流程图**:使用图形符号表示算法的流程。
- **N-S流程图**:一种改进版的流程图,采用矩形框表示程序的控制流。
- **伪代码**:介于自然语言和计算机语言之间的一种表示方法,易于理解且形式上接近程序代码。
- **计算机语言**:直接使用C或其他编程语言编写算法。
#### 3. 数据类型、运算符与表达式
- **C语言的数据类型**:C语言支持多种数据类型,如整型、浮点型、字符型等。
- **常量与变量**:
- 常量:其值在程序运行过程中保持不变的量。
- 变量:其值可以改变的量。
- **整型数据**:
- 整型常量的表示方法:如`123`、`0123`(八进制)等。
- 整型变量:用于存储整数值的变量。
- **实型数据**:
- 实型常量的表示方法:如`123.45`、`1.23e+2`等。
- 实型变量:用于存储实数值的变量。
- **字符型数据**:
- 字符常量:如`'a'`。
- 字符变量:用于存储单个字符。
- **运算符和表达式**:
- 算术运算符:如加(`+`)、减(`-`)、乘(`*`)、除(`/`)等。
- 赋值运算符:如`=`。
- 逗号运算符:用于连接多个表达式。
#### 4. 最简单的C程序设计—顺序程序设计
- **C语句概述**:C语言的基本组成部分,用于描述程序的行为。
- **赋值语句**:如`x = 5;`。
- **数据输入输出**:使用`printf`和`scanf`函数进行数据的输出和输入。
- `printf`函数:用于格式化输出。
- `scanf`函数:用于格式化输入。
#### 5. 分支结构程序设计
- **关系运算符**:如`<`、`>`、`<=`、`>=`、`==`、`!=`。
- **逻辑运算符**:如`&&`(与)、`||`(或)、`!`(非)。
- **if语句**:用于根据条件选择执行某段代码。
- **switch语句**:用于根据不同条件执行不同的代码块。
#### 6. 循环控制
- **循环结构**:包括`while`、`do-while`、`for`循环。
- `while`循环:先判断条件再执行循环体。
- `do-while`循环:至少执行一次循环体,然后再判断条件。
- `for`循环:提供了一种更紧凑的方式来表示循环。
- **循环的嵌套**:一个循环内包含另一个循环。
- **break和continue语句**:用于控制循环的流程。
#### 7. 数组
- **一维数组**:
- 定义:如`int arr[5];`。
- 初始化:如`int arr[5] = {1, 2, 3, 4, 5};`。
- **二维数组**:
- 定义:如`int arr[3][4];`。
- 初始化:如`int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};`。
以上是对“C语言程序设计老谭的”相关内容的详细解析和总结,涵盖了C语言的基础知识、算法概念、数据类型、运算符、表达式、顺序程序设计、分支结构程序设计、循环控制和数组等内容。这些知识点对于学习和掌握C语言至关重要。