一站式学习C编程

一站式学习C编程
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2011-03
版次: 1
ISBN: 9787121129827
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 471页
字数: 690千字
正文语种: 简体中文
47人买过
  •   《一站式学习c编程》有两条线索,一条线索是以linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识c语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识c语言。

      《一站式学习c编程》适合做零基础的初学者学习c语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照本书查缺补漏,从而更深入地理解程序的工作原理。《一站式学习c编程》最初是为北京亚嵌教育研究中心的嵌入式linux系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。本书对于c语言的语法介绍得非常全面,对c99标准做了很多解读,因此也可以作为一本精简的c语言语法参 考书。
      宋劲杉,亚嵌教育资深讲师,清华大学自动化系硕士,6年嵌入式系统开发经验,3年嵌入式行业教学经验,精通Linux内核、POSIX、TCP/IP,擅长ARM平台的Linux系统移植和应用开发,目前关注的方向有分布式系统、动态语言。爱好:开源软件、电子音乐、HomeParty。 上篇 C语言入门

    第1章 程序的基本概念

    1.1 程序和编程语言

    1.2 自然语言和形式语言

    1.3 程序的调试

    1.4 第一个程序

    第2章 常量、变量和表达式

    2.1 继续Hello World

    2.2 常量

    2.3 变量

    2.4 赋值

    2.5 表达式

    2.6 字符类型与字符编码

    第3章 简单函数

    3.1 数学函数

    3.2 自定义函数

    3.3 形参和实参

    3.4 全局变量、局部变量和作用域

    第4章 分支语句

    4.1 if语句

    4.2 if/else语句

    4.3 布尔代数

    4.4 switch语句

    第5章 深入理解函数

    5.1 return语句

    5.2 增量式开发

    5.3 递归

    第6章 循环语句

    6.1 while语句

    6.2 do/while语句

    6.3 for语句

    6.4 break和continue语句

    6.5 嵌套循环

    6.6 goto语句和标号

    第7章 结构体

    7.1 复合类型与结构体

    7.2 数据抽象

    7.3 数据类型标志

    7.4 嵌套结构体

    第8章 数组

    8.1 数组的基本概念

    8.2 数组应用实例:统计随机数

    8.3 数组应用实例:直方图

    8.4 字符串

    8.5 多维数组

    第9章 编码风格

    9.1 缩进和空白

    9.2 注释

    9.3 标识符命名

    9.4 函数

    9.5 indent工具

    第10章 gdb

    10.1 单步执行和跟踪函数调用

    10.2 断点

    10.3 观察点

    10.4 段错误

    第11章 排序与查找

    11.1 算法的概念

    11.2 插入排序

    11.3 算法的时间复杂度分析

    11.4 归并排序

    11.5 线性查找

    11.6 折半查找

    第12章 栈与队列

    12.1 数据结构的概念

    12.2 堆栈

    12.3 深度优先搜索

    12.4 队列与广度优先搜索

    12.5 环形队列

    本阶段总结

    下篇 C语言本质

    第13章 计算机中数的表示

    13.1 为什么计算机用二进制计数

    13.2 不同进制之间的换算

    13.3 整数的加减运算

    13.3.1 Sign and Magnitude表示法

    13.3.2 1's Complement表示法

    13.3.3 2's Complement表示法

    13.3.4 有符号数和无符号数

    13.4 浮点数

    第14章 数据类型详解

    14.1 整型

    14.2 浮点型

    14.3 类型转换

    14.3.1 Integer Promotion

    14.3.2 Usual Arithmetic Conversion

    14.3.3 由赋值产生的类型转换

    14.3.4 强制类型转换

    14.3.5 编译器如何处理类型转换

    第15章 运算符详解

    15.1 位运算

    15.1.1 按位与、或、异或、取反运算

    15.1.2 移位运算

    15.1.3 掩码

    15.1.4 异或运算的一些特性

    15.2 其他运算符

    15.2.1 复合赋值运算符

    15.2.2 条件运算符

    15.2.3 逗号运算符

    15.2.4 sizeof运算符与typedef类型声明

    15.3 Side Effect与Sequence Point

    15.4 运算符总结

    第16章 计算机体系结构基础

    16.1 内存与地址

    16.2 CPU

    16.3 设备

    16.4 MMU

    16.5 Memory Hierarchy

    第17章 x86汇编程序基础

    17.1 最简单的汇编程序

    17.2 x86的寄存器

    17.3 第二个汇编程序

    17.4 寻址方式

    17.5 ELF文件

    17.5.1 目标文件

    17.5.2 可执行文件

    第18章 汇编与C之间的关系

    18.1 函数调用

    18.2 main函数、启动例程和退出状态

    18.3 变量的存储布局

    18.4 结构体和联合体

    18.5 C内联汇编

    18.6 volatile限定符

    第19章 链接详解

    19.1 多目标文件的链接

    19.2 定义和声明

    19.2.1 extern和static关键字

    19.2.2 头文件

    19.2.3 定义和声明的详细规则

    19.3 静态库

    19.4 共享库

    19.4.1 编译、链接、运行

    19.4.2 函数的动态链接过程

    19.4.3 共享库的命名惯例

    19.5 虚拟内存管理

    第20章 预处理

    20.1 预处理的步骤

    20.2 宏定义

    20.2.1 函数式宏定义

    20.2.2 内联函数

    20.2.3 #、##运算符和可变参数

    20.2.4 #undef预处理指示

    20.2.5 宏展开的步骤

    20.3 条件预处理指示

    20.4 其他预处理特性

    第21章 Makefile基础

    21.1 基本规则

    21.2 隐含规则和模式规则

    21.3 变量

    21.4 自动处理头文件的依赖关系

    21.5 常用的make命令行选项

    第22章 指针

    22.1 指针的基本概念

    22.2 指针类型的参数和返回值

    22.3 指针与数组

    22.4 指针与const限定符

    22.5 指针与结构体

    22.6 指向指针的指针与指针数组

    22.7 指向数组的指针与多维数组

    22.8 函数类型和函数指针类型

    22.9 不完全类型和复杂声明

    第23章 函数接口

    23.1 本章的预备知识

    23.1.1 strcpy与strncpy

    23.1.2 malloc与free

    23.2 传入参数与传出参数

    23.3 两层指针的参数

    23.4 返回值是指针的情况

    23.5 回调函数

    23.6 可变参数

    第24章 C标准库

    24.1 字符串操作函数

    24.1.1 给字符串赋初值

    24.1.2 取字符串的长度

    24.1.3 拷贝字符串

    24.1.4 连接字符串

    24.1.5 比较字符串

    24.1.6 搜索字符串

    24.1.7 分割字符串

    24.2 标准I/O库函数

    24.2.1 文件的基本概念

    24.2.2 fopen/fclose

    24.2.3 stdin/stdout/stderr

    24.2.4 errno与perror/strerror函数

    24.2.5 以字节为单位的I/O函数

    24.2.6 操作读写位置的函数

    24.2.7 以字符串为单位的I/O函数

    24.2.8 以记录为单位的I/O函数

    24.2.9 格式化I/O函数

    24.2.10 C标准库的I/O缓冲区

    24.2.11 本节综合练习

    24.3 数值字符串转换函数

    24.4 分配内存的函数

    第25章 链表、二叉树和哈希表

    25.1 链表

    25.1.1 单链表

    25.1.2 双向链表

    25.1.3 静态链表

    25.1.4 本节综合练习

    25.2 二叉树

    25.2.1 二叉树的基本概念

    25.2.2 排序二叉树

    25.3 哈希表

    本阶段总结

    附录A 字符编码

    索引

    参考文献
  • 内容简介:
      《一站式学习c编程》有两条线索,一条线索是以linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识c语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识c语言。

      《一站式学习c编程》适合做零基础的初学者学习c语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照本书查缺补漏,从而更深入地理解程序的工作原理。《一站式学习c编程》最初是为北京亚嵌教育研究中心的嵌入式linux系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。本书对于c语言的语法介绍得非常全面,对c99标准做了很多解读,因此也可以作为一本精简的c语言语法参 考书。
  • 作者简介:
      宋劲杉,亚嵌教育资深讲师,清华大学自动化系硕士,6年嵌入式系统开发经验,3年嵌入式行业教学经验,精通Linux内核、POSIX、TCP/IP,擅长ARM平台的Linux系统移植和应用开发,目前关注的方向有分布式系统、动态语言。爱好:开源软件、电子音乐、HomeParty。
  • 目录:
    上篇 C语言入门

    第1章 程序的基本概念

    1.1 程序和编程语言

    1.2 自然语言和形式语言

    1.3 程序的调试

    1.4 第一个程序

    第2章 常量、变量和表达式

    2.1 继续Hello World

    2.2 常量

    2.3 变量

    2.4 赋值

    2.5 表达式

    2.6 字符类型与字符编码

    第3章 简单函数

    3.1 数学函数

    3.2 自定义函数

    3.3 形参和实参

    3.4 全局变量、局部变量和作用域

    第4章 分支语句

    4.1 if语句

    4.2 if/else语句

    4.3 布尔代数

    4.4 switch语句

    第5章 深入理解函数

    5.1 return语句

    5.2 增量式开发

    5.3 递归

    第6章 循环语句

    6.1 while语句

    6.2 do/while语句

    6.3 for语句

    6.4 break和continue语句

    6.5 嵌套循环

    6.6 goto语句和标号

    第7章 结构体

    7.1 复合类型与结构体

    7.2 数据抽象

    7.3 数据类型标志

    7.4 嵌套结构体

    第8章 数组

    8.1 数组的基本概念

    8.2 数组应用实例:统计随机数

    8.3 数组应用实例:直方图

    8.4 字符串

    8.5 多维数组

    第9章 编码风格

    9.1 缩进和空白

    9.2 注释

    9.3 标识符命名

    9.4 函数

    9.5 indent工具

    第10章 gdb

    10.1 单步执行和跟踪函数调用

    10.2 断点

    10.3 观察点

    10.4 段错误

    第11章 排序与查找

    11.1 算法的概念

    11.2 插入排序

    11.3 算法的时间复杂度分析

    11.4 归并排序

    11.5 线性查找

    11.6 折半查找

    第12章 栈与队列

    12.1 数据结构的概念

    12.2 堆栈

    12.3 深度优先搜索

    12.4 队列与广度优先搜索

    12.5 环形队列

    本阶段总结

    下篇 C语言本质

    第13章 计算机中数的表示

    13.1 为什么计算机用二进制计数

    13.2 不同进制之间的换算

    13.3 整数的加减运算

    13.3.1 Sign and Magnitude表示法

    13.3.2 1's Complement表示法

    13.3.3 2's Complement表示法

    13.3.4 有符号数和无符号数

    13.4 浮点数

    第14章 数据类型详解

    14.1 整型

    14.2 浮点型

    14.3 类型转换

    14.3.1 Integer Promotion

    14.3.2 Usual Arithmetic Conversion

    14.3.3 由赋值产生的类型转换

    14.3.4 强制类型转换

    14.3.5 编译器如何处理类型转换

    第15章 运算符详解

    15.1 位运算

    15.1.1 按位与、或、异或、取反运算

    15.1.2 移位运算

    15.1.3 掩码

    15.1.4 异或运算的一些特性

    15.2 其他运算符

    15.2.1 复合赋值运算符

    15.2.2 条件运算符

    15.2.3 逗号运算符

    15.2.4 sizeof运算符与typedef类型声明

    15.3 Side Effect与Sequence Point

    15.4 运算符总结

    第16章 计算机体系结构基础

    16.1 内存与地址

    16.2 CPU

    16.3 设备

    16.4 MMU

    16.5 Memory Hierarchy

    第17章 x86汇编程序基础

    17.1 最简单的汇编程序

    17.2 x86的寄存器

    17.3 第二个汇编程序

    17.4 寻址方式

    17.5 ELF文件

    17.5.1 目标文件

    17.5.2 可执行文件

    第18章 汇编与C之间的关系

    18.1 函数调用

    18.2 main函数、启动例程和退出状态

    18.3 变量的存储布局

    18.4 结构体和联合体

    18.5 C内联汇编

    18.6 volatile限定符

    第19章 链接详解

    19.1 多目标文件的链接

    19.2 定义和声明

    19.2.1 extern和static关键字

    19.2.2 头文件

    19.2.3 定义和声明的详细规则

    19.3 静态库

    19.4 共享库

    19.4.1 编译、链接、运行

    19.4.2 函数的动态链接过程

    19.4.3 共享库的命名惯例

    19.5 虚拟内存管理

    第20章 预处理

    20.1 预处理的步骤

    20.2 宏定义

    20.2.1 函数式宏定义

    20.2.2 内联函数

    20.2.3 #、##运算符和可变参数

    20.2.4 #undef预处理指示

    20.2.5 宏展开的步骤

    20.3 条件预处理指示

    20.4 其他预处理特性

    第21章 Makefile基础

    21.1 基本规则

    21.2 隐含规则和模式规则

    21.3 变量

    21.4 自动处理头文件的依赖关系

    21.5 常用的make命令行选项

    第22章 指针

    22.1 指针的基本概念

    22.2 指针类型的参数和返回值

    22.3 指针与数组

    22.4 指针与const限定符

    22.5 指针与结构体

    22.6 指向指针的指针与指针数组

    22.7 指向数组的指针与多维数组

    22.8 函数类型和函数指针类型

    22.9 不完全类型和复杂声明

    第23章 函数接口

    23.1 本章的预备知识

    23.1.1 strcpy与strncpy

    23.1.2 malloc与free

    23.2 传入参数与传出参数

    23.3 两层指针的参数

    23.4 返回值是指针的情况

    23.5 回调函数

    23.6 可变参数

    第24章 C标准库

    24.1 字符串操作函数

    24.1.1 给字符串赋初值

    24.1.2 取字符串的长度

    24.1.3 拷贝字符串

    24.1.4 连接字符串

    24.1.5 比较字符串

    24.1.6 搜索字符串

    24.1.7 分割字符串

    24.2 标准I/O库函数

    24.2.1 文件的基本概念

    24.2.2 fopen/fclose

    24.2.3 stdin/stdout/stderr

    24.2.4 errno与perror/strerror函数

    24.2.5 以字节为单位的I/O函数

    24.2.6 操作读写位置的函数

    24.2.7 以字符串为单位的I/O函数

    24.2.8 以记录为单位的I/O函数

    24.2.9 格式化I/O函数

    24.2.10 C标准库的I/O缓冲区

    24.2.11 本节综合练习

    24.3 数值字符串转换函数

    24.4 分配内存的函数

    第25章 链表、二叉树和哈希表

    25.1 链表

    25.1.1 单链表

    25.1.2 双向链表

    25.1.3 静态链表

    25.1.4 本节综合练习

    25.2 二叉树

    25.2.1 二叉树的基本概念

    25.2.2 排序二叉树

    25.3 哈希表

    本阶段总结

    附录A 字符编码

    索引

    参考文献
查看详情
您可能感兴趣 / 更多
一站式学习C编程
Linux C编程一站式学习
宋劲杉