第1章 C语言程序设计概述 1
1.1 算法概念及描述 1
1.1.1 算法的概念 1
1.1.2 算法的描述 4
1.2 程序设计语言 7
1.3 C语言的特点 8
1.4 C语言的上机步骤 9
1.4.1 Turbo C 2.0集成开发环境的安装和启动 10
1.4.2 Turbo C 2.0集成开发环境的使用 10
1.4.3 编辑源文件 14
1.4.4 源程序的编译 15
1.4.5 程序的运行 15
1.4.6 程序的保存 15
1.5 简单的C语言程序举例 16
习题 18
实验一 初步了解C语言程序设计 19
第2章 数据类型、运算符和表达式 22
2.1 C语言的数据类型 22
2.2 常量和变量 23
2.3 整型数据 25
2.3.1 整型数据说明 25
2.3.2 整型变量 26
2.3.3 整型常量 27
2.4 浮点数据(实型数据) 28
2.4.1 浮点数据说明 28
2.4.2 浮点变量 28
2.4.3 浮点常量 28
2.5 字符型数据 29
2.5.1 字符型数据说明 29
2.5.2 字符常量 29
2.5.3 字符变量 31
2.5.4 字符串常量 33
2.6 运算符及表达式 33
2.6.1 运算符及表达式概述 33
2.6.2 算术运算符和算术表达式 34
2.7 赋值运算符和赋值表达式 37
2.8 逗号运算符 39
2.9 不同数据类型间的转换 39
2.10 位运算 40
习题 44
实验二 数据类型、运算符和表达式 46
第3章 顺序结构程序设计 48
3.1 C程序的基本结构及C语句的种类 48
3.1.1 结构化程序的3种基本结构 48
3.1.2 C语句的种类 48
3.2 数据输入/输出的实现 49
3.3 标准输出函数——printf函数 50
3.3.1 printf函数的一般调用形式 50
3.3.2 printf函数中常用的格式控制 51
3.3.3 调用printf函数时的注意事项 52
3.4 标准输入函数——scanf函数 53
3.4.1 scanf函数的一般调用形式 53
3.4.2 scanf函数中常用的格式控制 54
3.4.3 调用scanf函数时的注意事项 55
3.5 字符输入/输出函数 56
3.5.1 字符输出函数putchar 56
3.5.2 字符输入函数getchar 56
3.6 顺序结构程序设计举例 57
习题 59
实验三 顺序结构程序设计 61
第4章 选择结构程序设计 63
4.1 关系运算符和关系表达式 63
4.1.1 关系运算符及其运算优先次序 63
4.1.2 关系表达式 64
4.2 逻辑运算符和逻辑表达式 64
4.2.1 逻辑运算符及其运算优先次序 64
4.2.2 逻辑表达式 65
4.3 if语句 65
4.3.1 单分支if语句 65
4.3.2 双分支if语句 67
4.3.3 多分支if语句 68
4.3.4 if语句的嵌套 70
4.4 条件运算符和条件表达式 72
4.5 switch语句和goto语句 73
4.5.1 switch语句 73
4.5.2 goto语句 75
4.6 选择结构程序设计举例 75
习题 78
实验四 选择结构程序设计 83
第5章 循环结构程序设计 84
5.1 while循环语句 84
5.2 do...while循环语句 85
5.3 for循环语句 87
5.4 循环的嵌套 88
5.5 循环的退出 90
5.5.1 break语句 90
5.5.2 continue语句 91
5.6 用goto语句构成循环 92
5.7 循环结构程序设计举例 93
习题 96
实验五 循环结构程序设计 100
第6章 数组 102
6.1 一维数组 102
6.1.1 一维数组的定义 102
6.1.2 一维数组的引用 103
6.1.3 一维数组的初始化 104
6.1.4 一维数组的应用 105
6.2 二维数组 111
6.2.1 二维数组的定义 111
6.2.2 二维数组的引用 111
6.2.3 二维数组的初始化 113
6.2.4 二维数组的应用 114
6.3 字符数组 115
6.3.1 字符数组的定义及结束标志 116
6.3.2 字符数组的初始化 116
6.3.3 字符数组的输入输出 117
6.3.4 字符串处理函数 119
习题 122
实验六 数组应用 127
第7章 函数 129
7.1 函数概述 129
7.2 函数的定义及说明(声明) 130
7.2.1 函数定义的格式 130
7.2.2 函数的说明(声明) 132
7.3 函数的调用 132
7.3.1 函数调用的格式 133
7.3.2 函数调用的方式 133
7.4 函数参数传递和函数的值 134
7.4.1 函数参数传递 134
7.4.2 函数的值 137
7.5 数组参数的传递 138
7.5.1 数组元素作为函数参数 139
7.5.2 数组名作为函数参数 140
7.6 函数的嵌套调用和递归调用 144
7.6.1 函数的嵌套调用 144
7.6.2 函数的递归调用 146
7.7 变量的存储类型与作用域 148
7.7.1 局部变量 148
7.7.2 全局变量 149
7.7.3 变量的存储类型 151
7.7.4 函数的作用域 155
7.8 编译预处理 156
7.8.1 文件包含 156
7.8.2 宏定义 158
7.8.3 条件编译 163
7.9 综合应用 164
习题 166
实验七 函数应用与预处理 170
第8章 指针 173
8.1 指针的概念 173
8.2 指针变量和指针运算符 175
8.2.1 指针变量 175
8.2.2 指针运算符 176
8.2.3 指针变量的运算 177
8.2.4 指针变量作为函数参数 183
8.3 指针与一维数组 186
8.3.1 引用数组元素的数组名法 186
8.3.2 指向数组元素的指针 187
8.3.3 数组名作为函数参数 189
8.4 指针与字符串 191
8.4.1 指向字符串的指针变量 191
8.4.2 字符串指针作为函数参数 194
8.5 指针与多维数组 196
8.5.1 多维数组的地址 196
8.5.2 多维数组元素的引用方法 198
8.6 指针数组与多级指针 201
8.6.1 指针数组 201
8.6.2 多级指针 203
8.6.3 指针数组作为main函数的形参 205
8.7 指针与函数 207
8.7.1 指向函数的指针 207
8.7.2 返回指针值的函数 209
习题 210
实验八 指针应用 213
第9章 结构体、共用体与枚举类型等构造数据类型 216
9.1 结构体 216
9.1.1 结构体说明 216
9.1.2 结构体变量的定义 217
9.1.3 结构体变量的引用 218
9.1.4 结构体变量的初始化 218
9.2 结构体数组 219
9.2.1 结构体数组的定义 219
9.2.2 结构体数组的引用 219
9.2.3 结构体数组的初始化 220
9.3 结构体与指针 220
9.3.1 结构体变量指针的定义 220
9.3.2 结构体数组指针 221
9.3.3 用结构体变量和指向结构体的指针作为函数参数 222
9.4 共用体 224
9.4.1 共用体类型的定义 224
9.4.2 共用体变量的定义 224
9.4.3 共用体变量的引用 224
9.5 枚举类型 225
9.6 用typedef定义类型 226
习题 228
实验九 结构体与共用体应用 232
第10章 文件 235
10.1 文件概述 235
10.1.1 文件的类型 235
10.1.2 文件类型指针 236
10.2 文件的打开与关闭 237
10.2.1 文件的打开 237
10.2.2 文件的关闭 237
10.3 文件的读写操作 238
10.3.1 读写一个字符的函数 238
10.3.2 读写一个数据块的函数 239
10.3.3 文件的格式化读写函数 241
10.3.4 读写一个字符串的函数 242
10.4 文件的定位 243
10.4.1 文件的顺序存取和随机存取 243
10.4.2 rewind函数 243
10.4.3 fseek函数 244
10.4.4 ftell函数 244
10.5 程序设计举例 245
习题 247
实验十 文件操作 251
第11章 C++面向对象编程基础知识 253
11.1 面向对象的基本概念 253
11.2 类和对象的声明与访问 256
11.3 构造函数和析构函数 258
11.4 继承性与多态性 259
习题 262
实验十一 类和对象 263
第12章 Visual C++基础知识及应用 265
12.1 Visual C++开发环境简介 265
12.2 编写第一个Visual C++项目 266
12.2.1 创建项目工作区 266
12.2.2 使用程序向导创建程序基本结构 266
12.2.3 设计窗体并添加C++代码 267
12.3 Visual C++基本界面程序开发 270
12.4 综合应用 279
习题 287
实验十二 Visual C++练习 288
参考文献 291
附录A 常用ASCII码表 292
附录B C语言中的关键字 293
附录C 运算符和结合性 294
附录D C库函数 295
附录E 《全国计算机等级考试二级考试大纲(C语言程序设计)》 300