种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

C语言宝典(第2版)

(2019-06-28 15:17:02) 百科综合
C语言宝典(第2版)

C语言宝典(第2版)

《C语言宝典(第2版)》是2011年3月出版的图书,作者是刘丕顺、 迟剑、刘艳飞。本书详细介绍了C语言的基础知识、C语言的程式分析方法、调试方法、常见问题的编程方法以及初学者易犯的错误。

基本介绍

  • 书名:C语言宝典(第2版)
  • 作者:刘丕顺 迟剑  刘艳飞  
  • ISBN: 978-7-121-12738-0
  • 页数:656 页
  • 定价:79.00元
  • 出版时间:2011年3月出版
  • 开本:16开

内 容 简 介

C语言是一种电脑程式设计语言,既有高级语言的特点,又具有彙编语言的特点。C语言可以作为系统设计语言来编写工作系统应用程式,也可以作为应用程式设计语言编写不依赖计算机硬体的应用程式,因此它的套用範围十分广泛。对作业系统和系统使用程式以及需要对硬体进行操作的场合,用C语言明显优于其他解释型高级语言,有一些大型套用软体也是用C语言编写的。
本书循序渐进地讲述了C语言基础知识、三种基本控制结构、数组、指针、结构体共用体、档案、底层操作等主要内容,并穿插讲述了一些编译预处理知识和程式设计方法及调试方法等。本书的最后部分,介绍了利用C语言编写功能比较完备的程式的设计过程以及原始码,使读者对C语言程式设计有一个比较完整的设计思路,同时又可以加强对C语言常用的基础知识的理解和程式调试的掌握,还能掌握通用的软体开发过程。
本书既适合没有程式语言经验的初学者,也适合相关专业在校生。

前 言

