C语言入门经典(第4版)pdf

图书网 2018年7月23日09:18:0593.9K1

C语言入门经典(第4版) 内容简介

《C语言入门经典(第4版)》的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员。读者基本不需要具备任何编程知识,即可通过《C语言入门经典(第4版)》从头开始编写自己的C程序。研读《C语言入门经典(第4版)》,你就可以成为一位称职的C语言程序员。从许多方面来说,C语言都是学习程序设计的理想起步语言。C语言很简洁,因此无须学习大量的语法,就能够开始编写真正的应用程序。除了简明易学外,它还是一种功能非常强大的语言,至今仍被专业人士广泛使用。C语言的强大之处主要体现在,它能够进行各种层次的程序设计,从硬件设备驱动程序和操作系统组件到大规模的应用程序,都能胜任。事实上,任何计算机都支持C语言编译器,因此,当我们学会了C语言,就可以在任何环境下进行程序设计。最后一点,掌握了C语言,就为理解面向对象的C++语言奠定了良好的基础。

C语言入门经典(第4版) 目录

第1章 C语言编程

1.1 创建C程序

1.1.1 编辑

1.1.2 编译

1.1.3 链接

1.1.4 执行

1.2 创建第一个程序

1.3 编辑第一个程序

1.4 处理错误

1.5 剖析一个简单的程序

1.5.1 注释

1.5.2 预处理指令

1.5.3 定义main()函数

1.5.4 关键字

1.5.5 函数体

1.5.6 输出信息

1.5.7 参数

1.5.8 控制符

1.6 用C语言开发程序

1.6.1 了解问题

1.6.2 详细设计

1.6.3 实施

1.6.4 测试

1.7 函数及模块化编程

1.8 常见错误

1.9 要点

1.10 小结

1.11 习题

第2章 编程初步

2.1 计算机的内存

2.2 什么是变量

2.3 存储数值的变量

2.3.1 整数变量

2.3.2 变量的命名

2.3.3 变量的使用

2.3.4 变量的初始化

2.3.5 算术语句

2.4 变量与内存

2.5 整数变量类型

2.5.1 无符号的整数类型

2.5.2 使用整数类型

2.5.3 指定整数常量

2.6 浮点数

2.7 浮点数变量

2.8 使用浮点数完成除法运算

2.8.1 控制小数位数

2.8.2 控制输出的字段宽度

2.9 较复杂的表达式

2.10 定义常量

2.10.1 极限值

2.10.2 sizeof运算符

2.11 选择正确的类型

2.12 强制类型转换

2.12.1 自动转换类型

2.12.2 隐式类型转换的规则

2.12.3 赋值语句中的隐式类型转换

2.13 再谈数值数据类型

2.13.1 字符类型

2.13.2 字符的输入输出

2.13.3 宽字符类型

2.13.4 枚举

2.13.5 存储布尔值的变量

2.13.6 复数类型

2.14 赋值操作的op=形式

2.15 数学函数

2.16 设计一个程序

2.16.1 问题

2.16.2 分析

2.16.3 解决方案

2.17 小结

2.18 练习

第3章 条件判断

3.1 判断过程

3.1.1 算术比较

3.1.2 涉及关系运算符的表达式

3.1.3 基本的if语句

3.1.4 扩展if语句:if-else

3.1.5 在if语句中使用代码块

3.1.6 嵌套的if语句

3.1.7 更多的关系运算符

3.1.8 逻辑运算符

3.1.9 条件运算符

3.1.10 运算符的优先级

3.2 多项选择问题

3.2.1 给多项选择使用else-if语句

3.2.2 switch语句

3.2.3 goto语句

3.3 按位运算符

3.3.1 按位运算符的op=用法

3.3.2 使用按位运算符

3.4 设计程序

3.4.1 问题

3.4.2 分析

3.4.3 解决方案

3.5 小结

3.6 练习

第4章 循环

4.1 循环

4.2 递增和递减运算符

4.3 for循环

4.4 for循环的一般语法

4.5 再谈递增和递减运算符

4.5.1 递增运算符

4.5.2 递增运算符的前置和后置形式

4.5.3 递减运算符

4.6 再论for循环

4.6.1 修改for循环变量

4.6.2 没有参数的for循环

4.6.3 循环内的break语句

4.6.4 使用for循环限制输入

4.6.5 生成伪随机整数

4.6.6 再谈循环控制选项

4.6.7 浮点类型的循环控制变量

4.7 while循环

4.8 嵌套循环

4.9 嵌套循环和goto语句

4.10 do-while循环

4.11 continue语句

4.12 设计程序

4.12.1 问题

4.12.2 分析

4.12.3 解决方案

4.13 小结

4.14 习题

