C语言程序设计:工程化方法
作者 : 杨颂华 熊海灵 主编 杨明 黄春伦 等编著
出版日期 : 2012-02-20
ISBN : 978-7-111-37282-0
定价 : 30.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 234
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书吸收当前一些C语言教材的优点,加入多年教学和科研积累的丰富经验,由浅入深地讲授C语言程序设计的基础知识和应用技巧。首先从几个基本案例让读者快速入门,通过小而简单的示例使读者先建立清晰的概念,然后再逐步建立完整的程序;其次介绍C语言的基本语法,各个语法结构的引入都通过实际问题来展开,这样既能引导学生积极思考问题的解决方法,建立程序设计的思想,还能提高学生解决实际问题的能力;最后的高级话题是将一些高级内容从基本主题中分离出来,引导读者不断深入思考程序设计的精髓。
本书是程序设计的入门教材,适合计算机及相关专业学生或工程开发人员使用。

图书特色

C语言程序设计
工程化方法
杨颂华 熊海灵 主编
杨明 毛顺兵 黄春伦 王芳 等编著

很多学生对学习C语言感到无从下手,还有一些学生在学完一学期的C语言后,感觉语法都记得差不多了,但碰到实际问题还是不知如何编程。在多年的教学实践中,我们对学生的这些困惑深有感触,希望编写一本适用的教材,为讲授C语言编程提供一种新的思路,帮助学生理解C语言程序设计的真谛,最重要的是学会学以致用,培养从杂乱中捕获线索、从数量中挖掘精华的能力。
本书特点
让编程需求来引导学习,借助实践经验来理解理论,以提高编程能力为最终目标。
采用由浅入深、循序渐进的方式,将C语言的基本知识点在不同章节里步步渗透,通过精选的丰富实例,从不同角度进行知识的讲解,帮助读者理解和掌握C语言的本质。
使用Linux平台的字符终端来练习C语言编程,注重养成良好的编程风格,并通过大量实践理解程序设计的艺术。
提供教学辅助资源,读者可登录华章网站和本书网站http://www.computer.swu.edu.cn/c/下载这些资源,并欢迎通过论坛返回各类建议。

图书前言

C语言是目前在国内外得到最广泛使用的程序设计语言之一。国内外高校的计算机及相关专业几乎都开设了C语言程序设计课程作为基础入门课程。由于C语言既是一种经典的编程语言,又是大多计算机及相关专业的入门专业课程,对培养学生的计算机专业素养、专业兴趣意义重大。而C语言的学习却不是一件简单的事,尤其是对于零基础的初学者来说。目前,市面上有关C语言的教材种类繁多,很多教材都是对语法面面俱到,纠缠不休,使得学生学习找不到重点。另外开放平台众说纷纭,更是造成学生不能精通,会看不会用。本书编写的目的是期望帮助初学编程的学生快速入门,并通过积极主动的实践,使编程能力得到较快的提高。
  为了真正达到我们的教学目的,学院组织了讲授C语言程序设计多年的课程组的老师进行了大量的考证和探讨,同时为支持研究性教学的需要编写了本教材。
  全书采用由浅入深、循序渐进的学习方式,将“基本、必需”的教学内容在每章的知识点中循序渐进地引入,根据人类的认知规律——知识点从引入到掌握需要多次重复,我们从第1章开始就对基本知识点步步渗透,通过精选的丰富实例,从不同角度进行知识的讲解,帮助读者理解和掌握C语言的本质。
  本书大致包括三个部分:
  C语言入门。在介绍基本的C语法之前,先是通过回答大家常见的问题来帮助没有任何编程经验的读者理解什么是源程序,怎么学习C语言,如何培养程序员的思维习惯,使用什么样的平台等。接下来的快速入门,让读者通过依葫芦画瓢的方式学习编写简单程序,并对其中的知识点进行逐步渗透。
  C语言的基本内容。本部分主要包括第2~4章,介绍C语言的基本语法,包括常量变量定义、数据类型、运算符与表达式、数组、结构体、控制结构及语句、函数、指针等。这一部分篇幅最多,针对各个知识环节,通过启发读者思考的问题、例子讲解语法知识。
  C语言底层知识与高级话题。第5章对C语言的输入输出给出了较为彻底的剖析,有一定难度,所以初学者可根据自己学习的程度来理解这一章。另外,前面基本内容中有些高级话题我们剥离出来作为第6章。这一部分适合有一定经验后希望深入理解C语言的读者学习。
  本教材有以下几点特色:
  首先在导读部分就C语言的特点、优势、为什么学习、如何学习、如何教学等展开了探讨,同时要求初学者从开始就要遵守编程规范。
  在强调基本概念和基本原理方面,遵照人类的认知规律,前面已经讲过的概念,在后面又进一步解释完整,这种循序渐进、重复的方式是比较适合初学者的。
  使用任务驱动教学方式,用实例讲解语法,同一个问题用不同知识点分别实现。
  本书定位在入门级,它不是一本百科全书,除了涵盖C语言基本内容之外,本书不追求完整性,因此要求授课老师对C语言的讲授要重点突出,只讲解编程开发中常用的,其余的内容可要求学生自学。学习编程,最有效的方法是实践,本教材注重实用性。
  另外,本书第7章给出了一套循序渐进的课程设计题目用于实验/实践环节,并在附录中给出了实际编程开发中的开发规范供读者参考。完成课程设计需要的背景知识读者可从华章网站(www.hzbook.com)下载。
  本书由熊海灵、杨颂华、杨明负责策划、组织,并对全书进行了统稿和审校。其中杨明老师编写了第0、1章,黄春伦老师编写了第2章,王芳老师编写了第3章,毛顺兵老师编写了第4章,杨颂华老师编写了第5章、第7章和附录,第6章由黄春伦、毛顺兵和杨颂华老师合写。
  感谢课程组其他老师和许多研究生、本科生对本教材的编写提出的宝贵意见,感谢陈强、闫艳、郭士会、康南南等提供的大量习题和资料。
  特别要感谢中国科学院光电技术研究所的马佳光、陈洪斌、任戈、包启亮、毛耀、田竞、陈兴龙等在国家科研一线奋战的资深专家为本书实践部分提供了支持和指导,他们的科研开发和团队管理经验是本书编程规范要求的主要来源,这些工程经验来自无数成功和失败的实践。另外,本书还获得了“中央高校基本科研业务费专项资金资助”(编号2120131001)的支持。
  感谢机械工业出版社对教材编写工作的建议及全程支持。
  感谢本书所引用的图书资料和网站资料的全体作者和出版社。
  由于水平有限,经验不足,加之编写时间仓促,书中难免有错漏不当之处,望广大读者朋友不吝赐教。我们的联系方式:swujsj_c@163.com。

