下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > 编程语言 >C/C++ > C语言编程实战宝典(开发宝典丛书)

C语言编程实战宝典(开发宝典丛书)

综合评级:★★★★★

定价:99.00

作者:贾蓓,姜薇,镇明敏 等 著

出版社:清华大学出版社

出版日期:2015年5月

页数:624

字数:1000000

ISBN:9787302395362

书籍介绍

  “开发宝典丛书”是由清华大学出版社为软件开发爱好者精心打造的一套软件开发百科全书。丛书强调“全面、新颖、详细、实用、深入、高效”等特色,涵盖常见的编程语言和技术。丛书中的每本书都是由从事软件开发多年、具备丰富的开发经验的老手精心编写,讲解细腻,内容实用,并精心录制了配套教学视频。可以说,这套丛书是编程爱好者系统学习软件开发技术的不二选择,一册在手,万事无忧!

  本书全面、系统地介绍了C语言的基础知识,以及如何使用C语言进行程序开发。书中的内容涉及面广,从基本操作到进阶技巧和高级技术,再到项目开发,几乎涉及C语言开发过程中的所有重要知识。本书讲解时提供了大量的实例,供读者实战演练。另外,本书附赠15小时高品质同步教学视频,对书中的重点和难点内容做了详细讲解,便于读者更加高效、直观地学习。该视频录音清晰,画面清楚,讲解到位,可以让读者感受身临实际教学课堂,聆听老师讲解的教学效果。

  全书共21章,分为3篇。第1篇为C语言基础知识,涉及的主要内容有C语言概述、C语言与算法、函数、常量、基本数据类型、运算符、表达式、变量、流程控制、数组、指针、构造数据类型和预处理命令等。第2篇为C语言进阶技巧,涉及的主要内容有字符及字符串处理、内存处理、文件处理、底层程序设计、数学计算支持、错误处理和国际化特性等。第3篇为C语言编程实战,介绍了五子棋游戏、图书管理系统和制作通讯录3个C语言编程实战案例。

  本书讲解由浅入深,通俗易懂,适合C语言初学者及所有想全面学习C语言开发的人员阅读,也适合各种使用C语言进行开发的工程技术人员阅读。对于程序员而言,本书也是一本不可多得的案头必备参考书,供开发时随时查阅。

  本书配套资源:

  本书涉及的源文件;

  15小时同步教学视频;

  本书习题答案;

  本书教学PPT。

相关课程
目录
第1篇 C语言基础知识

第1章 C语言概述( 教学视频:35分钟)

1.1 关于程序设计

1.1.1 了解程序设计

1.1.2 了解计算机语言

1.1.3 计算机语言的分类

1.2 C语言概述

1.2.1 C语言的历史发展

1.2.2 C语言的基本特点

1.3 C语言的开发环境

1.3.1 编辑器、编译器和链接器

1.3.2 集成开发环境

1.4 Turbo C的使用

1.5 Microsoft Visual C++ 6.0的使用

1.6 Hello World程序

1.7 A+B程序

1.8 程序错误和调试

1.9 小结

1.10 习题

第2章 C语言与算法( 教学视频:39分钟)

2.1 算法的基本概念

2.1.1 算法基础

2.1.2 算法特性

2.1.3 算法的使用举例

2.2 算法描述

2.2.1 自然语言

2.2.2 流程图

2.2.3 3种基本结构

2.2.4 N-S流程图

2.2.5 伪代码

2.3 小结

2.4 习题

第3章 C语言的构成——函数( 教学视频:69分钟)

3.1 函数概述

3.1.1 库函数

3.1.2 自定义函数

3.2 函数的定义和调用

3.2.1 简单函数的定义

3.2.2 简单函数的调用

3.3 函数的参数

3.3.1 带参数的函数定义

3.3.2 带参数的函数调用

3.3.3 形式参数与实际参数

3.4 函数的返回值

3.4.1 带返回值的函数定义

3.4.2 带返回值的函数调用

3.5 开发实践

3.6 小结

3.7 习题

第4章 常量、基本数据类型、运算符和表达式( 教学视频:61分钟)

4.1 常量与变量

4.1.1 常量与符号常量

4.1.2 变量