第5章 数组

5.1 数组简介

5.1.1 不用数组的程序

5.1.2 什么是数组

5.1.3 使用数组

5.2 内存

5.3 数组和地址

5.4 数组的初始化

5.5 确定数组的大小

5.6 多维数组

5.7 多维数组的初始化

5.8 设计一个程序

5.8.1 问题

5.8.2 分析

5.8.3 解决方案

5.9 小结

5.10 习题

第6章 字符串和文本的应用

6.1 什么是字符串

6.2 处理字符串和文本的方法

6.3 字符串操作

6.3.1 连接字符串

6.3.2 字符串数组

6.4 字符串库函数

6.4.1 使用库函数复制字符串

6.4.2 使用库函数确定字符串的长度

6.4.3 使用库函数连接字符串

6.4.4 比较字符串

6.4.5 搜索字符串

6.5 分析和转换字符串

6.5.1 转换字符

6.5.2 将字符串转换成数值

6.7 使用宽字符串

6.8 设计一个程序

6.8.1 问题

6.8.2 分析

6.8.3 解决方案

6.9 小结

6.10 习题

第7章 指针

7.1 指针初探

7.1.1 声明指针

7.1.2 通过指针访问值

7.1.3 使用指针

7.1.4 指向常量的指针

7.1.5 常量指针

7.1.6 指针的命名

7.2 数组和指针

7.3 多维数组

7.3.1 多维数组和指针

7.3.2 访问数组元素

7.4 内存的使用

7.4.1 动态内存分配:malloc()函数

7.4.2 分配内存时使用sizeof运算符

7.4.3 用calloc()函数分配内存

7.4.4 释放动态分配的内存

7.4.5 重新分配内存

7.5 使用指针处理字符串

7.5.1 更多地控制字符串输入

7.5.2 使用指针数组

7.6 设计程序

7.6.1 问题

7.6.2 分析

7.6.3 解决方案

7.7 小结

7.8 习题

第8章 程序的结构

8.1 程序的结构

8.1.1 变量的作用域和生存期

8.1.2 变量的作用域和函数

8.2 函数

8.2.1 定义函数

8.2.2 return语句

8.3 按值传递机制

8.4 函数声明

8.5 指针用作参数和返回值

8.5.1 常量参数

8.5.2 从函数中返回指针值

8.5.3 在函数中递增指针

8.6 小结

8.7 习题

第9章 函数再探

9.1 函数指针

9.1.1 声明函数指针

9.1.2 通过函数指针调用函数

9.1.3 函数指针数组

9.1.4 作为变元的函数指针

9.2 函数中的变量

9.2.1 静态变量:函数内部的追踪

9.2.2 在函数之间共享变量

9.3 调用自己的函数:递归

9.4 变元个数可变的函数

9.4.1 复制va_list

9.4.2 长度可变的变元列表的基本规则

9.5 main()函数

9.6 结束程序

9.7 函数库:头文件

9.8 提高性能

9.8.1 内联声明函数

9.8.2 使用restrict关键字

9.9 设计程序

9.9.1 问题

9.9.2 分析

9.9.3 解决方案

9.10 小结

9.11 习题

第10章 基本输入和输出操作

10.1 输入和输出流

10.2 标准流

10.3 键盘输入

10.3.1 格式化键盘输入

10.3.2 输入格式控制字符串

10.3.3 输入格式字符串中的字符

10.3.4 输入浮点数的各种变化

10.3.5 读取十六进制和八进制值

10.3.6 用scanf()读取字符

10.3.7 scanf()的陷阱

10.3.8 从键盘上输入字符串

10.3.9 键盘的非格式化输入

10.4 屏幕输出

10.4.1 使用printf()格式输出到屏幕

10.4.2 转义序列

10.4.3 整数输出

10.4.4 输出浮点数

10.4.5 字符输出

10.5 其他输出函数

10.5.1 屏幕的非格式化输出

10.5.2 数组的格式化输出

10.5.3 数组的格式化输入

10.6 打印机输出

10.7 小结

10.8 习题

第11章 结构化数据

11.1 数据结构:使用struct

11.1.1 定义结构类型和结构变量

11.1.2 访问结构成员

11.1.3 未命名的结构

11.1.4 结构数组

11.1.5 表达式中的结构

11.1.6 结构指针

11.1.7 为结构动态分配内存

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.3.4 修改程序

11.3.5 二叉树

11.4 共享内存

11.4.1 联合

11.4.2 联合指针

11.4.3 联合的初始化

11.4.4 联合中的结构成员

11.5 定义自己的数据类型

11.5.1 结构与类型定义(typedef)功能

11.5.2 使用typedef简化代码

11.6 设计程序

11.6.1 问题