上架指导

计算机\程序设计

封底文字

很多学生对学习C语言感到无从下手,还有一些学生在学完一学期的C语言后,感觉语法都记得差不多了,但碰到实际问题还是不知如何编程。在多年的教学实践中,我们对学生的这些困惑深有感触,希望编写一本适用的教材,为讲授C语言编程提供一种新的思路,帮助学生理解C语言程序设计的真谛,最重要的是学会学以致用,培养从杂乱中捕获线索、从数量中挖掘精华的能力。
本书特点:
● 让编程需求来引导学习,借助实践经验来理解理论,以编程能力为培养目标。
● 采用由浅入深、循序渐进的方式,将C语言的基本知识点在不同章节里步步渗透,通过精选的丰富实例,从不同角度进行知识的讲解,帮助读者理解和掌握C语言的本质。
● 使用Linux平台的字符终端来练习C语言编程,注重养成良好的编程风格,通过大量实践理解程序设计的艺术。
● 提供教学辅助资源,读者可登录http://computer.www.swu.edu.cn/c/下载本书的源代码和其他资源,并欢迎通过论坛返回各类建议。

图书目录

前言
教学安排建议
第0章 导读1
 0.1 来源与背景1
  0.1.1 为什么学习C语言1
  0.1.2 C语言的来源1
  0.1.3 C语言的标准2
 0.2 如何学习C语言2
 0.3 如何教C语言3
 0.4 编译过程4
 0.5 gcc简介4
第1章 快速入门5
 1.1 Hello,world5
 1.2 变量与表达式6
 1.3 输入输出8
 1.4 分支、循环和数组9
  1.4.1 分支语句if-else9
  1.4.2 循环语句10
  1.4.3 数组12
 1.5 函数12
 习题114
第2章 C语言基本概念15
 2.1 标识符15
 2.2 数据类型16
 2.3 变量与常量18
  2.3.1 常量18
  2.3.2 变量20
 2.4 运算符与表达式24
  2.4.1 赋值运算符与赋值表达式25
  2.4.2 算术运算符与算术表达式26
  2.4.3 关系运算符与关系表达式29
  2.4.4 逻辑运算符与逻辑表达式30
  2.4.5 位运算符与位运算表达式31
  2.4.6 复合赋值运算符与复合赋值表达式34
  2.4.7 类型转换35
  2.4.8 sizeof、条件运算符和逗号运算符36
  2.4.9 运算符优先级与结合性37
 2.5 数组39
  2.5.1 一维数组40
  2.5.2 字符数组与字符串42
  2.5.3 二维数组43
 2.6 结构体45
 习题249
