《程序设计基础(C++计算机应用21世纪高等学校规划教材)》由杨朝霞主编,以C++语言为依托,主要以结构化程序设计方法为线索,介绍利用计算机编写程序解决问题的常用方法以及基本算法。本书通过案例和问题分析引入学习内容,循序渐进,内容全面,概念清晰,语言简单易懂,实用性强。本书以我国目前的计算机公共课教学现状为背景,针对没有任何高级语言基础的初学者而撰写。
书中所有程序实例都是由授课教师在多年授课过程中精挑细选所得,并采用目前流行的可视化的Microsoft Develop Studio集成开发环境,对于典型案例和重点内容,有详细的思路分析和归纳总结,重点突出,使读者在编程的思维训练和程序设计的严谨风格等方面得到有益训练。
本书可作为高校理工科类学生学习程序设计的教材,也可以作为程序设计的初学者、从事工程计算的工作人员和科研人员的参考书。
《程序设计基础(C++计算机应用21世纪高等学校规划教材)》由杨朝霞主编,以C++语言为依托,重点介绍结构化程序设计方法和解决问题的常用算法,诸如迭代法、穷举法、递归法等,同时介绍利用计算机编写程序解决问题时对于大批量数据的典型组织方法。本书第1、7、8章也对面向对象程序设计方法做了入门介绍,可以为读者后续学习面向对象程序设计方法奠定必要的基础知识。
《程序设计基础(C++计算机应用21世纪高等学校规划教材)》对基本概念的讲解透彻、全面、深入,对于大多数知识点以案例引入,通过对实际问题的分析展现程序设计的一般思路,符合初学者的认知规律,易于入门与提高。
本书针对没有任何高级语言基础的初学者撰写,适于作为高等学校非计算机专业的程序设计语言公共课教材,也可以作为普通读者的自学参考书。
第1章 程序设计基础导论 1
1.1 算法和程序设计初步 1
1.1.1 利用计算机解题的方法和步骤 1
1.1.2 算法 4
1.1.3 简单算法举例 6
1.1.4 算法的三种基本控制结构 10
1.2 N-S结构化流程图 11
1.3 程序设计方法概述 12
1.3.1 结构化程序设计 13
1.3.2 面向对象的程序设计 14
1.3.3 面向问题的程序设计 15
1.3.4 程序设计方法的比较 15
习题 16
第2章 C++概述 18
2.1 C与C++ 18
2.1.1 C++的诞生 18
2.1.2 C++的起名 19
2.1.3 C++的特点 19
2.2 C++程序举例 19
2.2.1 面向过程的程序举例 20
2.2.2 C++程序的基本结构和书写风格 22
2.3 C++集成开发环境介绍 25
2.3.1 C++程序的开发过程和上机实践 25
2.3.2 Visual C++ 6.0简介 26
2.3.3 简单C++程序的开发步骤案例 27
2.4 程序调试和常见错误 30
2.4.1 常见语法错误 30
2.4.2 修改语法错误说明 31
*2.5 文件包含 31
习题 32
第3章 C++语言基础 35
3.1 C++的字符集与词汇 35
3.1.1 字符集 35
3.1.2 词汇 35
3.2 C++的数据类型与存储形式 37
3.2.1 数据的分类 37
3.2.2 数据的存储 38
3.3 常量和变量 38
3.3.1 变量 38
3.3.2 常量 42
3.3.3 逻辑常量与逻辑变量 48
3.4 变量与指针变量 48
3.4.1 指针的概念 49
3.4.2 变量与指针 49
3.5 运算符和表达式 53
3.5.1 算术运算符与算术表达式 55
3.5.2 赋值运算符与赋值表达式 56
3.5.3 类型转换 58
3.5.4 关系运算符与关系表达式 62
3.5.5 逻辑运算符与逻辑表达式 63
3.5.6 逗号运算符与逗号表达式 64
*3.6 位运算 65
3.7 C++的输入与输出 66
3.7.1 键盘输入 66
3.7.2 标准格式输出 68
3.8 小结 72
习题 73
第4章 结构化程序设计 78
4.1 C++的基本语句 78
4.2 顺序结构程序设计 80
4.3 选择结构程序设计 81
4.3.1 简单if语句 82
4.3.2 if-else语句(双分支) 83
4.3.3 嵌套的if语句(多分支) 86
4.3.4 switch语句 92
4.4 循环结构程序设计 94
4.4.1 while语句 94
4.4.2 do-while语句 96
4.4.3 for语句 97
4.4.4 其他控制语句 99
4.4.5 循环的嵌套 101
4.5 结构化程序设计举例 103
习题 105
第5章 函数 110
5.1 函数的定义与调用 110
5.1.1 函数定义 112
5.1.2 函数调用 113
5.1.3 函数原型 115
5.2 函数参数的传递 117
5.2.1 传值参数 117
5.2.2 指针参数 118
5.2.3 引用参数 119
5.2.4 数组名作参数 119
5.2.5 函数的返回类型 120
5.3 函数调用机制 120
5.3.1 嵌套调用 120
5.3.2 递归调用 120
5.4 函数指针和指向函数的指针变量 122
5.4.1 函数的指针 122
5.4.2 用函数指针变量调用函数 122
5.4.3 指向函数的指针变量作为函数的参数 124
5.5 内联函数和重载函数 124
5.5.1 内联函数 124
5.5.2 重载函数 125
5.6 变量的作用域与存储特性 126
5.6.1 变量的作用域 126
5.6.2 变量的存储类型 129
习题 132
第6章 数组 137
6.1 一维数组 137
6.1.1 静态一维数组的定义 137
6.1.2 一维数组元素的引用 138
6.1.3 一维数组的存储形式 139
6.1.4 数组和指针 140
6.1.5 一维数组的初始化 142
6.1.6 数组作函数参数 143
6.1.7 一维数组程序举例 144
6.1.8 动态内存分配 154
6.2 二维数组 156
6.2.1 二维数组的定义与初始化 156
6.2.2 二维数组的基本操作 159
6.3 字符串 161
6.3.1 字符数组表示字符串 162
6.3.2 字符串变量和string类 164
6.3.3 字符串的输入输出 166
6.3.4 字符串的指针和指向字符串的指针变量 168
6.3.5 字符串程序举例 169
习题 169
第7章 结构 173
7.1 结构体类型和结构体变量 173
7.1.1 结构体类型的声明 174
7.1.2 结构体变量的定义 175
7.1.3 结构体变量的引用 176
7.1.4 结构体变量的初始化 179
7.2 共用体类型和共用体变量 180
7.3 类类型和对象 184
7.3.1 类的定义 184
7.3.2 对象的定义 189
7.3.3 对象成员的引用 189
7.4 小结 190
习题 190
第8章 面向对象程序设计基础 194
8.1 面向对象的程序举例 194
8.2 面向对象程序设计概述 196
8.2.1 面向对象的基本思路和方法 196
8.2.2 面向对象的基本概念 198
8.2.3 类和对象的关系及作用 200
8.2.4 类成员的访问控制权限 200
8.3 面向对象简单程序案例 201
8.3.1 带类的解法 202
8.3.2 面向对象的求解方法 202
8.3.3 继承和派生 204
8.3.4 多态 206
8.4 作用域运算符:: 210
8.5 对象的初始化和销毁 211
8.5.1 构造函数 211
8.5.2 析构函数 212
8.5.3 派生类对象的初始化和清除 213
8.6 常对象和常成员 217
8.7 静态成员 220
8.8 this指针 224
8.9 小结 224
习题 225
第9章 输入输出流与文件操作 229
9.1 输入输出流 229
9.1.1 标准输出流 229
9.1.2 标准输入流 231
9.2 文件流 232
9.2.1 文件的打开和关闭 232
9.2.2 文本文件的读写 233
9 .2.3 二进制文件的读写 234
习题 235
附录A C++常用字符与ASCII代码对照表 239
附录B C++常用数学库函数 241
附录C C++常见编译错误信息释义 243
附录D C++常见关键字 247