第1章 简单的C程序设计 1
1.1 程序和程序设计的概念 1
1.2 程序设计技术的4个层次 2
1.3 C语言的产生和发展 4
1.4 C程序的结构特点和书写风格 6
1.4.1 一个简单的C程序 6
1.4.2 C程序的结构特点 6
1.4.3 C程序的书写风格 9
1.5 简单的C程序设计 9
1.5.1 赋值语句的简单使用 9
1.5.2 格式输入输出函数的简单使用 10
1.5.3 库函数和标题文件 10
1.5.4 简单程序设计举例 11
1.6 C程序的开发过程 12
1.7 Visual C++ 6.0集成开发环境的使用 13
1.7.1 启动Visual C++ 6.0集成开发环境 13
1.7.2 在Visual C++ 6.0环境中开发C程序 13
习题1 19
第2章 基本数据类型、常量和变量 21
2.1 基本数据类型 21
2.2 常量及其类型 23
2.3 变量的定义及初始化 26
2.4 符号常数 27
2.5 不同类型数据的输入输出 29
2.5.1 格式输出函数printf() 29
2.5.2 格式输入函数scanf() 34
2.5.3 单字符输入输出函数getchar()和putchar() 37
2.5.4 单字符输入函数getche()和getch() 39
习题2 40
第3章 数据运算 44
3.1 算术运算 44
3.1.1 算术运算符 44
3.1.2 算术表达式及其求值规则 45
3.2 赋值运算 49
3.3 逗号运算(顺序运算) 52
3.4 关系运算和逻辑运算 53
3.5 测试数据长度运算符 57
3.6 常用数学函数 58
习题3 60
第4章 程序流程控制 65
4.1 结构化程序设计的三种基本结构 65
4.2 选择结构程序设计 66
4.2.1 用if…else语句构成二分支选择结构 66
4.2.2 用if…else if…else语句构成多分支选择结构 71
4.2.3 用条件表达式实现的选择结构 73
4.2.4 用switch语句构成多分支选择结构 75
4.2.5 用switch和break构成多分支选择结构 77
4.3 循环结构程序设计 78
4.3.1 for循环 78
4.3.2 while循环 82
4.3.3 do…while循环 84
4.3.4 循环的嵌套 86
4.4 转移控制语句 88
4.4.1 break语句 88
4.4.2 continue语句在循环结构中的作用 90
4.4.3 goto语句和标号 91
习题4 92
第5章 数组和字符串 102
5.1 数组的概念 102
5.2 数组的定义和初始化 103
5.2.1 数组的定义 103
5.2.2 数组的存储 104
5.2.3 数组的初始化 105
5.2.4 通过初始化定义隐含尺寸数组 107
5.3 数组的基本操作 108
5.4 数组的应用 113
5.4.1 数值数组的应用 113
5.4.2 字符串处理函数和字符串的应用 120
习题5 128
第6章 指针 133
6.1 地址、指针和指针变量 133
6.1.1 地址和地址的运算 133
6.1.2 指针和指针变量 136
6.2 指针的运算 139
6.3 用指针访问一维数组 141
6.4 用指针访问二维数组 143
6.5 用指针处理字符串 149
6.6 二级指针和多级指针 154
习题6 156
第7章 函数 163
7.1 模块化程序设计的思想 163
7.2 C函数的定义和调用 164
7.3 调用函数和被调用函数之间的数据传递 169
7.3.1 参数传递方式 169
7.3.2 函数返回值方式 178
7.3.3 全局变量方式 181
7.3.4 用函数指针调用函数和传递函数 181
7.4 存储类型对函数调用的影响 185
7.4.1 变量的存储类型 185
7.4.2 函数的存储类型对函数调用的影响 191
7.5 函数的递归调用 192
7.6 main()函数的参数和返回值 194
习题7 197
第8章 复合数据类型 207
8.1 结构类型 207
8.1.1 结构类型的定义和存储模式 207
8.1.2 结构变量、结构数组和结构指针的定义和初始化 208
8.1.3 访问结构变量和结构数组的成员 211
8.1.4 结构变量、结构数组和结构指针的赋值、输入和输出 213
8.2 结构在函数间的传递 214
8.3 递归结构和内存动态分配的综合应用——链表的操作 221
8.3.1 递归结构和链表的概念 221
8.3.2 内存的动态分配 222
8.3.3 动态链表的基本操作 223
8.4 联合类型 230
8.5 位运算和位段结构类型 235
8.5.1 位运算 235
8.5.2 位段结构类型 239
8.5.3 位段结构和位操作应用举例 242
8.6 枚举类型 246
8.7 类型定义 248
习题8 250
第9章 文件 260
9.1 文件概述 260
9.2 文件的打开与关闭 262
9.3 文件的读写操作 264
9.3.1 文本文件读写函数 264
9.3.2 二进制文件读写函数 270
9.4 文件检测函数 272
9.5 文件的顺序存取和随机存取 274
习题9 283
第10章 编译预处理和分割编译 290
10.1 编译预处理 290
10.1.1 宏定义 290
10.1.2 文件包含 295
10.1.3 条件编译 297
10.2 分割编译 299
习题10 303
附录A Visual C++ 6.0操作指导 308
A.1 单文件C程序的开发 308
A.2 编辑已有的项目和程序 313
A.3 多文件C程序的开发 314
A.4 项目中文件的插入和删除 316
附录B C语言运算符集 318
附录C ASCII代码表 319
附录D C常用库函数及其标题文件 320
D.1 I/O函数(标题文件stdio.h) 320
D.2 字符判别和转换函数(标题文件ctype.h) 322
D.3 字符串函数(标题文件string.h/mem.h) 322
D.4 数学函数(标题文件math.h) 323
D.5 动态分配函数及其他(标题文件stdlib.h) 324
附录E 习题参考答案 325
附录F C程序应用开发案例 345