11.6.2 分析

11.6.3 解决方案

11.7 小结

11.8 习题

第12章 处理文件

12.1 文件的概念

12.1.1 文件中的位置

12.1.2 文件流

12.2 文件访问

12.2.1 打开文件

12.2.2 文件重命名

12.2.3 关闭文件

12.2.4 删除文件

12.3 写入文本文件

12.4 读取文本文件

12.5 将字符串写入文本文件

12.6 从文本文件中读入字符串

12.7 格式化文件的输入输出

12.7.1 格式化文件输出

12.7.2 格式化文件输入

12.8 错误处理

12.9 再探文本文件操作模式

12.10 二进制文件的输入输出

12.10.1 指定二进制模式

12.10.2 写入二进制文件

12.10.3 读取二进制文件

12.11 在文件中移动

12.11.1 文件定位操作

12.11.2 找出我们在文件中的位置

12.11.3 在文件中设定位置

12.12 使用临时文件

12.12.1 创建临时文件

12.12.2 创建唯一的文件名

12.13 更新二进制文件

12.13.1 修改文件的内容

12.13.2 从键盘读取记录

12.13.3 将记录写入文件

12.13.4 从文件中读取记录

12.13.5 写入文件

12.13.6 列出文件内容

12.13.7 更新已有的文件内容

12.14 文件打开模式小结

12.15 设计程序

12.15.1 问题

12.15.2 分析

12.15.3 解决方案

12.16 小结

12.17 习题

第13章 支持功能

13.1 预处理

13.1.1 在程序中包含头文件

13.1.2 外部变量及函数

13.1.3 替换程序源代码

13.1.4 宏替换

13.1.5 看起来像函数的宏

13.1.6 多行上的预处理指令

13.1.7 字符串作为宏参数

13.1.8 结合两个宏展开式的结果

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 使用assert()宏

13.4 其他库函数

13.4.1 日期和时间函数库

13.4.2 获取日期

13.5 小结

13.6 习题

附录A 计算机中的数学知识

附录B ASCII字符代码定义

附录C C语言中的保留字

附录D 输入输出格式指定符

C语言入门经典(第4版)精彩文摘

在默认情况下,在块中定义的变量是自动变量,也就是说,它在定义它的那行代码处开始存在,到包含其定义的块的结尾处消失。块尾用右花括号表示。

变量可以声明为静态,此时该变量存在于程序的整个生存周期。但是,它只能在定义它的作用域中访问。如果没有显式初始化静态变量,它就会默认初始化为0。

在程序中,变量可以在所有块的外部定义,此时该变量具有全局名称空间作用域,在默认情况下具有静态的存储持续时间。在包含它们的程序文件中,具有全局作用域的变量可以在定义它之后的任何位置访问,除非存在一个与该全局变量同名的局部变量。即使如此,全局变量仍可以使用作用域解析运算符(::)访问。

关键字typedef允许定义其他类型的别名。也可以使用uslng关键字定义类型别名。

extern关键字允许标识在另一个源文件中定义的全局变量名。

3.7练习

1.创建一个程序,提示用户输入一个整数,将整数存储为unsigned int类型。再对其二进制表示的所有位求反,并存储结果。输出最初的值、取反后的值、取反后的值加1的结果,这些数字用十六进制的形式输出,且放在一行上,再以十进制的形式输出,放在另一行上。这两行的输出值应右对齐,使用合适的字段宽度,十六进制值应有前导0,总是显示8个十六进制数字。两个输出行上的对应值应对齐。

2.编写一个程序,计算矩形搁板的一层可以容纳多少个正方形盒子,且不会出现盒子悬垂的情况。从键盘上读取搁板的尺寸(单位是英尺)和表示盒子的边长(单位是英寸),搁板的长度和深度使用double类型的变量,盒子的边长使用int类型的变量。需要定义并初始化一个整型常量,用于把英尺转换为英寸。计算搁板的一层可以容纳多少个盒子,并输出long类型的结果。

图书网:C语言入门经典(第4版)pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:9   其中:访客  9   博主  0
    • 东北谢霆锋
      东北谢霆锋 9

      这里的书都不错

      • 嘻嘻哈哈
        嘻嘻哈哈 2

        正在收集,准备学一下。

        • 除非
          除非 9

          好好好

          • 麻烦给点游戏体验
            麻烦给点游戏体验 9

            • hong079
              hong079 9

              最近刚好想学习一下

              • K
                K 9

                感谢分享

                • vikings
                  vikings 0

                  学习下,学习单片机需要

                  • 蓝&黑
                    蓝&黑 0

                    研究一下经典计算机语言

                    • 仍然让
                      仍然让 0

                      感谢。。。。。。。。。。