商家名称 | 信用等级 | 购买信息 | 订购本书 |
普通高等教育"十一五"国家级规划教材:C语言程序设计案例教程(第2版) [平装] | |||
普通高等教育"十一五"国家级规划教材:C语言程序设计案例教程(第2版) [平装] |
《C语言程序设计案例教程(第2版)》:循序渐进地介绍程序设计方法、由浅入深地分析程序设计案例、从简到繁地说明编程语言功能。《C语言程序设计案例教程(第2版)》第1版出版以来,为大学理工科学生提供了一本学习程序设计方法和程序设计语言的专业教科书。与以程序设计语言功能为中心的众多教材不同,《C语言程序设计案例教程(第2版)》强调以程序设计方法的教学为中心,按照语言基础知识、控制结构、算法初步、数据组织、程序组织、应用实例和课程设计的顺序组织教学内容,通过分析精选的程序设计案例,由浅入深地逐步介绍程序设计方法以及支持这些程序设计方法的语言功能。这种组织方法力求使学生能够按照正确的程序设计方法,针对实用型的应用问题,设计出合理的数据组织和程序结构,获得分析实际问题并通过程序设计来解决问题的能力,而不是仅仅掌握孤立的语言功能知识。《C语言程序设计案例教程(第2版)》第2版进一步扩展了以指针运算为中心的程序设计和VisuaIC++集成开发环境等教学内容,丰富了程序设计案例和习题等教学资源,以满足国内理工科不同专业不同教学计划的各种教学需求,并且提供了多种程序设计应用案例,以支持课程设计等实践教学的实施。
廖湖声,1981年在清华大学硕士,现任北京工业大学教授、博士生导师,北京市重点建设学科“计算机软件与理论”学科带头人,曾在日本电气通信大学、东京大学、美国俄勒岗科技研究生院、丹麦哥本哈根大学访问进修,曾入选北京市青年学术带头人,北京市跨世纪人才工程。主要研究为程序理论、编译系统、数据集成和中间件技术,曾主持完成七项国家自然科学基金和北京市自然科学基金项目。
第1章 C语言基础知识
1.1 计算机与程序设计语言
1.1.1 计算机系统的基本组成
1.1.2 程序设计语言
1.1 .3c语言发展过程及特点
1.2 c程序的基本结构和运行过程
1.2.1 几个简单的c程序
1.2.2 运行c程序的基本过程
1.2.3 利用VisualC++6.0集成环境开发C程序
1.2.4 利用TurboC++3.0集成环境开发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 dowhile语句
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 递推与迭代法应用实例l:等比数列求和
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题学生作业完成情况管理程序
附录AASC字符集
附录B运算符的优先级和结合性
附录CVisualC++6.0使用指南
附录CVisualC++3.0使用指南
附录EC语言常用标准函数
参考文献
《c语言程序设计案例教程》出版以来,为大学理工科学生提供了一本学习程序设计方法和程序设计语言的专业教科书。与以介绍程序设计语言功能为中心的众多教材不同,本书强调以程序设计方法的教学为中心,按照语言基础知识、控制结构、算法初步、数据组织、程序组织、应用实例和课程设计的顺序组织教学内容,由浅入深地逐步介绍程序设计方法以及支持这些程序设计方法的语言功能。这种组织方法力求使学生能够按照正确的程序设计方法,针对实际问题,设计出合理的数据组织和程序结构,获得分析实际问题并通过程序设计来解决问题的能力,而不仅仅是掌握孤立的语言功能知识。
在过去的4年中,我们在众多理工科学生的教学实践中,采用本书作为程序设计课程及其课程设计的主要教材,以支持程序设计课程的教学改革。这些教学实践已经涉及计算机科学与技术、软件工程、信息安全、数字媒体技术、生物工程、机械工程与自动化、信息管理与信息系统、工业工程、建筑学、工业设计、环境科学与环境工程、应用物理学、热能与动力工程、交通工程、材料科学与工程等十多个专业的基础教学,有效地丰富了各专业学生的计算机基础知识,提高了学生的程序设计能力。
近年来,越来越多的理工科专业将程序设计课程列入教学计划,各个专业对于程序设计的教学有不同的要求。例如,工程类专业要求底层程序设计技能的训练,以满足硬件设备应用接口的使用需求,而信息类专业要求符号处理的训练,以满足符号处理的应用需求。同时,为了培养学生的程序设计能力,国内高校普遍加强了实践能力的培养力度,通过设置课程设计的教学环节来加强对学生程序设计能力的训练。
插图:
程序是对计算任务的处理对象和处理过程的描述。任何以计算机为处理工具的任务都是计算任务。处理对象是诸如数字、文本、图形、图像和声音等数据;处理过程是处理动作和步骤。在低级语言中,程序是一组指令和有关的数据集合;在高级语言中,程序是一组说明和语句的集合。
.程序设计是指设计、编写和调试程序的方法与过程。由于程序是软件的本体,软件的质量主要通过程序的质量体现,因此,研究一种切实可行的程序设计方法显得格外重要。回顾程序设计的发展历程,大致经历了以下几个阶段。(1)面向计算机的程序设计。计算机诞生初期,人们与计算机打交道的唯一途径是机器语言,这是一种可以被计算机直接识别的程序设计语言,其中的每一条指令和操作数都是采用二进制形式表示的,因此,具有复杂、易错、难读和难纠错等缺点,尽管后来人们采用助记符将很多指令形象化,但仍无法摆脱指令格式与机器相关的弊病。(2)面向过程的程序设计。随着计算机技术的迅速发展,软件开发水平的滞后严重影响了计算机应用领域的推广,人们迫切需要一种更加自然、规范和易学的程序设计方法,以提高软件开发的效率,改善软件产品的质量。在这种背景下,人们提出了面向过程的程序设计思路。所谓面向过程是指从功能的角度分析问题,将待解决的问题空间分解成若干个功能模块,每个功能模块描述一个操作的具体过程。在20世纪70年代,广泛使用的结构化程序设计方法就是面向过程的一个典型代表。它的核心思想是自顶向下、逐步求精,模块化和语句的结构化。这样既有益于在每一个抽象级别上尽可能地保证设计过程的正确性及最终程序的正确性,又可以改善程序的可读性、可理解性和可维护性。