图书目录

目 录

项目1 C 语言程序设计概述............................................................1

1.1 计算机程序 ........................................................................................1

1.2 计算机语言 ........................................................................................1

1.3 程序设计 ............................................................................................3

1.3.1 程序设计的定义 ....................................................................3

1.3.2 程序设计的基本步骤 ............................................................3

1.3.3 C 语言程序设计的开发过程.................................................4

1.4 C 语言的发展及其特性.....................................................................5

1.4.1 C 语言的发展过程.................................................................5

1.4.2 C 语言的特性.........................................................................6

1.5 C 语言程序的组成结构.....................................................................6

1.5.1 C 语言程序举例.....................................................................7

1.5.2 C 语言程序的结构特点.........................................................9

1.5.3 C 语言字符集.........................................................................9

1.5.4 C 语言标识符.......................................................................10

1.6 用Visual Studio 2022 运行C 语言程序的方法 .............................11

1.6.1 Visual Studio 2022 的安装和启动.......................................11

1.6.2 建立和运行一个文件的程序 ..............................................11

1.7 怎样学习C 语言程序设计..............................................................15

1.7.1 学习C 语言的意义..............................................................15

1.7.2 学习C 语言程序设计的方法..............................................15

小结 ...........................................................................................................16

习题 ...........................................................................................................17

项目2 数据类型与简单输入/ 输出 ..............................................19

2.1 C 语言基本数据类型.......................................................................19

2.1.1 数据类型概述 ......................................................................19

2.1.2 整数类型 ..............................................................................20

2.1.3 实数类型 ..............................................................................21

2.1.4 字符类型 ..............................................................................21

2.2 常量与变量 ......................................................................................22

2.2.1 常量 .................................................................................................................22

2.2.2 变量 .................................................................................................................25

2.3 数据的输出与输入 .....................................................................................................27

2.3.1 数据的输出 .....................................................................................................28

2.3.2 数据的输入 .....................................................................................................32

小结 ..................................................................................................................................... 37

习题 ..................................................................................................................................... 37

项目3 运算符与表达式..........................................................................................40

3.1 基本运算符及其表达式 .............................................................................................40

3.1.1 C 语言运算符概述..........................................................................................40

3.1.2 算术运算符及其表达式 .................................................................................41

3.1.3 赋值运算符及其表达式 .................................................................................43

3.1.4 关系运算符及其表达式 .................................................................................45

3.1.5 逻辑运算符及其表达式 .................................................................................47

3.1.6 条件运算符及其表达式 .................................................................................49

3.1.7 逗号运算符和sizeof 运算符..........................................................................51

3.2 混合运算时数据类型的转换 .....................................................................................51

3.2.1 类型隐式转换 .................................................................................................52

3.2.2 类型显式转换 .................................................................................................53

小结 ..................................................................................................................................... 54

习题 ..................................................................................................................................... 54

项目4 程序流程控制..............................................................................................59

4.1 案例引入 .....................................................................................................................59

4.2 算法 .............................................................................................................................60

4.2.1 算法的概念 .....................................................................................................60

4.2.2 算法的组成要素 .............................................................................................60

4.2.3 算法的描述 .....................................................................................................61

4.3 C 语言的基本语句......................................................................................................63

4.4 顺序结构 .....................................................................................................................65

4.5 选择结构 .....................................................................................................................67

4.5.1 if...else 语句.....................................................................................................67

4.5.2 if 语句..............................................................................................................69

4.5.3 else if 语句.......................................................................................................70

4.5.4 if 语句的嵌套..................................................................................................72

4.5.5 switch 语句结构..............................................................................................75

4.6 循环结构 .....................................................................................................................78

4.6.1 穷举与迭代算法 .............................................................................................79

4.6.2 while 语句 .......................................................................................................81

4.6.3 do...while 语句 ................................................................................................84

4.6.4 for 语句............................................................................................................84

4.6.5 流程转向语句 .................................................................................................86

4.6.6 循环结构的嵌套 .............................................................................................87

4.7 案例分析与实现 .........................................................................................................91

小结 ..................................................................................................................................... 93

习题 ..................................................................................................................................... 94

项目5 模块化编程................................................................................................101

5.1 案例引入 ...................................................................................................................101

5.2 模块化设计与函数 ...................................................................................................102

5.2.1 函数的定义 ...................................................................................................102

5.2.2 函数的声明和调用 .......................................................................................104

5.2.3 函数的参数传递 ...........................................................................................107

5.2.4 函数的嵌套调用 ...........................................................................................108

5.2.5 函数的递归调用 ...........................................................................................109

5.2.6 系统标准函数 ...............................................................................................113

5.3 局部变量和全局变量 ...............................................................................................113

5.3.1 局部变量 .......................................................................................................113

5.3.2 全局变量 .......................................................................................................115

5.4 变量的存储属性 .......................................................................................................118

5.4.1 自动变量 .......................................................................................................119

5.4.2 静态变量 .......................................................................................................121

5.4.3 外部变量 .......................................................................................................123

5.4.4 寄存器变量 ...................................................................................................123

5.5 内部函数和外部函数 ...............................................................................................124

5.5.1 内部函数 .......................................................................................................124

5.5.2 外部函数 .......................................................................................................125

5.6 编译预处理 ...............................................................................................................125

5.6.1 文件包含 .......................................................................................................125

5.6.2 宏定义 ...........................................................................................................126

5.6.3 条件编译 .......................................................................................................129

5.7 案例分析与实现 .......................................................................................................131

小结 ................................................................................................................................... 133

习题 ................................................................................................................................... 134

项目6 数组............................................................................................................138