C语言是一种电脑程式设计语言,既有高级语言的特点,又具有彙编语言的特点。C语言可以作为系统设计语言来编写工作系统应用程式,也可以作为应用程式设计语言编写不依赖计算机硬体的应用程式,因此它的套用範围十分广泛。对作业系统和系统实用程式,以及需要对硬体进行操作的场合,用C语言明显优于其他解释型高级语言,有一些大型套用软体也是用C语言编写的。
但是很多初学者对于学习C语言都感到不能很快上手,不能做到自己编写C语言的程式。实际上,这些感觉都是由于没有做大量的练习所致。学习C语言这种结构化很强的程式设计语言,必须经过大量的练习,多读程式、多写程式,才能有比较好的效果。
笔者长期以来从事计算机课程的基础教学工作,因此比较清楚做程式设计的初学者在学习C语言的过程中常见的一些问题和学习过程中的一些困惑。本书的目的是为了让C语言的初学者对于C语言乃至结构化程式设计有一个系统、全面的认识,同时能为今后继续学习其他程式语言打下良好的基础。本书可以使初学者快速地掌握C语言的基础知识,能使读者对C语言有一个全面、直观、系统的认识,同时能掌握结构化程式设计的精髓,最终可以完成独立、专业的C语言程式设计。读者还能利用书中的大量实例,打下学习其他高级语言的基础。另外,本书在最后的套用实例篇涉及到了一些软体开发方面的知识,使得今后读者无论使用何种程式语言独立开发、设计程式的时候都能够使用本书中的软体开发通用过程。
本书的特点
本书帮助读者真正掌握C语言的基础知识,以便遇到问题时,可以立刻使用C语言的思路分析问题;可以单独地分析程式,对C语言的程式段和完整的程式有清楚的分析方法;可以利用已学习的知识,对一些具体的问题有一定的编程思路,可以设计简单的程式;可以调试大型的C语言程式,对程式的不同分支,设计不同的数据进行测试;了解一些完整的实际问题的处理例子,为计算机后续课程的学习打下一个坚实的基础。
本书对C语言的基础知识的介绍比较详细,对于基础知识点配有其在程式中的套用介绍,有效地把枯燥的基础知识转化成程式中的用法,可以加强读者对C语言基础知识的记忆。比较详细地介绍了C语言选择结构、循环结构常见的程式分析方法,尤其是针对循环结构,讲述了单层循环、带有跳转的单层循环,以及二层循环的程式分析方法,介绍得比较清晰、易懂。对于一些常见问题给出了套路式的解决问题的方法,为初学者学写程式提供了一个练习的途径。对于数组、函式等知识点以详细分类的方法介绍说明,便于读者对不熟悉的知识点进行查找和学习。
本书的特点主要体现在以下几个方面。
本书的编排採用循序渐进的方式,适合初学者逐步掌握C语言的基础、技巧和精髓。
本书编排了大量的实例,即使比较少的代码和错误的代码示例也有配套的原始码,为读者进行调试提供了方便。
养成良好的程式调试习惯是语言学习者必须具备的,因此本书加入了调试程式这一章,读者可以在调试程式中随时翻阅本章,不受基础知识的限制。
在比较重要的知识点或者数据类型的章节后面,都通过一个具体问题的解决来套用这个知识点。书中的大部分实例都给出了编程思路和步骤,同时在原始码后面对程式的运行状态和问题的转化以及对该代码的进一步诠释,可以帮助读者利用这些问题解决方案来解决另外的问题。随书光碟中提供了书中实例的原始码,方便读者使用。
在每一章或者每一个比较重要的知识点后面,都有相关的常见错误解析和改正方法,有助于初学者了解和学习。另外,对于每一章中初学者经常会提出的一些问题,均以问答的形式予以解答。
本书最后的实例渗透了部分软体工程学的思想,旨在给读者介绍通用的软体开发过程,使读者在今后使用其他开发语言工具的时候也能找到正确简便的开发步骤。
本书的内容安排
本书共分为5部分,共23章,由浅入深,从理论到实践,尤其适合初级读者逐步学习和完善自己的知识结构。
第1部分“基础篇”(第1章~第6章)介绍C语言的基本语法和C语言主要控制语句的基础知识。本部分包括:C语言概述、数据类型与常量变数、表达式与运算符、顺序程式设计、选择程式设计、循环程式设计等。力求浅显易懂,从第一次接触C语言入手,逐步深入到C语言的组成元素和基本的控制结构,让读者一开始就有系统考虑程式设计的思想。
第2部分“进阶篇”(第7章~第11章)介绍C语言中比较複杂的知识。本部分包括:数组、函式、作用域程式设计、指针、字元串等几章。本部分的内容是C语言的精髓所在,其中包括了一些比较複杂的内容,如指针等。本部分使用大量的实例代码和图表解释,儘可能做到让读者理解程式运行的过程。
第3部分“高级篇”(第12章~第15章)介绍C语言中的高级套用以及程式调试的方法。本部分包括:编译预处理、程式调试、结构体与共用体、自定义类型与鍊表等。本部分内容属于比较高级的套用,有一部分知识已经涉及到了简单数据结构的範畴。本部分中仍然使用较多的实例代码和图表解释,做到让读者见图知义,能够理解C语言程式在运行时的记忆体使用情况。
第4部分“底层开发篇”(第16章~第20章)介绍C语言中的底层开发技术。本部分包括位运算、档案操作、萤幕和键盘的控制等。本部分内容属于底层的套用,仍然使用较多的实例代码和图表解释,让读者能够使用C语言程式对档案、萤幕和键盘进行操作。在本部分的最后,还介绍了C++语言对C语言进行的扩展,让读者能够在未来学习类似C++等面向对象的设计语言时有所了解,为以后的学习做知识储备。
第5部分“套用实例篇”(第21章~第23章)利用几个实例介绍C语言解决实际问题时的套用。本部分包括3个实例程式,每个实例程式均遵循“问题提出”→“问题分析”→“模组划分”→“模组内部设计”→“编程实现”→“测试”6个环节,力求让读者能够从实例中学会如何从一个具体问题出发直到设计出可以解决实际问题的软体的过程。
本书所涉及的代码,请访问博文视点公司网站下载。
本书由刘丕顺主编,迟剑、刘艳飞编写,其他参与编写的人员有张金霞、曾光、张双、朱照华、黄永湛、刘新、孟祥嵩、李勇、张贺军、关涛、王岩、李晓白、魏星等。在此一併表示感谢!
编 者

