第1部分 基础篇 3
第1章 C语言概述 3
1.1 C语言的历史和发展 4
1.2 C语言的特点 4
1.3 计算长方体的表面积和体积 6
1.4 计算1+2+3+…+10 7
1.5 C语言编程环境 8
1.5.1 Visual C++6.0编程环境 8
1.5.2 调试程序和处理错误 12
习题1 16
第2章 数据类型与运算 17
2.1 数据类型 18
2.1.1 数据类型分类 18
2.1.2 标识符、常量和变量 18
2.1.3 整型 19
2.1.4 实型 20
2.1.5 字符型 21
2.2 数据的存储 22
2.3 运算符与表达式 25
2.3.1 算术运算符与算术表达式 26
2.3.2 赋值运算符与赋值表达式 28
2.3.3 逗号运算符与逗号表达式 29
2.4 数据类型转换 29
2.4.1 类型转换概述 29
2.4.2 自动类型转换 31
2.4.3 赋值类型转换 31
2.4.4 强制类型转换 31
2.5 综合案例 32
习题2 34
第3章 顺序结构程序设计 36
3.1 C语言语句 37
3.2 顺序结构 38
3.3 数据的输入与输出 38
3.3.1 格式化输出函数printf 38
3.3.2 格式化输入函数scanf 40
3.3.3 字符数据的输入与输出 42
3.4 综合案例 42
习题3 45
第4章 选择结构程序设计 48
4.1 奇数还是偶数 49
4.2 关系运算符和逻辑运算符 49
4.2.1 运算符 49
4.2.2 逻辑运算符的短路现象 51
4.3 if语句 51
4.3.1 单分支if语句 51
4.3.2 双分支if语句 52
4.3.3 多分支选择结构 53
4.3.4 if语句的嵌套 54
4.3.5 条件运算符和条件表达式 55
4.4 switch语句 56
4.5 综合案例 59
习题4 62
第5章 循环结构程序设计 67
5.1 有变化的重复 68
5.2 while循环 68
5.3 do-while循环 70
5.4 for循环 71
5.5 循环的嵌套 74
5.6 break、continue和goto语句 76
5.6.1 break语句 76
5.6.2 continue语句 76
5.6.3 goto语句 77
5.7 综合案例 77
习题5 82
第6章 数组 89
6.1 数组的基本概念 90
6.2 一维数组 90
6.3 二维数组和多维数组 92
6.4 字符数组与字符串 94
6.4.1 字符数组及字符串的定义与初始化 94
6.4.2 字符串函数 96
6.5 综合案例 97
习题6 105
第7章 函数 109
7.1 计算1+2+3+…+100 110
7.2 函数的定义和使用 110
7.2.1 函数定义 110
7.2.2 函数调用 111
7.2.3 参数传递 112
7.2.4 函数声明 113
7.3 作用域 114
7.4 存储类型 115
7.4.1 自动(auto)类型 115
7.4.2 寄存器(register)类型 116
7.4.3 静态(static)类型 116
7.4.4 外部(extern)类型 117
7.5 递归函数 117
7.6 综合案例 118
习题7 122
第8章 编译预处理 126
8.1 宏定义 127
8.2 文件包含 129
8.3 条件编译 130
习题8 132
第9章 指针 133
9.1 指针是什么 134
9.2 指针变量的定义和初始化 136
9.3 指针运算 137
9.3.1 取值运算符*和取地址运算符& 137
9.3.2 指针变量的引用 138
9.3.3 指针的算术运算和关系运算 139
9.4 指针与数组 140
9.4.1 指针与一维数组 140
9.4.2 指针与二维数组 142
9.5 指针与函数 145
9.5.1 指针作为函数的参数 145
9.5.2 函数指针 145
9.5.2 返回指针的函数 146
9.6 综合案例 147
习题9 151
第10章 结构体、共用体与枚举 154
10.1 结构体 155
10.1.1 结构体类型的定义 155
10.1.2 结构体变量的定义和初始化 155
10.1.3 结构体变量的引用 157
10.1.4 结构体数组 159
10.1.5 结构体指针 161
10.1.6 结构体与函数 163
10.2 共用体 165
10.2.1 共用体类型的定义 165
10.2.2 共用体变量的说明和引用 165
10.3 枚举类型 168
10.3.1 枚举类型的定义 168
10.3.2 枚举变量的定义和引用 169
10.4 用户定义类型 170
10.5 动态内存分配与链表 171
10.6 综合案例 172
习题10 175
第11章 文件 181
11.1 文件概述 182
11.1.1 文件的概念 182
11.1.2 文件的分类 182
11.2 文件操作 183
11.2.1 FILE文件类型指针 183
11.2.2 文件的打开操作 184
11.2.3 文件的关闭操作 186
11.2.4 文件的读写操作 186
11.3 文件的定位 194
11.3.1 置文件位置指针于文件开头位置的函数rewind 194
11.3.2 改变文件位置指针位置的函数fseek 195
11.3.3 取得文件当前位置的函数ftell 196
11.3.4 文件的错误检测函数ferror 196
11.4 综合案例 196
习题11 197
第12章 位运算 200
12.1 字节、位与编码 201
12.1.1 字节与位 201
12.1.2 原码 201
12.1.3 反码 201
12.1.4 补码 202
12.2 位运算符和位运算 202
12.2.1 按位取反 203
12.2.2 按位与 203
12.2.3 按位或 203
12.2.4 按位异或 203
12.2.5 左位移 204
12.2.6 右位移 204
12.3 综合案例 204
习题12 205
第13章 C++程序设计基础 208
13.1 C++简介 209
13.1.1 面向对象程序设计 209
13.1.2 C++语言的发展及特点 213
13.2 C++程序的基本结构 214
13.3 C++对C基本功能的扩充 215
13.3.1 C++中的关键字 215
13.3.2 函数声明 215
13.3.3 函数名重载 215
13.3.4 灵活的变量说明 216
13.3.5 作用域标识符:: 216
13.3.6 C++中扩充的基本功能 217
13.4 C++的类和对象 217
13.4.1 类 217
13.4.2 对象 221
习题13 223
第2部分 练习篇 227
练习1 227
练习1参考答案 233
练习2 234
练习2参考答案 240
练习3 241
练习3参考答案 247
练习4 249
练习4参考答案 255
练习5 256
练习5参考答案 263
第3部分 试卷篇 267
模拟试卷1 267
模拟试卷2 277
模拟试卷3 287
第4部分 附录 299
附录A 常用字符与ASCII码对照表 299
附录B 考试指南 300
附录C Windows 7/8下安装和运行Visual C++6.0 302
附录D 部分课后习题参考答案 307