C语言程序设计 : 现代方法 = C programming C yu yan cheng xu she ji : Xian dai fang fa = C programming
(美)K. N. King著 ; 吕秀锋, 黄倩译; 金; 吕秀锋; 黄倩قیمت نهایی
۴۴٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۰٪ تخفیف
- تخفیف زماندار−۵٬۰۰۰ تومان
۵٬۰۰۰ تومان صرفهجویی نسبت به قیمت اصلی
نسخه اصلی و اورجینال
بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.
تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی
مشخصات کتاب
- سال انتشار
- ۲۰۱۰
- فرمت
- زبان
- چینی
- حجم فایل
- ۲۲۵٫۹ مگابایت
- شابک
- 9787115219572، 7115219575
دربارهٔ کتاب
时至今日, C语言仍然是计算机领域的通用语言之一,但今天的 C语言已经和最初的时候大不相同了。本书最主要的一个目的就是通过一种“现代方法”来介绍 C语言,书中强调标准 C,强调软件工程,不再强调“手工优化”。这一版中紧密结合了 C99标准,并与 C89标准进行对照,补充了 C99中的最新特性。本书分为 C语言的基础特性、 C语言的高级特性、 C语言标准库和参考资料 4个部分。每章末尾都有一个“问与答”小节给出一系列与该章内容相关的问题及答案,此外还包含适量的习题。 本书是为大学本科阶段的 C语言课程编写的教材,同时也非常适合作为其他课程的辅助用书。 封面 书名 版权 前言 目录 第1章 C语言概述 1.1 C语言的历史 1.1.1 起源 1.1.2 标准化 1.1.3 基于C的语言 1.2 C语言的优缺点 1.2.1 C语言的优点 1.2.2 C语言的缺点 1.2.3 高效地使用C语言 问与答 第2章 C语言基本概念 2.1 编写一个简单的C程序 程序 显示双关语 2.1.1 编译和链接 2.1.2 集成开发环境 2.2 简单程序的一般形式 2.2.1 指令 2.2.2 函数 2.2.3 语句 2.2.4 显示字符串 2.3 注释 2.4 变量和赋值 2.4.1 类型 2.4.2 声明 2.4.3 赋值 2.4.4 显示变量的值 程序 计算箱子的空间重量 2.4.5 初始化 2.4.6 显示表达式的值 2.5 读入输入 程序 计算箱子的空间重量(改进版) 2.6 定义常量的名字 程序 华氏温度转换为摄氏温度 2.7 标识符 2.8 C程序的书写规范 问与答 练习题 编程题 第3章 格式化输入/输出 3.1 printf函数 3.1.1 转换说明 程序用printf函数格式化数 3.1.2 转义序列 3.2 scanf函数 3.2.1 scanf函数的工作方法 3.2.2 格式串中的普通字符 3.2.3 易混淆的printf函数和scanf函数 程序 分数相加 问与答 练习题 编程题 第4章 表达式 4.1 算术运算符 程序 计算通用产品代码的校验位 4.2 赋值运算符 4.2.1 简单赋值 4.2.2 左值 4.2.3 复合赋值 4.3 自增运算符和自减运算符 4.4 表达式求值 4.5 表达式语句 问与答 练习题 编程题 第5章 选择语句 5.1 逻辑表达式 5.1.1 关系运算符 5.1.2 判等运算符 5.1.3 逻辑运算符 5.2 if语句 5.2.1 复合语句 5.2.2 else子句 5.2.3 级联式if语句 程序 计算股票经纪人的佣金 5.2.4 “悬空else”的问题 5.2.5 条件表达式 5.2.6 C89中的布尔值 5.2.7 C99中的布尔值C99 5.3 switch语句 程序 显示法定格式的日期 问与答 练习题 编程题 第6章 循环 6.1 while语句 程序 显示平方表 程序 数列求和 6.2 do语句 程序 计算整数的位数 6.3 for语句 6.3.1 for语句的惯用法 6.3.2 在for语句中省略表达式 6.3.3 C99中的for语句C99 6.3.4 逗号运算符 程序 显示平方表(改进版) 6.4 退出循环 6.4.1 break语句 6.4.2 continue语句 6.4.3 goto语句 程序 账簿结算 6.5 空语句 问与答 练习题 编程题 第7章 基本类型 7.1 整数类型 7.1.1 C99中的整数类型C99 7.1.2 整数常量 7.1.3 C99中的整数常量C99 7.1.4 整数溢出 7.1.5 读/写整数 程序 数列求和(改进版) 7.2 浮点类型 7.2.1 浮点常量 7.2.2 读/写浮点数 7.3 字符类型 7.3.1 字符操作 7.3.2 有符号字符和无符号字符 7.3.3 算术类型 7.3.4 转义序列 7.3.5 字符处理函数 7.3.6 用scanf和printf读/写字符 7.3.7 用getchar和putchar读/写字符 程序 确定消息的长度 7.4 类型转换 7.4.1 常用算术转换 7.4.2 赋值过程中的转换 7.4.3 C99中的隐式转换C99 7.4.4 强制类型转换 7.5 类型定义 7.5.1 类型定义的优点 7.5.2 类型定义和可移植性 7.6 sizeof运算符 问与答 练习题 编程题 第8章 数组 8.1 一维数组 8.1.1 数组下标 程序 数列反向 8.1.2 数组初始化 8.1.3 指定初始化式C99 程序 检查数中重复出现的数字 8.1.4 对数组使用sizeof运算符 程序 计算利息 8.2 多维数组 8.2.1 多维数组初始化 8.2.2 常量数组 程序 发牌 8.3 C99中的变长数组C99 问与答 练习题 编程题 第9章 函数 9.1 函数的定义和调用 程序 计算平均值 程序 显示倒计数 程序 显示双关语(改进版) 9.1.1 函数定义 9.1.2 函数调用 程序 判定素数 9.2 函数声明 9.3 实际参数 9.3.1 实际参数的转换 9.3.2 数组型实际参数 9.3.3 变长数组形式参数C99 9.3.4 在数组参数声明中使用staticC99 9.3.5 复合字面量C99 9.4 return语句 9.5 程序终止 9.6 递归 程序 快速排序 问与答 练习题 编程题 第10章 程序结构 10.1 局部变量 10.1.1 静态局部变量 10.1.2 形式参数 10.2 外部变量 10.2.1 示例:用外部变量实现栈 10.2.2 外部变量的利与弊 程序 猜数 10.3 程序块 10.4 作用域 10.5 构建C程序 程序 给一手牌分类 问与答 练习题 编程题 第11章 指针 11.1 指针变量 11.2 取地址运算符和间接寻址运算符 11.2.1 取地址运算符 11.2.2 间接寻址运算符 11.3 指针赋值 11.4 指针作为参数 程序 找出数组中的最大元素和最小元素 11.5 指针作为返回值 问与答 练习题 编程题 第12章 指针和数组 12.1 指针的算术运算 12.1.1 指针加上整数 12.1.2 指针减去整数 12.1.3 两个指针相减 12.1.4 指针比较 12.1.5 指向复合常量的指针C99 12.2 指针用于数组处理 12.3 用数组名作为指针 程序 数列反向(改进版) 12.3.1 数组型实际参数(改进版) 12.3.2 用指针作为数组名 12.4 指针和多维数组 12.4.1 处理多维数组的元素 12.4.2 处理多维数组的行 12.4.3 处理多维数组的列 12.4.4 用多维数组名作为指针 12.5 C99中的指针和变长数组C99 问与答 练习题 编程题 第13章 字符串 13.1 字符串字面量 13.1.1 字符串字面量中的转义序列 13.1.2 延续字符串字面量 13.1.3 如何存储字符串字面量 13.1.4 字符串字面量的操作 13.1.5 字符串字面量与字符常量 13.2 字符串变量 13.2.1 初始化字符串变量 13.2.2 字符数组与字符指针 13.3 字符串的读和写 13.3.1 用printf函数和puts函数写字符串 13.3.2 用scanf函数和gets函数读字符串 13.3.3 逐个字符读字符串 13.4 访问字符串中的字符 13.5 使用C语言的字符串库 13.5.1 strcpy函数 13.5.2 strlen函数 13.5.3 strcat函数 13.5.4 strcmp函数 程序 显示一个月的提醒列表 13.6 字符串惯用法 13.6.1 搜索字符串的结尾 13.6.2 复制字符串 13.7 字符串数组 程序 核对行星的名字 问与答 练习题 编程题 第14章 预处理器 14.1 预处理器的工作原理 14.2 预处理指令 14.3 宏定义 14.3.1 简单的宏 14.3.2 带参数的宏 14.3.3 #运算符 14.3.4 ##运算符 14.3.5 宏的通用属性 14.3.6 宏定义中的圆括号 14.3.7 创建较长的宏 14.3.8 预定义宏 14.3.9 C99中新增的预定义宏C99 14.3.10 空的宏参数C99 14.3.11 参数个数可变的宏C99 14.3.12 _func_标识符C99 14.4 条件编译 14.4.1 #if指令和#endif指令 14.4.2 defined运算符 14.4.3 #ifdef指令和#ifndef指令 14.4.4 #elif指令和#else指令 14.4.5 使用条件编译 14.5 其他指令 14.5.1 #error指令 14.5.2 #line指令 14.5.3 #pragma指令 14.5.4 _Pragma运算符C99 问与答 练习题 第15章 编写大型程序 15.1 源文件 15.2 头文件 15.2.1 #include指令 15.2.2 共享宏定义和类型定义 15.2.3 共享函数原型 15.2.4 共享变量声明 15.2.5 嵌套包含 15.2.6 保护头文件 15.2.7 头文件中的#error指令 15.3 把程序划分成多个文件 程序 文本格式化 15.4 构建多文件程序 15.4.1 makefile 15.4.2 链接期间的错误 15.4.3 重新构建程序 15.4.4 在程序外定义宏 问与答 练习题 编程题 第16章 结构、联合和枚举 16.1 结构变量 16.1.1 结构变量的声明 16.1.2 结构变量的初始化 16.1.3 指定初始化C99 16.1.4 对结构的操作 16.2 结构类型 16.2.1 结构标记的声明 16.2.2 结构类型的定义 16.2.3 结构作为参数和返回值 16.2.4 复合字面量C99 16.3 嵌套的数组和结构 16.3.1 嵌套的结构 16.3.2 结构数组 16.3.3 结构数组的初始化 程序 维护零件数据库 16.4 联合 16.4.1 用联合来节省空间 16.4.2 用联合来构造混合的数据结构 16.4.3 为联合添加“标记字段” 16.5 枚举 16.5.1 枚举标记和类型名 16.5.2 枚举作为整数 16.5.3 用枚举声明“标记字段” 问与答 练习题 编程题 第17章 指针的高级应用 17.1 动态存储分配 17.1.1 内存分配函数 17.1.2 空指针 17.2 动态分配字符串 17.2.1 使用malloc函数为字符串分配内存 17.2.2 在字符串函数中使用动态存储分配 17.2.3 动态分配字符串的数组 程序 显示一个月的提醒列表(改进版) 17.3 动态分配数组 17.3.1 使用malloc函数为数组分配存储空间 17.3.2 calloc函数 17.3.3 realloc函数 17.4 释放存储空间 17.4.1 free函数 17.4.2 “悬空指针”问题 17.5 链表 17.5.1 声明结点类型 17.5.2 创建结点 17.5.3 ->运算符 17.5.4 在链表的开始处插入结点 17.5.5 搜索链表 17.5.6 从链表中删除结点 17.5.7 有序链表 程序 维护零件数据库(改进版) 17.6 指向指针的指针 17.7 指向函数的指针 17.7.1 函数指针作为参数 17.7.2 qsort函数 17.7.3 函数指针的其他用途 程序 列三角函数表 17.8 受限指针C99 17.9 灵活数组成员C99 问与答 练习题 编程题 第18章 声明 18.1 声明的语法 18.2 存储类型 18.2.1 变量的性质 18.2.2 auto存储类型 18.2.3 static存储类型 18.2.4 extern存储类型 18.2.5 register存储类型 18.2.6 函数的存储类型 18.2.7 小结 18.3 类型限定符 18.4 声明符 18.4.1 解释复杂声明 18.4.2 使用类型定义来简化声明 18.5 初始化式 18.6 内联函数C99 18.6.1 内联定义 18.6.2 对内联函数的限制 18.6.3 在GCC中使用内联函数 问与答 练习题 第19章 程序设计 19.1 模块 19.1.1 内聚性与耦合性 19.1.2 模块的类型 19.2 信息隐藏 19.3 抽象数据类型 19.3.1 封装 19.3.2 不完整类型 19.4 栈抽象数据类型 19.4.1 为栈抽象数据类型定义接口 19.4.2 用定长数组实现栈抽象数据类型 19.4.3 改变栈抽象数据类型中数据项的类型 19.4.4 用动态数组实现栈抽象数据类型 19.4.5 用链表实现栈抽象数据类型 19.5 抽象数据类型的设计问题 19.5.1 命名惯例 19.5.2 错误处理 19.5.3 通用抽象数据类型 19.5.4 新语言中的抽象数据类型 问与答 练习题 编程题 第20章 底层程序设计 20.1 位运算符 20.1.1 移位运算符 20.1.2 按位求反运算符、按位与运算符、按位异或运算符和按位或运算符 20.1.3 用位运算符访问位 20.1.4 用位运算符访问位域 程序 XOR加密 20.2 结构中的位域 20.3 其他底层技术 20.3.1 定义依赖机器的类型 20.3.2 用联合提供数据的多个视角 20.3.3 将指针作为地址使用 程序 查看内存单元 20.3.4 volatile类型限定符 问与答 练习题 编程题 第21章 标准库 21.1 标准库的使用 21.1.1 对标准库中所用名字的限制 21.1.2 使用宏隐藏的函数 21.2 C89标准库概述 21.3 C99标准库更新 21.4 :常用定义 21.5 :布尔类型和值C99 问与答 练习题 编程题 第22章 输入/输出 22.1 流 22.1.1 文件指针 22.1.2 标准流和重定向 22.1.3 文本文件与二进制文件 22.2 文件操作 22.2.1 打开文件 22.2.2 模式 22.2.3 关闭文件 22.2.4 为打开的流附加文件 22.2.5 从命令行获取文件名 程序 检查文件是否可以打开 22.2.6 临时文件 22.2.7 文件缓冲 22.2.8 其他文件操作 22.3 格式化的输入/输出 22.3.1.. printf函数 22.3.2.. pr int f转换说明 22.3.3 C99对...printf转换说明的修改C99 22.3.4.. print f转换说明示例 22.3.5.. scanf函数 22.3.6.. scanf格式串 22.3.7.. scanf转换说明 22.3.8 C99对...scanf转换说明的改变C99 22.3.9 scanf示例 22.3.10 检测文件末尾和错误条件 22.4 字符的输入/输出 22.4.1 输出函数 22.4.2 输入函数 程序 复制文件 22.5 行的输入/输出 22.5.1 输出函数 22.5.2 输入函数 22.6 块的输入/输出 22.7 文件定位 程序 修改零件记录文件 22.8 字符串的输入/输出 22.8.1 输出函数 22.8.2 输入函数 问与答 练习题 编程题 第23章 库对数值和字符数据的支持 23.1 :浮点类型的特性 23.2 :整数类型的大小 23.3 :数学计算(C89) 23.3.1 错误 23.3.2 三角函数 23.3.3 双曲函数 23.3.4 指数函数和对数函数 23.3.5 幂函数 23.3.6 就近取整函数、绝对值函数和取余函数 23.4 :数学计算(C99)C99 23.4.1 IEEE浮点标准 23.4.2 类型 23.4.3 宏 23.4.4 错误 23.4.5 函数 23.4.6 分类宏 23.4.7 三角函数 23.4.8 双曲函数 23.4.9 指数函数和对数函数 23.4.10 幂函数和绝对值函数 23.4.11 误差函数和伽玛函数 23.4.12 就近取整函数 23.4.13 取余函数 23.4.14 操作函数 23.4.15 最大值函数、最小值函数和正差函数 23.4.16 浮点乘加 23.4.17 比较宏 23.5 :字符处理 23.5.1 字符分类函数 程序 测试字符分类函数 23.5.2 字符大小写映射函数 程序 测试大小写映射函数 23.6 :字符串处理 23.6.1 复制函数 23.6.2 拼接函数 23.6.3 比较函数 23.6.4 搜索函数 23.6.5 其他函数 问与答 练习题 编程题 第24章 错误处理 24.1 :诊断 24.2 :错误 24.3 :信号处理 24.3.1 信号宏 24.3.2 signal函数 24.3.3 预定义的信号处理函数 24.3.4 raise函数 程序 测试信号 24.4 :非局部跳转 程序 测试setjmp和longjmp 问与答 练习题 第25章 国际化特性 25.1 :本地化 25.1.1 类别 25.1.2 setlocale函数 25.1.3 localeconv函数 25.2 多字节字符和宽字符 25.2.1 多字节字符 25.2.2 宽字符 25.2.3 统一码和通用字符集 25.2.4 统一码编码 25.2.5 多字节/宽字符转换函数 25.2.6 多字节/宽字符串转换函数 25.3 双字符和三字符 25.3.1 三字符 25.3.2 双字符 25.3.3 :拼写替换 25.4 通用字符名C99 25.5 :扩展的多字节和宽字符实用工具C99 25.5.1 流倾向 25.5.2 格式化宽字符输入/输出函数 25.5.3 宽字符输入/输出函数 25.5.4 通用的宽字符串实用工具 25.5.5 宽字符时间转换函数 25.5.6 扩展的多字节/宽字符转换实用工具 25.6 :宽字符分类和映射实用工具C99 25.6.1 宽字符分类函数 25.6.2 可扩展的宽字符分类函数 25.6.3 宽字符大小写映射函数 25.6.4 可扩展的宽字符大小写映射函数 问与答 练习题 编程题 第26章 其他库函数 26.1 :可变参数 26.1.1 调用带有可变参数列表的函数 26.1.2 v...printf函数 26.1.3 v...scanf函数C99 26.2 :通用的实用工具 26.2.1 数值转换函数 程序 测试数值转换函数 26.2.2 伪随机序列生成函数 程序 测试伪随机序列生成函数 26.2.3 与环境的通信 26.2.4 搜索和排序实用工具 程序 确定航空里程 26.2.5 整数算术运算函数 26.3 :日期和时间 26.3.1 时间处理函数 26.3.2 时间转换函数 程序 显示日期和时间 问与答 练习题 编程题 第27章 C99对数学计算的新增支持 27.1 :整数类型C99 27.1.1 类型 27.1.2 对指定宽度整数类型的限制 27.1.3 对其他整数类型的限制 27.1.4 用于整数常量的宏 27.2 :整数类型的格式转换C99 27.2.1 用于格式说明符的宏 27.2.2 用于最大宽度整数类型的函数 27.3 复数C99 27.3.1 复数的定义 27.3.2 复数的算术运算 27.3.3 C99中的复数类型 27.3.4 复数的运算 27.3.5 复数类型的转换规则 27.4 :复数算术运算C99 27.4.1 宏 27.4.2 CX_LIMITED_RANGE编译提示 27.4.3 函数 27.4.4 三角函数 27.4.5 双曲函数 27.4.6 指数函数和对数函数 27.4.7 幂函数和绝对值函数 27.4.8 操作函数 程序 求二次方程的根 27.5 :泛型数学C99 27.5.1 泛型宏 27.5.2 调用泛型宏 27.6 :浮点环境C99 27.6.1 浮点状态标志和控制模式 27.6.2 宏 27.6.3 FENV_ACCESS编译提示 27.6.4 浮点异常函数 27.6.5 舍入函数 27.6.6 环境函数 问与答 练习题 编程题 附录A C语言运算符 附录B C99 与C89的比较 附录C C89 与经典C的比较 附录D 标准库函数 附录E ASCII字符集 参考文献 索引
کتابهای مشابه
C语言程序设计 : 现代方法 = C programming C yu yan cheng xu she ji : Xian dai fang fa = C programming
۴۹٬۰۰۰ تومان
C语言程序设计案例教程 C yu yan cheng xu she ji an li jiao cheng
۴۹٬۰۰۰ تومان
FORTRAN语言程序设计 FORTRAN95 FORTRAN yu yan cheng xu she ji FORTRAN95
۴۹٬۰۰۰ تومان
Python程序设计 Python Cheng xu she ji
۴۹٬۰۰۰ تومان
C语言程序设计
۴۹٬۰۰۰ تومان
C程序设计语言
۴۹٬۰۰۰ تومان
c语言程序设计
۴۹٬۰۰۰ تومان
C语言程序设计
۴۹٬۰۰۰ تومان
C语言程序设计
۴۹٬۰۰۰ تومان
C++语言程序设计
۴۹٬۰۰۰ تومان
C#程序设计语言
۴۹٬۰۰۰ تومان
C语言程序设计
۴۹٬۰۰۰ تومان
قیمت نهایی
۴۴٬۰۰۰ تومان