目 录

第1部分 基础篇
第1章 认识C语言
1.1 计算机语言及程式的发展
1.1.1 计算机语言的历史
1.1.2 C语言的特点
1.2 从Hello程式认识C程式
1.3 程式的实例解析与升华
1.3.1 简单例题的引申
1.3.2 C语言程式的组成
1.3.3 常见的错误解析与解决办法
1.4 C语言基本组成
1.4.1 常见的语法规範
1.4.2 代码编写规範
1.5 C语言程式的调试过程
1.5.1 Turbo C 2.0集成开发环境介绍及使用
1.5.2 Turbo C 2.0运行程式的步骤
1.5.3 程式编译中常见问题
1.6 本章的问与答
1.6.1 编译和运行有什幺不同
1.6.2 如何评价一个程式的好坏
1.7 小结
第2章 数据类型、常量和变数
2.1 数据及数据类型
2.1.1 C语言常见的数据类型介绍
2.1.2 常量
2.1.3 变数
2.2 常量及常量的套用
2.2.1 整型常量
2.2.2 实型常量
2.2.3 字元常量
2.2.4 字元串常量
2.2.5 常量使用时的错误分析
2.3 变数及变数的套用
2.3.1 整型变数
2.3.2 实型变数
2.3.3 字元型变数
2.3.4 变数的使用规範
2.3.5 变数常见错误分析方法
2.4 本章的问与答
2.4.1 编写程式的风格很重要吗
2.4.2 数据结构与数据类型是一回事吗
2.4.3 main是关键字吗
2.4.4 说明一个变数和定义一个变数有什幺区别
2.4.5 用const说明常量有什幺好处
2.5 小结
第3章 运算符与表达式
3.1 C语言中的运算符及表达式
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.4.3 赋值表达式的运算
3.4.4 常见错误分析与解决方法
3.5 逗号运算符和逗号表达式
3.6 关係运算符和关係表达式
3.6.1 C语言中的真值和假值
3.6.2 关係运算符
3.6.3 关係表达式
3.6.4 常见错误分析
3.7 逻辑运算符和逻辑表达式
3.7.1 逻辑运算符
3.7.2 逻辑表达式
3.7.3 常见错误分析
3.8 条件运算符和条件表达式
3.9 sizeof运算符
3.10 取地址运算符
3.11 几种运算符混合运用与常见的问题分析
3.12 本章的问与答
3.12.1 什幺是左值(lvalue),什幺是右值(rvalue)
3.12.2 运算符的优先权总能保证“自左至右”或“自右至左”的顺序吗
3.12.3 表达式和语句有区别吗
3.12.4 什幺时候应该使用类型强制转换
3.12.5 对不同类型的变数进行算术运算会有问题吗
3.13 小结
第4章 顺序程式设计
4.1 C程式基本结构
4.2 C语句概述
4.2.1 表达式语句
4.2.2 流程控制语句
4.2.3 跳转语句
4.2.4 複合语句
4.2.5 空语句
4.3 库函式的调用与输入输出的关係
4.4 格式化输出
4.4.1 printf函式的一般格式
4.4.2 printf函式中的格式控制说明
4.4.3 整型数据的输出
4.4.4 字元型数据的输出
4.4.5 实型数据的输出
4.4.6 字元串的输出
4.4.7 格式化输出的使用实例分析与常见错误
4.5 字元输出
4.6 格式化输入
4.6.1 scanf函式的一般格式
4.6.2 scanf函式中的格式控制说明
4.6.3 格式化输入的使用实例分析与常见的错误
4.7 字元输入
4.7.1 getch()和getche()函式
4.7.2 getchar函式
4.8 变数如何得到正确的输入数据
4.9 顺序结构程式典型例题分析与升华
4.10 本章的问与答
4.10.1 为什幺有时不应该用scanf()来接收数据
4.10.2 怎样用0补齐一个数字
4.10.3 怎样判断一个字元是否是字母或数字
4.11 小结
第5章 选择程式设计
5.1 典型的选择问题的程式设计思路
5.2 用if语句设计选择程式
5.2.1 if语句的形式:单条件单分支的if语句
5.2.2 if语句的形式:单条件双分支的if语句
5.3 if语句的嵌套
5.3.1 单条件单分支if语句嵌套单条件单分支的if语句
5.3.2 单条件单分支if语句嵌套单条件双分支的if语句
5.3.3 单条件双分支if语句的嵌套
5.3.4 嵌套时if与else的配对规则
5.4 if语句的使用实例与升华
5.5 if语句的常见错误与解决方法
5.6 用switch分支设计选择程式
5.6.1 switch分支介绍
5.6.2 switch分支处理的程式特点
5.6.3 switch分支的使用实例
5.6.4 switch分支的常见错误与解决方法
5.7 选择型问题实例的剖析与升华
5.8 本章常见问题的问与答
5.8.1 选择程式中如何加入注释
5.8.2 switch语句的最后一个分支可以不要break语句吗
5.8.3 共有几种退出switch分支的方法
5.8.4 什幺时候用一条switch语句比用多条if语句更好
5.9 小结
第6章 循环结构程式设计
6.1 典型的循环问题程式设计思路
6.2 while语句处理的循环
6.2.1 while语句介绍
6.2.2 while语句使用要求
6.2.3 while语句的使用实例
6.2.4 常见while语句典型程式分析
6.2.5 while语句的常见错误与解决方法
6.3 do…while循环
6.3.1 do…while语句介绍
6.3.2 do…while语句与while语句的联繫与区别
6.3.3 do…while语句的使用实例
6.3.4 常见do…while语句的典型程式分析
6.3.5 do…while语句的常见错误与解决方法
6.4 for循环
6.4.1 for语句介绍
6.4.2 for语句的特点
6.4.3 for语句的使用实例与升华
6.4.4 常见for语句的典型程式分析
6.4.5 for语句的常见错误与解决方法
6.5 流程控制语句
6.5.1 break语句
6.5.2 continue语句
6.5.3 break与continue常见的使用错误
6.5.4 goto语句及其使用
6.6 循环程式的分析方法
6.6.1 while循环分析
6.6.2 do…while循环分析
6.6.3 for循环分析
6.6.4 带break与continue语句的循环程式分析
6.7 循环程式的例题
6.8 多重循环——循环的嵌套
6.8.1 循环嵌套的含义
6.8.2 循环嵌套实例与升华
6.8.3 循环嵌套的套用
6.8.4 循环嵌套程式的易错点与程式分析
6.9 循环实例分析
6.10 本章常见问题的问与答
6.10.1 如何为循环程式添加注释
6.10.2 循环结构应该如何学习
6.10.3 怎样才能知道循环是否提前结束
6.10.4 空循环和无穷循环有什幺区别
6.11 小结
第2部分 进阶篇
第7章 数组
7.1 认识数组
7.2 一维数组
7.2.1 一维数组的定义
7.2.2 一维数组的引用
7.2.3 一维数组的初始化
7.3 一维数组的使用
7.3.1 一维数组的使用实例与升华
7.3.2 一维数组使用中的常见错误与解决方法
7.3.3 常见一维数组典型程式分析
7.4 二维数组
7.4.1 二维数组的定义
7.4.2 二维数组的引用
7.4.3 二维数组的初始化
7.5 二维数组的使用
7.5.1 二维数组的使用实例与升华
7.5.2 二维数组使用中的常见错误与解决方法
7.5.3 常见二维数组典型程式的分析与书写
7.6 使用数组的程式分析
7.7 数组实例的剖析与升华
7.8 本章常见问题的问与答
7.8.1 数组是基本数据类型吗
7.8.2 定义数组以后,如果处理的元素超出了数组的範围,如何处理
7.8.3 数组的下标总是从0开始吗
7.8.4 为什幺要小心使用数组不要越界
7.8.5 数组可以是左值吗
7.9 小结
第8章 函式
8.1 程式的模组化
8.2 函式的定义
8.2.1 C语言函式的简介
8.2.2 函式的定义
8.3 函式的调用
8.3.1 函式调用的一般形式
8.3.2 被调函式声明和函式原型
8.4 数据在函式间的传递
8.4.1 形式参数和实际参数
8.4.2 函式的返回值
8.5 数组作为函式的参数
8.5.1 一维数组作为函式的参数
8.5.2 二维数组作为函式的参数
8.6 函式的嵌套调用
8.6.1 嵌套调用的程式结构
8.6.2 程式实例的套用
8.7 函式的递归调用
8.7.1 递归的含义
8.7.2 递归程式的分析
8.7.3 递归程式的实例构思
8.8 函式使用的常见错误分析
8.9 典型函式程式实例
8.10 本章常见问题的问与答
8.10.1 什幺叫函式
8.10.2 函式的说明与定义的区别
8.10.3 什幺是函式参数以及如何传递函式参数
8.10.4 一个函式可以有多少个参数
8.10.5 如果一个函式没有返回值,是否需要加入return语句
8.10.6 exit()和return有什幺不同
8.10.7 为什幺要说明函式原型
8.11 小结
第9章 作用域与程式设计
9.1 变数的作用域
9.1.1 局部变数
9.1.2 全局变数
9.2 变数的存储属性
9.3 局部变数的存储类别
9.3.1 自动变数
9.3.2 静态局部变数
9.3.3 暂存器变数
9.4 全局变数的存储类别
9.4.1 外部全局变数
9.4.2 静态全局变数
9.5 常见变数存储的错误分析与解决
9.6 套用不同存储属性的变数的程式例题分析
9.7 函式的作用域
9.7.1 外部函式
9.7.2 内部函式
9.7.3 函式的套用
9.7.4 多个源程式档案的编译和连线
9.8 简单的程式设计实验
9.9 本章常见问题的问与答
9.9.1 档案中增加了函式与变数的存储属性的时候,常见的注释风格是怎样的
9.9.2 变数存储在记忆体中的什幺地方
9.9.3 所有变数必须初始化吗
9.10 小结
第10章 指针
10.1 地址和指针的概念
10.2 变数的指针
10.2.1 指针变数的定义
10.2.2 指针变数的赋值与引用
10.3 指针变数的运算
10.3.1 &和*运算
10.3.2 ++和- -运算以及加减整型常量的运算
10.3.3 比较运算
10.3.4 减法运算
10.4 指针变数作为函式的参数
10.4.1 以普通变数作为参数完成交换函式
10.4.2 以指针变数作为参数实现数据的交换
10.4.3 交换指针变数指向的内容
10.5 指针变数实例中常见的错误分析与解决
10.6 指针与一维数组
10.6.1 指向一维数组元素的指针
10.6.2 用指针访问一维数组元素
10.6.3 一维数组作为函式参数
10.6.4 一维数组作为函式参数的实例
10.7 指针与二维数组
10.7.1 处理二维数组中所有元素的指针变数
10.7.2 使用指向一维数组的指针处理二维数组
10.7.3 二维数组作为函式参数
10.7.4 二维数组作为函式参数的实例
10.8 指针与数组常见的错误分析与解决
10.9 指针数组与二级指针
10.9.1 指针数组的概念
10.9.2 指针数组的套用
10.9.3 二级指针
10.9.4 指针数组作为主函式的参数
10.9.5 指针数组与二级指针常见错误分析与解决
10.10 指向函式的指针及返回指针的函式
10.10.1 用函式指针调用函式
10.10.2 用指向函式的指针作为函式的参数
10.10.3 返回指针的函式
10.11 套用例题及实验设计模板
10.12 本章常见问题的问与答
10.12.1 指针使用的常见形式有哪些
10.12.2 什幺是void指针
10.12.3 什幺时候使用void指针
10.12.4 NULL总是被定义为0吗
10.12.5 用指针作if语句的条件表达式意味什幺
10.12.6 NULL和NUL有什幺不同
10.13 小结
第11章 字元串
11.1 字元串与字元串的结束标誌
11.2 字元数组与字元串
11.2.1 字元数组的定义
11.2.2 字元数组的初始化
11.2.3 字元数组的输入输出
11.2.4 字元数组处理字元串的套用实例
11.2.5 字元数组处理字元串常见的错误分析与解决
11.3 常用字元串处理函式
11.3.1 strcpy(字元数组,字元串):字元串複製函式
11.3.2 strcat(字元数组1,字元数组2):字元串连线函式
11.3.3 strcmp(字元串1,字元串2):字元串比较函式
11.3.4 strlen(字元串):求字元串长度函式
11.4 指针与字元串
11.4.1 字元串的表示形式
11.4.2 字元串指针作为函式参数
11.4.3 字元串常见错误分析
11.5 典型例题分析与升华
11.6 本章常见问题的问与答
11.6.1 字元是带符号的还是无符号的
11.6.2 字元串和数组有什幺不同
11.6.3 字元类型与整型的根本区别是什幺
11.6.4 可以将数字形式的字元串转换为数字吗
11.7 小结
第3部分 高级篇
第12章 编译预处理
12.1 预处理程式
12.2 宏定义指令
12.2.1 不带参数的宏定义
12.2.2 带参数的宏定义
12.2.3 常见的宏定义错误解析
12.3 档案包含指令
12.4 条件编译指令
12.4.1 #if~#endif条件编译指令
12.4.2 #if~#else ~#endif条件编译指令
12.4.3 #if~#elif~#else ~#endif条件编译指令
12.4.4 #ifdef格式
12.4.5 #ifndef格式
12.4.6 条件编译的套用
12.5 本章常见问题的问与答
12.5.1 都有哪些预处理命令
12.5.2 下面程式的运行结果是什幺
12.5.3 可以用#include指令包含类型名不是“.h”的档案吗
12.5.4 使用宏更好,还是使用函式更好
12.5.5 用#define指令说明常量有什幺好处
12.6 小结
第13章 程式设计与调试
13.1 程式设计简介
13.2 程式调试
13.2.1 调试的概念
13.2.2 调试程式
13.2.3 查错
13.2.4 常用的避免错误的方法
13.3 程式的挂起
13.3.1 未知原因的挂起
13.3.2 死循环
13.3.3 运行时间比期望的时间长
13.3.4 等待正确的输入
13.4 小结
第14章 结构体和共用体
14.1 结构体的概念及结构类型定义
14.2 结构体变数
14.2.1 结构体变数的定义
14.2.2 结构体变数的引用
14.2.3 结构体变数的初始化
14.2.4 结构体变数作为函式的参数
14.3 结构体数组
14.3.1 结构体数组的定义及引用
14.3.2 结构体数组的初始化
14.3.3 结构体数组作为函式的参数
14.4 结构体指针
14.4.1 指向结构体变数的指针
14.4.2 指向结构体数组的指针
14.4.3 用指向结构体的指针作为函式参数
14.5 结构体变数常见的错误分析与解决
14.6 共用体
14.6.1 共用体的概念
14.6.2 共用体变数的定义和引用
14.6.3 共用体套用
14.7 枚举类型
14.7.1 枚举类型简介
14.7.2 枚举变数的定义与套用
14.7.3 枚举类型常见的错误分析
14.8 本章常见问题的问与答
14.8.1 结构体变数的数据传到另外的函式中有几种方法
14.8.2 用enum关键字说明常量有什幺好处
14.8.3 和用#define指令说明常量相比,用enum关键字说明常量有什幺好处
14.9 小结
第15章 自定义类型与鍊表
15.1 typedef自定义类型
15.2 动态记忆体管理
15.2.1 malloc函式
15.2.2 calloc函式
15.2.3 free函式
15.2.4 realloc函式
15.3 鍊表
15.3.1 鍊表简介
15.3.2 建立单鍊表
15.3.3 尾插法建立单鍊表
15.3.4 头插法建立单鍊表
15.3.5 单鍊表元素的遍历
15.4 单鍊表中进行的基本操作
15.4.1 单鍊表中查找元素
15.4.2 按照序号查找
15.4.3 按照指定值进行查找
15.4.4 单鍊表中元素的插入和删除
15.4.5 单鍊表中元素的合併
15.5 单循环鍊表和双向鍊表简介
15.5.1 单循环鍊表
15.5.2 双向鍊表
15.5.3 在双向鍊表中插入一个节点
15.5.4 在双向鍊表中删除一个节点
15.6 单鍊表设计实例与升华
15.7 自定义类型与鍊表常见的错误分析与解决
15.8 本章常见问题的问与答
15.8.1 什幺是线性结构,单鍊表是不是线性结构,为什幺
15.8.2 类型void *说明什幺样的返回值
15.8.3 本章中函式的参数类型已经是指针类型,为什幺还通过返回值把鍊表的
头指针的值返回,而不是通过参数直接改变呢
15.8.4 NULL总是被定义为0吗
15.8.5 用malloc()函式更好,还是用calloc()函式更好
15.9 小结
第4部分 底层开发篇
第16章 位与位元组
16.1 数值数据的表示和编码
16.1.1 数据进制
16.1.2 数据存储
16.2 位运算
16.2.1 位运算简介
16.2.2 按位与运算符“&”
16.2.3 按位或运算符“|”
16.2.4 按位异或运算符“^”
16.2.5 按位取反运算符“~”
16.2.6 按位左移运算符<<
16.2.7 按位右移运算符“>>”
16.2.8 位运算赋值运算符
16.2.9 位运算符的使用情况和实例分析
16.3 位运算的套用
16.4 位段及套用
16.4.1 位段的定义
16.4.2 位段的套用
16.5 位运算的常见错误分析与解决
16.6 本章的问与答
16.6.1 对位(bit)和位元组(byte)的区分到底是什幺
16.6.2 用什幺方法存储标誌(flag)效率最高
16.6.3 移位和乘以2这两种方式中哪一种更好
16.6.4 什幺是高位位元组和低位位元组
16.6.5 16位和32位的数是怎样存储的
16.7 小结
第17章 档案
17.1 档案系统概述
17.2 档案指针
17.3 档案打开与关闭
17.3.1 打开档案
17.3.2 关闭档案
17.4 档案读写函式
17.4.1 读写字元
17.4.2 使用fgets()和fputs()处理字元串
17.4.3 读写磁碟档案
17.4.4 成组读写
17.5 档案的定位
17.5.1 定位到开头
17.5.2 随机读写
17.5.3 返回位置
17.6 错误检测
17.6.1 ferror()函式
17.6.2 clearerr()函式
17.7 档案使用常见错误分析
17.8 档案例题分析与升华
17.9 本章常见问题的问与答
17.9.1 什幺是C语言中的档案
17.9.2 在对档案进行操作的时候,如果要求档案的位置回到档案的开头,应当
用到哪个函式
17.9.3 设fp为档案指针,如果打开一个已经存在的非空档案aa.txt进行修改,
应该用什幺语句实现
17.9.4 档案的分类是什幺,到底什幺是流式档案,是不是档案分类的一种
17.9.5 读档案和写档案是什幺
17.9.6 如何选择读写函式
17.9.7 缓冲档案系统是什幺
17.10 小结
第18章 萤幕和键盘的控制
18.1 文本视窗
18.1.1 文本方式
18.1.2 文本视窗的使用
18.1.3 视窗内文本的输入输出
18.1.4 键盘的使用
18.1.5 具体套用实例——下拉式选单
18.2 C语言绘图概述
18.2.1 图形显示
18.2.2 图形系统初始化
18.2.3 图形萤幕的颜色设定
18.2.4 清除萤幕
18.3 C语言中绘图函式的使用
18.3.1 绘图函式
18.3.2 线型函式
18.3.3 填充函式
18.3.4 自定义视窗
18.4 图形文本
18.4.1 文本输出函式
18.4.2 设定图形文本属性
18.5 绘图常见错误说明
18.6 绘图典型例题分析
18.7 本章的问与答
18.7.1 什幺是像素
18.7.2 什幺是解析度
18.7.3 怎样在萤幕上定位游标
18.7.4 什幺时候使用far指针
18.8 小结
第19章 系统调用
19.1 DOS、BIOS与中断简介
19.2 DOS下的设备控制
19.2.1 软中断调用函式
19.2.2 中断设定函式
19.2.3 连线埠输入输出函式
19.2.4 记忆体操作函式
19.3 系统驻留程式简介
19.4 系统函式调用常见错误解析
19.5 利用中断实现多任务的实例分析
19.6 本章常见问题的问与答
19.6.1 DOS是什幺
19.6.2 如何获得具体信息的记忆体位置
19.6.3 什幺是缓冲区
19.6.4 什幺是环境
19.7 小结
第20章 从C到C++
20.1 C++对C的扩充
20.1.1 C++中输入/输出方式
20.1.2 新增运算符和关键字简介
20.1.3 引用
20.1.4 函式重载
20.1.5 函式内联
20.2 面向对象语言的概念
20.2.1 面向对象的概念
20.2.2 类的定义
20.2.3 对象的创建
20.2.4 对象的继承
20.2.5 多态性
20.3 C++常见的基础错误解析
20.4 本章的问与答
20.4.1 C程式设计师为什幺要学习C++
20.4.2 “//”是什幺
20.4.3 C++到底新增了什幺知识点
20.4.4 如何理解抽象
20.4.5 什幺是封装性
20.4.6 什幺是继承性
20.4.7 什幺是多态性
20.5 小结
第5部分 套用实例篇
第21章 套用实例1——複杂表达式求值
21.1 问题分析
21.2 概要设计
21.2.1 全局数据设计
21.2.2 系统结构设计
21.3 模组详细设计及实现
21.3.1 isdelim(char c)函式的实现
21.3.2 serror(int error)函式的实现
21.3.3 get_exp ()函式的实现
21.3.4 atom(double *)函式的实现
21.3.5 一系列计算函式的实现
21.3.6 main()函式的实现
21.4 程式的测试及维护
第22章 套用实例2——简单的文本编辑器
22.1 问题分析
22.2 概要设计
22.2.1 全局数据设计
22.2.2 系统结构设计
22.3 模组详细设计及实现
22.3.1 opens(Line *head)函式的实现
22.3.2 save(Line *head)函式的实现
22.3.3 view(Line *head)函式的实现
22.3.4 qview(Line *q)函式的实现
22.3.5 color(Line *Hhead)函式的实现
22.3.6 check(Line *head,int m,int n)函式的实现
22.3.7 border (int x,int y,int width,int height)函式的实现
22.3.8 draw_m()函式的实现
22.3.9 drawmenu(int m,int n)函式的实现
22.3.10 menuctrl(Line *Hhead,int key)函式的实现
22.3.11 main()函式的实现
22.4 程式的测试及维护
第23章 套用实例3——图书管理系统
23.1 问题分析
23.2 概要设计
23.2.1 全局数据设计
23.2.2 系统结构设计
23.3 模组详细设计及实现
23.3.1 new_bk()函式和new_bl()函式的实现
23.3.2 save_bk(Book *)函式和save_bl(Bk_lender *)函式的实现
23.3.3 read_bk()函式和read_bl()函式的实现
23.3.4 search_bk(Book *)函式的实现
23.3.5 insert_bk(Book *)函式和insert_bl(Bk_lender *)函式的实现
23.3.6 delete_bk(Book *)函式和delete_bl(Bk_lender *)函式的实现
23.3.7 modify_bk(Book *)函式的实现
23.3.8 lendbook(Bk_lender *,Book *)函式的实现
23.3.9 returnbook(Bk_lender *,Book *)函式的实现
23.3.10 disp_bk(Book *)函式和disp_bl(Bk_lender *)函式的实现
23.3.11 3个选单函式的实现
23.3.12 main()函式的实现
23.4 程式的测试及维护
23.5 程式实现
23.6 小结

标 签

搜索
随机推荐

Powered By 种豆资源网||