C语言程序设计教程
作者 : 周启海
出版日期 : 2004-01-01
ISBN : 7-111-12310-7
定价 : 25.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 263
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 : 已绝版
图书简介

本书是一本创意新颖、体系独特的C语言程序设计教材,它首创了“同构化涵盖结构化,结构化映证同构化”的科学方法,采用最新的VC++环境作为上机实习平台;是从零起步,学习程序设计基本原理、主要思想、一般方法、基本技能及其C语言实现的良师益友。
  全书行文浅显易懂,具有高中以上文化程度即可阅读,也可作为大专院校相关课程的教材或教学参考书以及计算机等级考试的培训用书。
  本书是一本别具新意的C语言编程教材,具有以下特点:
  行文浅显易懂、深入浅出:
  附有大量编程实例:
  以VC++作为上机实习平台;
  体系独特,突出强调了算法在编程中的重要性。
  本书可供广大编程爱好者及高等院校师生阅读使用。

图书前言

以程序设计为中心的计算机技术,是上世纪末以来发展最迅猛、应用最广泛的现代科学技术之一。计算机技术的开发与应用,说到底无非是计算机程序的设计与运用。“如何使中国学生轻松、愉快地学好计算机程序设计,怎样让全国教师愉快、轻松地教好计算机程序设计”,无疑具有重要的学术理论价值和社会实践意义。
  有分析,才能比较;有比较,才能鉴别;有鉴别,才能发展;有发展,才有未来。为此,本书作者积极探索出了一条有中国特色的计算机程序设计教育的新捷径。其核心特征与主要特色是:
  一、基础坚实——创立了“算法设计同构化,程序编码结构化”新理论。
  从根本上讲,所有计算机语言都同构于一种同构化算法设计语言,并且这一同构化算法设计语言宛如各种计算机语言的“世界语”,或者恰似我国的“普通话”。同构化算法设计语言是所有计算机语言的公共原象,而且这一公共原象是从它的各种映像——所有计算机语言中抽象、简化、浓缩、提炼、升华而成的。同数学中n维欧氏空间与任何一个n维空间的数学结构关系相类似,用同构化算法设计语言(例如作者创造的算法周图、周码等)表述的同构化算法,与它所对应的任何一种具体计算机语言编写的程序之间的精神内核关系是同构的,即:它们的结构本质与构造实质是完全一致的。同样,所有计算机语言下的程序设计,显然同构于用同构化算
法设计语言表征的同构化程序设计。所以,从学习同构化程序设计人手来学习和把握程序设计,无疑是计算机程序设计普及、推广、应用的新捷径;这不单因为从结构化程序设计基础发展起来的同构化程序设计,比通常特定的具体计算机语言下的程序设计简单易学、便于入门、易于开发,而且因为在掌握同构化程序设计之后,把一个同构化算法转换成它所对应的任一具体计算机语言下的同构化程序,将易如反掌。从1985年迄今,接受这种先进教学法教育的学生们的共同体会是:从算法到编码,其简单容易犹如将具体数据代入数学公式。
  二、思想科学——突出了“算法设计为主导,语言编程为主体”新思想。
  在计算机科学中,“计算机程序设计:算法设计+计算机语言”,而“算法设计=算法+数据结构+程序设计方法学”,且其核心和基础是算法。这表明,“算法乃程序之母,程序为算法之子”:算法是“源”,是程序行为的主导思想;而程序是“流”,是算法描述的主体形式。
  然而,必须强调指出:算法设计,由于算法及其设计所依赖的思维方法的特殊规律性,大大地增加了人们学习它、掌握它的困难性。算法设计的思维方法,本质上不同于人们在从小学开始的数学教育与训练中所熟悉的公理系统思维方法(尽管也与它有所联系)。人们在初学计算机程序设计时,往往有茫然不知所措之感,概源于此。努力让人们去理解、熟悉这一整套新的算法构造思维方法,无疑是计算机程序设计普及教育的核心内容、首要难点与根本重点,而离开了算法及其设计这个计算机程序设计的基础、重点和关键,程序及其编码就成了无本之木、无源之水。只有突出了算法设计这个核心与重点,才能使学习程序设计的初学者“入门容易,
