C程序设计
C程序设计封面图

C程序设计

姜学锋, 曹光前, 刘君瑞, 魏英, 编著

出版社:清华大学出版社

年代:2012

定价:49.0

书籍简介:

本书是针对大学计算机基础课程教学的教材,系统介绍了C语言的基本语法、程序设计方法及常用算法。

书籍目录:

第1章 程序设计基础11.1 计算机系统和工作原理1

1.1.1 计算机系统的组成1

1.1.2 指令与程序3

1.2 信息的表示与存储5

1.2.1 计算机的数字系统5

1.2.2 进位计数制的转换6

1.2.3 数值数据的表示9

1.2.4 非数值数据的表示13

1.3 程序设计语言14

1.3.1 机器语言与汇编语言14

1.3.2 高级语言15

1.4 程序设计概述16

1.4.1 计算机问题求解的基本特点16

1.4.2 算法的定义与特性17

1.4.3 算法的表示17

1.4.4 结构化程序设计19

1.4.5 面向对象程序设计20

1.4.6 程序设计技术前沿21

1.5 C语言概述21

1.5.1 C语言的历史与特点21

1.5.2 C语言基本词法22

1.5.3 简单的C程序24

1.5.4 C程序基本结构26

1.5.5 C程序开发步骤27

1.5.6 C程序编码风格28

习题28第2章 数据类型与表达式30

2.1 数据类型30

2.1.1 整型31

2.1.2 浮点型32

2.1.3 字符型33

2.2 常量34

2.2.1 整型常量34

2.2.2 浮点型常量35

2.2.3 字符常量35

2.2.4 字符串常量37

2.2.5 符号常量38

2.3 变量39

2.3.1 变量的概念39

2.3.2 定义变量39

2.3.3 使用变量40

2.3.4 存储类别41

2.3.5 类型限定41

2.4 运算符与表达式42

2.4.1 运算符与表达式的概念42

2.4.2 算术运算符45

2.4.3 自增自减运算符46

2.4.4 关系运算符47

2.4.5 逻辑运算符48

2.4.6 条件运算符50

2.4.7 位运算符51

2.4.8 赋值运算符55

2.4.9 取长度运算符57

2.4.10 逗号运算符57

2.4.11 圆括号运算符58

2.4.12 常量表达式58

2.5 类型转换59

2.5.1 隐式类型转换59

2.5.2 显式类型转换61

习题62

第3章 程序控制结构64

3.1 语句64

3.1.1 简单语句64

3.1.2 复合语句66

3.1.3 注释67

3.1.4 语句的写法68

3.2 输入与输出69

3.2.1 字符输入与输出69

3.2.2 格式化输出71

3.2.3 格式化输入76

3.3 程序顺序结构79

3.3.1 顺序执行79

3.3.2 跳转执行79

3.4 程序选择结构80

3.4.1 if语句80

3.4.2 switch语句84

3.4.3 选择结构的嵌套86

3.4.4 选择结构程序举例90

3.5 程序循环结构92

3.5.1 while语句92

3.5.2 do语句94

3.5.3 for语句96

3.5.4 break语句97

3.5.5 continue语句98

3.5.6 循环结构的嵌套99

3.5.7 循环结构程序举例99

习题103

第4章 函数106

4.1 函数定义106

4.1.1 函数定义的一般形式106

4.1.2 函数返回109

4.2 函数参数110

4.2.1 形式参数110

4.2.2 实际参数111

4.2.3 参数传递机制111

4.2.4 函数调用栈112

4.2.5 const参数114

4.2.6 可变参数函数114

4.3 函数原型与调用116

4.3.1 函数声明和函数原型116

4.3.2 库函数的调用方法119

4.3.3 标准库函数120

4.4 内联函数124

4.5 函数调用形式125

4.5.1 嵌套调用125

4.5.2 递归调用128

4.6 作用域和生命期130

4.6.1 局部变量130

4.6.2 全局变量131

4.6.3 作用域132

4.6.4 程序映像和内存布局135

4.6.5 生命期138

4.7 对象初始化141

4.8 声明与定义143

4.9 变量修饰小结145

4.10 程序组织结构146

4.10.1 内部函数146

4.10.2 外部函数146

4.10.3 多文件结构147

