Programming in ansi C
副标题:无
分类号:
ISBN:9787302127567
微信扫一扫,移动浏览光盘
简介
本书是印度各大学使用最广的C语言程序设计教材之一。
本书旨在教授读者如何使用C语言进行程序设计。全书贯彻了“用示例
学习”的概念。在深入介绍了C语言的每个特性之后,给出了一个完整的示
例程序,用于演示说明其应用。每章末尾的“案例学习”不仅介绍了把C语
言的特性集成在一起的常用方法,而且还显示了它在实际生活中的应用。最
后一章介绍了开发高效、无错误的C程序的一些指导原则。
本书第3版融入了过去10年中采用本书的学生和老师的很多反馈意见。
本版的特点包括:
·基于最新的C语言标准。
·在本书的最后给出了一个完整的应用程序开发示例PHONE BOOK。
·扩展讨论了C的指针。
·每章后面的“谨记”一节给出了很有用的编程提示以及容易出错的问
题。
·全书给出了24个真实的开发案例,展示了C程序的设计过程。
·87个程序设计范例向读者阐述了良好程序设计的基本原则。
·还有185个练习题和133道实践编程题。
总之,本书的语言简洁易懂,示例更多>>
目录
目录
第1章 C语言概述
1.1 C语言的历史
1.2 C语言的主要特性
1.3 示例程序1:显示一条消息
1.4 示例程序2:两个数相加
1.5 示例程序3:利息计算
1.6 示例程序4:子例程的使用
1.7 示例程序5:数学函数的使用
1.8 C程序的基本结构
1.9 编程风格
1.10 运行一个程序
1.11 UNIX系统环境下
1.11.1 创建程序
1.11.2 编译与链接
1.11.3 运行程序
1.11.4 创建自己的可运行文件
1.11.5 多个源文件问题
1.12 MS-DOS系统环境下
1.13 复习题
1.14 编程练习
第2章 常量、变量及数据类型
2.1 概述
2.2 字符集
2.3 C标记符
2.4 关键字与标识符
2.5 常量
2.5.1 整型常量
2.5.2 实数常量
2.5.3 单字符常量
2.5.4 字符串常量
2.5.5 反斜杠字符常量
2.6 变量
2.7 数据类型
2.7.1 整数型
2.7.2 浮点数类型
2.7.3 void类型
2.7.4 字符类型
2.8 变量的声明
2.8.1 基本类型的声明
2.8.2 自定义类型的声明
2.9 存储类的声明
2.10 变量的赋值
2.10.1 赋值语句
2.10.2 从键盘读取数据
2.11 符号常量的定义
2.11.1 可修改性
2.11.2 可理解性
2.12 将变量声明为常量
2.13 将变量声明为可变的
2.14 数据的溢出
2.15 案例学习
2.15.1 平均数计算
2.15.2 温度转换问题
2.16 复习题
2.17 编程练习
第3章 运算符与表达式
3.1 概述
3.2 算术运算符
3.2.1 整数算术运算
3.2.2 实数算术运算
3.2.3 混合算术运算
3.3 关系运算符
3.4 逻辑运算符
3.5 赋值运算符
3.6 递增和递减运算符
3.7 条件运算符
3.8 逐位运算符
3.9 特殊运算符
3.9.1 逗号运算符
3.9.2 sizeof运算符
3.10 算术表达式
3.11 表达式的计算
3.12 算术表达式的优先级
3.13 一些可计算性问题
3.14 表达式中的类型转换
3.14.1 隐式类型转换
3.14.2 显示转换
3.15 运算符的优先级及其关联
3.16 数学函数
3.17 案例学习
3.17.1 销售人员的工资
3.17.2 二次方程的求解
3.18 复习题
3.19 编程练习
第4章 输入输出操作管理
4.1 概述
4.2 读取一个字符
4.3 写字符
4.4 格式化输入
4.4.1 整数输入
4.4.2 实数输入
4.4.3 字符串输入
4.4.4 混合数据类型的读取
4.4.5 错误输入的检测
4.4.6 使用scanf函数时应记住的几个要点
4.5 格式化输出
4.5.1 整数的输出
4.5.2 实数的输出
4.5.3 单个字符的显示
4.5.4 字符串的显示
4.5.5 混合数据的输出
4.5.6 提高输出的可读性
4.6 案例学习
4.6.1 库存报告
4.6.2 可靠性图形
4.7 复习题
4.8 编程练习
第5章 判断与分支
5.1 概述
5.2 if判断语句
5.3 简单if语句
5.4 if…else语句
5.5 嵌套if…else语句
5.6 阶梯式else if语句
5.7 switch语句
5.8 ?:运算符
5.9 goto语句
5.10 案例学习
5.10.1 数值的分布范围
5.10.2 账单计算
5.11 复习题
5.12 编程练习
第6章 判断与循环
6.1 概述
6.2 while语句
6.3 do语句
6.4 for语句
6.4.1 简单的for循环语句
6.4.2 for循环的其他特性
6.4.3 for循环的嵌套
6.5 循环中的跳转
6.5.1 跳出循环
6.5.2 跳过循环的一部分
6.5.3 避免使用goto语句
6.5.4 简洁的测试表达式
6.6 案例学习
6.6.1 二项式系数表
6.6.2 柱状图
6.6.3 最小成本
6.6.4 描绘两函数的曲线图
6.7 复习题
6.8 编程练习
第7章 数组
7.1 概述
7.2 一维数组
7.3 一维数组的声明
7.4 一维数组的初始化
7.4.1 编译时初始化
7.4.2 运行时初始化
7.5 二维数组
7.6 二维数组的初始化
7.7 多维数组
7.8 动态数组
7.9 数组的其他
7.10 案例学习
7.10.1 数列的中值问题
7.10.2 标准偏差的计算
7.10.3 测试评分
7.10.4 产品与销售分析
7.11 复习题
7.12 编程练习
第8章 字符数组与字符串
8.1 概述
8.2 字符串变量的声明与初始化
8.3 使用scanf函数从终端读取字符串
8.3.1 读取文本行
8.3.2 使用getchar和gets函数
8.4 在屏幕上显示字符串
8.4.1 使用printf函数
8.4.2 使用putchar和puts函数
8.5 字符的算术运算
8.6 将字符串组合在一起
8.7 两个字符串的比较
8.8 字符串处理函数
8.8.1 strcat()函数
8.8.2 strcmp()数
8.8.3 strcpy()函数
8.8.4 ctrlen()函数
8.8.5 其他字符串函数
8.9 字符串表
8.10 字符串的其他特性
8.11 案例学习
8.11.1 计算文本中的字数
8.11.2 客户列表处理程序
8.12 复习题
8.13 编程练习
第9章 自定义函数
9.1 概述
9.2 为什么需要自定义函数
9.3 多函数程序
9.4 自定义函数的元素
9.5 函数的定义
9.5.1 函数头
9.5.2 函数名与类型
9.5.3 形参列表
9.5.4 函数体
9.6 返回值及其类型
9.7 函数调用
9.8 函数声明
9.9 函数的类型
9.10 无参数无返回值的函数
9.11 有参数无返回值的函数
9.12 有参数有返回值的函数
9.13 无参数但有一个返回值的函数
9.14 返回多个值的函数
9.15 函数的嵌套
9.16 函数的迭代
9.17 将数组传递给函数
9.17.1 一维数组
9.17.2 二维数组
9.18 将字符串传递给函数
9.19 变量的作用域、可见性和生存期
9.19.1 自动变量
9.19.2 外部变量
9.19.3 外部声明
9.19.4 静态变量
9.19.5 寄存器变量
9.19.6 嵌套代码块
9.20 多文件程序
9.21 案例学习
9.22 复习题
9.23 编程练习
第10章 结构与联合
10.1 概述
10.2 结构的定义
10.3 声明结构变量
10.4 访问结构成员
10.5 结构的初始化
10.6 结构变量的复制与比较
10.7 单个成员的运算
10.8 结构数组
10.9 结构中的数组
10.10 结构中的结构
10.11 结构与函数
10.12 联合
10.13 结构的大小
10.14 位域
10.15 案例学习
10.16 复习题
10.17 编程练习
第11章 指针
11.1 概述
11.2 理解指针
11.3 访问变量的地址
11.4 指针变量的声明
11.5 指针变量的初始化
11.6 通过指针访问变量
11.7 指针链
11.8 指针表达式
11.9 指针的递增与比例因子
11.10 指针与数组
11.11 指针与字符串
11.12 指针数组
11.13 指针作为函数的参数
11.14 函数返回指针
11.15 指向函数的指针
11.16 指针与结构
11.17 案例学习
11.17.1 考试成绩处理程序
11.17.2 库存更新程序
11.18 复习题
11.19 编程练习
第12章 文件管理
12.1 概述
12.2 定义并打开文件
12.3 关闭文件
12.4 文件的输入输出操作
12.4.1 getc与putt函数
12.4.2 getw和putw函数
12.4.3 fprintf与fscanf函数
12.5 I/O操作的错误处理
12.6 随机访问文件
12.7 命令行参数
12.8 复习题
12.9 编程练习
第13章 动态内存分配与链表
13.1 概述
13.2 动态内存分配
13.3 用malloc函数分配一块内存
13.4 用calloc函数分配多个内存块
13.5 用free函数释放已用的空间
13.6 用realloe函数改变内存块的大小
13.7 链表的概念
13.8 链表的优点
13.9 链表的种类
13.10 再论指针
13.11 创建链表
13.12 插入一个数据项
13.13 删除一个数据项
13.14 链表的应用
13.15 案例学习
13.15.1 在已排序链表中插入数据
13.15.2 构建一个已排序的链表
13.16 复习题
13.17 编程练习
第14章 预处理器
14.1 概述
14.2 宏替换指令
14.2.1 简单宏替换
14.2.2 含参数的宏
14.2.3 宏嵌套
14.2.4 文件包含
14.4 编译器控制指令
14.4.1 情形1
14.4.2 情形2
14.4.3 情形3
14.4.4 情形4
14.5 ANSI C的其他预处理器指令
14.5.1 #elif指令
14.5.2 #pragma指令
14.5.3 #error指令
14.5.4 字符串化运算符
14.5.5 标记符粘贴运算符
14.6 复习题
14.7 编程练习
第15章 C程序开发指导原则
15.1 概述
15.2 程序设计
15.2.1 问题分析
15.2.2 勾勒程序结构
15.2.3 算法开发
15.2.4 控制结构
15.3 程序编码
15.3.1 自身文档化
15.3.2 语句构造
15.3.3 输入/输出格式
15.3.4 程序的通用性
15.4 常见的程序错误
15.4.1 丢失分号
15.4.2 误用分号
15.4.3 丢失括号
15.4.4 丢失引号
15.4.5 误用引号
15.4.6 使用不正确的注释字符
15.4.7 未定义变量
15.4.8 忽视了运算符的优先级
15.4.9 忽视了递增递减运算符的计算顺序
15.4.10 忽视了函数参数的说明
15.4.11 在函数调用中实参和形参类型不匹配
15.4.12 函数未声明
15.4.13 在scanf的参数中丢失了&运算符
15.4.14 超出了数组的边界
15.4.15 忘记了给字符串的空字符留出空间
15.4.16 使用未初始化的指针
15.4.17 丢失了间接运算符和地址运算符
15.4.18 在指针表达式中丢失括号
15.4.19 在宏定义语句中参数遗漏了括号
15.5 程序测试与调试
15.5.1 错误的类型
15.5.2 程序测试
15.5.3 程序调试
15.6 程序的效率
15.6.1 运行时间
15.6.2 内存需求
15.7 复习题
附录Ⅰ 位级程序设计
Ⅰ.1 概述
Ⅰ.2 逐位逻辑运算符
Ⅰ.2.1 逐位与操作
Ⅰ.2.2 逐位或操作
Ⅰ.2.3 逐位非或操作
Ⅰ.3 逐位移位运算符
Ⅰ.4 逐位求反运算符
Ⅰ.5 屏蔽
附录Ⅱ
附录Ⅲ
附录Ⅳ 电话簿示例程序
第1章 C语言概述
1.1 C语言的历史
1.2 C语言的主要特性
1.3 示例程序1:显示一条消息
1.4 示例程序2:两个数相加
1.5 示例程序3:利息计算
1.6 示例程序4:子例程的使用
1.7 示例程序5:数学函数的使用
1.8 C程序的基本结构
1.9 编程风格
1.10 运行一个程序
1.11 UNIX系统环境下
1.11.1 创建程序
1.11.2 编译与链接
1.11.3 运行程序
1.11.4 创建自己的可运行文件
1.11.5 多个源文件问题
1.12 MS-DOS系统环境下
1.13 复习题
1.14 编程练习
第2章 常量、变量及数据类型
2.1 概述
2.2 字符集
2.3 C标记符
2.4 关键字与标识符
2.5 常量
2.5.1 整型常量
2.5.2 实数常量
2.5.3 单字符常量
2.5.4 字符串常量
2.5.5 反斜杠字符常量
2.6 变量
2.7 数据类型
2.7.1 整数型
2.7.2 浮点数类型
2.7.3 void类型
2.7.4 字符类型
2.8 变量的声明
2.8.1 基本类型的声明
2.8.2 自定义类型的声明
2.9 存储类的声明
2.10 变量的赋值
2.10.1 赋值语句
2.10.2 从键盘读取数据
2.11 符号常量的定义
2.11.1 可修改性
2.11.2 可理解性
2.12 将变量声明为常量
2.13 将变量声明为可变的
2.14 数据的溢出
2.15 案例学习
2.15.1 平均数计算
2.15.2 温度转换问题
2.16 复习题
2.17 编程练习
第3章 运算符与表达式
3.1 概述
3.2 算术运算符
3.2.1 整数算术运算
3.2.2 实数算术运算
3.2.3 混合算术运算
3.3 关系运算符
3.4 逻辑运算符
3.5 赋值运算符
3.6 递增和递减运算符
3.7 条件运算符
3.8 逐位运算符
3.9 特殊运算符
3.9.1 逗号运算符
3.9.2 sizeof运算符
3.10 算术表达式
3.11 表达式的计算
3.12 算术表达式的优先级
3.13 一些可计算性问题
3.14 表达式中的类型转换
3.14.1 隐式类型转换
3.14.2 显示转换
3.15 运算符的优先级及其关联
3.16 数学函数
3.17 案例学习
3.17.1 销售人员的工资
3.17.2 二次方程的求解
3.18 复习题
3.19 编程练习
第4章 输入输出操作管理
4.1 概述
4.2 读取一个字符
4.3 写字符
4.4 格式化输入
4.4.1 整数输入
4.4.2 实数输入
4.4.3 字符串输入
4.4.4 混合数据类型的读取
4.4.5 错误输入的检测
4.4.6 使用scanf函数时应记住的几个要点
4.5 格式化输出
4.5.1 整数的输出
4.5.2 实数的输出
4.5.3 单个字符的显示
4.5.4 字符串的显示
4.5.5 混合数据的输出
4.5.6 提高输出的可读性
4.6 案例学习
4.6.1 库存报告
4.6.2 可靠性图形
4.7 复习题
4.8 编程练习
第5章 判断与分支
5.1 概述
5.2 if判断语句
5.3 简单if语句
5.4 if…else语句
5.5 嵌套if…else语句
5.6 阶梯式else if语句
5.7 switch语句
5.8 ?:运算符
5.9 goto语句
5.10 案例学习
5.10.1 数值的分布范围
5.10.2 账单计算
5.11 复习题
5.12 编程练习
第6章 判断与循环
6.1 概述
6.2 while语句
6.3 do语句
6.4 for语句
6.4.1 简单的for循环语句
6.4.2 for循环的其他特性
6.4.3 for循环的嵌套
6.5 循环中的跳转
6.5.1 跳出循环
6.5.2 跳过循环的一部分
6.5.3 避免使用goto语句
6.5.4 简洁的测试表达式
6.6 案例学习
6.6.1 二项式系数表
6.6.2 柱状图
6.6.3 最小成本
6.6.4 描绘两函数的曲线图
6.7 复习题
6.8 编程练习
第7章 数组
7.1 概述
7.2 一维数组
7.3 一维数组的声明
7.4 一维数组的初始化
7.4.1 编译时初始化
7.4.2 运行时初始化
7.5 二维数组
7.6 二维数组的初始化
7.7 多维数组
7.8 动态数组
7.9 数组的其他
7.10 案例学习
7.10.1 数列的中值问题
7.10.2 标准偏差的计算
7.10.3 测试评分
7.10.4 产品与销售分析
7.11 复习题
7.12 编程练习
第8章 字符数组与字符串
8.1 概述
8.2 字符串变量的声明与初始化
8.3 使用scanf函数从终端读取字符串
8.3.1 读取文本行
8.3.2 使用getchar和gets函数
8.4 在屏幕上显示字符串
8.4.1 使用printf函数
8.4.2 使用putchar和puts函数
8.5 字符的算术运算
8.6 将字符串组合在一起
8.7 两个字符串的比较
8.8 字符串处理函数
8.8.1 strcat()函数
8.8.2 strcmp()数
8.8.3 strcpy()函数
8.8.4 ctrlen()函数
8.8.5 其他字符串函数
8.9 字符串表
8.10 字符串的其他特性
8.11 案例学习
8.11.1 计算文本中的字数
8.11.2 客户列表处理程序
8.12 复习题
8.13 编程练习
第9章 自定义函数
9.1 概述
9.2 为什么需要自定义函数
9.3 多函数程序
9.4 自定义函数的元素
9.5 函数的定义
9.5.1 函数头
9.5.2 函数名与类型
9.5.3 形参列表
9.5.4 函数体
9.6 返回值及其类型
9.7 函数调用
9.8 函数声明
9.9 函数的类型
9.10 无参数无返回值的函数
9.11 有参数无返回值的函数
9.12 有参数有返回值的函数
9.13 无参数但有一个返回值的函数
9.14 返回多个值的函数
9.15 函数的嵌套
9.16 函数的迭代
9.17 将数组传递给函数
9.17.1 一维数组
9.17.2 二维数组
9.18 将字符串传递给函数
9.19 变量的作用域、可见性和生存期
9.19.1 自动变量
9.19.2 外部变量
9.19.3 外部声明
9.19.4 静态变量
9.19.5 寄存器变量
9.19.6 嵌套代码块
9.20 多文件程序
9.21 案例学习
9.22 复习题
9.23 编程练习
第10章 结构与联合
10.1 概述
10.2 结构的定义
10.3 声明结构变量
10.4 访问结构成员
10.5 结构的初始化
10.6 结构变量的复制与比较
10.7 单个成员的运算
10.8 结构数组
10.9 结构中的数组
10.10 结构中的结构
10.11 结构与函数
10.12 联合
10.13 结构的大小
10.14 位域
10.15 案例学习
10.16 复习题
10.17 编程练习
第11章 指针
11.1 概述
11.2 理解指针
11.3 访问变量的地址
11.4 指针变量的声明
11.5 指针变量的初始化
11.6 通过指针访问变量
11.7 指针链
11.8 指针表达式
11.9 指针的递增与比例因子
11.10 指针与数组
11.11 指针与字符串
11.12 指针数组
11.13 指针作为函数的参数
11.14 函数返回指针
11.15 指向函数的指针
11.16 指针与结构
11.17 案例学习
11.17.1 考试成绩处理程序
11.17.2 库存更新程序
11.18 复习题
11.19 编程练习
第12章 文件管理
12.1 概述
12.2 定义并打开文件
12.3 关闭文件
12.4 文件的输入输出操作
12.4.1 getc与putt函数
12.4.2 getw和putw函数
12.4.3 fprintf与fscanf函数
12.5 I/O操作的错误处理
12.6 随机访问文件
12.7 命令行参数
12.8 复习题
12.9 编程练习
第13章 动态内存分配与链表
13.1 概述
13.2 动态内存分配
13.3 用malloc函数分配一块内存
13.4 用calloc函数分配多个内存块
13.5 用free函数释放已用的空间
13.6 用realloe函数改变内存块的大小
13.7 链表的概念
13.8 链表的优点
13.9 链表的种类
13.10 再论指针
13.11 创建链表
13.12 插入一个数据项
13.13 删除一个数据项
13.14 链表的应用
13.15 案例学习
13.15.1 在已排序链表中插入数据
13.15.2 构建一个已排序的链表
13.16 复习题
13.17 编程练习
第14章 预处理器
14.1 概述
14.2 宏替换指令
14.2.1 简单宏替换
14.2.2 含参数的宏
14.2.3 宏嵌套
14.2.4 文件包含
14.4 编译器控制指令
14.4.1 情形1
14.4.2 情形2
14.4.3 情形3
14.4.4 情形4
14.5 ANSI C的其他预处理器指令
14.5.1 #elif指令
14.5.2 #pragma指令
14.5.3 #error指令
14.5.4 字符串化运算符
14.5.5 标记符粘贴运算符
14.6 复习题
14.7 编程练习
第15章 C程序开发指导原则
15.1 概述
15.2 程序设计
15.2.1 问题分析
15.2.2 勾勒程序结构
15.2.3 算法开发
15.2.4 控制结构
15.3 程序编码
15.3.1 自身文档化
15.3.2 语句构造
15.3.3 输入/输出格式
15.3.4 程序的通用性
15.4 常见的程序错误
15.4.1 丢失分号
15.4.2 误用分号
15.4.3 丢失括号
15.4.4 丢失引号
15.4.5 误用引号
15.4.6 使用不正确的注释字符
15.4.7 未定义变量
15.4.8 忽视了运算符的优先级
15.4.9 忽视了递增递减运算符的计算顺序
15.4.10 忽视了函数参数的说明
15.4.11 在函数调用中实参和形参类型不匹配
15.4.12 函数未声明
15.4.13 在scanf的参数中丢失了&运算符
15.4.14 超出了数组的边界
15.4.15 忘记了给字符串的空字符留出空间
15.4.16 使用未初始化的指针
15.4.17 丢失了间接运算符和地址运算符
15.4.18 在指针表达式中丢失括号
15.4.19 在宏定义语句中参数遗漏了括号
15.5 程序测试与调试
15.5.1 错误的类型
15.5.2 程序测试
15.5.3 程序调试
15.6 程序的效率
15.6.1 运行时间
15.6.2 内存需求
15.7 复习题
附录Ⅰ 位级程序设计
Ⅰ.1 概述
Ⅰ.2 逐位逻辑运算符
Ⅰ.2.1 逐位与操作
Ⅰ.2.2 逐位或操作
Ⅰ.2.3 逐位非或操作
Ⅰ.3 逐位移位运算符
Ⅰ.4 逐位求反运算符
Ⅰ.5 屏蔽
附录Ⅱ
附录Ⅲ
附录Ⅳ 电话簿示例程序
Programming in ansi C
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×