C语言程序设计与应用

出版时间:2009-4  出版社:张小东、 郑宏珍 人民邮电出版社 (2009-04出版)  作者:张小东,郑宏珍 编  页数:324  

前言

目前市面上有关C语言方面的图书,内容大都按传统思路组织,从C语言的历史讲起,然后是数据类型、运算符、表达式、常量、变量、控制结构、数组、指针、函数、结构体与共用体、文件等,由最基本、最本质并较为抽象的内容开始,如单词、句法、语法、程序段等,逐渐复杂化,逐步进行讲解。表面上看,这样对抽象知识学习过程,并不适合于C语言的教学,学生对知识点的理解不充分,不全面,甚至是不懂,只是靠着死记硬背而获得一个不错的分数,学完之后不会使用,就连简单的命题也可能解决不了!不可否认,这跟我国的传统应试教育模式有很大的关系,但就事论事地讲,跟我们的教材编写也有一定的关系。本着学以致用的原则,本书从第1章开始就教学生学习写简单应用程序,每一个知识点都糅进应用当中去,不做单纯的知识点堆积,不但把前几章那些“简单的”知识点分散到各个章节,避免机械式的记忆,而且把难点也分散了。全书以应用为主线,用到了才讲:讲,就是为了能更好地用!为了培养学生规范地使用语言,先从问题的规范描述开始,然后分析问题,建立模型,实现求解,最后测试通过。从严格的科学研究与工程应用的角度出发,进行c语言的学习与研究,并将这种思想渗透到每个实例中!明确的学习目的与目标也是学习的主要动力,本书要帮助学生建立的学习目的就是能够实现算法设计解决相关命题,目标是提高自己的学习能力与动手能力。全书在提供丰富而有趣的经典实例时,还精心设计了两个相对完整的应用:计算器与学生成绩档案管理。计算器属于算法研究4大类问题之一——计算类问题,其中包括很多经典的数值运算算法,如应用泰勒(Taylor)公式去求解三角函数等。学生成绩档案管理属于非数值运算处理,而计算机处理的信息中绝大部分是非数值信息,因此本例在实际应用中具有代表性。学生成绩档案管理系统从最简单的单个学生成绩分类开始到用多维数组存储学生基本信息与成绩信息,利用冒泡排序与选择排序按不同科目、不同成绩进行排序,再到更有聚合力的组织方式——结构体、链表,最终能够将这些数据永久性存储到文件中为止,完全贯彻实用、实践和工程应用的理念。通过这两个实例的学习让学生对C语言程序设计有一个更全面的认知,能够综合运用所学知识去解决较为实际的问题。

内容概要

  《C语言程序设计与应用》是以最基本的工程实践为基础,以教育部考试中心最新公布的全国计算机等级考试大纲(二级C语言)为依据编写的教材。全书共分9章,包括简单C程序设计、简单判定性问题求解、循环结构及应用、模块化设计与应用、相同类型数据集合、深入模块化设计与应用、构造数据类型、综合设计与应用、数据永久性存储等内容。  《C语言程序设计与应用》注重教材的可读性和实用性,从计算机工程角度展开讲解、探索和论述。每章开头都有关键字和难点提示,每章结尾安排本章小结,并从知识层面和方法层面对本章进行总结;从日常生活或实际工程中所遇到的问题着手,典型例题一题多解,由浅入深,循序渐进,强化知识点、算法、编程方法与技巧;还将程序测试、程序调试、软件的健壮性和代码风格、结构化设计与模块化程序设计方法等软件工程知识融入其中。  《C语言程序设计与应用》可作为高等学校公共课教材,也可作为全国计算机等级考试参考书及C语言自学教材。

书籍目录