6.1 案例引入 ...................................................................................................................138

6.2 一维数组 ...................................................................................................................138

6.2.1 一维数组的定义 ...........................................................................................138

6.2.2 一维数组元素的引用 ...................................................................................139

6.2.3 一维数组的初始化 .......................................................................................140

6.2.4 一维数组的程序举例 ...................................................................................141

6.3 二维数组 ...................................................................................................................143

6.3.1 二维数组的定义 ...........................................................................................143

6.3.2 二维数组元素的引用 ...................................................................................144

6.3.3 二维数组的初始化 .......................................................................................145

6.3.4 二维数组的程序举例 ...................................................................................146

6.4 字符数组与字符串 ...................................................................................................149

6.4.1 一维字符数组 ...............................................................................................149

6.4.2 字符串 ...........................................................................................................150

6.4.3 二维字符数组 ...............................................................................................152

6.4.4 常用的字符串处理库函数 ...........................................................................153

6.4.5 字符数组程序举例 .......................................................................................157

6.5 数组作为函数的参数 ...............................................................................................158

6.5.1 数组元素只能作函数实参 ...........................................................................159

6.5.2 数组名作函数参数 .......................................................................................160

6.6 案例分析与实现 .......................................................................................................161

小结 ................................................................................................................................... 164

习题 ................................................................................................................................... 164

项目7 指针............................................................................................................169

7.1 案例引入 ...................................................................................................................169

7.2 指针的概念 ...............................................................................................................169

7.2.1 地址与指针 ...................................................................................................169

7.2.2 指针变量 .......................................................................................................170

7.2.3 指针运算 .......................................................................................................171

7.3 指针与变量 ...............................................................................................................173

7.4 指针与数组 ...............................................................................................................175

7.4.1 指针和一维数组 ...........................................................................................175

7.4.2 指针和二维数组 ...........................................................................................179

7.4.3 指针数组 .......................................................................................................181

7.5 指针与字符串 ...........................................................................................................183

7.5.1 字符指针与字符数组 ...................................................................................183

7.5.2 字符指针数组 ...............................................................................................186

7.6 指针与函数 ...............................................................................................................189

7.6.1 指针作为函数形式参数 ...............................................................................189

7.6.2 返回指针的函数 ...........................................................................................192

7.6.3 指向函数的指针 ...........................................................................................193

7.7 指向指针的指针 .......................................................................................................196

7.8 命令行参数 ...............................................................................................................198

7.9 案例分析与实现 .......................................................................................................199

小结 ................................................................................................................................... 202

习题 ................................................................................................................................... 202

项目8 结构体、共用体与枚举类型....................................................................209

8.1 案例引入 ...................................................................................................................209

8.2 结构体 .......................................................................................................................210

8.2.1 结构体类型的定义 .......................................................................................210

8.2.2 结构体类型变量 ...........................................................................................212

8.2.3 结构体类型数组 ...........................................................................................215

8.2.4 结构体类型指针 ...........................................................................................217

8.2.5 结构体与函数 ...............................................................................................219

8.2.6 动态内存分配 ...............................................................................................220

8.3 共用体 .......................................................................................................................222

8.4 枚举类型 ...................................................................................................................227

8.5 用typedef 定义类型 .................................................................................................230

8.6 案例分析与实现 .......................................................................................................232

小结 ................................................................................................................................... 235

习题 ................................................................................................................................... 236

项目9 文件............................................................................................................239

9.1 案例引入 ...................................................................................................................239

9.2 文件概述 ...................................................................................................................240

9.2.1 文件的概念 ...................................................................................................240

9.2.2 C 语言的文件系统........................................................................................241

9.3 标准文件操作 ...........................................................................................................241

9.3.1 文件类型指针 ...............................................................................................241

9.3.2 文件的打开 ...................................................................................................242

9.3.3 文件的关闭 ...................................................................................................244

9.3.4 文件的顺序读/ 写 ........................................................................................244

9.3.5 文件的随机读/ 写 ........................................................................................253

9.3.6 文件检测 .......................................................................................................255

9.4 案例分析与实现 .......................................................................................................256

小结 ................................................................................................................................... 257

习题 ................................................................................................................................... 258

项目10 面向对象程序设计..................................................................................263

10.1 结构化程序设计与面向对象程序设计 .................................................................263

10.1.1 结构化程序设计与面向对象程序设计概述 ...........................................263

10.1.2 结构化程序设计和面向对象程序设计解决问题的比较 .......................264

10.2 面向对象程序设计的基本概念 .............................................................................266

10.3 面向对象程序设计的基本特点 .............................................................................267

10.4 类和对象 .................................................................................................................268

10.4.1 类的定义 ...................................................................................................268

10.4.2 对象的定义 ...............................................................................................269

10.4.3 对象的初始化 ...........................................................................................270

10.5 继承和派生 .............................................................................................................272

10.5.1 派生类的定义 ...........................................................................................272

10.5.2 派生类程序举例 .......................................................................................273

10.6 多态性 .....................................................................................................................274

10.6.1 函数重载 ...................................................................................................274

10.6.2 运算符重载 ...............................................................................................275

10.6.3 虚函数 .......................................................................................................276

10.7 面向对象的软件开发 .............................................................................................278

小结 ................................................................................................................................... 279

习题 ................................................................................................................................... 279

附录Ⅰ 常用字符与ASCII 码对照表 .................................................................282

附录Ⅱ C 语言关键字...........................................................................................283

附录Ⅲ 运算符的优先级与结合性.......................................................................285

附录Ⅳ C 语言常用库函数...................................................................................287

参考文献...................................................................................................................291