当前位置:首页 > 工业技术
C/C++程序设计基础与实践教程
C/C++程序设计基础与实践教程

C/C++程序设计基础与实践教程PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:杨明莉,刘磊主编;成桂玲,吴大亲,赵百阳等副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302354215
  • 页数:349 页
图书介绍:本书以C/C++语言程序设计基础为主,在第一部分,基础知识篇中利用十一个章节,注重讲解程序设计的概念、方法和思路;利用实训,培养同学的基本编程能力、以及逻辑思维和抽象能力。在第二部分,综合提炼篇中,以课程设计综合训练为辅,综合培养学生自主学习和综合练习的能力;以ACM-ICPC竞赛试题为提炼,凝练算法,提升结题思路和方法技巧等。全书体系编排新颖,内容丰富,通俗易懂。
《C/C++程序设计基础与实践教程》目录

第一部分 基础知识篇 3

第1章 C/C++程序设计概述 3

1.1 C/C++程序简介 3

1.1.1 C/C++的发展史 3

1.1.2 C语言程序的特点 4

1.2 算法 5

1.2.1 算法的特性 5

1.2.2 算法的表示 6

1.3 C程序的基本结构及基本词法 7

1.3.1 C程序的基本结构 7

1.3.2 C程序的基本词法 8

1.4 面向对象程序设计概述 11

1.5 C程序的编译环境和运行方法介绍 11

1.6 Visual C++6.0的上机环境介绍 12

1.6.1 Visual C++的安装和启动 12

1.6.2 输入和编辑源程序 13

1.6.3 编译、连接源程序 15

1.6.4 建立和运行多文件程序 17

实训1 简单C程序的调试和运行 21

本章小结 22

习题1 22

第2章 数据类型、运算符与表达式 24

2.1 C语言数据类型 24

2.2 变量、常量和标识符 25

2.2.1 标识符 25

2.2.2 变量 26

2.2.3 常量 28

2.3 整型数据 28

2.3.1 整型常量 28

2.3.2 整型变量 29

2.4 浮点型数据 30

2.4.1 浮点型常量 30

2.4.2 浮点型变量 31

2.5 字符型数据 32

2.5.1 字符常量 32

2.5.2 字符变量 33

2.5.3 字符串常量 34

2.6 运算符与表达式 35

2.6.1 算术运算符和算术表达式 36

2.6.2 关系运算符和关系表达式 36

2.6.3 逻辑运算符和逻辑表达式 37

2.6.4 赋值运算符和赋值表达式 38

2.6.5 逗号运算符和逗号表达式 39

2.6.6 变量的自增、自减运算符 39

2.6.7 长度运算符 40

2.6.8 运算符的优先级、结合性及混合运算问题 40

2.7 常用的输入/输出库函数 41

2.7.1 字符数据的输入/输出 41

2.7.2 格式输入与输出函数 42

2.8 综合运算举例 47

实训2 字符数据的输入与输出 48

实训3 格式输入与输出函数的应用 49

本章小结 50

习题2 50

第3章 程序控制结构 53

3.1 顺序结构程序设计 53

3.2 选择结构程序设计 54

3.2.1 if语句的3种形式 54

3.2.2 条件运算符和条件表达式 58

3.2.3 switch语句实现多分支选择结构 59

3.3 循环结构程序设计 60

3.3.1 当循环结构(while) 60

3.3.2 直到型循环结构(do…while) 62

3.3.3 次数循环结构(for) 62

3.3.4 循环嵌套与多重循环结构 65

3.3.5 goto语句及标号语句 65

3.3.6 几种循环语句的比较 66

3.3.7 循环体内break语句和continue语句 66

3.4 程序控制结构综合举例 67

实训4 多分支选择结构程序设计 70

实训5 双重循环结构程序设计 71

实训6 多重循环结构程序设计 72

本章小结 73

习题3 73

第4章 数组 80

4.1 一维数组 80

4.1.1 一维数组的定义 80

4.1.2 一维数组的存储形式 81

4.1.3 一维数组元素的引用 81

4.1.4 一维数组的初始化 82

4.1.5 一维数组程序设计举例 83

4.2 二维数组及多维数组 85

4.2.1 二维数组及多维数组的定义 85

4.2.2 二维数组及多维数组的存储形式 86

4.2.3 二维数组元素的引用 87

4.2.4 二维数组元素的初始化 87

4.2.5 二维数组程序设计举例 88

4.3 字符数组与字符串 90

4.3.1 字符数组与字符串 90

4.3.2 字符数组的输入与输出 91

4.3.3 字符串处理函数 92

4.3.4 字符数组程序设计举例 96

实训7 数组程序设计 98

实训8 字符数组程序设计 100

本章小结 101

习题4 101

第5章 函数 106

5.1 函数概述 106

5.1.1 函数的概念 106

5.1.2 函数的分类 107

5.2 C函数的定义和调用 108

5.2.1 函数的定义 108

5.2.2 函数的调用 110

5.2.3 C++中函数形参默认值 116

5.3 C++中的函数重载 116

5.4 函数间的数据传递 117

5.4.1 值传递方式 118

5.4.2 地址传递方式 119

5.4.3 返回值方式 121

5.4.4 全局变量传递方式 122

5.4.5 在C++中访问全局变量 124

5.4.6 变量的存储类型 125

5.5 递归调用与递归函数 128

5.5.1 递归函数的特点 128

5.5.2 递归函数的设计 130

5.6 内部函数和外部函数 131

5.6.1 内部函数 131