第1章 简单C程序设计1.1 C程序的构成1.1.1 简单的C程序实例1.1.2 阅读C程序1.1.3 C程序结构1.2 简单程序扩展1.2.1 计算器基本功能1.2.2 计算器解决方案1.2.3 计算过程实现及分析1.2.4 深入解读1.3 Visual C++ 6.0编译环境简介1.3.1 Visual C++ 6.0的启动1.3.2 源程序录入1.3.3 编译、链接和运行1.3.4 调试1.3.5 退出编译环境1.4 本章小结练习与思考 1第2章 简单判定性问题求解2.1 判定性问题及判定条件的描述2.1.1 关系型判定条件2.1.2 逻辑型判定条件2.1.3 按位进行的逻辑运算2.2 if-else判定性结构2.2.1 if判定结构2.2.2 if语句的嵌套问题2.2.3 条件运算符和条件表达式2.3 switch判定结构2.4 应用实例2.4.1 计算器2.4.2 学生成绩管理2.5 本章小结练习与思考2第3章 循环结构及应用3.1 概述3.2 for循环3.2.1 for循环的一般结构3.2.2 for循环的深入探讨3.3 while循环3.4 do while循环3.5 关于循环的一些问题3.5.1 循环的嵌套3.5.2 无限循环3.5.3 循环语句的选择3.6 如何从循环中跳出3.6.1 break语句3.6.2 continue语句3.6.3 goto语句3.7 应用实例3.7.1 计算器3.7.2 学生成绩档案管理系统3.8 本章小结练习与思考3第4章 模块化设计与应用4.1 模块化程序设计方法4.1.1 模块化程序设计思想4.1.2 模块规划实例4.2 函数4.2.1 函数的定义4.2.2 函数的调用4.3 预处理4.3.1 文件包含4.3.2 宏定义4.4 应用实例4.5 本章小结练习与思考4第5章 相同类型数据集合5.1 数组与数组元素的概念5.2 相同类型数据的一维线性存储5.2.1 一维数组的定义5.2.2 一维数组的初始化5.2.3 一维数组的引用5.2.4 一维数组程序举例5.3 相同类型数据的二维及多维存储5.3.1 二维数组的定义5.3.2 二维数组的初始化5.3.3 二维数组的引用5.3.4 多维数组的初始化和引用5.3.5 数组程序举例5.4 字符类型数据集合的存储5.5 字符串处理函数5.6 字符串指针变量与字符数组5.7 应用实例5.8 本章小结练习与思考5第6章 深入模块化设计与应用6.1 算法基本概念6.1.1 概念6.1.2 引例6.2 简单的排序算法6.2.1 冒泡排序算法6.2.2 选择排序算法6.3 嵌套与递归设计及应用6.3.1 函数的嵌套调用6.3.2 函数的递归调用6.4 模块间的批量数据传递6.4.1 指针作为函数参数6.4.2 一维数组作为函数参数6.4.3 二维数组作为函数参数6.5 模块化设计中程序代码的访问6.6 应用实例6.6.1 计算器6.6.2 学生成绩管理6.7 本章小结练习与思考6第7章 构造数据类型7.1 结构体7.1.1 结构体类型的定义7.1.2 结构体变量7.1.3 结构体数组7.1.4 结构体指针7.1.5 结构体与函数7.1.6 位段7.2 共用体7.2.1 共用体类型的定义7.2.2 共用体变量的定义7.2.3 共用体变量的赋值和引用7.3 枚举7.4 自定义类型7.5 应用实例7.6 本章小结练习与思考7第8章 综合设计与应用8.1 变量的作用域与存储类别8.1.1 变量的作用域8.1.2 变量的存储类别8.2 指针与数组8.2.1 一维数组与指针8.2.2 多维数组与指针8.2.3 指针数组8.3 函数main()中的参数8.4 指针型函数8.5 动态存储空间分配8.6 链表8.6.1 链表的概念8.6.2 链表的基本操作8.6.3 带头结点链表简介8.7 本章小结练习与思考8第9章 数据永久性存储9.1 数据的永久性存储9.2 文件组织方式9.3 文件操作9.3.1 标准输入/输出头文件stdio.h9.3.2 文件打开与关闭9.3.3 文件读/写函数9.3.4 文件定位函数9.4 应用实例9.5 本章小结练习与思考9附录 C语言参考附1 C语言发展史及版本历程附1.1 C语言的发展史附1.2 C语言的版本历程附2 C语言关键字附3 ASCII表附4 Visual C++各数据类型所占字节数和取值范围附5 C运算符及优先级附6 格式化输入/输出控制字符列表附6.1 函数printf()附6.2 函数scanf()附7 ANSI C常用标准库函数附7.1 数学函数附7.2 字符处理函数附7.3 字符串处理函数附7.4 缓冲文件系统的输入/输出函数附7.5 动态内存分配函数附7.6 非缓冲文件系统的输入/输出函数参考文献

章节摘录

插图:解决问题的关键是把问题分析清楚,然后给出解决的方法和步骤,接着按照设计的方法用程序设计语言实现,最后通过验证,证明给出的方法与实现是否满足了最初的问题要求。下面结合前面简易计算器程序的实现过程来进行简要介绍。第一步,分析问题。分析的目的就是搞清楚问题本身要求解决什么,使用哪些数据,获得哪些结果,只有最终的结果符合问题的需要,程序才是满足要求的,否则,再多的努力也是徒劳。在简易计算器的程序中,要求实现的功能是:使用整型的操作数,进行+、.、*、/和%运算,并将运算结果显示出来。进行算术计算并得到正确结果,这就是问题的本质。第二步,给出解决问题的方法和步骤。这是一个关键的阶段,它要给出解决问题的根本性方法和具体的方案。简单地说就是如何将一个整体性的问题进行抽象和分析,分解成若干子问题,各个击破。在这个阶段对所要解决的问题进行逐步分解,按照不同的逻辑关系,把一个大的问题分解成几个小型的、相对独立的个体,然后对每个相对独立的个体再次进行分析,最后把它们一一实现,这样整个软件也就得以实现,从而满足需求,即前面所提的“自顶向下,逐步求精”的方式。在简易计算器程序设计过程中,首先要确定操作数的表示:选择数据类型,引入变量,并进行初始化;然后根据算术运算符进行计算;最后输出结果。设计时,将问题的处理过程用流程图的方式表示,明确地让编程人员知道,每个部分该如何去做。第三步,代码编写。它是一个把停留在纸面上的软件,转化为真正可以运行起来的程序实体。在这个阶段,编程人员按照分析阶段给定的实现要求,用计算机语言来完成具体的需求,即程序的功能。同时,良好的编程风格,对完成一个软件也是必要的,如代码格式安排合理、有适当的注释等,这样便于程序的阅读、理解以及后期的维护。在简易计算器的实现过程中,根据设计方案,声明变量,选用合适的运算符完成对应的计算,最后使用primfo函数把结果呈现给用户。第四步,正确性验证。这一步就是对编写好的程序进行测试,从而验证完成的程序是否正确地完成了最初的需求,测试可以帮助我们发现程序中的错误,完善软件功能。测试要输入测试数据,也就是我们精心设计的一些数据,然后看程序执行完毕后得到的结果是否满足我们的正确需要。当然,测试不仅仅要验证实现的正确性,还包括可靠性、健壮性、完整性等。

编辑推荐

《C语言程序设计与应用》特点:全面的基础圈点,轻松构筑程序框架,精要的解析方法,平滑实现基础转换,生动的案例分析,提高探索创新技能。

图书封面

评论、评分、阅读与下载


    C语言程序设计与应用 PDF格式下载


用户评论 (总计1条)

 
 

  •   我们学校出的教科书,原来想买二手没找到。正好和官方价一样,质量好是正版,送货也快。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7