C语言程序设计
作者 : 刘振安
出版日期 : 2007-01-07
ISBN : 7-111-20078-0
定价 : 29.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 282
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

C语言是高等院校学生必修的一门课程,如何掌握C语言的核心概念,高效地开发程序是这门课程的重要目标。本书作者根据多年的教学经验,独辟蹊径,对教学内容进行合理的组合,侧重培养读者解决实际问题的能力。

本书特色
  ●本书将重点放在程序设计方法上,将结构化程序设计与C语言的函数设计有机融合,透彻介绍C 语言的核心问题。
  ●将程序设计归纳为三种典型结构,并提出具体的设计思想。
  ●本书没有按照知识范畴,而是按照学习的跨度安排章节并进行教学重点划分,从而保证每一章不超前引用后面章节的知识,可以大大降低学习的难度。
  ●注重理论联系实际,每一章均给出实验和习题,并且给出精选的典型例题及错误分析,通过正反对比及充分的练习,使读者能更好地理解C语言的关键知识。
  ●为授课教师提供教学课件,方便教学。需要者可联系 “教学支持联系人”获取。

图书特色

图书前言

计算机科学发展的每一步几乎都在软件设计和程序设计语言中得到充分体现。软件是一个发展的概念,随着软件开发规模的扩大和开发方式的变化,人们开始将程序设计语言作为一门科学来对待。程序设计方法和技术的发展不仅直接导致了一大批风格各异的程序设计语言的诞生,而且对计算机理论、硬件、软件以及计算机应用技术等方面都产生了深远的影响。
  需要强调的是,从软件专业的角度讲,能胜任较低层次的软件开发是软件开发能力的基础。在开始学习编程时,不应该把重点放在熟悉可视化编程工具等高层次的技巧上,而应该放在学会直接采用这种语言进行“手工”编程的基本功上。
  另外,大多数程序设计语言教材都是把重点放在基本词法、语法和简单的程序设计上,读者学完之后,却很难编出实用的程序。有些公司的程序员竟然将几千行的程序放在一个文件中,造成调试和维护的不便。因此,本书将解决实际问题的能力和多文件编程方法均作为训练的重点之一。
  本书是在作者自1994年以来开设的几门课程的基础上,通过合理组合与取舍内容编写而成的,力求反映学科发展,展现它们的最新特征。
  本书的主要特点如下:
  1)本书把重点放在程序设计方法上,将结构化程序设计与C语言的函数设计融合起来,透彻介绍C语言的核心问题。
  2)本书将程序设计归纳为三种典型结构,并提出具体的设计思想。
  3)本书用单独的一章讲述结构化设计实例,不仅总结结构化程序的知识,介绍软件测试和调试的基础知识,还以一个完整的例子说明如何使用多文件结构模式,设计实用程序及如何选择测试用例进行测试。通过这一章的强化训练,读者可进一步掌握多文件结构,大大提高实际编程能力。
  4)本书注重理论联系实际,每一章均给出实验和习题,并注重编程环境和调试技能的训练。
  5)每章不仅给出精选的典型例题,还给出错误分析,通过正反对比,使读者更好地理解课文内容。
  6)本书不按照知识范畴,而是按内容的难度设计章节结构并进行教学重点划分,从而保证每一章均不超前引用后面章节的知识,从而大大降低学习的台阶和难度。
  7)本书给出常用的典型算法,例如逻辑求解、查找、冒泡排序、蒙特卡罗法、迭代、递推和递归等算法,以便培养学生的学习兴趣和解决实际问题的能力。
  8)本书各章既互相衔接,又具有一定的独立性,方便教师根据自己的教学需要选择教学内容。
  本书可以与机械工业出版社出版的《C程序设计课程设计》一书配合使用,这将能起到事半功倍的效果。
  本书共分11章。第1章是C语言程序设计基础,重在介绍主函数和解题的完整过程,并进行集成环境下的程序编辑、编译和运行的基本功训练。第2章介绍基本数据类型和表达式,同时介绍程序调试基础知识。第3章将阐述C语言的控制结构。第4章探讨一维数组和指针。第5章是计算机解题实例,重在训练求解逻辑问题的能力并训练枚举法的解题思路。第6章探讨函数与多文件编程,这也是全书的重点,该章将结构化程序设计与C语言的函数设计融合起来,并将程序设计归纳为三种典型结构,提出具体的设计思想。第7章将介绍函数参数、函数指针和多维数组,重点讨论函数参数传递问题,并借助函数指针和多维数组,深入讨论函数的设计和调用问题。第8章是常用算法实例,介绍常用的查找、冒泡排序、蒙特卡罗法、迭代、递推和递归等算法。第9章主要介绍结构类型和链表,结构是必讲内容,其他为可选内容。第10章将讨论文件的相关知识。第11章是结构化程序设计实例,目的是总结结构化程序的知识,介绍软件测试和调试,并以一个完整的例子说明如何进行多文件编程。该章涉及内容较多,可以根据实际教学情况取舍。最后附录包含了一些必要的知识。
  中国科学技术大学软件学院院长陈国良院士,原安徽大学副校长、计算机系程慧霞教授及南京大学计算机系陈本林教授在百忙之中审阅了书稿并提出许多宝贵意见,许多使用过原教材的院校老师也提出很多宝贵意见,特此表示感谢。写作中还参考了大量资料,有的收入参考文献之中,还有些没有收入其中,在此对这些作者表示感谢。
  刘燕君、周军、潘剑锋、王文涛、孙忱等参加了本书的部分编写工作,本书在定稿之前,曾为许多软件工程硕士及本科生讲授,他们也提出了一些好的建议并验证了书中的程序及实验,特此感谢。
  由于我们才疏学浅,不妥之处在所难免,敬请各位读者不吝赐教,给予指正为盼。作者的联系方式为:zaliu@ustceducn。

