第1章 C语言程序设计概述 1
1.1 计算机程序设计语言概述 1
1.2 C语言程序结构特点及其运行 2
1.2.1 C语言程序的结构特点 2
1.2.2 C语言程序的运行 5
1.2.3 Visual C++6.0集成开发环境的使用 5
1.3 程序设计算法及其描述方法 8
1.3.1 算法的概念及特征 9
1.3.2 算法的描述方法 10
1.3.3 程序设计风格 12
习题 13
第2章 数据类型、运算符和表达式 15
2.1 C语言的数据类型 15
2.2 标识符、常量和变量 16
2.3 整型数据 18
2.4 实型数据 21
2.5 字符型数据 23
2.6 运算符及表达式 26
2.6.1 运算符概述 26
2.6.2 算术运算符和算术表达式 27
2.6.3 赋值运算符和赋值表达式 31
2.6.4 逗号运算符和逗号表达式 32
2.6.5 不同数据类型间的转换 33
2.6.6 位运算 34
习题 35
第3章 顺序结构程序设计 38
3.1 C程序的基本结构及C语句的种类 38
3.1.1 结构化程序的三种基本结构 38
3.1.2 C语句的种类 38
3.2 数据输入输出的实现 39
3.3 标准输出函数——printf函数 40
3.3.1 printf函数的一般调用形式 40
3.3.2 printf函数中常用的格式控制 41
3.3.3 调用printf函数时的注意事项 42
3.4 标准输入函数——scanf函数 43
3.4.1 scanf函数的一般调用形式 43
3.4.2 scanf函数中常用的格式控制 44
3.4.3 调用scanf函数时的注意事项 44
3.5 字符输入输出函数 45
3.5.1 字符输出函数putchar 45
3.5.2 字符输入函数getchar 46
3.6 顺序结构程序设计举例 47
习题 49
第4章 选择结构程序设计 51
4.1 关系运算符和关系表达式 51
4.1.1 关系运算符及其运算优先次序 51
4.1.2 关系表达式 52
4.2 逻辑运算符和逻辑表达式 52
4.2.1 逻辑运算符及其运算优先次序 52
4.2.2 逻辑表达式 53
4.3 if语句 53
4.3.1 单分支if语句 53
4.3.2 双分支if语句 55
4.3.3 多分支if语句 56
4.3.4 if语句的嵌套 58
4.4 条件运算符和条件表达式 60
4.5 switch语句和goto语句 60
4.5.1 switch语句 61
4.5.2 goto语句 63
4.6 选择结构程序举例 63
习题 66
第5章 循环结构程序设计 70
5.1 while循环语句 70
5.2 do...while循环语句 71
5.3 for循环语句 73
5.4 循环的嵌套 74
5.5 循环的退出 76
5.5.1 break语句 76
5.5.2 continue语句 77
5.6 用goto语句构成循环 78
5.7 循环结构程序设计举例 79
习题 83
第6章 数组 87
6.1 一维数组 87
6.1.1 一维数组的定义 87
6.1.2 一维数组元素的引用 88
6.1.3 一维数组的初始化 89
6.1.4 一维数组的应用 90
6.2 二维数组 95
6.2.1 二维数组的定义 96
6.2.2 二维数组的引用 96
6.2.3 二维数组的初始化 98
6.2.4 二维数组的应用 99
6.3 字符数组 100
6.3.1 字符数组的定义及结束标志 100
6.3.2 字符数组的初始化 101
6.3.3 字符数组的输入输出 102
6.3.4 字符串处理函数 103
习题 107
第7章 函数 112
7.1 函数概述 112
7.2 函数的定义 113
7.2.1 函数定义的格式 113
7.2.2 函数的说明(声明) 114
7.3 函数的调用 115
7.3.1 函数调用的格式 115
7.3.2 函数调用的方式 115
7.4 函数参数传递和函数的值 117
7.4.1 函数参数传递 117
7.4.2 函数的值 119
7.5 数组参数的传递 121
7.5.1 数组元素作为函数参数 121
7.5.2 数组名作为函数参数 122
7.6 函数的嵌套调用和递归调用 126
7.6.1 函数的嵌套调用 126
7.6.2 函数的递归调用 127
7.7 变量的作用域与存储类别 129
7.7.1 局部变量 130
7.7.2 全局变量 131
7.7.3 变量的存储类型 133
7.7.4 函数的作用域 136
7.8 编译预处理 137
7.8.1 文件包含 137
7.8.2 宏定义 139
7.8.3 条件编译 143
7.9 综合应用 145
习题 146
第8章 指针 150
8.1 指针的概念 150
8.2 指针变量和指针运算符 152
8.2.1 指针变量 152
8.2.2 指针运算符 153
8.2.3 指针变量的运算 154
8.2.4 指针变量作为函数参数 159
8.3 指针与一维数组 163
8.3.1 引用数组元素的数组名法 163
8.3.2 指向数组元素的指针 163
8.3.3 数组名作为函数参数 165
8.4 指针与字符串 167
8.4.1 指向字符串的指针变量 167
8.4.2 字符串指针作为函数参数 170
8.5 指针与多维数组 172
8.5.1 多维数组的地址 172
8.5.2 多维数组元素的引用方法 174
8.6 指针数组与多级指针 177
8.6.1 指针数组 177
8.6.2 多级指针 179
8.6.3 指针数组作为main函数的形参 181
8.7 指针与函数 182
8.7.1 指向函数的指针 182
8.7.2 返回指针值的函数 185
习题 185
第9章 结构体、共用体与枚举类型 188
9.1 结构体 188
9.1.1 结构体说明 188
9.1.2 结构体变量的定义 189
9.1.3 结构体变量的引用 189
9.1.4 结构体变量的初始化 190
9.2 结构体数组 191
9.2.1 结构体数组的定义 191
9.2.2 结构体数组的引用 191
9.2.3 结构体数组的初始化 191
9.3 结构体与指针 192
9.3.1 结构体变量指针的定义 192
9.3.2 结构体数组指针 193
9.3.3 用结构体变量和指向结构体的指针作为函数参数 194
9.4 共用体 195
9.4.1 共用体类型的定义 195
9.4.2 共用体变量的定义 196
9.4.3 共用体变量的引用 196
9.5 枚举类型 197
9.6 用typedef定义类型 198
9.7 用结构体构成链表 199
9.7.1 结点类型的定义 200
9.7.2 单向动态链表 200
习题 205
第10章 文件 209
10.1 文件概述 209
10.1.1 文件的类型 209
10.1.2 文件类型指针 210
10.2 文件的打开与关闭 211
10.2.1 文件的打开 211
10.2.2 文件的关闭 211
10.3 文件的读写操作 212
10.3.1 读写一个字符的函数 212
10.3.2 读写一个字符串的函数 213
10.3.3 文件的格式化读写函数 215
10.3.4 读写数据块的函数 216
10.4 文件的定位 220
10.4.1 文件的顺序存取和随机存取 220
10.4.2 rewind函数 220
10.4.3 fseek函数 220
10.4.4 ftell函数 221
10.5 程序设计举例 221
习题 223
第11章 C++面向对象编程基础知识 227
11.1 面向对象的基本概念 227
11.2 类和对象的声明与访问 230
11.3 构造函数和析构函数 232
11.4 继承性与多态性 233
习题 236
第12章 VC++基础知识及应用 237
12.1 Visual C++开发环境简介 237
12.2 编写第一个VC++项目 238
12.2.1 创建项目工作区 238
12.2.2 使用程序向导创建程序基本结构 238
12.2.3 设计窗体并添加C++代码 239
12.3 VC++基本界面程序开发 242
12.4 综合应用 250
习题 257
附录A 常用ASCII码表 259
附录B C语言中的关键字 260
附录C 运算符及其结合性 261
附录D C库函数 263
附录E 全国计算机等级考试二级C语言程序设计考试大纲(2013年版) 268
参考文献 270