| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 论坛
 上传资源
上传编程相关的资源,源源不断赚取资源分,以备将来下载之需
ghf794785671
文件大小:38.51 MB
文件类型:pdf
发布时间:2021-08-18 10:51:13
需资源分:2
下载次数:20
Tag:C语言大学教程[第八版]
::资源简介::
C语言大学教程[第八版] 完整书签 优化

C语言大学教程[第八版]
 内容简介
 前言
 目录
 第01章 计算机/因特网和万维网导论
  1_1 引言
  1_2 计算机硬件和软件
   1_2_1 摩尔定律
   1_2_2 计算机组成
  1_3 数据的层次结构
  1_4 机器语言/汇编语言和高级语言
  1_5 C程序设计语言
  1_6 C标准库
  1_7 C++和其他基于C的程序设计语言
  1_8 对象技术
   1_8_1 对象_以汽车为例
   1_8_2 方法与类
   1_8_3 实例化
   1_8_4 软件重用
   1_8_5 消息与方法调用
   1_8_6 属性与实例变量
   1_8_7 封装与信息隐藏
   1_8_8 继承
  1_9 典型的C程序开发环境
   1_9_1 第1步:创建一个C程序
   1_9_2 第2步和第3步:预处理及编译一个C程序
   1_9_3 第4步:链接
   1_9_4 第5步:装载
   1_9_5 第6步:执行
   1_9_6 程序运行时可能会出现的问题
   1_9_7 标准输入/标准输出和标准错误流
  1_10 在Windows/Linux和Mac OS X上测试并运行一个C应用程序
   1_10_1 在Windows命令提示符下运行一个C应用程序
   1_10_2 使用Linux中的GNU C来运行一个C应用程序
   1_10_3 使用Mac OS X终端来运行一个C应用程序
  1_11 操作系统
   1_11_1 Windows--一个专有的操作系统
   1_11_2 Linux--一个开源的操作系统
   1_11_3 苹果公司的Mac OS X;面向iPhone/iPad和iPod Touch的iOS操作系统
   1_11_4 谷歌公司的Android操作系统
  1_12 因特网和万维网
   1_12_1 因特网:计算机网络的网络
   1_12_2 万维网:让因特网对用户更友好
   1_12_3 万维网服务
   1_12_4 Ajax
   1_12_5 物联网
  1_13 一些重要的软件技术
  1_14 跟上信息技术的发展
 第02章 C语言程序设计入门
  2_1 引言
  2_2 一个简单的C程序:打印一行文字
  2_3 另一个简单的C程序:两个整数求和
  2_4 存储单元的基本概念
  2_5 C语言中的算术运算
  2_6 做出决策:相等和关系运算符
  2_7 安全的C程序设计
 第03章 结构化的C程序设计
  3_1 引言
  3_2 算法
  3_3 伪代码
  3_4 控制结构
  3_5 if条件语句
  3_6 if_else条件语句
  3_7 while循环语句
  3_8 算法设计案例1:计数控制的循环
  3_9 自顶向下/逐步求精的算法设计案例2:标记控制的循环
  3_10 自顶向下/逐步求精的算法设计案例3:嵌套控制结构
  3_11 赋值运算符
  3_12 增1和减1运算符
  3_13 安全的C程序设计
 第04章 C程序控制
  4_1 引言
  4_2 循环的基本原理
  4_3 计数控制的循环
  4_4 for循环语句
  4_5 for语句:注意事项
  4_6 使用for语句的例子
  4_7 switch多重选择语句
  4_8 do_while循环语句
  4_9 break和continue语句
  4_10 逻辑运算符
  4_11 区分相等运算符(==)和赋值运算符(=)
  4_12 结构化程序设计小结
  4_13 安全的C程序设计
 第05章 C函数
  5_1 引言
  5_2 C语言中的程序模块
  5_3 数学库函数
  5_4 函数
  5_5 函数定义
   5_5_1 square函数
   5_5_2 maximum函数
  5_6 函数原型:一个深入的剖析
  5_7 函数调用堆栈及活动记录堆栈帧
  5_8 头文件
  5_9 按值或按引用传递参数
  5_10 随机数的生成
  5_11 案例分析:运气游戏;引入enum
  5_12 存储类型
  5_13 作用域的规定
  5_14 递归
  5_15 递归应用案例:斐波那契数列
  5_16 递归与迭代
  5_17 安全的C程序设计
 第06章 C数组
  6_1 引言
  6_2 数组
  6_3 数组定义
  6_4 数组实例
   6_4_1 定义一个数组并用循环结构来设置数组元素值
   6_4_2 在定义语句中用一个初始值列表来初始化一个数组
   6_4_3 用符号常量来定义数组的大小并通过计算来初始化数组元素
   6_4_4 数组元素值求和
   6_4_5 用数组来统计民意调查的结果
   6_4_6 用直方图来展示数组元素值
   6_4_7 用数组来统计投掷骰子60000000次的结果
  6_5 用字符数组来存储和处理字符串
   6_5_1 定义一个字符串来初始化一个字符数组
   6_5_2 用一个字符初始化列表来初始化一个字符数组
   6_5_3 访问一个字符串中的字符
   6_5_4 针对一个字符数组的输入
   6_5_5 将一个代表字符串的字符数组输出
   6_5_6 字符数组的演示
  6_6 静态局部数组和自动局部数组
  6_7 将数组传递给函数
  6_8 数组排序
  6_9 案例分析:用数组来计算平均值/中值和众数
  6_10 数组查找
   6_10_1 线性查找数组元素
   6_10_2 折半查找数组元素
  6_11 多下标数组
   6_11_1 双下标数组概述
   6_11_2 双下标数组的初始化
   6_11_3 设置某行元素的元素值
   6_11_4 计算双下标数组中所有元素值的总和
   6_11_5 对双下标数组的处理
  6_12 可变长数组
  6_13 安全的C程序设计
 第07章 C指针
  7_1 引言
  7_2 指针变量的定义和初始化
  7_3 指针运算符
  7_4 按引用向函数传递实参
  7_5 对指针使用const限定符
   7_5_1 用指向可变数据的可变指针将字符串中的字符改成大写
   7_5_2 用指向常量数据的可变指针逐个打印字符串中的字符
   7_5_3 试图修改指向可变数据的常量指针
   7_5_4 试图修改指向常量数据的常量指针
  7_6 采用按引用传递的冒泡排序
  7_7 sizeof运算符
  7_8 指针表达式和指针算术运算
   7_8_1 指针算术运算中可使用的运算符
   7_8_2 将指针对准一个数组
   7_8_3 给指针加上一个整数
   7_8_4 给指针减去一个整数
   7_8_5 指针增1或减1
   7_8_6 从一个指针中减去另一个指针
   7_8_7 将一个指针赋予另一个指针
   7_8_8 指向void的指针
   7_8_9 指针的比较
  7_9 指针和数组的关系
   7_9_1 指针/偏移量表示法
   7_9_2 指针/下标表示法
   7_9_3 不能用指针算术运算来修改数组名
   7_9_4 指针下标和指针偏移量的使用演示
   7_9_5 用数组和指针实现字符串的复制
  7_10 指针数组
  7_11 案例研究:模拟扑克牌的洗牌和发牌
  7_12 指向函数的指针
   7_12_1 按升序或降序进行排序
   7_12_2 使用函数指针来创建一个菜单驱动的系统
  7_13 安全的C程序设计
 第08章 C字符和字符串
  8_1 引言
  8_2 字符串和字符基础
  8_3 字符处理函数库
   8_3_1 函数isdigit/isalpha/isalnum和isxdigit
   8_3_2 函数islower/isupper/tolower和toupper
   8_3_3 函数isspace/iscntrl/ispunct/isprint和isgraph
  8_4 字符串转换函数
   8_4_1 函数strtod
   8_4_2 函数strtol
   8_4_3 函数strtoul
  8_5 标准输入/输出库函数
   8_5_1 函数fgets和putchar
   8_5_2 函数getchar
   8_5_3 函数sprintf
   8_5_4 函数sscanf
  8_6 字符串处理函数库中的字符串处理函数
   8_6_1 函数strcpy和strncpy
   8_6_2 函数strcat和strncat
  8_7 字符串处理函数库中的比较函数
  8_8 字符串处理函数库中的查找函数
   8_8_1 函数strchr
   8_8_2 函数strcspn
   8_8_3 函数strpbrk
   8_8_4 函数strrchr
   8_8_5 函数strspn
   8_8_6 函数strstr
   8_8_7 函数strtok
  8_9 字符串处理函数库中的内存处理函数
   8_9_1 函数memcpy
   8_9_2 函数memmove
   8_9_3 函数memcmp
   8_9_4 函数memchr
   8_9_5 函数memset
  8_10 字符串处理函数库中的其他函数
   8_10_1 函数strerror
   8_10_2 函数strlen
  8_11 安全的C程序设计
 第09章 C格式化输入/输出
  9_1 引言
  9_2 流
  9_3 用printf函数实现格式化输出
  9_4 打印整数
  9_5 打印浮点数
   9_5_1 转换说明符e/E或f
   9_5_2 转换说明符g或G
   9_5_3 浮点数转换说明符的使用演示
  9_6 打印字符串或字符
  9_7 其他的转换说明符
  9_8 带域宽和精度的打印
   9_8_1 在打印整数时指定域宽
   9_8_2 在打印整数/浮点数和字符串时指定精度
   9_8_3 同时指定域宽和精度
  9_9 在printf函数的格式控制字符串中使用标记
   9_9_1 右对齐和左对齐
   9_9_2 用与不用+标记来打印正数和负数
   9_9_3 使用空格标记
   9_9_4 使用#标记
   9_9_5 使用0标记
  9_10 打印文本和转义序列
  9_11 用scanf函数读取格式化的输入
   9_11_1 scanf的语法
   9_11_2 scanf的转换说明符
   9_11_3 用scanf来读入整数
   9_11_4 用scanf来读入浮点数
   9_11_5 用scanf来读入字符和字符串
   9_11_6 在scanf中使用扫描集
   9_11_7 在scanf中指定域宽
   9_11_8 在输入流中忽略掉特定字符
  9_12 安全的C程序设计
 第10章 结构体/共用体/位操作和枚举类型
  10_1 引言
  10_2 结构体的定义
   10_2_1 自引用结构体
   10_2_2 定义结构体类型的变量
   10_2_3 结构体标记名
   10_2_4 可对结构体实施的操作
  10_3 结构体的初始化
  10_4 用.和->访问结构体成员
  10_5 在函数中使用结构体
  10_6 typedef的使用
  10_7 实例分析:高性能的洗牌与发牌模拟
  10_8 共用体
   10_8_1 声明一个共用体
   10_8_2 可对共用体执行的操作
   10_8_3 在声明语句中对共用体进行初始化
   10_8_4 使用共用体的演示
  10_9 位运算符
   10_9_1 按位显示一个无符号整数
   10_9_2 使函数displayBits更具可扩展性和可移植性
   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_13 安全的C程序设计
 第11章 文件处理
  11_1 引言
  11_2 文件与流
  11_3 顺序存取文件的创建
   11_3_1 指向FILE结构体类型的指针
   11_3_2 用函数fopen打开文件
   11_3_3 用函数feof来检查文件结束标记
   11_3_4 用函数fprintf向文件写入数据
   11_3_5 用函数fclose来关闭文件
   11_3_6 文件打开模式
  11_4 从顺序存取文件中读取数据
   11_4_1 文件位置指针的复位
   11_4_2 信用查询程序
  11_5 随机存取文件
  11_6 随机存取文件的创建
  11_7 随机地向一个随机存取文件中写入数据
   11_7_1 用函数fseek来定位文件位置指针
   11_7_2 出错检查
  11_8 从一个随机存取文件中读取数据
  11_9 案例研究:事务处理程序
  11_10 安全的C程序设计
 第12章 C数据结构
  12_1 引言
  12_2 自引用结构体
  12_3 动态内存分配
  12_4 链表
   12_4_1 insert函数
   12_4_2 delete函数
   12_4_3 printList函数
  12_5 堆栈
   12_5_1 push函数
   12_5_2 pop函数
   12_5_3 堆栈的应用
  12_6 队列
   12_6_1 enqueue函数
   12_6_2 dequeue函数
  12_7 树
   12_7_1 insertNode函数
   12_7_2 遍历函数inOrder/preOrder和postOrder
   12_7_3 消除冗余
   12_7_4 二元树搜索
   12_7_5 二元树的其他操作
  12_8 安全的C程序设计
 第13章 C预处理
  13_1 引言
  13_2 #include预处理命令
  13_3 #define预处理命令:符号常量
  13_4 #define预处理命令:宏
   13_4_1 带一个参数的宏
   13_4_2 带两个参数的宏
   13_4_3 宏连续符
   13_4_4 #undef预处理命令
   13_4_5 标准库函数和宏
   13_4_6 不要把带有副作用的表达式放在宏中
  13_5 条件编译
   13_5_1 #if_#endif预处理命令
   13_5_2 用#if_#endif将代码块注释起来
   13_5_3 对调试代码的条件编译
  13_6 #error和#pragma预处理命令
  13_7 #和##运算符
  13_8 行号
  13_9 预定义的符号常量
  13_10 断言
  13_11 安全的C程序设计
 第14章 C语言的其他专题
  14_1 引言
  14_2 I/O的重定向
   14_2_1 用<来重定向输入
   14_2_2 用|来重定向输入
   14_2_3 重定向输出
  14_3 可变长的参数列表
  14_4 使用命令行实参
  14_5 编译由多个源文件组成的程序
   14_5_1 在别的文件中对全局变量进行extern声明
   14_5_2 函数原型
   14_5_3 用static来限制作用域
   14_5_4 Makefile
  14_6 使用exit和atexit终止程序
  14_7 整型和浮点型常量的后缀
  14_8 信号处理
  14_9 动态内存分配:函数calloc和realloc
  14_10 用goto实现无条件转移
 第15章 C++/一个更好的C:介绍对象技术
  15_1 引言
  15_2 C++
  15_3 简单程序:两个整数相加
   15_3_1 用C++编写加法程序
   15_3_2 <iostream>头文件
   15_3_3 main函数
   15_3_4 变量声明
   15_3_5 标准输出流和标准输入流对象
   15_3_6 std::endl流操纵符
   15_3_7 关于std::的说明
   15_3_8 级联的流输出
   15_3_9 main函数中的return语句不是必需的
   15_3_10 运算符重载
  15_4 C++标准库
  15_5 头文件
  15_6 内联函数
  15_7 C++关键字
  15_8 引用和引用形参
   15_8_1 引用形参
   15_8_2 按值和按引用传参
   15_8_3 函数体内引用作为别名
   15_8_4 从函数返回引用
   15_8_5 未初始化的引用的错误提示信息
  15_9 空形参列表
  15_10 默认实参
  15_11 一元作用域运算符
  15_12 函数重载
  15_13 函数模板
   15_13_1 定义一个函数模板
   15_13_2 使用函数模板
  15_14 对象技术与UML简介
   15_14_1 对象技术基本概念
   15_14_2 类/数据成员和成员函数
   15_14_3 面向对象分析与设计
   15_14_4 统一建模语言
  15_15 C++标准库类模板vector简介
   15_15_1 C风格的基于指针的数组
   15_15_2 使用类模板vector
   15_15_3 异常处理:处理下标越界
  15_16 本章小结
 第16章 类:对象和字符串简介
  16_1 引言
  16_2 定义一个具有成员函数的类
  16_3 定义一个有参成员函数
  16_4 数据成员/set成员函数与get成员函数
  16_5 用构造函数初始化对象
  16_6 将类放在单独的文件中以增强重用性
  16_7 将接口与实现分离
  16_8 用set函数验证数据
  16_9 本章小结
 第17章 类:深入剖析_抛出异常
  17_1 引言
  17_2 Time类的案例学习
  17_3 类域和访问类的成员
  17_4 访问函数和工具函数
  17_5 Time类的案例学习:具有默认实参的构造函数
  17_6 析构函数
  17_7 构造函数与析构函数的调用时间
  17_8 Time类的案例学习:隐蔽陷阱--返回private数据成员的引用或指针
  17_9 默认按成员赋值
  17_10 const对象和const成员函数
  17_11 组合:对象作为类的成员
  17_12 友元函数和友元类
  17_13 使用this指针
  17_14 static类成员
  17_15 本章小结
 第18章 运算符重载_string类
  18_1 引言
  18_2 使用标准库模板类string中的重载运算符
  18_3 运算符重载基础
  18_4 重载二元运算符
  18_5 重载流插入和流读取运算符
  18_6 重载一元运算符
  18_7 重载一元前置和后置++和--运算符
  18_8 案例学习:Date类
  18_9 动态内存管理
  18_10 案例学习:Array类
   18_10_1 使用Array类
   18_10_2 Array类定义
  18_11 作为类的成员和作为非成员函数的运算符函数的比较
  18_12 类型转换
  18_13 explicit构造函数和转换运算符
  18_14 重载函数调用运算符()
  18_15 本章小结
 第19章 面向对象编程:继承
  19_1 引言
  19_2 基类和派生类
  19_3 基类和派生类的关系
   19_3_1 创建并使用CommissionEmployee类
   19_3_2 不用继承创建BasePlusCommissionEmployee类
   19_3_3 创建CommissionEmployee-BasePlusCommissionEmployee继承层次结构
   19_3_4 使用protected数据的CommissionEmployee-BasePlusCommission-Employee继承层次结构
   19_3_5 使用private数据的CommissionEmployee-BasePlusCommission Employee继承层次结构
  19_4 派生类的构造函数与析构函数
  19_5 public/protected和private继承
  19_6 关于继承的软件工程
  19_7 本章小结
 第20章 面向对象编程:多态
  20_1 引言
  20_2 多态简介:多态的视频游戏
  20_3 继承层次结构中对象间的关系
   20_3_1 派生类对象调用基类的函数
   20_3_2 派生类指针指向基类对象
   20_3_3 用基类指针调用派生类成员函数
   20_3_4 虚函数和虚析构函数
  20_4 类型域和switch语句
  20_5 抽象类和纯虚函数
  20_6 案例学习:利用多态的工资系统
   20_6_1 创建抽象基类Employee
   20_6_2 创建具体的派生类SalariedEmployee
   20_6_3 创建具体的派生类CommissionEmployee
   20_6_4 创建间接的具体派生类BasePlusCommissionEmployee
   20_6_5 演示多态处理
  20_7 (选讲)多态/虚函数以及动态联编的幕后机制
  20_8 案例学习:利用多态的和运行时类型信息的工资系统/通过向下类型转换/dynamic_cast/typeid以及type_info使用运行时类型信息
  20_9 本章小结
 第21章 输入/输出流:深入学习
  21_1 引言
  21_2 流
   21_2_1 传统流与标准流的比较
   21_2_2 iostream类库头文件
   21_2_3 输入/输出流类和对象
  21_3 输出流
   21_3_1 输出char*变量
   21_3_2 用成员函数put输出字符
  21_4 输入流
   21_4_1 成员函数get和getline
   21_4_2 istream类的成员函数peek/putback和ignore
   21_4_3 类型安全的I/O
  21_5 用read/write和gcount进行无格式I/O
  21_6 流操纵符简介
   21_6_1 设置整数流的基数:dec/oct/hex和setbase
   21_6_2 设置浮点数精度(precision/setprecision)
   21_6_3 设置域宽(width/setw)
   21_6_4 用户定义的输出流操纵符
  21_7 流格式状态和流操纵符
   21_7_1 设置尾数零和十进制小数点(showpoint)
   21_7_2 设置对齐(left/right和internal)
   21_7_3 设置填充字符(fill/setfill)
   21_7_4 设置整数流的基数(dec/oct/hex/showbase)
   21_7_5 设置浮点数;科学计数法和定点计数法(scientific/fixed)
   21_7_6 大/小写控制(uppercase)
   21_7_7 指定布尔格式(boolalpha)
   21_7_8 用成员函数flags设置和重置格式状态
  21_8 流错误状态
  21_9 将输出流绑定到输入流上
  21_10 本章小结
 第22章 异常处理:深入学习
  22_1 引言
  22_2 实例:处理除数为0的异常
  22_3 重新抛出异常
  22_4 栈展开
  22_5 何时使用异常处理
  22_6 构造函数/析构函数与异常处理
  22_7 异常与继承
  22_8 处理new故障
  22_9 unique_ptr类与动态内存分配
  22_10 标准库的异常层次结构
  22_11 本章小结
 第23章 模板
  23_1 引言
  23_2 类模板
  23_3 函数模操作类模板的特化对象
  23_4 非类型形参
  23_5 模板类型形参的默认实参
  23_6 重载函数模板
  23_7 本章小结
 附录A 运算符优先级表
 附录B ASCII字符集
 附录C 数值系统
 附录D 排序:一个深入的分析
 附录E 多线程及其他C11和C99专题
 索引
::下载地址::

BCCN本地下载 
开通VIP
可免资源分下载所有资源
::下载本资源的人也下载了::
::作者其它资源::
 
>> 评论
 
热门Tag:
 
编程中国 版权所有,并保留所有权利。 在线客服
微信扫码咨询

Powered by BCCN 1.020, Processed in 0.009598 second(s)
Copyright©2010-2024, BCCN.NET, All Rights Reserved

在线客服
微信扫码咨询