提高自然,适应自如”。所以,在程序设计教学中,作者倡导“算法设计为主导,语言编程为主体”的新思想。
  三、方法独到——创造了“既授人以鱼,更授人以渔”新方法。
  古人云:“授人以鱼,不如授人以渔”。同理,让人们学懂某种计算机语言的程序设计,远不如教会人们掌握可指导各种计算机语言程序设计和程序移植的算法设计的基本原理和一般方法。所以,应当“既授人以鱼(某种计算机语言的程序设计技术),更授人以渔(可适用于各种计算机语言的算法设计原理)”,以培养和形成学生的程序设计综合素质与拓展能力。为此,必须先“注重算法分析,突出算法设计,强化算法注释,点拨算法疑难”,再“结合某种语言(例如C语言),针对具体算法(例如秦九韶算法),实施程序编码(例如编写C语言秦九韶程序)上机调通程序(本书主选VC++6.0作为编程平台)”。
  四、模式新颖——推出了“理论联系实际,算法制导程序,上机验证编程”新模式。
  长期实践表明,这种新模式可切实做到授人以开启计算机程序设计宝库的金钥匙——进行计算机程序设计和程序移植的基本原理、一般方法与基础技术,使学生从根本上具备当今信息化社会所必需的计算机文化基本素质——“举一反三,触类旁通;各种语言,无师自通”的同构化程序设计应变能力和适应能力。
  五、工具先进——进一步新创了“思想新颖,体系完备,技术先进,使用简便”的新型算法设计描述工具“周图、周码”,可极大地提高人们的算法(或程序)设计效率。
  总之,大量事实证明:以同构化算法设计为指南来指导所有具体计算机语言下的程序设计,不但在思想上是先进的,在理论上是可靠的,在方法上是可行的,在模式上是创新的,而且在实践上是成功的。毋庸置疑,这一新思路和新捷径,必将有利于消除我国同发达国家在计算机普及、推广、应用上的差距。
  常言道:“人无完人,金无赤金”。故本书倘有疏误,则恳请读者不吝赐教指正(来信请寄:610074成都市西南财经大学经济信息工程学院周启海教授;电话联系:028-87354172;E-mail:zhouqh@swufe.edu.cn),以便再版时予以更正。
  周启海教授
  2003年11月11日,于西南财经大学

图书目录

