计算机
类型
8.4
豆瓣评分
可以朗读
语音朗读
120千字
字数
2019-01-01
发行日期
展开全部
主编推荐语
零基础学C99,深入浅出,实例演示。
内容简介
本书面向零基础的读者,深入浅出,通俗易懂。本书从变量、数据类型、取值范围等基本知识开始讲解,再深入介绍两大重要的结构——分支与循环,讲到全书的重点——指针——的时候,分散难点,依次讲解数组与指针,函数与指针,结构体与指针,每个知识点结合恰当的实例演示,环环相扣,内容详尽。注:本书所有代码均符合C99标准。
目录
- 封面页
- 书名页
- 版权页
- 作者简介
- 内容简介
- 前言
- 目录
- 第1章 初窥门径
- 1.1 C语言被淘汰了吗
- 1.2 莫尔斯密码
- 1.3 机器语言
- 1.4 汇编语言
- 1.5 C语言
- 1.6 C语言的优势
- 1.7 第一个程序
- 1.8 打印
- 1.9 变量
- 1.10 常量
- 1.10.1 定义符号常量
- 1.10.2 标识符
- 1.10.3 字符串常量
- 1.11 数据类型
- 1.12 sizeof运算符
- 1.13 signed和unsigned
- 1.14 取值范围
- 1.15 字符
- 1.16 字符串
- 1.17 运算符
- 1.17.1 算术运算符
- 1.17.2 目
- 1.17.3 表达式
- 1.17.4 运算符的优先级和结合性
- 1.17.5 类型转换
- 第2章 了不起的分支和循环
- 2.1 分支结构
- 2.1.1 关系运算符
- 2.1.2 关系表达式
- 2.1.3 逻辑运算符
- 2.1.4 逻辑表达式
- 2.1.5 短路求值
- 2.1.6 if语句
- 2.1.7 switch语句
- 2.1.8 分支结构的嵌套
- 2.1.9 悬挂else
- 2.1.10 等于号带来的问题
- 2.2 循环结构
- 2.2.1 while语句
- 2.2.2 do-while语句
- 2.2.3 for语句
- 2.2.4 灵活的for语句
- 2.2.5 循环结构的嵌套
- 2.2.6 break语句
- 2.2.7 continue语句
- 2.3 拾遗
- 2.3.1 赋值运算符
- 2.3.2 复合的赋值运算符
- 2.3.3 自增自减运算符
- 2.3.4 逗号运算符
- 2.3.5 条件运算符
- 2.3.6 goto语句
- 2.3.7 注释
- 第3章 数组
- 3.1 一维数组
- 3.1.1 定义一维数组
- 3.1.2 访问一维数组
- 3.1.3 循环与数组的关系
- 3.1.4 数组的初始化
- 3.1.5 可变长数组
- 3.1.6 字符数组
- 3.2 字符串处理函数
- 3.2.1 获取字符串的长度
- 3.2.2 复制字符串
- 3.2.3 连接字符串
- 3.2.4 比较字符串
- 3.3 二维数组
- 3.3.1 定义二维数组
- 3.3.2 访问二维数组
- 3.3.3 二维数组的初始化
- 第4章 指针
- 4.1 指针和指针变量
- 4.1.1 定义指针变量
- 4.1.2 取地址运算符和取值运算符
- 4.1.3 避免访问未初始化的指针
- 4.2 指针和数组
- 4.2.1 数组的地址
- 4.2.2 指向数组的指针
- 4.2.3 指针的运算
- 4.2.4 指针和数组的区别
- 4.2.5 指针数组和数组指针
- 4.2.6 指针和二维数组
- 4.2.7 数组指针和二维数组
- 4.3 void指针
- 4.4 NULL指针
- 4.5 指向指针的指针
- 4.6 指针数组和指向指针的指针
- 4.7 再讲数组指针和二维数组
- 4.8 常量和指针
- 4.9 指向常量的指针
- 4.10 常量指针
- 4.10.1 指向非常量的常量指针
- 4.10.2 指向常量的常量指针
- 4.10.3 指向“指向常量的常量指针”的指针
- 第5章 函数
- 5.1 函数的定义和声明
- 5.1.1 热身
- 5.1.2 函数的定义
- 5.1.3 函数的声明
- 5.2 函数的参数和返回值
- 5.2.1 形参和实参
- 5.2.2 传值和传址
- 5.2.3 传数组
- 5.2.4 可变参数
- 5.3 指针函数和函数指针
- 5.3.1 指针函数
- 5.3.2 误区:返回指向局部变量的指针
- 5.3.3 函数指针
- 5.3.4 函数指针作为参数
- 5.3.5 函数指针作为返回值
- 5.4 局部变量和全局变量
- 5.4.1 局部变量
- 5.4.2 全局变量
- 5.4.3 不要大量使用全局变量
- 5.5 作用域和链接属性
- 5.5.1 代码块作用域
- 5.5.2 文件作用域
- 5.5.3 原型作用域
- 5.5.4 函数作用域
- 5.5.5 链接属性
- 5.6 生存期和存储类型
- 5.6.1 生存期
- 5.6.2 存储类型
- 5.7 递归
- 5.7.1 什么是递归
- 5.7.2 递归求阶乘
- 5.7.3 汉诺塔
- 5.7.4 分治法
- 5.7.5 快速排序
- 5.8 动态内存管理
- 5.8.1 malloc
- 5.8.2 free
- 5.8.3 内存泄漏
- 5.8.4 申请任意尺寸的内存空间
- 5.8.5 calloc
- 5.8.6 realloc
- 5.9 C语言的内存布局
- 5.9.1 代码段
- 5.9.2 数据段
- 5.9.3 BSS段
- 5.9.4 堆
- 5.9.5 栈
- 5.10 高级宏定义
- 5.10.1 不带参数的宏定义
- 5.10.2 带参数的宏定义
- 5.11 内联函数
- 5.12 一些鲜为人知的技巧
- 5.12.1 #和##
- 5.12.2 可变参数
- 第6章 结构体
- 6.1 结构体的声明和定义
- 6.1.1 结构体的声明
- 6.1.2 结构体的定义
- 6.1.3 访问结构体成员
- 6.1.4 初始化结构体
- 6.1.5 对齐
- 6.2 结构体嵌套
- 6.3 结构体数组
- 6.4 结构体指针
- 6.5 传递结构体信息
- 6.5.1 传递结构体变量
- 6.5.2 传递指向结构体变量的指针
- 6.6 动态申请结构体
- 6.7 单链表
- 6.7.1 在单链表中插入元素(头插法)
- 6.7.2 在单链表中插入元素(尾插法)
- 6.7.3 搜索单链表
- 6.7.4 插入节点到指定位置
- 6.7.5 在单链表中删除元素
- 6.8 内存池
- 6.9 typedef
- 6.9.1 给数据类型起别名
- 6.9.2 结构体的好搭档
- 6.9.3 进阶typedef
- 6.10 共用体
- 6.10.1 共用体的声明
- 6.10.2 共用体的定义
- 6.10.3 初始化共用体
- 6.11 枚举
- 6.12 位域
- 第7章 位操作
- 7.1 逻辑位运算符
- 7.1.1 按位取反
- 7.1.2 按位与
- 7.1.3 按位异或
- 7.1.4 按位或
- 7.1.5 和赋值号结合
- 7.2 移位运算符
- 7.2.1 左移运算符
- 7.2.2 右移运算符
- 7.2.3 和赋值号结合
- 7.2.4 一些未定义行为
- 7.3 应用
- 7.3.1 掩码
- 7.3.2 打开位
- 7.3.3 关闭位
- 7.3.4 转置位
- 第8章 文件操作
- 8.1 文件是什么
- 8.2 打开和关闭文件
- 8.3 顺序读写文件
- 8.3.1 读写单个字符
- 8.3.2 读写整个字符串
- 8.3.3 格式化读写文件
- 8.3.4 二进制读写文件
- 8.4 随机读写文件
- 8.5 标准流
- 8.5.1 标准输入、标准输出和标准错误输出
- 8.5.2 重定向
- 8.5.3 错误处理
- 8.6 I/O缓冲区
- 附录A 环境搭建教程
- A.1 安装VirtualBox虚拟机
- A.2 获取CentOS及版本选择
- A.3 在虚拟机上安装CentOS
- A.4 配置CentOS并安装GCC编译器
- A.5 安装图形界面
- A.6 安装中文输入法及设置合适的编程字体
- A.7 安装VirtualBox增强工具及共享文件夹设置
- A.8 设置VIM编辑器
- A.9 Mac OS搭建C语言学习环境
- 附录B VIM快速入门
- B.1 使用h、j、k、l来移动光标
- B.2 插入模式和退出VIM的方法
- B.3 删除命令、数字的魔力、撤销和恢复命令
- B.4 粘贴/复制命令、替换命令、替换模式和修改命令
- B.5 文件信息、跳转、定位括号和缩进
- B.6 搜索命令和替换命令
- B.7 执行shell命令、文件另存为、合并文件和打开多个文件
- 附录CD
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。