书籍详情

C Primer Plus中文版(第四版)

C Primer Plus中文版(第四版)

作者:(美)Stephen Prata著;技桥工作室译

出版社:人民邮电出版社

出版时间:2002-01-01

ISBN:9787115100757

定价:¥60.00

购买这本书可以去
内容简介
本书全面讲述了C语言编程的相关概念和知识。全书共17章。第1、2章是学习C语言编程预备知识。第3到15章介绍了C语言的各方面知识,包括数据类型、格式化输入输入、运算符、表达式、流程控制语句、函数、数组和指针、字符串操作、内存管理、位操作等等,知识内容针对C99标准;另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题和编程练习的答案和丰富的C编程参考资料。本书适合希望系统学习C语言的读者,也适用于精通其他编程语言并希望进一步掌握和巩固C编程技术的程序员。试读下载:第1章第2章
作者简介
暂缺《C Primer Plus中文版(第四版)》作者简介
目录
第1章 概览 
1.1 C语言的起源 
1.2 使用C语言的理由 
1.2.1 设计特性 
1.2.2 高效性 
1.2.3 可移植性 
1.2.4 强大的功能和灵活性 
1.2.5 面向编程人员 
1.2.6 缺点 
1.3 C语言的发展方向 
1.4 计算机工作的基本原理 
1.5 高级计算机语言和编译器 
1.6 使用C语言的7个步骤 
1.6.1 第1步:定义程序目标 
1.6.2 第2步:设计程序 
1.6.3 第3步:编写代码 
1.6.4 第4步:编译 
1.6.5 第5步:运行程序 
1.6.6 第6步:测试和调试程序 
1.6.7 第7步:维护和修改程序 
1.6.8 注释 
1.7 编程机制 
1.7.1 目标代码文件、可执行文件和库 
1.7.2 UNIX系统 
1.7.3 Linux系统 
1.7.4 集成开发环境(Windows系统下) 
1.7.5 IBM PC的DOS编译器 
1.7.6 Macintosh上的C 
1.8 语言标准 
1.8.1 第1个ANSI/ISO C标准 
1.8.2 C99标准 
1.9 本书的组织结构 
1.10 本书体例 
1.10.1 字体 
1.10.2 屏幕输出 
1.11 总结 
1.12 复习题 
1.13 编程练习 
第2章 C语言概述 
2.1 C语言的一个简单实例 
2.2 解释 
2.2.1 第一遍 快速简介 
2.2.2 第二遍 细节 
2.3 一个简单程序的结构 
2.4 使程序可读的技巧 
2.5 更进一步 
2.5.1 说明 
2.5.2 多个声明 
2.5.3 乘法 
2.5.4 输出多个值 
2.6 多个函数 
2.7 调试 
2.7.1 语法错误 
2.7.2 语义错误 
2.7.3 程序状态 
2.8 关键字和保留标识符 
2.9 关键概念 
2.10 总结 
2.11 复习题 
2.12 编程练习 
第3章 数据和C 
3.1 示例程序 
3.2 变量与常量数据 
3.3 数据:数据类型关键字 
3.3.1 整数类型与浮点数类型 
3.3.2 整数 
3.3.3 浮点数 
3.4 C数据类型 
3.4.1 int类型 
3.4.2 其他整数类型 
3.4.3 使用字符:char类型 
3.4.4 _Bool类型 
3.4.5 可移植的类型:inttypes.h 
3.4.6 float、double和long double类型 
3.4.7 复数和虚数类型 
3.4.8 其他类型 
3.4.9 类型大小 
3.5 使用数据类型 
3.6 参数和易犯的错误 
3.7 另一个例子 
3.7.1 过程分析 
3.7.2 刷新输出 
3.8 关键概念 
3.9 总结 
3.10 复习题 
3.11 编程练习 
第4章 字符串和格式化输入/输出 
4.1 前导程序 
4.2 字符串简介 
4.2.1 char数组类型和空字符 
4.2.2 使用字符串 
4.2.3 strlen()函数 
4.3 常量和C预处理器 
4.3.1 const修饰符 
4.3.2 系统定义的明显常量 
4.4 研究和利用printf()和scanf() 
4.4.1 printf()函数 
4.4.2 使用printf() 
4.4.3 printf()的转换说明修饰符 
4.4.4 转换的意义 
4.4.5 使用scanf() 
4.4.6 printf()和scanf()的*修饰符 
4.5 用法提示 
4.6 关键概念 
4.7 总结 
4.8 复习题 
4.9 编程练习 
第5章 运算符、表达式和语句 
5.1 循环简介 
5.2 基本运算符 
5.2.1 赋值运算符:= 
5.2.2 加法运算符:+ 
5.2.3 减法运算符:- 
5.2.4 符号运算符:- 和 + 
5.2.5 乘法运算符:* 
5.2.6 除法运算符:/ 
5.2.7 运算符的优先级 
5.2.8 优先级和求值顺序 
5.3 其他运算符 
5.3.1 sizeof运算符和size_t类型 
5.3.2 取模运算符:% 
5.3.3 增量和减量运算符:++和-- 
5.3.4 减量:-- 
5.3.5 优先级 
5.3.6 不要太聪明 
5.4 表达式和语句 
5.4.1 表达式 
5.4.2 语句 
5.4.3 复合语句(代码块) 
5.5 类型转换 
5.6 带有参数的函数 
5.7 一个示例程序 
5.8 关键概念 
5.9 总结 
5.10 复习题 
5.11 编程练习 
第6章 C控制语句:循环 
6.1 最初的例子 
6.1.1 程序注解 
6.1.2 C风格的读循环 
6.2 while语句 
6.2.1 终止while循环 
6.2.2 循环何时终止 
6.2.3 while:入口条件循环 
6.2.4 语法要点 
6.3 比较大小:使用关系运算符和表达式 
6.3.1 什么是真 
6.3.2 还有什么是真 
6.3.3 真值的问题 
6.3.4 新的_Bool类型 
6.3.5 关系运算符的优先级 
6.4 不确定循环与计数循环 
6.5 for循环 
6.6 更多赋值运算符:+=、-=、*=、/=和%= 
6.7 逗号运算符 
6.8 退出条件循环:do while 
6.9 选择哪种循环 
6.10 嵌套循环 
6.10.1 程序讨论 
6.10.2 嵌套变化 
6.11 数组 
6.12 使用函数返回值的循环例子 
6.12.1 程序讨论 
6.12.2 使用具有返回值的函数 
6.13 关键概念 
6.14 总结 
6.15 复习题 
6.16 编程练习 
第7章 C控制语句:分支和跳转 
7.1 if语句 
7.2 在if语句中添加else关键字 
7.2.1 另一个例子:介绍getchar()和putchar() 
7.2.2 ctype.h系列字符函数 
7.2.3 多重选择else if 
7.2.4 把else与if配对 
7.2.5 多层嵌套的if 
7.3 获得逻辑性 
7.3.1 改变拼写法:iso646.h头文件 
7.3.2 优先级 
7.3.3 求值的顺序 
7.3.4 范围 
7.4 一个统计字数的程序 
7.5 条件运算符?: 
7.6 循环辅助手段:continue和break 
7.6.1 continue语句 
7.6.2 break语句 
7.7 多重选择:switch和break 
7.7.1 使用switch语句 
7.7.2 只读取一行的首字符 
7.7.3 多重标签 
7.7.4 switch和if else 
7.8 goto语句 
7.9 关键概念 
7.10 总结 
7.11 复习题 
7.12 编程练习 
第8章 字符输入/输出和输入确认 
8.1 单字符I/O:getchar()和putchar() 
8.2 缓冲区 
8.3 终止键盘输入 
8.3.1 文件、流和键盘输入 
8.3.2 文件结尾 
8.4 重定向和文件 
8.5 创建一个更友好的用户界面 
8.5.1 使用缓冲输入 
8.5.2 混合输入数字和字符 
8.6 输入确认 
8.6.1 分析程序 
8.6.2 输入流和数值 
8.7 菜单浏览 
8.7.1 任务 
8.7.2 使执行更顺利 
8.7.3 混合字符和数值输入 
8.8 关键概念 
8.9 总结 
8.10 复习题 
8.11 编程练习 
第9章 函数 
9.1 函数概述 
9.1.1 编写和使用一个简单的函数 
9.1.2 程序分析 
9.1.3 函数参数 
9.1.4 定义带有参数的函数:形式参量 
9.1.5 带参数函数的原型声明 
9.1.6 调用带有参数的函数:实际参数 
9.1.7 黑盒子观点 
9.1.8 使用return从函数中返回一个值 
9.1.9 函数类型 
9.2 ANSI C的函数原型 
9.2.1 产生的问题 
9.2.2 ANSI的解决方案 
9.2.3 无参数和不确定参数 
9.2.4 函数原型的优点 
9.3 递归 
9.3.1 递归的使用 
9.3.2 递归的基本原理 
9.3.3 尾递归 
9.3.4 递归和反向计算 
9.3.5 递归的优缺点 
9.4 所有C函数地位同等 
9.5 多源代码文件程序的编译 
9.5.1 UNIX 
9.5.2 Linux 
9.5.3 DOS命令行编译器 
9.5.4 Windows和Macintosh编译器 
9.5.5 头文件的使用 
9.6 地址运算符:& 
9.7 改变调用函数中的变量 
9.8 指针简介 
9.8.1 间接运算符:* 
9.8.2 指针声明 
9.8.3 使用指针在函数间通信 
9.9 关键概念 
9.10 总结 
9.11 复习题 
9.12 编程练习 
第10章 数组和指针 
10.1 数组 
10.1.1 初始化 
10.1.2 指定初始化项目(C99) 
10.1.3 为数组赋值 
10.1.4 数组边界 
10.1.5 指定数组大小 
10.2 多维数组 
10.2.1 初始化二维数组 
10.2.2 更多维数的数组 
10.3 指针和数组 
10.4 函数、数组和指针 
10.4.1 使用指针参数 
10.4.2 评论:指针和数组 
10.5 指针操作 
10.6 保护数组内容 
10.6.1 对形式参量使用const 
10.6.2 有关const的其他内容 
10.7 指针和多维数组 
10.7.1 指向多维数组的指针 
10.7.2 指针兼容性 
10.7.3 函数和多维数组 
10.8 变长数组(VLA) 
10.9 复合文字 
10.10 关键概念 
10.11 总结 
10.12 复习题 
10.13 编程练习 
第11章 字符串和字符串函数 
11.1 在程序中定义字符串 
11.2 字符串数组及其初始化 
11.2.1 数组与指针 
11.2.2 字符串数组 
11.2.3 指针和字符串 
11.3 字符串输入 
11.3.1 创建存储空间 
11.3.2 gets()函数 
11.3.3 fgets()函数 
11.3.4 scanf()函数 
11.4 字符串输出 
11.4.1 puts()函数 
11.4.2 fputs()函数 
11.4.3 printf()函数 
11.5 自定义字符串输入/输出函数 
11.6 字符串函数 
11.6.1 strlen()函数 
11.6.2 strcat()和strncat()函数 
11.6.3 strcmp()和strncmp()函数 
11.6.4 strcpy()和strncpy()函数 
11.6.5 sprintf()函数 
11.6.6 其他字符串函数 
11.7 字符串例子:字符串排序 
11.8 ctype.h字符函数和字符串 
11.9 命令行参数 
11.9.1 集成环境下的命令行参数 
11.9.2 Macintosh的命令行参数 
11.10 把字符串转换为数字 
11.11 关键概念 
11.12 总结 
11.13 复习题 
11.14 编程练习 
第12章 存储类、链接和内存管理 
12.1 存储类 
12.1.1 作用域 
12.1.2 链接 
12.1.3 存储时期 
12.1.4 自动变量 
12.1.5 寄存器变量 
12.1.6 具有代码块作用域的静态变量 
12.1.7 具有外部链接的静态变量 
12.1.8 具有内部链接的静态变量 
12.1.9 多文件 
12.1.10 存储类说明符 
12.1.11 存储类和函数 
12.1.12 使用哪种存储类 
12.2 随机数函数和静态变量 
12.3 掷骰子 
12.3.1 分配内存:malloc()和free() 
12.3.2 free()的重要性 
12.3.3 函数calloc() 
12.3.4 动态内存分配与变长数组 
12.3.5 存储类与动态内存分配 
12.4 ANSI C的类型限定词 
12.4.1 类型限定词const 
12.4.2 类型限定词volatile 
12.4.3 类型限定词restrict 
12.5 旧关键字的新位置 
12.6 关键概念 
12.7 总结 
12.8 复习题 
12.9 编程练习 
第13章 文件输入/输出 
13.1 和文件进行通信 
13.1.1 文件是什么 
13.1.2 I/O级别 
13.1.3 标准文件 
13.2 标准I/O 
13.2.1 检查命令行参数 
13.2.2 fopen()函数 
13.2.3 getc()函数和putc()函数 
13.2.4 文件结尾 
13.2.5 fclose()函数 
13.2.6 标准文件 
13.3 一个简单的文件压缩程序 
13.4 文件I/O:fprintf ( )、fscanf ( )、fgets ( )和fputs ( )函数 
13.4.1 fprintf()和fscanf()函数 
13.4.2 fgets()和fputs()函数 
13.5 随机存取:fseek()和ftell()函数 
13.5.1 fseek()和ftell()如何工作 
13.5.2 二进制模式和文本模式 
13.5.3 可移植性 
13.5.4 fgetpos()和fsetpos()函数 
13.6 标准I/O内幕 
13.7 其他标准I/O函数 
13.7.1 int ungetc(int c,FILE * fp)函数 
13.7.2 int fflush(FILE * fp)函数 
13.7.3 int setvbuf(FILE * fp,char * buf,int mode,size_t size)函数 
13.7.4 二进制I/O:fread()和fwrite()函数 
13.7.5 size_t fwrite(void * ptr,size_t size,size_t nmemb,FILE * fp)函数 
13.7.6 size_t fread(void * ptr,size_t size,size_t nmemb,FILE * fp)函数 
13.7.7 int feof(FILE * fp)和int ferror(FILE * fp)函数 
13.7.8 一个例子 
13.7.9 使用二进制I/O进行随机存取 
13.8 关键概念 
13.9 总结 
13.10 复习题 
13.11 编程练习 
第14章 结构和其他数据形式 
14.1 示例问题:创建书籍目录 
14.2 建立结构声明 
14.3 定义结构变量 
14.3.1 初始化结构 
14.3.2 结构的指定初始化项目 
14.4 访问结构成员 
14.5 结构数组 
14.5.1 声明结构数组 
14.5.2 标识结构数组的成员 
14.5.3 程序讨论 
14.6 嵌套结构 
14.7 指向结构的指针 
14.7.1 声明和初始化结构指针 
14.7.2 使用指针访问成员 
14.8 向函数传递结构信息 
14.8.1 传递结构成员 
14.8.2 使用结构地址 
14.8.3 把结构作为参数传递 
14.8.4 其他结构特性 
14.8.5 结构,还是指向结构的指针 
14.8.6 在结构中使用字符数组还是字符指针 
14.8.7 结构、指针和malloc() 
14.8.8 复合文字和结构(C99) 
14.8.9 伸缩型数组成员(C99) 
14.8.10 使用结构数组的函数 
14.9 把结构内容保存到文件中 
14.10 结构:下一步是什么 
14.11 联合简介 
14.12 枚举类型 
14.12.1 enum常量 
14.12.2 默认值 
14.12.3 指定值 
14.12.4 用法 
14.12.5 共享的名字空间 
14.13 typedef简介 
14.14 奇特的声明 
14.15 函数和指针 
14.16 关键概念 
14.17 总结 
14.18 复习题 
14.19 编程练习 
第15章 位操作 
15.1 二进制数、位和字节 
15.1.1 二进制整数 
15.1.2 有符号整数 
15.1.3 二进制浮点数 
15.2 其他基数 
15.2.1 十进制 
15.2.2 十六进制 
15.3 C的位运算符 
15.3.1 位逻辑运算符 
15.3.2 用法:掩码 
15.3.3 用法:打开位 
15.3.4 用法:关闭位 
15.3.5 用法:转置位 
15.3.6 用法:查看一位的值 
15.3.7 移位运算符 
15.3.8 编程实例 
15.3.9 另一个实例 
15.4 位字段 
15.4.1 位字段实例 
15.4.2 位字段和位运算符 
15.5 关键概念 
15.6 总结 
15.7 复习题 
15.8 编程练习 
第16章 C预处理器和C库 
16.1 第一步 
16.2 明显常量:#define 
16.2.1 语言符号 
16.2.2 重定义常量 
16.3 在#define中使用参数 
16.3.1 利用宏参数创建字符串:#运算符 
16.3.2 预处理器的粘合剂:##运算符 
16.3.3 可变宏:…和__VA_ARGS__ 
16.4 宏,还是函数 
16.5 文件包含:#include 
16.5.1 头文件:一个实例 
16.5.2 使用头文件 
16.6 其他指令 
16.6.1 #undef指令 
16.6.2 已定义:C预处理器的观点 
16.6.3 条件编译 
16.6.4 预定义宏 
16.6.5 #line和#error 
16.6.6 #pragma 
16.7 内联函数 
16.8 C库 
16.8.1 访问C库 
16.8.2 参考库描述 
16.9 数学库 
16.10 通用工具库 
16.10.1 exit()和atexit()函数 
16.10.2 qsort()函数 
16.11 诊断库 
16.12 string.h库中的memcpy()和memmove() 
16.13 可变参数:stdarg.h 
16.14 关键概念 
16.15 总结 
16.16 复习题 
16.17 编程练习 
第17章 高级数据表示 
17.1 研究数据表示 
17.2 从数组到链表 
17.2.1 使用链表 
17.2.2 反思 
17.3 抽象数据类型(ADT) 
17.3.1 变得抽象 
17.3.2 构造接口 
17.3.3 使用接口 
17.3.4 实现接口 
17.4 队列ADT 
17.4.1 实现接口的数据表示 
17.4.2 测试队列 
17.5 用队列进行模拟 
17.6 链表与数组 
17.7 二叉搜索树 
17.7.1 二叉树ADT 
17.7.2 二叉搜索树的接口 
17.7.3 二叉树的实现 
17.7.4 试用树 
17.7.5 树的思想 
17.8 其他说明 
17.9 关键概念 
17.10 总结 
17.11 复习题 
17.12 编程练习 
附录A 复习题答案 
附录B 参考资料
猜您喜欢

读书导航