刘振安
于中国科学技术大学

封底文字

C语言是高等院校学生必修的一门课程,如何掌握C语言的核心概念,高效地开发程序是这门课程的重要目标。本书作者根据多年的教学经验,独辟蹊径,对教学内容进行合理的组合,侧重培养读者解决实际问题的能力。

本书特色
  ●本书将重点放在程序设计方法上,将结构化程序设计与C语言的函数设计有机融合,透彻介绍C 语言的核心问题。
  ●将程序设计归纳为三种典型结构,并提出具体的设计思想。
  ●本书没有按照知识范畴,而是按照学习的跨度安排章节并进行教学重点划分,从而保证每一章不超前引用后面章节的知识,可以大大降低学习的难度。
  ●注重理论联系实际,每一章均给出实验和习题,并且给出精选的典型例题及错误分析,通过正反对比及充分的练习,使读者能更好地理解C语言的关键知识。
  ●为授课教师提供教学课件,方便教学。需要者可登录华章网站下载。

作者简介

刘振安:暂无

图书目录

第1章C语言程序设计基础1
11C 语言特点1
12C程序的主函数2
121简单的C程序2
122程序语句4
123大小写字母的使用6
124程序的书写格式6
125简单C程序的基本结构模式6
13基本的输入与输出7
14初学者最容易出现的错误8
15使用C程序解题的完整过程9
151程序的编辑、编译和运行的基本概念9
152熟悉使用环境的重要性9
153解题的简单过程9
16Visual C++ 60上机指南11
17本书的结构和教学建议15
实验1使用集成环境编写程序16
习题117
第2章基本数据类型和表达式18
21标识符18
22变量19
221变量的要素19
222变量的存储类型19
223变量的初始化20
23基本数据类型20
24常量21
241整数常量21
242浮点常量22
243字符常量22
244符号常量和const修饰符23
25运算符与表达式24
251算术表达式24
252递增、递减运算25
253赋值运算符25
254复合赋值运算符25
255赋值表达式26
256逗号运算符与逗号表达式26
26数据输出26
261putchar函数27
262printf函数27
27数据输入30
271getchar 函数30
272scanf函数30
28典型例题及错误分析32
281典型例题32
282典型错误分析33
29程序调试基础知识35
291一个简单的示例程序35
292编译程序35
293排错37
294基本调试命令简介38
实验2如何编辑、编译、调试和运行一个实际程序40
习题241
第3章C语言的控制结构43
31C语言的程序控制语句分类43
32关系运算43
321关系运算符及其优先顺序43
322关系表达式44
33逻辑运算44
331逻辑运算符及其优先次序44
332逻辑表达式45
34控制选择45
341条件分支程序设计45
342switch 开关分支程序设计49
35循环控制程序设计52
351while语句52
352do… while语句53
353for语句54
354break语句与continue语句57
36goto 语句58
37常用的算法描述方法59
38例题及错误分析62
381典型例题62
382错误分析64
实验3编程与调试实验67
习题 368
第4章一维数组和指针71
41指针71
411构造指针类型71
412指针类型73
413指针运算符74
414指针运算75
415void指针及多级指针76
416动态内存分配函数77
417指针综合例题79
42一维数组81
421引入一维数组81
422数组与指针的关系83
423一维字符串数组85
424指针数组85
425main函数原型及命令行参数86
426常用字符串函数87
43数组与程序控制语句综合例题89
44使用数组与指针易犯的错误92
441使用数组易犯的错误92
442指针使用不当92
实验4熟悉指针和数组的使用方法95
习题 495
第5章计算机解题实例98
51枚举法98
511重复运算98
512分支运算98
513逻辑思维的计算机表示99
514使用枚举法解题的思路100
515参考程序101
52逻辑问题求解实例103
521赛车问题103
522新郎新娘问题105
53计算机解题小结106
实验5算法效率比较106
习题 5106
第6章函数与结构化程序设计108
61结构化程序设计发展简史108
62结构化程序设计109
621限制使用 GOTO 语句109
622逐步求精的设计方法110
623自顶向下的设计和调试111
624主程序员组的组织形式111
63函数111
631函数和函数原型112
632函数值和return语句114
633函数调用形式115
634函数的形参和实参117
635函数的返回区117
64变量的作用域118
65C预处理器121
651宏定义与const修饰符121
652文件包含122
653条件编译123
66C程序的典型结构124
661单文件结构125
662一个源文件和一个头文件125
663多文件结构127
67正确使用库函数131
68典型例题及错误分析133
实验6熟悉函数及其调用方法135
习题 6135
第7章函数参数、函数指针和多维数组140
71指针与const限定符140
711左值和右值140
712指向常量的指针140
713常量指针142
714指向常量的常量指针143
72函数参数的传递方式143
721传值143
722传地址144
723使用const限定数组和将指针作为函数参数146
73指针函数147
74综合例题150
75函数指针153
751通过函数指针变量完成对函数的调用153
752通过函数指针变量将函数作为参数传给其他函数156
*76多维数组157
761多维数组和指针157
762多维字符串数组163
77使用数组名传递地址的注意事项163
实验7使用函数和函数指针164
习题7165
第8章常用算法实例168
81迭代算法168
82递推算法169
821基础知识169
822递推问题实例169
83递归算法172
831递归与递推的比较172
832图解递归执行过程实例173
84查找算法174
841线性查找174
842二分查找175
85冒泡排序176
851图解排序过程176
852算法分析177
853算法设计177
854参考程序178
86逻辑问题178
861算法分析178
862参考程序179
87蒙特卡罗法180
871产生随机数180
872求π的近似值181
实验8递归编程实验182
习题8183
第9章结构类型和链表184
91结构定义及其变量的初始化184
911结构定义184
912结构变量的初始化186
913结构变量使用的运算符186
92结构数组186
93结构指针188
94结构与函数190
941结构作为函数的参数190
942返回结构指针的函数191
943结构指针的运算191
944使用结构应注意的问题193
95结构的内存分配193
*96位操作与字段结构194
961位操作194
962字段结构196
*97联合197
971定义形式197
972存储空间的分配和使用197
973适用的操作198
*98枚举199
*99链表200
991引用自身的结构200
992链表的建立和访问201
993链表结点的插入和删除203
994链表演示实例206
实验9使用结构指针数组207
习题9208
第10章文件211
101文件概述211
102文件的打开与关闭212
1021文件的打开212
1022文件的关闭214
103文件的读写214
1031fputc(putc)函数和fgetc(getc)函数214
1032fread函数和fwrite函数218
1033fprintf函数和fscanf函数221
1034文件的内存分配222
1035其他读写函数222
104文件的定位223
1041rewind函数223
1042fseek函数和随机读写223
1043ftell函数224
105出错的检测225
1051ferror函数225
1052clearerr函数225
106典型实例225
107文件输入/输出小结229
实验10在函数里使用文件230
习题10231
第11章结构化设计实例232
111实用结构化程序设计基础232
1111模块化程序设计232
1112分块开发233
1113工程文件235
112软件测试235
1121模块测试236
1122组装测试237
1123确认测试237
113软件测试基本方法237
114测试用例设计技术240
1141逻辑覆盖法240
1142等价划分法241
1143边值分析法241
1144因果图法241
1145错误猜测法242
115调试程序242
116程序维护242
117程序设计、管理与测试实例243
1171设计要求243
1172算法分析244
1173文件和函数设计245
1174创建工程和文件245
1175头文件的设计246
1176源文件的设计247
118测试程序253
1181测试菜单和读写空文件253
1182测试生成和显示职工信息文件253
1183测试生成和显示职工简明信息文件254
1184测试删除操作254
1185建立符合要求的文件255
实验11对本章的设计实例进行测试257
习题11257
附录AC语言的新版本与老版本的主要差别260
附录BC语言操作符的优先级262
附录CC语言关键字264
附录D标准库解析266
附录EC语言操作符的高级特征274
附录FASCII代码表281
参考文献282

教学资源推荐
作者: 宋晓宇
作者: (美)本贾尼·斯特劳斯特鲁普 (Bjarne Stroustrup)著
作者: H.H.Tan,T.B.D'Orazio,S.H.Or,Marian M.Y.Choy著
作者: [美] 卢博米尔·佩尔科维奇(Ljubomir Perkovic) 著
参考读物推荐
作者: 用友平台与数据智能团队 著
作者: 包若宁,卜文远,傅鼎荃 等编著 张国强 审
作者: (美) Graham Lee 著