编辑推荐
本书第1版出版以来,为大学理工科学生提供了一本学习程序设计方法和程序设计语言的专业教科书。与以程序设计语言功能为中心的众多教材不同,本书强调以程序设计方法的教学为中心。按照语言基础知识、控制结构、算法初步、数据组织、程序组织、应用实例和课程设计的顺序组织教学内容,通过分析精选的程序设计案例,由浅入深地逐步介绍程序设计方法以及支持这些程序设计方法的语言功能。这种组织方法力求使学生能够按照正确的程序设计方法,针对实用型的应用问题,设计出合理的数据组织和程序结构,获得分析实际问题并通过程序设计来解决问题的能力,而不是仅仅掌握孤立的语言功能知识。本书第2版进一步扩展了以指针运算为中心的程序设计和Visual C++集成开发环境等教学内容,丰富了程序设计案例和习题等教学资源,以满足国内理工科不同专业不同教学计划的各种教学需求,并且提供了多种程序设计应用案例,以支持课程设计等实践教学的实施。
内容简介
本书试图从解决实际问题的角度出发,通过大量的典型实例,强化算法设计的基本方法,并由此阐述C语言为实现算法而提供的各种技术支持,即沿着由问题带出算法,由算法带出程序设计语言的思路讲述C语言程序设计中的各个知识点。全书内容分为两部分:第一部分包括第1章至第6章,主要阐述C语言程序设计的基础知识及计算机算法的初步内容;第二部分包括第7章至第9章,主要列举一些综合性较强的实例,讲述一些与实践环节有关的内容。
为了便于考查学习效果,本书在主要章的后面都给出大量的习题和一套自测题。这些题目基本上覆盖了各章中讲述的大部分知识点。在主要章的后面提供两道涉及本章知识内容的上机练习题目,并在第9章给出具有一定综合效果的实践性题目。
本书可作为各类高等院校计算机专业及理工科类非计算机专业的学生学习C语言程序设计的教材,也可作为有关工程技术人员和计算机爱好者学习c语言程序设计的参考书。
作者简介
廖湖声,1981年在清华大学硕士,现任北京工业大学教授、博士生导师,北京市重点建设学科“计算机软件与理论”学科带头人,曾在日本电气通信大学、东京大学、美国俄勒岗科技研究生院、丹麦哥本哈根大学访问进修,曾入选北京市青年学术带头人,北京市跨世纪人才工程。主要研究为程序理论、编译系统、数据集成和中间件技术,曾主持完成七项国家自然科学基金和北京市自然科学基金项目。
目录
第1章 C语言基础知识
1.1 计算机与程序设计语言
1.1.1 计算机系统的基本组成
1.1.2 程序设计语言
1.1.3 C语言发展过程及特点
1.2 C程序的基本结构和运行过程
1.2.1 几个简单的C程序
1.2.2 运行C程序的基本过程
1.2.3 利用Visual C++6.0集成环境开发C程序
1.2.4 利用Turbo C++3.O集成环境开发C程序
1.3 数据类型、常量、变量、输入/输出与基本运算
1.3.1 基本数据类型与数据的表示
1.3.2 常量
1.3.3 变量、变量的存储与变量的赋值
1.3.4 基本的输入/输出
1.3.5 算术运算符和算术表达式
1.3.6 数学标准函数
1.3.7 位运算
1.4 本章语法小结
习题
上机练习题
自测题
第2章 C语言的基本控制结构
2.1 顺序结构
2.2 选择结构
2.2.1 关系运算与逻辑运算
2.2.2 if语句
2.2.3 多路选择和switch语句
2.2.4 选择结构的应用实例:复数四则运算
2.3 循环结构
2.3.1 while语句
2.3.2 for语句
2.3.3 do while语句
2.3.4 循环语句的应用实例
2.4 程序调试的基本方法
2.4.1 错误分类和解决方法
2.4.2 静态程序调试
2.4.3 动态程序跟踪
2.5 本章语法小结
习题
上机练习题
自测题
第3章 计算机算法初步
3.1 算法的概念
3.1.1 利用计算机求解问题的一般过程
3.1.2 数据对象与算法描述
3.1.3 利用流程图描述算法的应用实例
3.2 穷举法
3.2.1 概述
3.2.2 穷举法应用实例1:素数的判断
3.2.3 穷举法应用实例2:百钱买百鸡
3.3 递推与迭代法
3.3.1 概述
3.3.2 递推与迭代法应用实例1:等比数列求和
3.3.3 递推与迭代法应用实例2:求圆周率π
3.3.4 递推与迭代法应用实例3:按位分解整数
3.4 本章语法小结
习题
上机练习题
自测题
第4章 数据的组织结构(一)
4.1 数组类型
4.1.1 数组类型的应用背景
4.1.2 一维数组类型的定义
4.1.3 一维数组的初始化
4.1.4 一维数组元素的引用及基本操作
4.2 利用一维数组组织数据的应用实例
4.2.1 按照条件对数据进行筛选
4.2.2 根据需求对数据进行统计
4.2.3 查找问题
4.2.4 排序问题
4.3 字符串的组织
4.3.1 字符串的组织形式
4.3.2 字符串的初始化
4.3.3 字符串的输入/输出
4.4 常用的字符串标准函数及应用实例
4.4.1 字符串标准函数
4.4.2 文本加密
4.5 二维数组
4.5.1 二维数组的定义
4.5.2 二维数组的应用实例
4.6 本章语法小结
习题
上机练习题
自测题
第5章 程序的组织结构
5.1 函数概述
5.2 标准函数
5.2.1 函数原型
5.2.2 随机数的产生及应用实例
5.3 自定义函数
5.3.1 函数的定义
5.3.2 函数的调用、函数的返回值及参数的传递
5.3.3 自定义函数的应用实例
5.4 函数与数组的应用实例
5.4.1 计算最长文本行
5.4.2 冒泡排序
5.5 递归算法与递归函数
5.5.1 递归算法与递归函数概述
5.5.2 递归函数的调用过程
5.5.3 全排列
5.5.4 用递归函数实现二分查找
5.6 变量的生存期与作用域
5.6.1 全局变量和局部变量
5.6.2 自动变量和静态变量
5.7 本章语法小结
习题
上机练习题
自测题
第6章 数据的组织结构(二)
6.1 结构体类型
6.1.1 结构体类型的概念
6.1.2 学生基本信息的组织方式
6.1.3 结构体类型应用实例
6.2 指针类型
6.2.1 指针类型的概念
6.2.2 指针与数组
6.2.3 字符串与指针数组
6.2.4 指针型函数参数及函数返回值
6.2.5 指针类型的应用实例——链表
6.3 文件
6.3.1 文件的概念
6.3.2 文件的基本操作
6.4 联合体与枚举类型
6.4.1 联合体
6.4.2 枚举类型
6.5 本章语法小结
习题
上机练习题
自测题
第7章 C程序应用实例
7.1 实例1字符串处理
7.2 实例2歌曲排行榜
7.3 实例3集合运算
7.4 实例4通讯录管理应用程序
第8章 软件开发基础知识
8.1 软件与软件产品特征
8.2 软件开发的基本过程
8.2.1 软件生命周期
8.2.2 软件开发过程模型
8.2.3 软件开发方法学
8.3 程序设计风格
8.4 程序调试的基本方法
8.5 软件测试的基本方法
8.6 软件文档的编写要求
第9章 C语言课程设计指导
9.1 课程设计教学环节的主要目的
9.2 C语言课程设计的考核内容
9.3 课程设计报告的书写规范
9.3.1 课程设计报告的内容要求
9.3.2 课程设计报告的质量要求
9.4 课程设计题目
9.4.1 第1题学生证管理程序
9.4.2 第2题学分管理程序
9.4.3 第3题图书登记管理程序
9.4.4 第4题学生作业完成情况管理程序
附录A ASC II字符集
附录B 运算符的优先级和结合性
附录C Visual C++6.0使用指南
附录D Turbo C++3.0使用指南
附录E C语言常用标准函数
参考文献
前言/序言
C语言程序设计案例教程(第2版)/普通高等教育“十一五”国家级规划教材 下载 mobi epub pdf txt 电子书 格式