C语言程序设计
2009-7
高等教育出版社
王建国,邹显春 编
236
无
进入21世纪以来,“程序设计语言”课程更侧重于应用能力的培养,更注重掌握应用的方法和技能,为了避免学生一听就懂,一做就错,本书尝试改变过去先系统学习理论知识再应用的编写模式,采取以应用为目的而学习和拓展有关理论知识的编写思路。 “C语言程序设计”是一门实践性很强的课程,如果没有经过大量的实践训练,很难掌握这门课程的主要知识点.本书在编写方式上不再采用传统课程的“提出概念-解释概念-举例说明”方式,而是采用“提出问题-分析问题-解决问题-实例总结”的方式,将“实例引导、编程应用为驱动”贯穿在全书中,每章将相关知识融合到不同的实例中。 本书在编写过程中,考虑了“程序设计语言”课程以应用为核心的特点,重点培养学生分析问题、解决问题的能力,通过对实例的学习增强学生的动手能力,在培养应用型人才方法上做了一点尝试。 本书共8章。“第1章C语言概述”主要讲解了程序算法描述、编程风格、简单编程实例和编程环境。“第2章C语言程序基础”主要讲解了基本数据类型、常量和变量、运算符和表达式、标准输入/输出、文件输入/输出及预处理命令.“第3章程序控制结构”主要讲解了分支结构和循环结构。“第4章数组”主要讲解了一维数组、多维数组、指针与一维数组、指针与多维数组、指针数组、动态数组。“第5章函数”主要讲解了函数的基本应用、数据传递、函数指针、函数的嵌套调用、函数的递归调用、变量的作用域和存储类型及main()函数的参数。“第6章复杂数据类型”主要讲解了结构体、枚举类型、用户自定义类型及文件类型。“第7章链表和树”主要讲解了链表的应用及树的概念和简单应用。“第8章综合设计实例”主要讲解了一个从问题描述、程序设计、编程、测试及书写实验报告的全过程的课程设计实例。 全书由王建国和邹显春统稿,参加本书编写工作的有北京师范大学的朱小明,忻州师范学院的王建国、梁云川、赵青杉、胡志军、史月美、王惠,西南大学的邹显春,张颖、陈汉蓉、吴代贤,重庆师范大学的何丽,重庆工商大学的张小莉、李盛瑜、丁明勇。 在编写过程中,北京师范大学沈复兴教授、天津师范大学曲建民教授、东北师范大学李雁翎教授、华中师范大学胡金柱教授给予了精心的指导,并详细阅读了书稿,提出许多有建设性的修改意见,在此向他们表示衷心的感谢。
《C语言程序设计》采用“提出问题-分析问题-解决问题-实例总结”的方式,将“实例引导、编程应用为驱动”贯穿在全书中,每章将相关知识融合到实例巾。使学生经过“认识-模仿-编写”3个阶段,学会程序设计.《C语言程序设计》主要讲解了C语言概述、C语言程序基础、程序控制结构、数组、函数、复杂数据类型、链表和树、综合设计实例。书中实例均已在C什环境中调试通过。《C语言程序设计》可作为高等学校非计算机专业的高级语言程序设计教材,也可作为计算机等级考试的参考书。
第1章 C语言概述1.1 C语言的发展1.2 初步认识简单的C程序1.3 编写简单的C程序1.4 程序与算法1.5 C语言的编程风格习题第2章 C语言程序基础2.1 基本数据类型2.2 常量和变量2.3 运算符和表达式2.4 类型转换2.5 指针数据类型2.6 数据的输入与输出2.7 预处理习题二第3章 程序控制结构3.1 分支结构3.2 循环结构3.3 综合应用实例习题三第4章 数组4.1 一维数组4.2 多维数组4.3 指针与一维数组4.4 指针与多维数组4.5 指针数组4.6 动态数组4.7 综合应用实例习题四第5章 函数5.1 函数的基本应用5.2 数据传递5.3 函数指针5.4 函数的嵌套调用5.5 函数的递归调用5.6 变量的作用域5.7 变量的存储类型5.8 main()函数的参数5.9 综合应用实例习题五第6章 复杂数据类型6.1 结构体6.2 枚举类型6.3 用户自定义类型6.4 文件类型6.5 综合应用实例习题六第7章 链表和树7.1 链表7.2 树7.3 综合应用实例习题七第8章 综合设计实例8.1 简单集合运算实例8.2 计算100的阶乘实例8.3 综合设计报告参考文献
程序设计是一门技术,需要相应的理论、技术、方法和工具来支持。就程序设计方法和技术而言,主要经过了结构化程序设计和面向对象的程序设计两个阶段。 结构化程序设计方法是一种自顶向下、逐步求精、模块化的程序设计方法。按照结构化程序设计方法的思想,就是将给定的一个功能较多的复杂问题合理地划分为若干个较简单的子问题,还可以将这些子问题再分解为若干功能更简单的子任务(可将每个子任务看作一个模块),以便于“分而治之”。如图1.23所示为一个较复杂问题的模块分解过程。 在模块划分时,应该尽可能地保证数据的独立性和模块功能的唯一性。也就是说,各模块间的耦合性要尽量弱,即一个模块最好像是一个黑盒子,模块间的数据交换要尽量少;模块的内聚性要尽量强,即每个模块只完成单一的功能。 结构化程序设计强调程序设计风格和程序结构的规范化,提倡结构清晰。良好的程序设计风格可以使程序结构清晰合理,程序代码便于维护。著名的“清晰第一,效率第二”论点已成为当今主导的程序设计风格。 采用结构化程序设计方法的好处是:可以使每个模块功能明确,模块间的关系简单、清晰(即可读性强),每个模块内部的修改尽可能不影响其他模块(即独立性好),同时每个模块的正确性容易得到验证(即可维护性好)。 例1.5中的代码、算法正确,也能够编译、连接到执行,而且得到如图1.17所示的运行结果。但从应用程序与用户交互性角度看,这个结果是不友好的。如图1.24所示为源程序代码与其对应的运行过程图。从运行过程图的运行窗口看,如果不阅读源程序,用户就很难知道当前需要干什么。因此在源程序中,增加输入/输出提示就可解决这一问题,如图1.25所示。 通过上述讨论,应用程序与用户交互性就是指程序在执行过程中,程序与用户之间的交流特性。如在程序执行过程中,当需要用户输入数据时,程序应该给予相应的提示信息,让用户知道当前应该干什么;当程序经过处理后输出数据时,应该让用户知道输出数据的含义。如果程序不能够确保这样的交互性,在程序运行过程中就必须依赖源程序。 ……
无