5.6.2 外部函数 131

5.7 函数应用程序综合举例 132

实训9 函数应用程序设计 135

实训10 参数传递方式的程序设计 136

本章小结 138

习题5 139

第6章 指针 145

6.1 指针的基本概念 145

6.1.1 内存地址、变量地址及指针 145

6.1.2 指针变量的定义与引用 146

6.2 指针与数组 150

6.2.1 指针与一维数组 150

6.2.2 指针与二维数组 153

6.2.3 指针与字符串 155

6.2.4 指针数组 159

6.2.5 多级指针 161

6.3 指针与函数 163

6.3.1 指向函数的指针 163

6.3.2 返回指针的函数 165

6.3.3 主函数main的参数 167

6.4 指针程序综合举例 168

实训11 指针程序设计 169

本章小结 172

习题6 172

第7章 结构体和共用体 176

7.1 结构体 176

7.1.1 结构体概述 176

7.1.2 结构体数组 181

7.1.3 结构体指针 183

7.1.4 结构体与函数 189

7.1.5 结构体指针的应用——链表 192

7.2 共用体 199

7.2.1 共用体的基本概念 199

7.2.2 共用体变量的引用和初始化 201

7.2.3 共用体的应用 202

7.3 枚举类型 202

7.3.1 枚举类型的基本概念 203

7.3.2 枚举变量的引用和初始化 203

7.3.3 枚举类型的应用 204

7.4 用户自定义类型 206

7.4.1 用户自定义类型的定义形式 206

7.4.2 用户自定义类型声明新类型的方法 207

7.4.3 使用用户自定义类型的有关说明 207

7.5 综合程序设计举例 208

实训12 结构体程序设计 211

实训13 共用体程序设计 215

本章小结 216

习题7 216

第8章 编译预处理 220

8.1 宏定义 220

8.1.1 不带参数的宏定义 220

8.1.2 带参数的宏定义 223

8.2 文件包含 229

8.3 条件编译 231

8.3.1 指定表达式真假值 231

8.3.2 指定某种符号是否定义 233

实训14 宏定义、文件包含的应用 234

实训15 条件编译的应用 238

本章小结 239

习题8 240

第9章 面向对象程序设计基础 244

9.1 面向对象程序设计 244

9.1.1 面向对象的基本原理 244

9.1.2 面向对象程序设计的基本特点 245

9.2 类与对象 246

9.2.1 C++中类的定义 246

9.2.2 类成员的访问控制 247

9.2.3 类的成员函数 248

9.2.4 类的对象变量定义及访问 250

9.3 构造函数和析构函数 251

9.3.1 构造函数 251

9.3.2 析构函数 254

9.3.3 指向对象的指针变量 255

9.4 继承与派生 256

9.4.1 C++的继承机制 257

9.4.2 派生类的定义 257

9.4.3 派生类的3种继承方式 258

9.4.4 类型兼容规则 261

9.4.5 派生类的构造函数和析构函数 263

9.4.6 派生类成员的标识与访问 265

9.5 多态性 266

9.5.1 多态性概述 267

9.5.2 虚函数 267

9.5.3 纯虚函数和抽象类 269

9.6 面向对象程序设计综合举例 272

实训16 构造函数和析构函数的应用 276

实训17 类的继承和派生、多态性的综合应用 279

本章小结 281

习题9 282

第10章 位运算 288

10.1 位运算符 288

10.1.1 按位与运算 288

10.1.2 按位或运算 289

10.1.3 按位异或运算 289

10.1.4 求反运算 289

10.1.5 左移运算 290

10.1.6 右移运算 290

10.2 位域(位段) 290

10.3 综合位运算举例 293

本章小结 296

习题10 296

第11章 文件 298

11.1 文件概述 298

11.2 文件指针 299

11.3 文件的打开与关闭 299

11.3.1 文件打开函数(fopen函数) 299

11.3.2 文件关闭函数(fclose函数) 301

11.4 文件的读/写 301

11.4.1 字符读/写函数(fgetc和fputc函数) 301

11.4.2 字符串读/写函数(fgets和fputs函数) 305

11.4.3 数据块读/写函数(fread和fwrite函数) 306

11.4.4 格式化读/写函数(fscanf和fprintf函数) 308

11.5 文件的随机读/写 309

11.5.1 文件定位 309

11.5.2 文件的随机读/写的应用 310

11.6 文件检测函数 310

11.7 C库文件 311

11.8 文件应用程序举例 312

本章小结 314

习题11 314

第二部分 综合提炼篇 319

第12章 综合课程设计 319

12.1 课程设计的培养目标 319

12.2 课程设计的目的和要求 319

12.3 课程设计的实现步骤 319

12.4 课程设计报告的书写格式 320

12.5 课程设计的成绩评定 320

12.6 课程设计报告书的封面格式 321

12.7 课程设计任务书 322

第13章 提炼ACM-ICPC算法精解 326

13.1 ACM-ICPC简介 326

13.2 ACM-ICPC经典算法汇总 327

13.3 ACM-ICPC算法精解 328

13.3.1 三色旗问题 328

13.3.2 八皇后问题 329

13.3.3 Armstrong数 331

13.3.4 最大访客数 332

13.3.5 赌博游戏 334

13.3.6 排列组合的算法 336

13.3.7 奇数魔方阵 338

本章小结 339

附录A ASCⅡ码对照表 340

附录B 常用运算符及其优先级 341

附录C 常见的C语言库函数 343

参考文献 349

返回顶部