第1章 C语言概述 1
1.1 C语言简介 1
1.1.1 C语言的由来 1
1.1.2 C语言的特点 2
1.2 C语言程序的基本结构 4
1.2.1 C程序实例 4
1.2.2 C程序结构特点 6
1.3 C语言的语法 7
1.3.1 字符集 7
1.3.2 关键字 9
1.3.3 标识符 10
1.3.4 分隔符 10
1.4.1 计算机算法 11
1.4 程序设计与算法 11
1.4.2 程序设计基础知识 13
1.5 典型例题精解 16
本章小结 17
习题一 17
第2章 基本程序设计 19
2.1 数据类型 19
2.2 常量及其类型 20
2.2.1 整型常量的表示方法 20
2.2.2 实型常量的表示方法 21
2.2.3 字符常量 21
2.2.4 字符串常量 22
2.2.5 符号常量 22
2.3.1 变量及其说明 23
2.3.2 整型变量 23
2.3 变量及其类型 23
2.3.3 实型变量 26
2.3.4 字符变量 27
2.4 运算符和表达式 28
2.4.1 算术运算符和算术表达式 28
2.4.2 赋值运算符和赋值表达式 30
2.4.3 变量赋值及表达式计算时的数据类型转换 31
2.4.4 逗号运算符和逗号表达式 33
2.4.5 条件运算符和条件表达式 33
2.4.6 sizeof长度运算符 34
2.5 数据的输入/输出 34
2.5.1 数据输入/输出概念 34
2.5.2 字符数据的输入/输出 35
2.5.3 格式输入与输出 36
2.6 典型例题精解 41
本章小结 43
习题二 43
第3章 程序控制结构 47
3.1 顺序结构 47
3.1.1 C语言中的语句 47
3.1.2 顺序结构程序设计 48
3.2 关系运算与逻辑运算 50
3.2.1 关系运算符和关系表达式 50
3.2.2 逻辑运算符和逻辑表达式 51
3.2.3 运算的优先级 52
3.2.4 构造条件 53
3.3 分支结构 54
3.3.1 由if(else)语句构成的三种分支 54
3.3.2 switch语句 57
3.4.1 while语句 59
3.4 循环结构 59
3.4.2 do-while语句 60
3.4.3 for语句 61
3.4.4 转移语句 63
3.4.5 循环的嵌套 64
3.5 典型例题精解 65
本章小结 72
习题三 73
第4章 数组 80
4.1 数组的概念 80
4.2 一维数组 81
4.2.1 一维数组类型说明 81
4.2.2 一维数组元素的表示方法 81
4.2.3 一维数组的初始化 82
4.2.4 一维数组的应用 84
4.3 多维数组 86
4.3.1 多维数组的概念 86
4.3.2 二维数组的说明 87
4.3.3 二维数组元素的存储顺序 88
4.3.4 二维数组的初始化 88
4.3.5 二维数组的应用 90
4.4 字符数组和字符串 92
4.4.1 字符数组的说明 92
4.4.2 字符数组的初始化 92
4.4.3 字符串的输入/输出 93
4.4.4 字符串处理函数 94
4.5 典型例题精解 99
本章小结 104
习题四 104
5.1.1 函数的概念 110
第5章 函数 110
5.1 概述 110
5.1.2 函数的定义 111
5.1.3 函数的调用 113
5.2 函数间的数据传递 118
5.2.1 值传递方式 118
5.2.2 地址传递方式 120
5.3 标准库函数 121
5.3.1 库函数的调用 122
5.3.2 库函数的分类 122
5.3.3 常用库函数 122
5.4 数组与函数 125
5.4.1 函数参数为数组元素 125
5.4.2 函数参数为数组名 126
5.5.1 函数的嵌套调用 128
5.5 函数的嵌套调用与递归调用 128
5.5.2 函数的递归调用 129
5.6 变量的作用域和存储类型 131
5.6.1 局部变量和全局变量 131
5.6.2 变量的存储类型 133
5.6.3 内部函数与外部函数 138
5.7 编译预处理 139
5.7.1 宏定义 139
5.7.2 文件包含 142
5.7.3 条件编译 144
5.8 典型例题精解 145
本章小结 150
习题五 151
6.1.1 内存、地址和指针 157
第6章 指针 157
6.1 指针的基本概念 157
6.1.2 指针变量的定义与引用 158
6.1.3 指针变量作为函数参数 161
6.1.4 多级指针的概念 163
6.1.5 指针的运算 164
6.2 指针与数组 165
6.2.1 指针与一维数组 165
6.2.2 指针与二维数组 168
6.2.3 指针与字符串 172
6.2.4 指针数组 175
6.3 指针与函数 179
6.3.1 函数指针 179
6.3.2 返回指针的函数 181
6.3.3 带参数的主函数 182
6.4 典型例题精解 183
本章小结 186
习题六 188
第7章 结构体与共用体 195
7.1 结构体 195
7.1.1 结构体类型的定义 195
7.1.2 结构体变量的说明 196
7.1.3 结构体变量的初始化 198
7.1.4 结构体变量的引用 199
7.1.5 结构体数组 200
7.1.6 结构体指针 203
7.1.7 结构体与函数 205
7.1.8 动态内存分配与链表 208
7.2.2 共用体变量的说明 216
7.2 共用体 216
7.2.1 共用体类型的定义 216
7.2.3 共用体变量的引用 217
7.3 枚举类型 220
7.3.1 枚举类型的定义 220
7.3.2 枚举变量的说明及引用 220
7.3.3 枚举类型的应用 222
7.4 用户定义类型 222
7.5 典型例题精解 224
本章小结 228
习题七 229
第8章 位运算 237
8.1 位运算的基本概念 237
8.2 计算机内的数据表示 237
8.3.1 逻辑位运算 238
8.3 位运算 238
8.3.2 移位运算 242
8.4 位域 244
8.4.1 位域的定义及位域变量的说明 244
8.4.2 位域变量的使用 245
8.5 典型例题精解 247
本章小结 249
习题八 249
第9章 文件 252
9.1 概述 252
9.1.1 文件的基本概念 252
9.1.2 文件的分类 253
9.2 文件类型指针 254
9.3.1 文件的打开 255
9.3 文件的打开与关闭 255
9.3.2 文件的关闭 256
9.4 文件的读/写 257
9.4.1 字符输入/输出函数 257
9.4.2 文件的字符串输入/输出函数 259
9.4.3 文件的格式化输入/输出函数 260
9.4.4 文件数据块的输入/输出函数 261
9.4.5 整数输入/输出函数 263
9.5 文件的定位操作 264
9.6 文件的错误检测 266
9.7 典型例题精解 267
本章小结 268
习题九 269
10.1.1 一个简单的C++程序 272
第10章 C++基础知识 272
10.1 C++程序结构 272
10.1.2 C++程序的结构特点 273
10.2 C++与C语言的比较 274
10.2.1 输入和输出 274
10.2.2 注释方式 274
10.2.3 常量 275
10.2.4 变量与数据类型 275
10.2.5 简单的输入/输出格式控制 276
10.2.6 动态内存分配 277
10.2.7 函数 278
10.3 引用 278
10.4 内联函数 279
10.5 典型例题精解 280
本章小结 281
习题十 282
第11章 面向对象程序设计 286
11.1 类与对象 286
11.1.1 面向对象的基本概念 286
11.1.2 类的定义及实现 287
11.1.3 对象的定义及实现 289
11.2 构造函数与析构函数 290
11.3 继承与派生 291
11.3.1 概述 291
11.3.2 单一继承 292
11.3.3 多重继承 293
11.4 多态性 295
11.4.1 多态性简介 295
11.4.2 函数重载 296
11.5 典型例题精解 297
本章小结 300
习题十一 300
第12章 应用程序实例 303
12.1 程序设计的过程和方法 303
12.1.1 问题定义 303
12.1.2 设计方法 304
12.1.3 系统模块分解 305
12.1.4 模块设计 305
12.1.5 编码 307
12.2 学生成绩管理系统源代码 308
本章小结 315
附录1 常用字符与ASCII代码对照表 316
附录2 运算符的优先级和结合性总表 318
参考文献 320