第1章 概述 1
1.1 程序设计基础 1
1.1.1 程序与程序设计语言 1
1.1.2 程序设计方法 3
1.1.3 程序设计的基本过程 4
1.2 C语言及其特点 7
1.2.1 C语言的发展过程 7
1.2.2 C语言的特点 8
1.3 简单的C语言程序 9
1.4 函数 11
1.5 C语言程序的调试 14
1.5.1 调试步骤 14
1.5.2 常用的C语言集成开发环境 15
1.5.3 Visual C++6.0集成开发环境 16
本章小结 21
习题 22
第2章 数据类型和输入/输出 23
2.1 数据在计算机内部的表示 23
2.1.1 常用的进位制 23
2.1.2 数值与字符在计算机中的表示 24
2.2 字符集和保留字 25
2.2.1 基本符号集 25
2.2.2 标识符 26
2.3 C语言的数据类型 27
2.4 常量 28
2.4.1 数值常量 28
2.4.2 字符常量和字符串常量 29
2.4.3 符号常量 31
2.5 变量 32
2.5.1 变量的定义和变量的存储 33
2.5.2 变量的初始化 35
2.6 数据的输入和输出 36
2.6.1 格式输入/输出函数 36
2.6.2 字符输入/输出函数 41
本章小结 43
习题 43
第3章 运算符和表达式 45
3.1 运算符和表达式简介 45
3.1.1 运算符 45
3.1.2 表达式 46
3.2 常用运算符和表达式 47
3.2.1 算术运算符和算术表达式 47
3.2.2 赋值运算符和赋值表达式 49
3.2.3 逗号运算符和逗号表达式 51
3.2.4 关系运算和逻辑运算 51
3.2.5 条件表达式 54
3.2.6 位运算表达式 55
3.2.7 求字节数表达式 59
3.3 运算符的结合性和优先级 60
3.4 混合运算中的数据类型的转换 60
3.4.1 自动类型转换 61
3.4.2 强制类型转换 61
本章小结 62
习题 62
第4章 顺序结构程序设计 65
4.1 结构化程序设计的3种结构 65
4.2 顺序结构 66
4.2.1 赋值语句和空语句 66
4.2.2 复合语句 67
4.3 顺序结构程序设计举例 68
本章小结 71
习题 71
第5章 选择结构程序设计 72
5.1 if语句 72
5.1.1 if形式 72
5.1.2 if-else形式 73
5.1.3 if-else-if形式 74
5.1.4 if语句的嵌套 77
5.2 switch语句 80
5.3 选择结构程序设计举例 84
本章小结 86
习题 87
第6章 循环结构程序设计 90
6.1 while语句 90
6.2 do-while语句 92
6.3 for语句 93
6.4 3种循环语句的区别 96
6.5 循环结构的嵌套 97
6.5.1 定义 97
6.5.2 嵌套结构的规则 97
6.6 转向语句 99
6.6.1 break语句 99
6.6.2 continue语句 100
6.6.3 goto语句 101
6.7 循环结构程序设计举例 101
本章小结 104
习题 104
第7章 数组 105
7.1 数组和数组元素 105
7.2 一维数组 106
7.2.1 一维数组的定义 106
7.2.2 一维数组的引用 107
7.2.3 一维数组的初始化 108
7.2.4 一维数组的应用举例 109
7.3 二维数组 113
7.3.1 二维数组的定义 113
7.3.2 二维数组的引用 115
7.3.3 二维数组的初始化 116
7.3.4 二维数组的应用举例 118
7.4 字符数组与字符串 119
7.4.1 字符数组的定义和引用 120
7.4.2 字符数组的初始化 120
7.4.3 字符串的输入和输出 121
7.4.4 字符串处理函数 124
7.4.5 字符数组的应用举例 126
本章小结 128
习题 128
第8章 函数 129
8.1 函数概述 129
8.2 函数的定义及函数返回值 132
8.2.1 函数的定义 132
8.2.2 函数的返回值 134
8.3 函数的参数 136
8.3.1 有参函数的一般形式 136
8.3.2 形式参数与实际参数 136
8.3.3 数组作为函数的参数 138
8.4 函数的调用 145
8.4.1 函数原型 145
8.4.2 函数调用的一般形式 148
8.4.3 函数的嵌套调用 149
8.4.4 函数的递归调用 151
8.5 变量的作用域和存储类型 155
8.5.1 变量的作用域 155
8.5.2 变量的存储类型 156
8.6 程序编译预处理 159
8.6.1 宏定义 160
8.6.2 文件包含 162
8.6.3 条件编译 163
本章小结 165
习题 166
第9章 构造数据类型 167
9.1 结构体类型 167
9.1.1 结构体类型定义 167
9.1.2 结构体变量的说明及使用 169
9.1.3 结构体变量的初始化 171
9.1.4 结构体数组 172
9.1.5 结构体和函数 173
9.2 共用体类型 175
9.2.1 共用体类型的定义 175
9.2.2 共用体变量的说明及使用 176
9.3 位字段类型 177
9.3.1 位字段类型的定义 177
9.3.2 位字段变量的说明及其使用 178
9.4 枚举类型 180
9.4.1 枚举类型的定义 180
9.4.2 枚举类型变量的说明及其使用 180
9.5 用typedef定义类型 182
本章小结 182
习题 183
第10章 指针 184
10.1 指针和地址的概念 184
10.2 变量的指针与指针变量 185
10.2.1 指针变量的定义及使用 185
10.2.2 指针变量的初始化 187
10.2.3 指针运算 187
10.3 指针与数组 190
10.3.1 指向数组元素的指针 190
10.3.2 字符指针与字符数组 193
10.3.3 多级指针及指针数组 196
10.3.4 指针与多维数组 198
10.4 指针与函数 200
10.4.1 函数参数为指针 200
10.4.2 函数的返回值为指针 206
10.4.3 指向函数的指针 208
10.4.4 命令行参数 210
10.5 指针与结构体 211
10.5.1 结构体指针与指向结构体数组的指针 211
10.5.2 结构体指针与函数 215
本章小结 217
习题 218
第11章 文件 220
11.1 文件概述 220
11.1.1 文件的概念 220
11.1.2 文件类型结构及文件指针 221
11.2 文件的打开与关闭 222
11.2.1 文件的打开 222
11.2.2 文件的关闭 224
11.3 文件的读写操作 224
11.3.1 字符的读写 224
11.3.2 字符串的读写 228
11.3.3 数据块的读写 229
11.3.4 格式读写 231
11.4 位置指针与文件的定位 232
11.5 文件状态的检测 234
11.6 文件程序设计举例 234
本章小结 237
习题 237
第12章 综合应用 238
12.1 应用系统的设计方法 238
12.1.1 结构化程序设计方法概述 238
12.1.2 结构化程序设计方法举例 239
12.2 应用系统的设计举例 241
12.2.1 小学算术运算模拟测试系统 241
12.2.2 学生成绩管理系统 246
本章小结 262
习题 262
附录Ⅰ ASCII码表 263
附录Ⅱ C语言常用库函数 264
附录Ⅲ Visual C++6.0编译C语言程序常见错误信息 277
参考文献 282