第1章 程序设计概述 1
1.1程序设计的概念 1
1.2程序设计语言 1
1.2.1机器语言 1
1.2.2汇编语言 1
1.2.3高级语言 2
1.2.4面向过程和面向对象的概念 2
1.2.5计算机的各种语言形式 3
1.3程序的编译与执行 3
1.4程序与算法 5
1.4.1算法概念 5
1.4.2算法与程序效率 5
1.5 C语言简介 6
1.6 MATLAB软件简介 6
1.7培养科学计算能力 7
1.8 C语言程序结构 8
1.9实例拓展 10
1.9.1工程计算实例 10
1.9.2游戏开发实例 10
1.10小结 11
习题1 11
第2章 C语言基础 12
2.1基本概念 12
2.1.1 C语言字符集 12
2.1.2标识符 12
2.1.3关键字 12
2.1.4常量 13
2.1.5变量 13
2.2 C语言的数据类型 13
2.2.1整型数据 14
2.2.2实型数据 14
2.2.3字符型数据 15
2.3运算符与表达式 17
2.3.1算术运算符和算术表达式 17
2.3.2赋值运算符和赋值表达式 19
2.3.3关系运算符和关系表达式 20
2.3.4逻辑运算符和逻辑表达式 21
2.4小结 23
习题2 24
第3章 数据的输入/输出 29
3.1字符输入/输出函数 29
3.2字符串输入/输出函数 30
3.3格式输入/输出函数 30
3.3.1格式输入函数 30
3.3.2格式输出函数 32
3.4实例拓展 38
3.4.1工程计算实例 38
3.4.2游戏开发实例 39
3.5小结 39
习题3 39
第4章 选择结构程序设计 40
4.1 if语句 40
4.1.1单分支if语句 40
4.1.2双分支if-else语句 40
4.1.3多分支选择语句 41
4.1.4 if语句的嵌套 42
4.2 switch语句 43
4.2.1 switch语句简介 43
4.2.2 break语句在switch中的应用 44
4.3实例解析 45
4.4实例拓展 47
4.4.1工程计算实例 47
4.4.2游戏开发实例 47
4.5小结 49
习题4 49
第5章 循环结构程序设计 52
5.1 while语句 52
5.2 do…while语句 53
5.3 for语句 54
5.4循环结构的嵌套 55
5.5 break语句和continue语句在循环结构中的应用 56
5.6实例解析 58
5.7实例拓展 59
5.7.1工程计算实例 59
5.7.2游戏开发实例 61
5.8小结 64
习题5 64
第6章 函数与编译预处理 67
6.1函数概述 67
6.2函数的定义和说明 68
6.2.1函数的定义 68
6.2.2函数的返回值 70
6.2.3函数的说明 71
6.3函数的调用 73
6.3.1函数调用的一般形式 73
6.3.2函数调用的方式 74
6.4函数的参数 74
6.5函数的嵌套调用和递归调用 77
6.5.1函数的嵌套调用 77
6.5.2函数的递归调用 78
6.6变量的存储类型 84
6.6.1变量的作用域与生存期 84
6.6.2变量的存储类型 84
6.6.3局部变量 85
6.6.4全局变量和静态全局变量 88
6.7内部函数和外部函数 91
6.7.1内部函数 91
6.7.2外部函数 91
6.8编译预处理命令 92
6.8.1宏替换 92
6.8.2文件包含 95
6.8.3条件编译 96
6.9实例拓展 99
6.9.1工程计算实例 99
6.9.2游戏开发实例 101
6.10小结 102
习题6 103
第7章 数组 112
7.1一维数组 112
7.1.1一维数组的定义 112
7.1.2一维数组元素的引用 113
7.1.3一维数组的初始化 113
7.2二维数组 116
7.2.1二维数组的定义和引用 116
7.2.2二维数组元素的初始化 118
7.3多维数组 119
7.3.1多维数组的定义、使用与存储 119
7.3.2多维数组的初始化 120
7.4字符串与字符数组 121
7.4.1字符串与字符数组 121
7.4.2字符数组的初始化 122
7.4.3字符数组的输入/输出 123
7.4.4字符串处理函数 126
7.5字符串数组 128
7.6数组作为函数参数 129
7.6.1数组元素作为函数参数 129
7.6.2地址量作为函数参数 129
7.7实例拓展 134
7.7.1工程计算实例 134
7.7.2游戏开发实例 137
7.8小结 144
习题7 144
第8章 指针 152
8.1指针的基本概念 152
8.2指针变量的声明与使用 153
8.2.1指针变量的声明 153
8.2.2指针变量的赋值与使用 153
8.2.3二级指针 156
8.3指针运算 156
8.3.1赋值运算 157
8.3.2算术运算 157
8.3.3关系运算 158
8.4指针与数组 159
8.4.1指针与一维数组 159
8.4.2指针与二维数组 161
8.5指针与字符串 165
8.5.1指向字符串的指针 165
8.5.2字符指针与字符数组的比较 166
8.6指针与函数 168
8.6.1指针作为函数参数 168
8.6.2函数指针变量 171
8.6.3指针型函数 172
8.7指针数组与main函数的参数 173
8.8 void指针和const指针 177
8.8.1 void指针 177
8.8.2 const指针 178
8.9实例拓展 178
8.10小结 184
习题8 185
第9章 构造数据类型 196
9.1结构体 196
9.1.1结构体的定义 196
9.1.2结构体变量说明 197
9.1.3结构体变量的引用 198
9.1.4结构体数组 200
9.1.5指向结构体变量的指针 201
9.1.6结构体与函数 203
9.1.7动态存储分配 205
9.1.8结构体与链表 207
9.2位域 214
9.3共用体 216
9.4枚举 219
9.5自定义数据类型 220
9.6小结 221
习题9 222
第10章 位运算 227
10.1位运算符 227
10.2按位与运算 227
10.3按位或运算 228
10.4按位异或运算 228
10.5求反运算 229
10.6左移运算 229
10.7右移运算 229
10.8小结 230
习题10 230
第11章 文件 231
11.1文件的概念 231
11.2文件指针 232
11.3文件的打开与关闭 232
11.3.1文件打开函数 232
11.3.2文件关闭函数 234
11.4文件的读/写 234
11.4.1字符读/写函数fgetc和fputc 234
11.4.2字符串读写函数fgets和fputs 237
11.4.3数据块读/写函数fread和fwrite 239
11.4.4格式化读/写函数fseanf和fprintf 240
11.5文件的随机读/写 241
11.5.1文件定位 242
11.5.2文件的随机读/写示例 242
11.6文件检测函数 243
11.7实用文件程序——链表数据保存 244
11.8小结 248
习题11 248
第12章 C++面向对象程序设计基础 251
12.1面向对象的基本概念 251
12.1.1类和对象 251
12.1.2封装 251
12.1.3继承 251
12.1.4多态 251
12.2 C++概述 251
12.3 C++面向对象的特性 252
12.4 C++的词法与规则 252
12.5 C++程序结构的组成 252
12.6 C++程序的开发步骤 253
12.7 C++程序示例 253
附录A C语言常用库函数 255
参考文献 260