第1章 计算机程序设计概述 1
1.1 计算机系统组成 1
1.1.1 计算机硬件系统 1
1.1.2 计算机软件系统 2
1.2 程序设计语言 3
1.2.1 机器语言 3
1.2.2 汇编语言(符号语言) 4
1.2.3 高级语言 4
1.3 计算机算法 7
1.3.1 算法的基本概念 7
1.3.2 算法的表示方法(描述方式) 9
1.3.3 算法设计要解决的一些基本问题 13
1.4 程序的基本结构和流程图 14
1.4.1 顺序结构 14
1.4.2 选择结构 15
1.4.3 循环结构 16
1.5 C/C++程序设计概述 17
1.5.1 C/C++简介 17
1.5.2 C/C++程序示例 19
1.5.3 C/C++程序编译和执行 21
1.5.4 C/C++开发工具简介 21
第2章 C/C++开发工具Dev-C++的使用 24
2.1 C/C++开发工具Dev-C++简介 24
2.2 文件(项目)管理规划 24
2.3 Dev-C++的使用 25
2.3.1 启动Dev-C++ 25
2.3.2 新建源程序 26
2.3.3 保存源程序 26
2.3.4 编译运行 27
2.3.5 重新编译、运行 27
2.3.6 C语言源程序与C++源程序比较分析 28
2.4 Dev-C++的进一步使用 29
第3章 C/C++程序设计基础 32
3.1 程序设计基本知识 32
3.1.1 位和字节 32
3.1.2 基本数制 33
3.1.3 数制相互之间的转换 35
3.1.4 数值编码 38
3.2 标识符与关键字 42
3.3 数据类型 43
3.4 变量与常量 46
3.4.1 变量 46
3.4.2 常量 49
3.5 数据类型转换 52
3.5.1 自动类型转换 53
3.5.2 强制类型转换 53
3.6 运算符和表达式 54
3.6.1 运算符及其运算优先级 54
3.6.2 算术运算符与算术表达式 55
3.6.3 赋值运算符与赋值表达式 56
3.6.4 逗号运算符和逗号表达式 57
3.6.5 C/C++语句 58
第4章 顺序结构及其应用程序设计 59
4.1 3种最基本的输入/输出方法 59
4.1.1 变量赋值输入法 59
4.1.2 C++基本输入/输出 60
4.1.3 C语言格式化输入/输出 61
4.2 数学表达式应用程序设计 66
4.3 综合应用题应用程序设计 68
4.4 格式化输入/输出 71
4.4.1 使用C语言标准输入/输出 71
4.4.2 使用C++流格式化输入/输出 72
第5章 选择结构及其应用程序设计 75
5.1 关系运算符和逻辑运算符 75
5.1.1 关系运算符和关系表达式 75
5.1.2 逻辑运算符与逻辑表达式 76
5.1.3 条件运算符 77
5.2 if语句 77
5.2.1 if语句的3种形式 78
5.2.2 嵌套if语句 82
5.2.3 条件运算符(三目运算符) 85
5.3 switch语句 86
5.3.1 switch语句的基本格式 86
5.3.2 switch语句应用程序设计 87
第6章 循环结构及其应用程序设计 90
6.1 for语句 90
6.1.1 for语句的基本格式 90
6.1.2 break语句和continue语句 92
6.1.3 循环嵌套 94
6.2 while语句与do-while语句 95
6.2.1 while语句与do-while语句的基本格式 95
6.2.2 while语句与do-while语句应用程序设计 96
6.3 逻辑思维与计算机解题 99
6.3.1 逻辑思维 99
6.3.2 利用逻辑思维进行计算机解题 100
第7章 数组及其应用程序设计 107
7.1 一维数组及其应用程序设计 107
7.1.1 一维数组的定义 107
7.1.2 一维数组元素的引用 108
7.1.3 一维数组的初始化 108
7.1.4 一维数组的应用及其应用程序设计 109
7.2 二维数组及其应用程序设计 114
7.2.1 二维数组的定义 114
7.2.2 二维数组的初始化 115
7.2.3 二维数组的应用及其应用程序设计 116
7.3 字符与字符串 121
7.3.1 字符与字符的相互转换 121
7.3.2 字符串的表示 123
7.3.3 字符串的操作 125
第8章 函数及其应用程序设计 131
8.1 函数 131
8.1.1 函数与函数类型 131
8.1.2 函数中的形参与实参 131
8.1.3 函数声明 133
8.2 递归函数 137
8.3 对递归函数的进一步理解 141
8.3.1 队列与堆栈 141
8.3.2 递归与堆栈 142
第9章 结构体及其应用程序设计 146
9.1 地址与指针 146
9.1.1 与地址和指针相关的几个概念 146
9.1.2 变量、地址与指针 146
9.1.3 地址与指针操作实例 147
9.2 结构体 151
9.2.1 结构体的定义 151
9.2.2 结构体信息静态输入 151
9.2.3 结构体信息动态输入 153
9.3 一个简单的学生管理系统设计 155
第10章 链表及其应用程序设计 162
10.1 链表 162
10.1.1 链表的定义与分类 162
10.1.2 链表的基本结构 163
10.2 静态链表及其应用程序设计 164
10.3 动态链表及其应用程序设计 165
10.3.1 建立链表 166
10.3.2 删除节点 166
10.3.3 插入节点 167
10.4 一个基于单向链表的通用管理系统设计 170
第11章 文件及其应用程序设计 176
11.1 文件概述 176
11.1.1 文件与文件名 176
11.1.2 文件的分类 177
11.1.3 文件流与数据流 177
11.1.4 文件的打开与关闭 178
11.1.5 C/C++中带缓冲区的文件处理 178
11.2 文件的3种处理形式 179
11.2.1 FILE指针 179
11.2.2 重定向 181
11.2.3 输入/输出流 181
11.3 文件应用程序设计 182
第12章 编译预处理与源程序在线测评系统 187
12.1 编译预处理 187
12.1.1 宏定义 187
12.1.2 文件包含 188
12.1.3 条件编译 191
12.2 源程序在线测评系统 193
12.2.1 源程序在线测评系统简介 193
12.2.2 国内外主要的在线测评系统网站 193
12.2.3 RealOJ源程序在线测评系统实例 194
附录一 ASCII码一览表 196
附录二 C/C++部分关键字用途及其中文释义 197
附录三 ANSI C标准关键字及其中文释义 200
参考文献 201