4.10.4 头文件与工程文件148

4.10.5 提高编译速度149

4.11 函数应用程序举例151

习题154

第5章 预处理命令156

5.1 宏定义156

5.1.1 不带参数的宏定义157

5.1.2 带参数的宏定义159

5.1.3 #和##预处理运算163

5.1.4 预定义宏163

5.2 文件包含164

5.3 条件编译166

5.3.1 #define定义条件166

5.3.2 #ifdef、#ifndef166

5.3.3 #if-#elif167

5.4 其他命令168

习题169

第6章 数组171

6.1 一维数组的定义和引用171

6.1.1 一维数组的定义171

6.1.2 一维数组的初始化173

6.1.3 一维数组的引用173

6.2 多维数组的定义和引用175

6.2.1 多维数组的定义175

6.2.2 多维数组的初始化177

6.2.3 多维数组的引用178

6.3 数组与函数181

6.3.1 数组作为函数的参数181

6.3.2 数组参数的传递机制182

6.4 字符串185

6.4.1 字符数组185

6.4.2 字符串187

6.4.3 字符串的输入和输出189

6.4.4 字符串数组190

6.4.5 字符串处理函数191

6.5 数组应用程序举例196

习题206

第7章 指针208

7.1 指针与指针变量208

7.1.1 地址和指针的概念208

7.1.2 指针变量209

7.2 指针的使用及运算211

7.2.1 获取对象的地址211

7.2.2 指针的间接访问212

7.2.3 指针变量的初始化与赋值214

7.2.4 指针的有效性216

7.2.5 指针运算217

7.2.6 指针的const限定222

7.3 指针与数组224

7.3.1 指向一维数组元素的指针224

7.3.2 指向多维数组元素的指针228

7.3.3 数组指针232

7.3.4 指针数组234

7.3.5 指向指针的指针236

7.4 指针与字符串238

7.4.1 指向字符串的指针239

7.4.2 指针与字符数组的比较241

7.4.3 指向字符串数组的指针242

7.5 指针与函数244

7.5.1 指针作为函数参数244

7.5.2 函数返回指针值253

7.5.3 函数指针254

7.6 动态内存258

7.6.1 动态内存的概念258

7.6.2 动态内存的分配和释放259

7.6.3 动态内存的应用260

7.7 带参数的main函数264

习题266

第8章 自定义数据类型267

8.1 结构体类型267

8.2 结构体对象269

8.2.1 结构体对象的定义269

8.2.2 结构体对象的初始化272

8.2.3 结构体对象的使用272

8.3 结构体与数组274

8.3.1 结构体数组274

8.3.2 结构体数组成员274

8.4 结构体与指针275

8.4.1 指向结构体的指针275

8.4.2 指向结构体数组的指针277

8.4.3 结构体指针成员278

8.5 结构体与函数279

8.5.1 结构体对象作为函数参数279

8.5.2 结构体数组作为函数参数279

8.5.3 结构体指针作为函数参数280

8.5.4 函数返回结构体对象或指针280

8.6 共用体281

8.6.1 共用体概念及类型声明281

8.6.2 共用体对象的定义282

8.6.3 共用体对象的使用282

8.6.4 结构体与共用体嵌套284

8.7 枚举类型284

8.7.1 枚举类型的声明284

8.7.2 枚举类型对象285

8.8 位域285

8.8.1 位域的声明285

8.8.2 位域的使用287

8.9 用户自定义类型288

习题291

第9章 链表293

9.1 链表概述293

9.1.1 链表的概念293

9.1.2 单链表与双链表294

9.2 链表的创建295

9.2.1 创建单链表295

9.2.2 创建双链表298

9.3 链表的运算299

9.3.1 链表的遍历299

9.3.2 销毁链表301

9.3.3 查找结点302

9.3.4 链表的逆序304

9.4 结点的插入与删除304

9.4.1 单链表插入结点304

9.4.2 单链表删除结点305

9.4.3 双链表插入结点306

9.4.4 双链表删除结点307

习题308

第10章 文件311

10.1 文件概述311

10.1.1 文件系统311

10.1.2 流式文件312

10.1.3 文件指针312

10.2 文件打开与关闭313

10.2.1 文件打开313

10.2.2 文件关闭314