第3章 程序结构51
 3.1 分支结构51
  3.1.1 if语句51
  3.1.2 switch语句56
 3.2 循环结构58
  3.2.1 while语句58
  3.2.2 do-while语句59
  3.2.3 for语句60
  3.2.4 转移语句64
 3.3 函数67
  3.3.1 函数定义67
  3.3.2 函数调用69
  3.3.3 函数的参数70
  3.3.4 函数的值71
  3.3.5 函数声明71
  3.3.6 函数的嵌套调用与递归73
 3.4 定义与声明77
  3.4.1 变量作用域77
  3.4.2 修饰符79
  3.4.3 typedef81
 习题382
第4章 指针83
 4.1 指针与地址83
  4.1.1 地址空间83
  4.1.2 指针的概念及指针变量的定义84
  4.1.3 指针变量的初始化、引用及本质85
  4.1.4 指针的类型和存储空间大小89
  4.1.5 指针变量作为函数参数91
 4.2 再论数组94
  4.2.1 指向数组元素的指针及指针运算94
  4.2.2 数组名作函数参数98
  4.2.3 二维数组及指向一维数组的指针100
  4.2.4 数组名不完全是指针107
 4.3 字符串、指针数组与指向指针的指针109
  4.3.1 用字符数组和字符指针变量管理字符串109
  4.3.2 指向指针的指针111
  4.3.3 指针数组112
  4.3.4 main函数的参数115
 4.4 结构体与指针116
  4.4.1 结构体基本知识的复习116
  4.4.2 指向结构体的指针118
  4.4.3 动态存储分配与单链表120
  4.4.4 循环单链表和双向链表128
 习题4130
第5章 I/O操作131
 5.1 标准库函数131
  5.1.1 使用C标准库132
  5.1.2 格式化输出133
  5.1.3 格式化输入136
  5.1.4 其他常用工具函数140
 5.2 文件操作145
  5.2.1 流145
  5.2.2 文件146
  5.2.3 打印源代码149
  5.2.4 解析BMP文件151
  5.2.5 修改BMP文件154
 5.3 设备操作158
  5.3.1 基本原理158
  5.3.2 终端设备的读写和设置159
 习题5162
第6章 高级话题164
 6.1 编译预处理164
  6.1.1 宏164
  6.1.2 编译预处理运算符168
  6.1.3 文件包含170
  6.1.4 条件编译172
 6.2 联合体与指向联合体的指针176
  6.2.1 联合体176
  6.2.2 指向联合体的指针177
 6.3 函数指针、函数指针数组、回调函数178
  6.3.1 函数指针178
  6.3.2 函数指针数组180
  6.3.3 函数指针与回调函数182
  6.3.4 函数指针的强制转换184
 6.4 什么是地址映射185
 6.5 网络通信186
 6.6 gcc:从源代码到可执行程序191
  6.6.1 gcc简介191
  6.6.2 编译流程191
 习题6193
第7章 课程设计195
 7.1 终端编程195
  7.1.1 基本目标:星座查询196
  7.1.2 扩展目标197
 7.2 文件编程198
  7.2.1 基本目标:字典查询199
  7.2.2 扩展目标200
 7.3 网络编程201
  7.3.1 基本目标:HTTP服务器201
  7.3.2 扩展目标202
 7.4 图形界面编程203
  7.4.1 基本目标:超市收银系统204
  7.4.2 扩展目标205
附录A 开发规范206
 A.1 源代码规范206
  A.1.1 排版206
  A.1.2 注释211
  A.1.3 命名212
  A.1.4 可靠性213
 A.2 项目文档规范216
  A.2.1 项目文档217
  A.2.2 文档要求220
 A.3 文件管理220
  A.3.1 命名整理220
  A.3.2 保存与备份221
附录B ASCII码表222
参考文献226

教学资源推荐
作者: 陈帆 和红杰 周荣辉
作者: 郑阿奇 主编 王燕平 汤玫 编著
作者: Tom Cargill
参考读物推荐
作者: [美]乔史·戴昆(Josh Diakun) 保罗R.约翰逊(Paul R Johnson) 德莱克·默克(Derek Mock)著
作者: [美] 卢克·韦林(Luke Welling), 劳拉·汤姆森(Laura Thomson) 著
作者: (美) Graham Lee 著
作者: [美] 马克·米凯利斯(Mark Michaelis) 著