算法与C程序设计
分類: 图书,计算机/网络,程序设计,C C++ C# VC VC++,
作者: 宋晏 主编
出 版 社: 机械工业出版社
出版时间: 2008-9-1字数: 426000版次: 1页数: 264印刷时间: 2008/09/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111246121包装: 平装内容简介
本书以算法设计为主,C语言为辅的方式编写,详细讲述了:顺序结构、分支结构、循环结构的算法设计方法,模块化的设计及实现方法,以及涉及数组、结构体等数据结构的算法设计方法。本书突出算法,弱化语法,强调规范,重视实践,培养能力;始终遵循易讲、易懂、易学的原则进行编写。教材中配有大量算法设计的实例和实践题目。
本书适合于各高校计算机和非计算机专业的编程初学者使用。
目录
出版说明
前言
第1章 计算机基础知识
1.1 认识计算机
1.1.1 计算机硬件系统
1.1.2 计算机软件系统
1.1.3 计算机工作过程
1.1.4 计算机工作的特点
1.2 计算机语言
1.3 计算机程序
1.4 习题
1.5 课外阅读
第2章 算法与C程序设计初步
2.1 算法的含义
2.2 算法的特性
2.3 C语言编程要点
2.3.1 C语言的特点
2.3.2 C程序的组成
2.3.3 变量
2.3.4 赋值语句
2.3.5 基本输入/输出函数
2.4 C程序示例
2.5 扩展知识
2.5.1 数据类型
2.5.2 变量的初始化
2.5.3 不同数据类型间的运算
2.5.4 自增和自减运算符
2.6 C编程规范
2.6.1 排版
2.6.2 注释
2.6.3 标识符命名
2.6.4 变量
2.7 习题
2.8 实验
2.8.1 认识C稈序和Turbo C环堵
2.8.2 比较两个交换变量取值的算法
2.9 课外阅读及实践
第3章 初步认识结构化算法
3.1 结构化算法的原则和特点
3.1.1 结构化算法的主要原则
3.1.2 结构化算法的主要特点
3.2 基本控制结构
3.2.1 传统流程图
3.2.2 三种基本控制结构
3.3 N-S图描述算法
3.4 顺序结构算法举例
3.5 扩展知识
3.5.1 认识编译预处理命令include和define
3.5.2 编译预处理命令的使用
3.6 C编程规范
3.7 习题
3.8 顺序结构算法实验
3.9 课外阅读
第4章 分支结构算法及其实现
4.1 关系表达式和逻辑表达式
4.1.1 关系运算和关系表达式
4.1.2 逻辑运算和逻辑表达式
4.2 二选一分支结构
4.3 算法走读
4.3.1 对算法的N-S图进行编号
4.3.2 用测试数据检验算法
4.4 实现二选一结构的if-else语句
4.4.1 if-else语句的基本形式
4.4.2 if-else语句的缩进、对齐
4.4.3 复合语句
4.5 含二选一分支结构的算法举例
4.6 多分支结构及算法举例
4.6.1 多分支选择结构
4.6.2 实现多分支结构的C语句
4.7 扩展知识
4.7.1 C数据与逻辑“真”、“假”
4.7.2 条件运算符
4.8 C编程规范
4.8.1 排版
4.8.2 可读性
4.8.3 质量保证
4.9 习题
4.10 实验
4.10.1 修改分支结构的C程序
4.10.2 二选一和多分支结构算法设计
4.10.3 个人所得税计算问题
4.11 课外阅读及实践
第5章 循环结构算法及其实现
5.1 先判断型循环结构
5.1.1 定数循环
5.1.2 不定数循环
5.2 循环结构算法走读
5.2.1 算法走读
5.2.2 算法的健壮性
5.3 C语言中的while语句
5.4 先判断型循环结构的算法举例
5.4.1 符号正负交替的控制
5.4.2 变量迭代的方法
5.4.3 “自顶向下、逐步求精”的设计方法
5.4.4 循环的嵌套
5.5 C其他形式的循环结构
5.5.1 for循环结构
5.5.2 for循环结构算法举例
5.5.3 后判断型循环结构
5.6 扩展知识
5.6.1 复合赋值运算符
5.6.2 for循环的灵活使用
5.6.3 brcak语句
5.6.4 枚举类型
5.7 C编程规范
5.7.1 排版
5.7.2 可读性
5.7.3 提高效率
5.8 习题
5.9 实验
5.9.1 先判断型循环结构算法设计(一)
5.9.2 先判断型循环结构算法设计(二)
5.9.3 后判断型循环结构算法设计
5.9.4 循环嵌套算法的设计
5.9.5 利用for循环组织穷举法解题
5.10 课外阅读及实践
第6章 模块化和C语言的函数
6.1 “模块化”程序设计思想
6.2 函数
6.2.1 标准函数
6.2.2 自定义函数
6.3 参数
6.3.1 形参和实参
6.3.2 参数的值传递和地址传递
6.3.3 如何设计函数中的参数
6.4 返回值
6.5 函数举例
6.6 调用过程分析
6.6.1 函数调用的一般形式
6.6.2 函数调用的方式
6.6.3 函数调用的过程
6.7 扩展知识
6.7.1 全局变量和局部变量
6.7.2 函数的递归调用
6.7.3 带参数的宏定义
6.7.4 利用#include实现代码的重用
6.8 C编程规范
6.8.1 函数设计
6.8.2 全局变量
6.8.3 指针
6.9 习题
6.10 实验
6.10.1 C函数设计
6.10.2 嵌套调用的函数设计
6.10.3 函数的嵌套调用和递归调用
6.11 课外阅读及实践
第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.4 C编程规范
7.4.1 数组定义规范
7.4.2 数组使用规范
7.5 习题
7.6 实验
7.6.1 数组元素作计数器和作标记
7.6.2 数组名作函数参数
7.6.3 改进冒泡法排序
7.6.4 二维数组的使用
7.7 课外阅读及实践
第8章 字符和字符串处理的算法
8.1 字符类型数据处理的算法
8.1.1 字符常量与字符变量
8.1.2 字符数据在内存中的存储
8.1.3 字符类型数据处理算法举例
8.2 一个字符串的存储和处理
8.2.1 一维字符数组与字符串
8.2.2 C语言中字符串的输A/输出
8.2.3 字符串处理函数
8.2.4 字符串处理算法举例
8.3 多个字符串的存储和处理
8.3.1 二维字符数组
8.3.2 多个字符串处理算法举例
8.4 扩展知识
8.4.1 字符串的指针变量
8.4.2 指针数组
8.5 习题
8.6 实验
8.6.1 字符及字符串处理
8.6.2 字符串处理
8.6.3 多个字符串的存储和处理
第9章 结构体
9.1 结构体的引出
9.2 结构体类型和结构体变量
9.2.1 结构体类型
9.2.2 结构体变量
9.2.3 结构体变量的引用
9.3 结构体数组
9.3.1 结构体数组概述
9.3.2 结构体数组的引用
9.4 指向结构体的指针变量
9.4.1 结构体变量的指针变量
9.4.2 结构体和结构体指针作参数
9.5 扩展知识
9.6 C编程规范
9.6.1 结构体设计
9.6.2 可读性
9.7 习题
9.8 实验
9.8.1 结构体变量的定义和使用
9.8.2 结构体数组的使用
9.8.3 结构体作函数的参数一一结构体指针的使用
9.9 课外阅读及实践
附录
附录A Turbo C 2.0集成环境
A.1 工作窗口简介
A.2 设置TC工作环境
A.3 程序的编辑与存盘
A.4 程序的编译、连接
A.5 程序的运行
A.6 程序的动态调试方法
附录B Turbo C常用的编辑命令
附录C Turbo C常见编译错误信息
附录D C语言常用格式说明符
附录E 本书各章C语言运算符的优先级和结合性
附录F 常用字符ASCII码表
索引
参考文献
书摘插图
第1章 计算机基础知识
1.1 认识计算机
计算机是20世纪人类社会的重大科技成果之一。自1946年世界上第一台数字计算机诞生以来,在短短的60多年里,计算机技术得到了飞速发展。从20世纪四五十年代只有发达国家的军事部门才用得起,到现在进入普通家庭,广泛应用于工业、农业、科技、国防、文教、卫生等各个领域,它代替了人类大量的体力劳动和脑力劳动,完成着许多人们所不能做到的工作。……