第1章 程序设计与C语言 1
1.1 程序设计的基本概念 1
1.1.1 程序 1
1.1.2 计算机语言 1
1.1.3 程序设计 2
1.2 算法 2
1.2.1 算法设计 3
1.2.2 算法的描述 3
1.3 结构化程序及设计步骤 4
1.3.1 结构化程序设计的概念 4
1.3.2 结构化程序设计步骤 7
1.4 C语言的特点 9
1.5 C语言程序的基本结构 10
1.6 C程序的上机操作 12
1.6.1 TurboC的安装 12
1.6.2 TurboC的使用 12
习题1 18
第2章 C语言程序设计初步知识 19
2.1 标识符、常量和变量 19
2.1.1 标识符 19
2.2 简单数据类型 20
2.1.2 常量和变量 20
2.2.1 整型数据 21
2.2.2 实型数据 24
2.2.3 字符型数据 25
2.3 基本运算表达式 26
2.3.1 算术运算符及其表达式 26
2.3.2 赋值运算符及其表达式 27
2.3.3 不同类型数据间的转换 29
2.3.4 自增、自减运算符及其表达式 33
2.3.5 逗号运算符及其表达式 33
习题2 34
第3章 简单程序设计 36
3.1 顺序结构程序设计的概念 36
3.2 赋值语句 36
3.3 数据输出 37
3.3.1 printf函数 37
3.3.2 putchar函数 39
3.4 数据输入 40
3.4.1 scanf函数 40
3.4.2 getchar函数 41
3.5.1 复合语句 42
3.5.2 空语句 42
3.5 复合语句和空语句 42
习题3 43
第4章 选择结构程序设计 46
4.1 关系运算符及其表达式 46
4.2 逻辑运算符及其表达式 47
4.3 条件运算符 49
4.4 单条件选择if语句 49
4.4.1 if语句 49
4.4.2 if语句的嵌套 50
4.5 开关分支switch语句 53
习题4 57
第5章 循环结构程序设计 61
5.1 循环结构程序设计的概念 61
5.2 while语句 61
5.2.1 while语句的一般格式 61
5.2.2 while语句的执行过程 62
5.3 do...while语句 67
5.3.1 do...while语句的一般格式 67
5.3.2 do...while语句的执行过程 67
5.4 for语句 68
5.4.1 for语句的一般格式 68
5.4.2 for语句的执行过程 69
5.5 循环结构嵌套 72
5.6 break语句和continue语句 73
5.6.1 break语句 73
5.6.2 continue语句 73
5.7 语句标号和goto语句 74
习题5 75
第6章 数组 82
6.1 数组和数组单元的基本概念 82
6.2 一维数组 83
6.2.1 一维数组的定义、引用和初始化 83
6.2.2 一维数组应用示例 86
6.3 二维数组 88
6.3.1 二维数组的定义、引用和初始化 88
6.3.2 二维数组应用示例 90
6.4 字符数组 91
6.4.1 字符数组的定义、引用和初始化 91
6.4.2 字符串与字符型数组 92
6.4.3 字符数组的输入、输出 94
6.4.4 字符串处理函数 95
6.4.5 字符串数组应用示例 97
习题6 99
7.1 模块化程序设计的概念 106
第7章 函数 106
7.2 库函数 107
7.2.1 C语言常用库函数 107
7.2.2 标准库函数的调用 107
7.3 函数的定义和调用 108
7.3.1 函数的定义 108
7.3.2 函数的调用 109
7.4 函数的返回值及其类型 113
7.5 函数调用时参数间的传递 117
7.5.1 变量、常量、数组元素作为函数参数 117
7.5.2 数组名作为函数参数 118
7.6 函数的嵌套调用 121
7.7 函数的递归调用 123
7.8 局部变量和全局变量 125
7.8.1 局部变量 125
7.8.2 全局变量 126
7.9 静态存储变量和动态存储变量 127
7.9.1 静态存储变量 127
7.9.2 动态存储变量 128
7.10.1 内部函数 129
7.10.2 外部函数 129
7.10 内部函数和外部函数 129
7.11 程序举例 130
习题7 132
第8章 指针 138
8.1 指针的基本概念 138
8.2 指针和指针变量 139
8.2.1 指针变量的定义 139
8.2.2 指针变量的赋值 140
8.2.3 指针变量的引用 140
8.2.4 指针变量作为函数参数 142
8.3.1 一维数组与指针 144
8.3 数组和指针 144
8.3.2 二维数组与指针 147
8.3.3 指针与字符串 149
8.3.4 指向数组的指针作为函数参数 152
8.4 函数的指针 154
8.5 数组、函数、指针综合应用示例 155
习题8 155
第9章 编译预处理 163
9.1 宏定义 163
9.1.1 不带参数的宏定义 163
9.1.2 带参数的宏定义 167
9.2 文件包含 171
9.3 条件编译 172
习题9 174
第10章 结构体和共用体 175
10.1 结构体类型 175
10.1.1 结构体类型定义 175
10.1.2 结构体变量的定义、引用和初始化 176
10.1.3 结构体数组 179
10.1.4 结构体的指针 181
10.1.5 利用结构体变量构成链表 186
10.2 共用体 189
10.2.2 共用体变量的定义和引用 190
10.2.1 共用体类型说明 190
习题10 191
第11章 位运算 192
11.1 位运算符 192
11.1.1 按位取反 193
11.1.2 移位 193
11.1.3 按位“与” 193
11.1.4 按位“或” 194
11.1.5 按位“异或” 195
11.2 位运算符的运算功能 195
习题11 198
第12章 文件 199
12.1 文件概念 199
12.2 文件指针 200
12.3 打开和关闭文件 200
12.3.1 文件的打开(fopen函数) 200
12.3.2 文件的关闭(fclose函数) 202
12.4 常用文件操作函数 202
12.4.1 文件的输入、输出 202
12.4.2 文件的定位 211
12.4.3 出错的检测 217
习题12 218
第13章 程序调试与常见错误分析 219
13.1 程序调试 219
13.1.1 程序调试的步骤 219
13.1.2 检查和分析错误原因 220
13.2 常见错误分析 221
附录 233
附录A 各章习题参考答案 233
附录B C语言的标准库函数 260
附录C Turbo C编译、链接时的错误和警告信息 269
附录D ASCII码表 272