第1章 引论
1.1 计算机应用概要
1.2 计算机语言、算法、程序概要
1.3 C语言及其编程平台概要
1.4 C语言常用编程平台入门--VC++、Turbo C
1.4.1 VC++6.0及其进入、工作、退出
1.4.2 Turbo C 2.0的进入、工作、退出
1.5 算法与C程序的总体结构、注释结构概述
1.6 C的字符集与标识符
1.6.1 C字符集
1.6.2 C标识符
1.7 数据的类型及其形式与运算
1.7.1 计算机数据的类型、操作概述
1.7.2 C语言的数据类型概述
1.7.3 数据的输入、输出操作概述
1.7.4 整数类型数据的形式与运算
1.7.5 实数类型数据的形式与运算
1.7.6 字符型、字符串型数据的形式与运算
1.7.7 准逻辑型数据的形式与运算
1.7.8 各种变量的特殊运算--取地址(&)与取内容(*)
1.7.9 指针型数据的形式与运算概述
1.8 程序设计基本过程概要
1.8.1 问题分析--程序设计的基础
1.8.2 算法设计--程序设计的核心
1.8.3 程序编码--程序设计的关键
1.8.4 分析调试--程序设计的保障
1.8.5 运行维护--程序设计的后援
1.8.6 人的主导作用与计算机的主体作用
1.9 同构化程序设计方法概要
习题
第2章 顺序结构
2.1 顺序结构的算法表示
2.2 顺序结构设计
习题
第3章 选择结构
3.1 选择结构概述
3.2 双分支选择结构设计
3.2.1 一般条件型双分支选择结构设计
(if、if-else)
3.2.2 情况条件型双分支选择结构设计(switch、break)
3.3 多分支选择结构设计
3.3.1 一般条件型多分支选择结构中的if嵌套
3.3.2 情况条件型多分支选择结构中的switch
3.3.3 混合条件型多分支选择结构中的if、switch嵌套
习题
第4章 循环结构
4.1 循环结构概述
4.2 单重循环结构设计
4.2.1 当型单重循环结构设计(while)
4.2.2 直到型单重循环结构设计(do-while)
4.2.3 步长型单重循环结构设计(for)
4.2.4 强制缩短与中止循环过程设计(break、continue以及goto)
4.2.5 三种循环结构的比较
4.3 双重循环结构设计
4.4 多重循环结构设计
习题
第5章 模块化结构与子算法结构
5.1 模块化与子算法概述
5.2 过程子算法结构设计
5.2.1 过程子算法的定义与调用
5.2.2 无参过程子算法结构设计
5.2.3 有参过程子算法结构设计
5.2.4 子算法调用关系与定义位置
5.2.5 标识符的作用域、生存期与误使用
5.3 函数子算法结构设计
5.4 嵌套、递推与递归
5.4.1 嵌套
5.4.2 递推
5.4.3 递归
5.5 过程参数与函数参数
5.6 外部函数、内部函数与大型程序开发方法
5.6.1 外部函数、内部函数的定义方法与基本特点
5.6.2 内部函数与外部函数的综合应用
习题
第6章 C语言预处理与类型定义及其应用
6.1 预处理的基本特点与使用用法
6.1.1 预处理、核心语言、标准库的主要作用与基本特点
6.1.2 文件包含命令(#include)
6.1.3 宏处理--宏定义和宏替换
6.1.4 条件编译
6.2 类型定义的一般方法与基本模式
6.3 枚举型结构程序设计
6.3.1 枚举型的类型定义与变量定义
6.3.2 枚举型量的运算与使用
习题
第7章 数组结构
7.1 数组结构概述
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.3.4 查找检索
7.3.5 有序插入
7.3.6 有序删除
7.3.7 有序进退
7.4 维数组与双下标变量的应用
7.5 多维数组与多下标变量的应用
7.6 一维字符型数组及其特殊用法示例
习题
第8章 记录结构与共用型
8. 1 记录结构概述
8.2 原象、实体、记录
8.3 记录的定义与使用
8.3.1 记录及其字段的秩序化与宜用原则
8.3.2 记录型与记录的定义
8.3.3 记录和字段的运算与使用
8.4 一般记录的应用方法
8.5 数组记录与记录数组的应用方法
8.5.1 数组的记录应用示例
8.5.2 记录的数组应用示例
8.6 共用型的定义与使用
习题
第9章 文件结构
9.1 文件结构概述
9.2 对象数据、实体数据、内存数据、外存数据
9.3 文件及其数据的定义与使用
9.3.1 文件型与文件的定义
9.3.2 文件的创建与重建
9.3.3 文件数据的读入与写存
9.4 文件的应用
9.4.1 文件的察看
9. 4.2 文件的复制
9.4.3 文件的修改
9.4.4 文件的增删
9.4.5 文件的合并
9.4.6 文件的排序
9.5 文本文件
习题
第10章 指针结构及其应用
10.1 指针结构概述
10.2 连通事物与指针结构
10.2.1 连通事物
10.2.2 指针结构
10.3 指针及其指针元素的定义与使用
10.3.1 指针型与指针的定义
10.3.2 指针值和指针元素的定义与使用
10.4 指针结构与半动态数据结构--栈、队
10.4.1 栈
10.4.2 队
10.5 指针结构与动态线性数据结构--链表
10.5.1 单向链表
10.5.2 双向链表
习题
附录

教学资源推荐
作者: [法]戴维?西伦(Davy Cielen),亚诺 D. B. 梅斯曼(Arno D. B. Meysman),穆罕默德•阿里(Mohamed Ali) 著
作者: 凌云 吴海燕 谢满德 编著
作者: 刘振安 刘燕君 单继龙 编著
作者: 陈琼 主编 马千里 周育人 副主编 胡劲松 罗荣华 参编
参考读物推荐
作者: Alfred V. Aho; Monica S.Lam ; Ravi Sethi ; Jeffrey D. Ullman
作者: 陈大钢
作者: 张炜 郑志强 骆军 编著