4.2 数据类型

4.2.1 整型数据

4.2.2 实型数据

4.2.3 字符型数据

4.2.4 枚举型数据

4.2.5 基本类型数据的输入和输出函数(scanf()/printf())

4.3 运算符和表达式

4.3.1 算数运算符和表达式

4.3.2 赋值运算符和表达式

4.3.3 关系运算符和表达式

4.3.4 逻辑运算符和表达式

4.3.5 条件运算符和表达式

4.3.6 逗号运算符和表达式

4.4 数据类型转换

4.4.1 隐式类型转换

4.4.2 强制类型转换

4.5 小结

4.6 习题

第5章 变量( 教学视频:35分钟)

5.1 变量的定义与使用

5.1.1 变量的定义和赋值

5.1.2 变量的命名规范

5.2 变量的作用范围

5.2.1 局部变量

5.2.2 全局变量

5.3 变量的存储类型

5.3.1 变量的3个属性

5.3.2 自动变量

5.3.3 寄存器变量

5.3.4 具有代码块作用域的静态变量

5.3.5 具有外部链接的静态变量

5.3.6 具有内部链接的静态变量

5.3.7 存储类型说明符

5.4 开发实践

5.5 小结

5.6 习题

第6章 流程控制( 教学视频:70分钟)

6.1 C语句概述

6.2 顺序结构程序

6.3 选择结构程序

6.3.1 单分支if语句

6.3.2 双分支if语句

6.3.3 多分支else-if语句

6.3.4 if语句的嵌套使用

6.3.5 switch语句的使用

6.4 循环结构程序

6.4.1 while语句的使用

6.4.2 do…while语句的使用

6.4.3 for语句的使用

6.4.4 三种循环语句对比

6.4.5 嵌套循环

6.4.6 continue语句和break语句

6.5 开发实践

6.6 小结

6.7 习题

第7章 数组( 教学视频:47分钟)

7.1 数组的概述

7.2 一维数组

7.2.1 一维数组的定义

7.2.2 数组元素的访问

7.2.3 一维数组的初始化

7.2.4 关于“下标越界”问题

7.2.5 一维数组程序举例

7.3 二维数组

7.3.1 二维数组的定义及初始化

7.3.2 二维数组元素的访问

7.3.3 二维数组的初始化

7.3.4 二维数组程序举例

7.4 开发实践

7.5 小结

7.6 习题

第8章 指针( 教学视频:77分钟)

8.1 指针概述

8.2 指针与变量

8.2.1 指针变量的定义

8.2.2 取地址运算符(&)

8.2.3 取值运算符(*)

8.2.4 指针变量赋值

8.3 指针与函数

8.3.1 指针作为函数参数

8.3.2 指针作为返回值

8.3.3 指向函数的指针

8.3.4 指向函数的指针作函数参数

8.4 指针与数组

8.4.1 指向数组元素的指针

8.4.2 指针的算术运算与数组运算

8.4.3 使用指针处理数组元素

8.4.4 数组名作为指针

8.4.5 指针数组

8.4.6 指向指针数据的指针

8.5 指针与多维数组

8.5.1 处理多维数组的元素

8.5.2 处理多维数组的行

8.5.3 命令行参数

8.6 开发实践

8.7 小结

8.8 习题

第9章 构造数据类型( 教学视频:38分钟)

9.1 结构体

9.1.1 建立结构体类型

9.1.2 结构体变量的定义及初始化

9.1.3 访问结构体成员

9.1.4 结构体数组

9.1.5 指向结构体变量的指针

9.1.6 指向结构体数组的指针

9.1.7 结构体作为函数的参数

9.1.8 结构体数组作为参数

9.2 共用体

9.3 类型定义符typedef

9.4 开发实践

9.5 小结

9.6 习题

第10章 预处理命令( 教学视频:39分钟)

10.1 预处理器的工作方式

10.2 预处理指令

10.3 宏定义

10.3.1 不带参数的宏

10.3.2 带参数的宏

10.3.3 #运算符

10.3.4 ##运算符

10.3.5 取消宏定义

10.3.6 宏和函数

