第1章 C程序设计的初步知识 1
1.1 C程序的基本结构 1
1.2 C程序的书写风格 3
1.3 简单的C程序设计 4
1.3.1 赋值语句的简单使用 4
1.3.2 格式输入输出函数的简单使用 4
1.3.3 库函数和标题文件 5
1.3.4 简单程序设计举例 6
1.4 C程序的开发过程 7
1.5 Turbo C 2.0集成环境的使用 8
习题 12
第2章 基本数据类型 14
2.1 基本数据类型 14
2.2 常量及其类型 16
2.3 变量及其类型 20
2.4 符号常数 23
2.5 不同类型数据的输入输出 25
2.5.1 printf()函数 25
2.5.2 scanf()函数 28
2.5.3 单字符输入输出函数(getchar()、putchar()) 30
2.5.4 单字符输入函数(getche()和getch()) 31
习题 32
第3章 数据运算 37
3.1 算术运算 37
3.2 赋值运算 42
3.3 逗号运算(顺序运算) 44
3.4 关系运算和逻辑运算 45
3.5 测试数据长度运算符sizeof 48
3.6 位操作 49
3.7 数学函数 54
习题 56
第4章 程序流程控制 60
4.1 结构化程序设计的概念 60
4.2 选择结构 61
4.2.1 用if-else语句构成二分支选择结构 61
4.2.2 用if-else语句构成多分支选择结构 66
4.2.3 用条件表达式实现的选择结构 68
4.2.4 用switch语句构成多分支选择结构 70
4.2.5 用switch和break联合构成多分支选择结构 72
4.3 循环结构 73
4.3.1 for循环 73
4.3.2 while循环 77
4.3.3 do-while循环 79
4.3.4 循环的嵌套 81
4.4 转移控制语句 83
4.4.1 break语句 83
4.4.2 continue语句在循环结构中的作用 84
4.4.3 goto语句和标号 86
习题 87
第5章 数组和字符串 98
5.1 数组的定义和初始化 98
5.1.1 数组的定义 98
5.1.2 数组的初始化 100
5.1.3 通过初始化定义隐含尺寸数组 101
5.2 数组的基本操作 103
5.3 数值数组的应用 107
5.4 字符串处理函数和字符串的应用 113
习题 119
第6章 指针 127
6.1 地址、指针和指针变量的概念 127
6.2 指针的定义和用指针访问变量 131
6.3 指针的运算 133
6.4 用指针访问一维数组 136
6.5 用指针访问二维数组 137
6.6 用指针处理字符串 141
6.7 二级指针 145
6.8 用指针进行内存动态分配 147
习题 150
第7章 程序的模块结构和C函数 158
7.1 C程序的模块结构 158
7.2 C函数的定义和调用 159
7.3 调用函数和被调用函数之间的数据传递 164
7.3.1 虚实结合方式 164
7.3.2 函数返回值方式 174
7.3.3 全局变量方式 175
7.4 存储类型对函数调用的影响 175
7.5 函数的递归调用 178
7.6 main()函数的参数和返回值 180
习题 182
第8章 复合数据类型 193
8.1 结构类型 193
8.1.1 结构类型的定义和存储模式 193
8.1.2 访问结构变量和结构数组的成员 196
8.1.3 结构变量、结构数组和结构指针的初始化和赋值 198
8.1.4 结构类型的数据在函数间的传递 200
8.1.5 用递归结构处理链表 205
8.2 联合类型 210
8.3 位段结构类型 215
8.4 枚举类型 218
8.5 类型定义(typedef) 219
习题 221
第9章 文件 231
9.1 文件概述 231
9.2 文件的打开与关闭 232
9.3 文件的读写操作 234
9.3.1 文本文件读写函数 234
9.3.2 二进制文件读写函数 239
9.4 文件检测函数 241
9.5 文件的顺序存取和随机存取 243
习题 251
第10章 编译预处理和分割编译 261
10.1 宏定义 261
10.2 文件包含 265
10.3 条件编译 267
10.4 分割编译 269
习题 271
附录 276
附录A C语言运算符集 276
附录B ASCII代码表 276
附录C Turbo C 2.0常用库函数及其标题文件 277
附录D Turbo C 2.0编译错误信息 280
附录E 习题参考答案 281
参考文献 299