10.2.3 文件状态315

10.2.4 文件缓冲316

10.3 文件读写操作317

10.3.1 文件读写操作的基本形式317

10.3.2 读写字符数据317

10.3.3 读写字符串数据318

10.3.4 读写格式数据319

10.3.5 读写数据块321

10.4 文件定位324

习题325

第11章 算法327

11.1 算法基本概念327

11.1.1 什么是算法327

11.1.2 算法基本要素327

11.1.3 算法求解过程328

11.2 算法分析329

11.2.1 时间复杂度329

11.2.2 空间复杂度332

11.3 常用算法332

11.3.1 分治法332

11.3.2 动态规划335

11.3.3 贪心算法338

11.3.4 回溯法341

习题343

第12章 数据结构345

12.1 数据结构基本概念345

12.1.1 什么是数据结构345

12.1.2 逻辑结构与存储结构346

12.1.3 数据结构与数据类型346

12.2 线性表347

12.2.1 线性表的基本概念347

12.2.2 线性顺序表及其运算350

12.2.3 线性链式表及其运算355

12.3 栈和队列355

12.3.1 栈的定义355

12.3.2 栈的顺序存储及基本运算356

12.3.3 栈的链式存储及基本运算358

12.3.4 队列的定义358

12.3.5 队列的顺序存储及基本运算359

12.3.6 队列的链式存储及基本运算361

12.4 树和二叉树361

12.4.1 树的基本概念361

12.4.2 二叉树及其基本性质364

12.4.3 二叉树的存储结构367

12.4.4 二叉树的遍历368

习题370

第13章 高级编程技术372

13.1 配置开发环境372

13.1.1 开发环境的路径参数372

13.1.2 开发环境的路径设置373

13.1.3 开发环境的配置375

13.1.4 函数库的包含和连接376

13.1.5 函数库配置举例378

13.2 界面编程381

13.2.1 Windows编程的基本概念381

13.2.2 数据定义与数据类型382

13.2.3 消息与消息循环385

13.2.4 资源与资源文件387

13.2.5 Windows应用程序结构396

13.2.6 Windows编程框架402

13.2.7 图形输出409

13.2.8 事件处理425

13.2.9 控件与对话框434

13.3 图形编程441

13.3.1 图形编程概述441

13.3.2 OpenGL简介442

13.3.3 GLUT编程模式444

13.3.4 Win32编程模式449

13.4 多媒体编程456

13.4.1 MCI编程456

13.4.2 MCIWnd编程462

13.4.3 MMAPI编程467

13.5 网络编程472

13.5.1 Winsock简介472

13.5.2 Winsock编程473

13.5.3 TCP编程模式476

13.5.4 UDP编程模式480

13.6 数据库编程483

13.6.1 数据库编程概述483

13.6.2 ODBC简介484

13.6.3 ODBC编程487

13.6.4 数据库编程举例494

习题497

附录A ASCII码对照表499

附录B C语言关键字500

附录C C语言运算符及其优先级、结合性502

参考文献504

内容摘要:

本书以C语言为基础,系统地介绍程序语言、算法与数据结构以及高级编程技术。全书由13章组成,以程序设计语言、程序设计方法和程序设计技术三大主题组织教材内容,采用了“数据表示”和“程序实现”双线索知识体系,优化了程序设计知识的安排。本书结构清晰、语言通俗易懂,示例代码具有专业的编程风格;内容由浅入深、知识循序渐进,例题丰富,体现了程序设计和算法、数据结构的紧密结合。本书注重典型案例的精选与提炼。本书的高级编程技术内容便于开展课程设计和研究型学习。本书配套有经过多年教学实践的程序设计综合训练平台。本书可作为高等院校理工类专业和信息技术类培训机构“程序设计”、“软件开发技术”课程的教材,也可作为计算机程序设计爱好者学习程序开发和编程技术的自学教材。

书籍规格:

书籍详细信息
书名C程序设计站内查询相似图书
9787302280118
如需购买下载《C程序设计》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)49.0语种简体中文
尺寸26 × 19装帧平装
页数印数 3000

书籍信息归属:

C程序设计是清华大学出版社于2012.出版的中图分类号为 TP312 的主题关于 C语言-程序设计-高等学校-教材 的书籍。