10.3.7 宏定义(#define)和类型定义(typedef)

10.3.8 预定义宏

10.4 条件编译

10.4.1 #if…#endif指令

10.4.2 #if…#else…#endif指令

10.4.3 #if…#elif…#endif指令

10.4.4 #ifdef…#endif指令

10.4.5 #ifndef…#endif指令

10.4.6 条件编译的使用

10.5 文件包含

10.6 其他指令

10.6.1 #error指令

10.6.2 #line指令

10.6.3 #pragma指令

10.7 开发实践

10.8 小结

10.9 习题

第11章 再谈函数( 教学视频:42分钟)

11.1 函数的嵌套调用

11.2 函数的递归调用

11.2.1 使用递归

11.2.2 递归的基本原理

11.2.3 尾递归与循环

11.2.4 汉诺塔问题

11.2.5 递归的优缺点

11.3 数组做函数参数

11.3.1 数组元素做函数实参

11.3.2 数组名做函数参数

11.3.3 多维数组名做函数参数

11.4 内联函数

11.5 开发实践

11.6 小结

11.7 习题

第2篇 C语言进阶技巧

第12章 字符及字符串处理( 教学视频:42分钟)

12.1 字符串常量

12.1.1 字符串常量概述

12.1.2 存储字符串常量

12.1.3 字符串常量的表示

12.1.4 字符串常量与字符常量

12.2 字符串变量

12.2.1 字符数组的定义及初始化

12.2.2 字符数组与字符指针

12.2.3 指针与字符串

12.3 字符串的输入

12.3.1 创建存储空间

12.3.2 gets()函数

12.3.3 fgets()函数

12.3.4 scanf()函数

12.4 字符串的输出

12.4.1 puts()函数

12.4.2 fputs()函数

12.4.3 printf()函数

12.5 字符串处理函数

12.5.1 strlen()函数

12.5.2 strcat()函数

12.5.3 strcmp()函数

12.5.4 strcpy()函数

12.5.5 其他字符串处理函数

12.6 开发实践

12.7 小结

12.8 习题

第13章 内存处理( 教学视频:39分钟)

13.1 动态存储分配

13.1.1 内存分配函数

13.1.2 空指针

13.2 动态分配字符串

13.2.1 使用malloc()函数为字符串分配内存

13.2.2 在字符串函数中使用动态存储分配

13.3 动态分配数组

13.3.1 使用malloc()函数为数组分配内存

13.3.2 calloc()函数

13.3.3 realloc()函数

13.4 释放存储

13.4.1 free()函数

13.4.2 “无效指针”问题

13.5 链表

13.5.1 从数组到链表

13.5.2 声明结点类型

13.5.3 创建结点

13.5.4 -->运算符

13.5.5 向链表中插入结点

13.5.6 搜索链表

13.5.7 删除链表结点

13.5.8 使用链表

13.6 开发实践

13.7 小结

13.8 习题

第14章 文件处理( 教学视频:28分钟)

14.1 流

14.1.1 文件指针

14.1.2 标准流与重定向

14.2 与文件通信

14.2.1 什么是文件

14.2.2 文本文件与二进制文件

14.3 文件操作

14.3.1 打开文件

14.3.2 关闭文件

14.3.3 为流附加文件

14.3.4 从命令行获取文件名

14.4 格式化的输入/输出

14.4.1 printf()函数与fprintf()函数

14.4.2 scanf()函数与fscanf()函数

14.5 字符的输入/输出

14.5.1 输出函数

14.5.2 输入函数

14.6 行的输入/输出

14.6.1 输入函数

14.6.2 输出函数

14.7 块的输入/输出

14.8 文件的定位

14.8.1 fseek()函数与ftell()函数

14.8.2 fgetpos()函数与fsetpos()函数

14.8.3 rewind()函数

14.9 字符串的输入/输出

14.10 其他标准I/O函数

14.10.1 ungetc()函数

14.10.2 fflush()函数

14.10.3 setvbuf()函数

14.10.4 feof()和ferror()函数

14.11 开发实践

14.12 小结

14.13 习题

第15章 底层程序设计( 教学视频:27分钟)

15.1 位运算符

15.1.1 位逻辑运算符

15.1.2 位逻辑运算符的用法

15.1.3 移位运算符

15.1.4 移位运算符的用法

15.2 位字段

15.3 开发实践

15.4 小结

15.5 习题

第16章 数学计算支持( 教学视频:20分钟)

16.1 浮点类型的特性

16.2 整数类型的大小

16.3 数学计算

16.3.1 三角函数

16.3.2 双曲函数

16.3.3 指数函数和对数函数

16.3.4 幂函数

16.3.5 就近取整函数、绝对值函数和取余函数

16.4 字符处理

16.4.1 字符测试函数

16.4.2 字符大小写转换函数

16.5 字符串处理

16.5.1 复制函数

16.5.2 拼接函数

16.5.3 比较函数

16.5.4 搜索函数

16.5.5 其他函数

16.6 开发实践

16.7 小结

16.8 习题

第17章 错误处理( 教学视频:18分钟)

17.1 诊断

17.2 错误

17.3 信号处理

17.3.1 信号宏

17.3.2 signal()函数

17.3.3 预定义的信号处理函数

17.3.4 raise()函数

17.4 非局部跳转

17.5 开发实践

17.6 小结

17.7 习题

第18章 国际化特性( 教学视频:8分钟)

18.1 本地化

18.1.1 类别

18.1.2 setlocale()函数

18.1.3 localeconv()函数

18.2 多字节字符和宽字符

18.3 开发实践

18.4 小结

18.5 习题

第3篇 C语言编程实战

第19章 五子棋游戏( 教学视频:32分钟)

19.1 五子棋游戏简介

19.2 需求分析

19.3 系统设计

19.4 主模块

19.5 棋盘模块

19.6 下棋模块

19.7 判断输赢模块

19.8 信息模块

19.9 系统界面

19.10 本章小结

19.11 习题

第20章 图书管理系统( 教学视频:65分钟)

第21章 制作通讯录( 教学视频:59分钟)

前言
C语言是一种计算机程序设计语言,由美国贝尔实验室的Dennis M. Ritchie于1972年推出。1978年后,C语言先后被移植到大、中、小及微型机上。C语言是一种结构式语言,功能齐全且强大,而且因为它应用了指针,使得它可以直接进行靠近硬件的操作,所以它既具有高级语言功能强大的特点,又具有汇编语言高效的特点,常常被称为中级语言。使用C语言既可以编写系统应用程序,也可以编写不依赖于特定计算机硬件的应用程序。C语言的应用范围非常广泛,由于它本身具备很强的数据处理能力,因此不仅在软件开发中会用到C语言,而且在其他各类科研项目中也都会用到C语言。

  C语言开发常用的IDE(集成开发环境)有Microsoft Visual C++、Dev-C++、Code::Blocks、Borland C++ Builder、Watcom C++、GNU DJGPP C++、Lccwin32 C Compiler 3.1、High C、Turbo C、C-Free、Win-TC和Xcode等。当前,Microsoft公司的VisualStudio开发平台上的Visual C++是C语言开发最为流行的集成开发环境。

  笔者在多年的教学和开发实践中,深感需要编写一本既能让初学者快速入门,又能真正利用C语言进行软件开发的指导性书籍。于是笔者结合自己多年的C语言使用经验,花费一年多的时间编写了本书。本书以当前最为流行的Visual C++作为C语言集成开发环境来写作,全面、详细、深入地介绍了C语言开发所涉及的大部分知识点。书中的每个知识点和技术都采用了以实例讲解为主、理论分析为辅的方式进行介绍。为了让读者随学随练、巩固所学知识,书中还提供了大量练习题(多达756个),这些题目对于读者掌握C语言编程也是至关重要的,希望各位读者不要忽视。

  本书假设读者没有任何编程经验,举例时也尽量避免使用复杂的数据结构和算法设计。每个例子都着重于C语言知识点本身,尽量浅显易懂。对于初学者易犯的错误,都有明确的提示。为了让读者养成良好的编程习惯,本书的程序代码均按照软件工程的规范来编写。全书讲解时配合了大量的程序示例、实用程序、图例及代码说明,所有例程笔者均仔细调试过,确保准确无误。

本书特色

  1.内容全面,覆盖广泛

  本书基本包含了C语言开发中所涉及的所有常用知识点,即使是初学者通过阅读本书,也都可以对C语言有一个完全和系统的认识,并对使用C语言进行项目开发的流程有更深入的理解。

  2.由浅入深,循序渐进

  本书内容安排合理,遵循由浅入深的原则。为方便读者学习,本书在第1篇先介绍了C的基础知识,如数据类型、函数和数组等内容,在此基础上介绍了C语言的一些高级特性,最后介绍了3个实际案例,这样读者学习起来就会更为连贯和流畅。

  3.实例丰富,讲解详细

  本书提供了156个完整实例,并按照“知识点-->实例-->实例解析-->运行效果-->贴心提示”的模式讲解,理解起来非常容易。书中给出了这些例子的详细源代码,并对代码进行了详细注释,还对例子的重点和难点进行了详细的讲解和分析。书中的例子简洁规范,能让读者专心于知识点,而不被其他事物所干扰。它们大多具有实际意义,着重于解决工作中的实际问题,可帮助读者理解和上机模拟实践。

  4.真实案例,注重实战

  本书是一本注重实践的书。因此,有一定的篇幅用在了真实的C语言开发案例中。本书第3篇通过3个完整的案例讲解了C语言在具体项目中的使用。通过学习这些实际的案例,可以加深读者对C语言语法知识的理解,同时,在使用C语言进行实际项目开发时能够更加得心应手。

  5.大量习题,随学随练

  本书是一本注重随学随练的书,每章最后都给出了大量练习题,以帮助读者学练结合,从而更好地巩固和加深对所学知识的理解,提高编程水平。全书练习题多达765个,极其丰富,在同类图书中是绝无仅有的。读者在完成这些练习题的时候如果有困难,还可以参考作者给出的习题答案或者提示。

  6.视频教学,加速学习

  笔者专门为本书录制了15小时高品质同步教学视频,对书中的重点和难点内容做了详细讲解,便于读者更加高效、直观地学习。该视频录音清晰,画面清楚,讲解到位,可以让读者感受身临实际教学课堂,聆听老师讲解的教学效果。这在已经出版的同类产品中是难得一见的。

本书内容及体系结构

  第1篇 C语言基础知识(第1~11章)

  本篇详细介绍了使用C语言开发的基础知识,包括C语言概述、C语言与算法、C语言的构成——函数、常量和基本数据类型、运算符和表达式、变量、流程控制、数组、指针、构造数据类型、预处理命令和再谈函数。这些内容都是进行C语言程序设计所必须要掌握的基础知识。

  第2篇 C语言进阶技巧(第12~18章)

  本篇是在掌握了C语言基础知识的前提下对C语言程序设计中的一些高级特性进行讲解,包括字符及字符串处理、内存处理、文件处理、底层程序设计、数学计算支持、错误处理和国际化特性。这些内容对更深入地理解和掌握C语言都是必不可少的。

  第3篇 C语言编程实践(第19~21章)

  本篇在全面掌握C语言语法知识的基础上讲解了3个用C语言实现的实际系统,包括五子棋游戏、图书管理系统和制作通讯录。这三个系统都严格按照软件工程和模块化设计的思想来开发,便于读者了解使用C语言开发实际项目的流程和技巧。

本书读者对象

* C语言编程初学者;

* 想全面学习C语言编程的人员;

* C语言编程爱好者;

* C语言程序员;

* 使用C语言做开发的工程技术人员和科研人员;

* 大、中专院校师生;

* 相关培训学校的学员;

* 需要一本案头必备手册的程序员。

本书配套资源获取方式

  本书提供以下的配套资源:

* 本书涉及的源代码;

* 15小时配套教学视频;

* 本书习题答案;

* 本书教学PPT。

  这些配套资源需要读者自行下载。请登录清华大学出版社的网站,搜索到本书页面,然后按照页面上的提示下载即可。

  本书的编写对笔者而言是一个“浩大的工程”。虽然笔者投入了大量的精力和时间,但只怕百密难免一疏。若读者在阅读本书时发现任何疏漏,希望能及时反馈给我们,以便及时更正。联系我们请发邮件。

  最后祝各位读者读书快乐,学习进步!

  

  编著者

热门图书
推荐新闻
技术文库
论坛推荐