第1章 程序设计与算法 1
1.1 程序与程序设计 1
1.1.1 程序 1
1.1.2 程序设计 1
1.1.3 程序设计语言 1
1.1.4 结构化程序设计方法 2
1.2 算法 2
1.2.1 算法 2
1.2.2 算法的描述方法 3
习题 5
2.2 C语言的字符集 6
2.1 C语言概述 6
第2章 C语言语法基础 6
2.3 C语言的基本词法 7
2.3.1 保留字 7
2.3.2 标识符 7
2.3.3 词类 8
2.4 C语言的基本句法 8
2.4.1 数据描述语句 8
2.4.2 数据加工语句 8
2.4.3 流程控制语句 9
2.4.4 其他语句 9
2.5.1 程序结构 10
2.5.2 主函数 10
2.5 C语言的程序结构 10
2.5.3 非主函数 11
2.5.4 系统函数 11
习题 12
第3章 基本数据类型与基本运算 13
3.1 C语言的数据类型 13
3.2 常量 14
3.2.1 整型常量 14
3.2.2 实型常量 15
3.2.3 字符常量 15
3.2.5 符号常量 16
3.3 变量 16
3.2.4 字符串常量 16
3.3.1 变量的数据类型及定义 17
3.3.2 变量的存储类型及定义 18
3.3.3 变量的初始化 19
3.3.4 变量定义语句 19
3.3.5 变量的地址 19
3.4 基本运算符 20
3.4.1 C语言的运算符 21
3.4.2 算术运算符 21
3.4.3 关系和逻辑运算符 23
3.4.4 赋值运算符 26
3.4.5 条件、逗号和长度运算符 26
3.4.6 位运算符 28
3.4.7 复合赋值运算符 30
3.5 表达式 32
3.5.1 赋值表达式 32
3.5.2 算术表达式 33
3.5.3 关系表达式 33
3.5.4 逻辑表达式 34
3.5.5 条件表达式 34
3.5.6 逗号表达式 35
3.6 运算时基本数据类型的转换规则 35
习题 36
4.2.1 字符型数据的输入和输出 40
4.2 数据的输入和输出 40
4.1 赋值语句 40
第4章 顺序结构的程序设计 40
4.2.2 基本类型数据的输入和输出 41
4.3 表达式语句 45
4.4 复合语句和空语句 46
4.5 常用系统函数 47
4.5.1 数学类函数 47
4.5.2 字符处理类函数 49
4.5.3 数据类型转换类函数 50
4.5.4 其他函数 51
4.6 顺序结构程序设计实例 52
习题 53
5.1 单分支选择语句if 56
第5章 选择结构的程序设计 56
5.2 双分支选择语句if-else 57
5.3 多分支选择语句switch 59
5.4 嵌套双分支选择语句的应用 61
5.5 选择结构程序设计实例 62
习题 64
第6章 循环结构的程序设计 68
6.1 当型循环语句while 68
6.2 直到型循环语句do-while 69
6.3 次数型循环语句for 71
6.4 中止语句break 73
6.5 继续循环语句continue 74
6.6 goto语句 77
6.7 循环程序设计实例 78
习题 82
第7章 数组 87
7.1 一维数组 87
7.1.1 一维数组的定义 87
7.1.2 一维数组元素的引用 88
7.1.3 一维数组及其元素的地址 89
7.1.4 一维数组程序设计实例 90
7.2 二维数组 91
7.2.1 二维数组的定义 92
7.2.2 二维数组元素的引用 93
7.2.3 二维数组及其元素的地址 94
7.2.4 二维数组程序设计实例 95
7.3 字符串及其处理函数 98
7.3.1 字符型数组与字符串 98
7.3.2 处理字符串的系统函数 100
7.3.3 字符串程序设计实例 103
习题 105
第8章 指针 112
8.1 指针变量的定义和引用 112
8.1.1 指针变量的定义 112
8.1.2 指针变量的引用 113
8.1.3 取地址运算符和指针运算符 114
8.2.1 指向变量的指针变量的应用 115
8.2 指针变量的应用 115
8.2.2 指向一维数组的指针变量的应用 116
8.2.3 指向二维数组的指针变量的应用 119
8.2.4 指向字符串的指针变量的应用 123
8.3 指针数组和多级指针 126
8.3.1 指针数组的定义和引用 126
8.3.2 多级指针的定义和引用 128
8.4 指针程序设计实例 130
习题 133
第9章 结构型、共用型及自定义数据类型符 139
9.1 结构型数据的特点与定义 139
9.1.1 结构型数据的特点 139
9.1.2 结构型的定义 140
9.2 结构型变量、数组及指针变量的定义和引用 141
9.2.1 结构型变量、数组及指针变量的定义与初始化 141
9.2.2 结构型变量的使用 144
9.2.3 结构型数组的使用 147
9.2.4 结构型指针变量的使用 150
9.3 结构型程序设计实例 153
9.4 内存管理与单向链表的处理 155
9.4.1 内存管理的系统函数 156
9.4.2 单向链表的概念 157
9.4.3 单向链表的建立、输出、插入和删除 158
9.5.2 共用型的定义 165
9.5.1 共用型数据的特点 165
9.5 共用型 165
9.5.3 共用型变量、数组及指针变量的定义和引用 166
9.5.4 共用型程序设计实例 168
9.6 自定义数据类型符 170
习题 172
第10章 文件 178
10.1 文件概述 178
10.1.1 文件 178
10.1.2 文件型指针 180
10.2 文件的打开与关闭 181
10.2.1 文件打开函数fopen() 181
10.2.3 文件关闭函数fclose() 182
10.2.4 文件尾测试函数feof() 182
10.2.2 中止程序运行函数exit() 182
10.2.5 标准设备文件的打开与关闭 183
10.3 文件的读/写函数 183
10.3.1 字符读/写函数fgetc()/fputc() 183
10.3.2 字符串读/写函数fgets()/fputs() 185
10.3.3 数据块读/写函数fread()/fwrite() 187
10.3.4 格式数据读/写函数fscanf()/fprintf() 190
10.4 其他文件处理函数 192
10.4.1 文件头定位函数rewind() 192
10.4.2 随机定位函数fseek() 192
10.5 文件程序设计实例 193
10.4.3 测试当前位置函数fte11() 193
习题 195
第11章 函数 199
11.1 函数的定义与调用 199
11.1.1 函数的定义 199
11.1.2 函数的调用 201
11.1.3 函数的说明 203
11.2 函数调用中变量的生存期和作用域 203
11.2.1 外部变量与内部变量 204
11.2.2 变量的生存期 204
11.2.3 全局变量和局部变量 204
11.2.4 变量的作用域 204
11.3 函数调用中的数据传递方式 206
11.3.1 参数的值传递方式 207
11.3.2 参数的地址传递方式 208
11.3.3 函数返回值方式 210
11.3.4 外部变量传递方式 210
11.4 指针型的函数定义与调用 212
11.4.1 指针型函数的定义 212
11.4.2 指针型函数的调用 212
11.5 递归函数的定义与调用 213
11.5.1 递归函数的特点 213
11.5.2 递归函数的设计和调用 214
11.6 指向函数的指针变量的定义和应用 215
11.6.1 指向函数的指针变量的定义 216
11.6.2 使用指向函数的指针变量调用函数 216
11.7 带参数的主函数 218
11.8 函数设计实例 219
习题 222
第12章 编译预处理命令 230
12.1 宏 230
12.1.1 无参宏的定义与引用 230
12.1.2 带参宏的定义与引用 232
12.2 文件包含命令 233
习题 235
附录1 ASCII代码表 238
附录2 运算符及其优先级汇总表 239
附录3 C程序开发环境Turbo C的使用 240
附录4 习题参考答案 244