第1章 C语言概述 1
1.1 C语言的特点 1
1.2 简单的程序例子 2
1.3 运行C程序的方法 4
1.3.1 运行C程序的一般过程 4
1.3.2 Turbo C 2.0集成环境 5
1.3.3 Microsoft Visual C+++ 6.0环境简介 9
习题 11
第2章 数据的类型与基本操作 12
2.1 基本数据类型与常数的表示 12
2.1.1 基本数据类型 12
2.1.2 常数表示 13
2.2 变量与内存 14
2.2.1 标识符 14
2.2.2 变量的定义与初始化 15
2.3 运算符与表达式 19
2.3.1 算术运算符与算术表达式 19
2.3.2 赋值运算符与赋值表达式 21
2.3.3 数据类型转换 22
2.3.4 常用数学函数 23
2.3.5 几个特殊的运算符 25
2.4 输入输出函数 26
2.4.1 printf输出函数 26
2.4.2 scanf输入函数 28
2.4.3 字符输入输出函数 32
习题 33
第3章 选择结构程序设计 35
3.1 选择结构程序的构成与特点 35
3.2 关系运算与逻辑运算 37
3.2.1 关系运算与关系表达式 37
3.2.2 逻辑运算符与逻辑表达式 38
3.3 if语句 39
3.3.1 if~else~形式 39
3.3.2 if~形式 40
3.3.3 if~else if~形式 41
3.3.4 if的嵌套 43
3.3.5 条件表达式 45
3.4 switch语句和break语句 46
习题 48
第4章 循环结构程序设计 51
4.1 用goto语句实现循环 51
4.2 while语句 53
4.3 do-while语句 55
4.4 for语句 57
4.5 多重循环 59
4.6 break和continue语句 61
4.6.1 break语句 61
4.6.2 continue语句 62
4.7 应用举例 63
习题 73
第5章 数组 75
5.1 引言 75
5.2 一维数组 75
5.2.1 一维数组的定义和初始化 75
5.2.2 应用举例 77
5.3 二维数组 83
5.3.1 二维数组的定义和初始化 83
5.3.2 应用举例 84
5.4 字符串 88
5.4.1 字符数组的一般操作方法 88
5.4.2 字符串处理方法 90
习题 94
第6章 指针 95
6.1 变量的指针 95
6.2 数组的指针 96
6.2.1 一维数组的指针 96
6.2.2 二维数组的指针 98
6.2.3 字符串的指针 101
6.2.4 动态存储分配 104
习题 105
第7章 函数 107
7.1 函数的定义和调用 107
7.1.1 函数的定义 107
7.1.2 函数的返回与函数的类型 108
7.1.3 函数的调用 109
7.2 参数传递 110
7.2.1 变量作为函数形参 110
7.2.2 数组变量作为函数形参 111
7.2.3 指针变量作为函数形参 114
7.2.4 命令行参数 117
7.3 函数的嵌套调用和递归调用 118
7.3.1 函数的嵌套调用 118
7.3.2 函数的递归调用 119
7.4 返回指针的函数 120
7.5 函数的指针和指向函数的指针变量 121
7.6 多文件编译和变量作用域 123
7.6.1 多文件编译 123
7.6.2 局部变量 125
7.6.3 全局变量 129
7.6.4 变量存储类型与模块化程序设计 131
习题 132
第8章 编译预处理 134
8.1 宏定义 134
8.2 文件包含 136
8.3 条件编译 137
习题 138
第9章 结构体与共用体 140
9.1 结构体的定义与引用 140
9.1.1 结构体类型和结构体变量的定义 140
9.1.2 结构体变量的使用 143
9.2 结构体数组与结构体指针 144
9.2.1 结构体数组 144
9.2.2 结构体指针 146
9.3 链表 147
9.3.1 链表概述 148
9.3.2 链表的基本操作 150
9.4 共用体 161
9.5 枚举 163
9.6 用typedef定义类型符 166
习题 167
第10章 位运算 168
10.1 位运算符及其功能 168
10.2 位段 170
习题 172
第11章 文件 173
11.1 文件的打开和关闭 173
11.1.1 文件类型指针 173
11.1.2 文件的打开 174
11.1.3 文件的关闭 175
11.2 文件的读写 175
11.2.1 fputc和fgetc函数 175
11.2.2 fread和fwrite函数 179
11.2.3 fprintf和fscanf函数 183
11.3 文件定位 184
11.4 文件出错检测 187
习题 187
第12章 面向对象程序设计基础 188
12.1 引言 188
12.1.1 传统的结构化程序设计方法 188
12.1.2 面向对象程序设计方法 189
12.1.3 SP方法与OOP方法的比较 189
12.2 C++对C的扩充 190
12.2.1 输入输出和注释 190
12.2.2 const常量 191
12.2.3 函数 191
12.2.4 变量引用作为函数参数 193
12.2.5 动态分配内存 195
12.2.6 作用域运算符 196
12.3 类 197
12.3.1 类与对象 197
12.3.2 构造函数 201
12.3.3 析构函数 205
12.3.4 友员函数 206
12.3.5 类的静态成员 213
12.4 继承 214
12.4.1 基类与派生类的继承关系 215
12.4.2 派生类对象的构造和析构 218
12.4.3 多重继承 220
12.5 虚函数和多态性 222
12.5.1 虚函数 222
12.5.2 纯虚函数和抽象基类 225
12.5.3 虚基类 227
习题 229
附录 231
附录A ASCII码对照表 231
附录B 运算符和结合性 232
附录C 库函数 234