目 录
项目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