万水创作戏果百例M书 5 7E retum 7尔 精彩编程白例 温海张友童伟等编著 Q求利术电盧版社 www.waterpub.com.cn
责任编辑:马高山封面设计:孙平 0101 Photoshop0文字纹理滤镜200例 AutoCAD2002中文版精彩设计百例 AutoCAD2004中文版精彩设计百例 · Photoshop7.0中文版精彩设计百例 ● Dreamweaver MX中文版精彩设计百例 Flash MX中文版精彩设计百例 Authorware6.0精彩设计百例 Authorware6.5精彩设计百例 3 DS MAX5精彩设计百例 Visual Basic精彩编程百例 Visual C++精彩编程百例 ASP. NET精彩编程百例 Delphi7精彩编程百例 ●C语言精彩编程百例 此京万水电信息有浪公司 IsBN7-5084-1818-2 Beijing Multi-Channel Electronic Information Co, Lid 地址:北京市海淀区长春桥路5号新起点嘉园4号楼1706室 邮编:100089 电话:(0108256.2819(总机) 传真:(0108256.4371 E-mail: mchannelepblic3 bta. net.cn SBN7508418182TP:775 9787508418186> 定价:34.00元
万水创作效果百例丛书 C语言精彩编程百例 温海张友童伟等编著 中国水利水电出版社
内容提要 C是一种通用的程序设计语言,它包含了紧凑的表达式、丰富的运算符集合、现代控制 流以及数据结构等四个部分,C语言功能丰富,表达能力强,使用起来灵活方便:它应用 广,可移植性强,时具有高级语言和低级语言的优点,因此,在T程计算及应用程序开发 中得到了广泛的应用 众所周知,学习新的程序设计语言的最佳途径是编写程序,而本B正是通过了对100个 典型实例的分析和讲解,来帮助读者掌握这门语言并积累大量经验,从而可以熟练地进行C 程序设计。 全文共分为四篇,全面、系统地讲述了C语言各个方面的知识点和程序设计的基木方法 以及编写程序过程中值得注意的地方,内容深入浅出,通俗易懂,对于C语言的初学者来说 这是-本绝对好的入门教材,对于有经验的专业人员,也会发现本书很有价值。 图书在版编目(C|P)数据 C语言精彩编程百例/温海等编著.一北京:中国水利水电出版社,2003 (万水创作效果百例丛书 ISBN7508418182 .C…Ⅱ.温…Ⅲ.C语言一程序设计Ⅳ.TP32 中国版本图书馆CIP数据核字(2003)第102473号 名C语言精彩编程百例 作者温海张友童伟等编著 出版、发行中国水利水电出版社(北京市三里河路6号10004) 网址;www.waterpub.com.cn Emal:channel@public3.bta.net.en(力水) ale(@waterpub.com.cn 电话:(010)63202266(总机)、68331835(营销中心)、82562819(万水) 全国各地新华书店和相关出版物销售网点 排版北京万水电子信息有限公司 印刷北京北医印剧厂 规格787×10毫米16开本275印张499千字 版次|204年1月第一版204年1月北京第一次印刷 印数|0∞0-500升 定价|3400元 凡购买我社图书,如有缺页、倒页、脱页的,本社营销中心负责调换 版权所有·侵权必究
前言 C是一种通用的程序设计语言,它包含了紧凑的表达式、丰富的运算符集合、现代控制流 以及数据结构等四个部分。C语言功能丰富,表达能力强,使用起来灵活方便。它应用面广, 可移植性强,同时具有高级语言和低级语言的优点,因此,在工程计算及应用程序开发中得到 了广泛的应用。 经验告诉我们,学习新的程序语言的最佳途径就是亲手实践,而本书正是通过对100个 典型实例的分析和讲解,来帮助读者掌握这门语言并积累大量经验,从而可以熟练地进行C 程序设计。 全书分为四篇,按照由浅及深、循序渐进的原则,全面、系统地讲解了C语言各个方面 的知识点和常用的程序设计基本技巧,以及编写程序过程中值得注意的地方,内容深入浅出 通俗易懂。 第一篇由44个实例组成,主要侧重于对C语言基础知识的介绍,集中大量实例来讲解指 针、数组以及位操作等对于C语言初学者而言较难理解的知识点。 第二篇由26个实例组成,覆盖自定义结构类型、1/O操作及部分常用函数,至此读者已 拥有独立完成一般程序设计的能力。 第三篇由23个实例组成,以C语言的常用算法为主重点向读者演示了数据结构的应用以 及常用的数值算法的C语言实现方法 第四篇由7个实例组成,这一篇的作用是验证、提升读者的编程能力,作为前三篇的总 结应用,涵盖了本书中所介绍的大部分知识点。 我们希望读者通过对这本书的学习,能够具有较强的C语言编程技能,具备一定的独立 编程能力,本书所附带的程序源代码都已经过编译,读者可验证程序运行的结果。 在这里感谢中国水利水电出版社给我们这次机会,使我们能够把自己的经验传投给广大 读者:同时感谢出版社的编辑们,是他们的认真监督和辛勤工作才能使该书顺利完成:还要感 谢参与本书编写的李伯苓、王晓霞、刘逸飞、段广仁、谭友利、辛知庆、李冠、任宝山、吴仪 委等人,是他们的辛勤劳动使本书顺利的与大家见面 由于编者水平有限,书中缺点和错误在所难免,恳请广大读者批评指正,并提出宝贵的 意见和建议。 编者 2003年10月
目录 第一篇基础知识篇 实例1数据类型转换 实例2转义字符 实例3关系和逻辑运算 实例4自增自减 4680 实例5普通位运算 实例6位移运算… 实例7字符译码........14 实例8指针操作符…111116 实例9if判断语句 .18 实例10 else-if语句 实例11嵌套i语句 实例12 switch语句… 实例13for语句 实例14whie语句… 30 实例15do-whle语句 实例16 break和 continue语句… 实例17cxi0函数………………………… .36 实例18综合实例 实例19一维数组 824 实例20二维数组 实例21字符数组 …47 实例22数组初始化 49 实例23数组应用… 实例24函数的值调用………… 4 实例25函数的引用调用……………………………… …56 实例26数组函数的调用…… 实例27命令行变元…61 实例28函数的返回值
实例29函数的嵌套调用 65 实例30函数的递归调用 实例31局部和全局变量… 实例32变量的存储类别 80乃5 实例33内部和外部函数 实例34综合实例1… 实例35综合实例2………… 干+ 实例36变量的指针 实例37一维数组指针 .86 实例38二维数组指针 实例39字符串指针… 实例40函数指针 …93 实例41指针数组……………… 实例42二维指针…………… 实例43指针的初始化………………… 实例44综合实例……………………………… 104 第二篇深入提高篇 实例45结构体变量……… 109 实例46结构体数组 ……… …12 实例47结构体指针变量…………………………… l15 实例48结构体指针数组…………………………… 117 实例49共用体变量…………… 119 实例50枚举类型……… ……………121 实例5t读写字符mm15 实例52读写字符串………………………… 127 实例53格式化输出函数…………… …30 实例54格式化输入函数 132 实例55打开和关闭文件… …134 实例56印puc0和 fetch…… 136 实例57函数 rewind… 138 实例58 fread和 forteo 140 实例59 fprintf0和 fscanf0)…………… ……142 实例60随机存取 实例61错误处理……………… .146
实例62综合实例….149 实例63动态分配函数….. …154 实例64常用时间函数.16 实例65转换函数 …158 实例66查找函数 实例67跳转函数 l62 实例68排序函数…… 丰…… 实例69伪随机数生成 166 实例70可变数目变元 168 第三篇常用算法篇 实例71链表的建立… 实例72链表的基本操作……………… 实例73队列的应用mm79 实例74堆栈的应用… 实例75串的应用………… 实例76树的基本操作…… 实例77冒泡排序法 199 实例78堆排序 ……1202 实例79归并排序……………………………… …206 实例80磁盘文件排序 211 实例81顺序查找… 1218 实例82二分法查找…………………… 23 实例83树的动态查找 28 实例84二分法求解方程…… .234 实例85牛顿迭代法求解方程…… 239 实例86弦截法求解方程… 243 实例87拉格朗日插值 实例88最小二乘法拟合 252 实例89辛普生数值积分………………… 260 实例9改进欧拉法 …265 实例9龙格一库塔法………………………… .271 实例92高斯消去法… …275 实例93止定矩阵求逆
第四篇综合应用篇 实例94用C语言实现遗传算法 实例95人工神经网络的C语言实现… 实例96K均值算法 307 实例97 ISODATA算法… 314 实例98快速傅立叶变换 326 实例99求解野人与传教士问题 .334 实例100简单专家系统… 344
第一篇 基础知识篇 想成为一个优秀的C程序员,首先要做的就是熟练掌握C 语言的各基本要素,并会正确使用它们,因为C语言的基本要 素是所有C程序的根本和基石。基础篇作为全书的第一篇,其 目的就是通过程序实例向读者介绍C语言的基本要素,让读者 能够尽可能快地掌握它们。 对于成功的C程序设计而言,正确理解并熟练使用指针是 至关重要的,所以指针这部分内容是本篇的重点。由于指针的 概念比较抽象,对于初学者而言很难一下子理解,因此在这里 列举了大量的实例,并作了全面、详尽的分析,希望读者通过 对这些程序的学习,能够加深对指针的理解;希望读者通过本 篇的学习,能够模仿书中提供的实例编写一些小程序,以便对 C程序设计有初步的了解。 !>