本书是一本充满趣味性和实用性的大学C语言教材,适合作为大学各专业公共课教材和全国计算机等级考试参考书。全书由11章组成,内容包括:程序设计ABC,数据类型、运算符与表达式,简单的C程序设计,程序的控制结构,函数,数组,指针,结构体与共用体,函数的高级应用,文件操作,C程序设计常见错误及解决方案等。
\r\n 本书注重教材的可读性和可用性,每章开头有内容关键词和难点提示;典型例题一题多解,由浅入深,强化知识点、算法、编程方法与技巧;还将程序测试、程序调试与排错、软件的健壮性和代码风格、结构化与模块化程序设计方法等软件工程知识融入其中;配套提供题型丰富的《C语言大学实用教程习题与实验指导》教材;本书还将为任课教师免费提供电子课件,其中包括全部例题和习题源程序文件(可按前言提供的方式索取)。
第1章 程序设计ABC\r\n 1.1 计算机与人\r\n 1.2 计算机与程序设计语言\r\n 1.3 程序设计语言的故事\r\n 1.4 程序设计语言的工作原理\r\n 1.5 本章小结\r\n 习题1\r\n第2章 数据类型、运算符与表达式\r\n 2.1 一个简单的C程序例子\r\n 2.2 C程序常见标识符号分类\r\n 2.3 数据类型\r\n 2.4 常量\r\n 2.5 变量\r\n 2.6 常用运算符及表达式\r\n 2.7 赋值和表达式中的类型转换\r\n 2.8 本章小结\r\n 习题2\r\n第3章 简单的C程序设计\r\n 3.1 C语句分类\r\n 3.2 表达式语句\r\n 3.3 复合语句和空语句的作用\r\n 3.4 基本输入/输出操作的实现\r\n 3.5 本章小结\r\n 习题3\r\n第4章 程序的控制结构\r\n 4.1 算法及其描述方法\r\n 4.2 顺序结构\r\n 4.3 选择结构\r\n 4.4 循环结构\r\n 4.5 流程的转移控制\r\n *4.6 程序排错\r\n *4.7 结构化程序设计方法简介\r\n 4.8 本章小结\r\n 习题4\r\n第5章 函数\r\n 5.1 程序设计的艺术\r\n 5.2 函数的定义与使用\r\n 5.3 变量的作用域和存储类型\r\n 5.4 函数封装\r\n 5.5 模块和链接\r\n 5.6 程序调试实例\r\n *5.7 模块化程序设计方法简介\r\n 5.8 本章小结\r\n 习题5\r\n第6章 数组\r\n 6.1 数组类型的应用场合\r\n 6.2 数组的定义、引用和初始化\r\n 6.3 向函数传递一维数组\r\n 6.4 向函数传递二维数组\r\n 6.5 字符数组\r\n 6.6 本章小结\r\n 习题6\r\n第7章 指针\r\n 7.1 指针概述\r\n 7.2 指针和数组间的关系\r\n 7.3 指针数组\r\n *7.4 指向指针的指针\r\n 7.5 带参数的main( )函数\r\n *7.6 动态数组的实现\r\n *7.7 代码风格问题\r\n 7.8 本章小结\r\n 习题7\r\n第8章 结构体与共用体\r\n*第9章 函数的高级应用\r\n第10章 文件操作\r\n第11章 C程序设计常见错误及解决方案\r\n后记\r\n附录A 书中常用概念、名词、语句、运算符、数据类型和算法索引表\r\n附录B C关键字\r\n附录C C运算符的优先级与结合性\r\n附录D 常用字符与ASCII码对照表\r\n附录E 常用的ANSI C标准库函数\r\n参考文献
进入21世纪,信息社会发展的脚步越来越快,对人才的需求也呈现出新的变化趋势。计算机与外语成为新世纪高素质人才必须熟练掌握的工具。大学计算机公共课程也面临新的机遇和挑战,首先是来自社会和就业市场对人才“知识—能力—素质”要求的挑战;其次是计算机和相关领域技术及应用快速发展带来的冲击;最后是普及计算机教育后要求高等计算机教育在教学的“难度—深度—强度”三维同步提高。在这样的大背景下,大学计算机公共课程在“基础—技术—应用”方面呈现出层次性、通用性和专业需求多样化的特点。我们一直追踪、关注一线教师和专家的卓有成效的课程和教材改革与发展研究,适时推出了“21世纪大学计算机系列教材”。
该系列教材在知识结构方面力求覆盖“计算机系统与平台、程序设计与算法、数据分析与信息处理、信息系统开发”四个领域,内容强调“概念性基础、技术与方法基础、应用技能”三个层次,第一批教材涉及《大学计算机基础》、《程序设计与算法》、《计算机硬件技术基础》(或《计算机组成与接口技术》)、《数据库技术与应用》、《多媒体技术与应用》和《网络技术与应用》等六门核心课程。同时,我们也在挖掘其他通用的应用课程教材,并将陆续推出。我们特别注意到,高校工科电类专业、理科和工科非电类专业、经管类专业和文史类专业有各自不同的特点,可以采用“1+X”的课程解决方案,“1”指第一门计算机课程“大学计算机基础”,“X”指适合不同学校和专业特点的其他课程及其组合,我们的系列教材为此提供了选择的灵活性。
“21世纪大学计算机系列教材”立足体系创新、知识创新、教学设计和教学模式创新,全面考虑读者的需求,努力提升教材的可读性和可用性,为教学提供尽可能完善的服务。如提供同步的“习题与实验指导”书,一些教材还为教师提供可修改的电子教案、源程序包、教学指导手册或阶段自测题等多种类型的教学服务,即提供“教材—教辅—课件”教学支持。读者可以通过电子工业出版社华信教育资源网站(http://www.hxedu.com.cn)了解该系列教材的出版和服务的动态信息。
“21世纪大学计算机系列教材”的建设得到了很多专家和老师的热情支持,教材作者来自哈尔滨工业大学、吉林大学、华中科技大学、中国科技大学、中山大学、北京邮电大学、浙江工业大学等高校,这些课程都是各高校的教改优质课程和精品课程,体现了作者对课程和教学的探索与创新。希望这套教材的出版能有力地推动大学计算机新课程体系的建立与发展,同时也能为高等计算机教育带来与时俱进的活力和生机。
由于我们的水平和经验所限,加之计算机和相关领域技术及应用的发展迅速,该系列教材一定还存在不少缺点和不足,欢迎领域专家和广大读者批评指正。我们会继续努力,力求不断完善和提高,以便更好地满足高等计算机教育不断变化的需求。
“21世纪大学计算机系列教材”编委会
随便进入一家书店,来到计算机专柜,都可以看到琳琅满目的C语言书籍。在这种状况下写书,特色和实用性非常重要。
本书的目标是力争成为最易懂、最专业、最时尚、最实用的C语言教材和参考手册。
它首先是一本教材,适合于程序设计的初学者和想更深入了解C语言的人。每行文字的落笔,都以把问题讲清楚、讲明白、讲透彻,又不累赘为目标。同时抛弃了一些陈旧的内容,把程序设计领域最新、最有价值的思想和方法渗透到古老的C语言中,赋予C语言一个焕然一新的面貌。
读者都有这样的体会:只追求浅显的教材,在读过一遍之后便可送人,没有长久保留的必要,也不会有常读常新的感觉。这本书不同,我们做了大量的搜集和整理工作,把各种知识点、实际经验和常用算法等分散渗透到各个相应章节中,并在附录中提供索引,或者独立组织成文。这样做的目的就是便于读者随时查阅,使本书成为一本有保留价值的参考手册。毕竟很多深刻的内容不是简简单单读一遍就能掌握的,需要逐渐积累。愿读者每次重读本书字句,都能获得新的提高。
C语言在本书中仅是起点,而非终点。本着面向未来的精神,我们把程序设计中最基本的、放之四海而皆准的思想和方法挖掘出来,以C语言为工具描述它们,却不拘泥于C语言。以此培养读者无论在学习、工作中使用什么语言编程,都具有灵活应用这些思想和方法的能力。
趣味也是本书的一大特色。学习本身是一件充满乐趣的事情,它之所以使很多人感到枯燥,是因为没有人帮助他们发掘趣味。本书的作者都是有多年开发和授课经验的大学教师,并一直乐在其中。他们自然而然流露出的对C语言的赞叹、喜爱和沉迷之情,一定会感染读者。那些驾轻就熟的诙谐语言和生动有趣的示例,更能带给读者全新的学习体验。
全书共分11章,内容包括:程序设计ABC,数据类型、运算符与表达式,简单的C程序设计,程序的控制结构,函数,数组,指针,结构体与共用体,函数的高级应用,文件操作,C程序设计常见错误及解决方案等。最后一章C程序设计常见错误及解决方案,可谓本书的画龙点睛之笔。后记则是作者多年从事程序设计的亲身体验和感悟,希望读者读后也能产生“众里寻她千百度,蓦然回首,那人却在灯火阑珊处”的共鸣。
本书注重教材的可读性和可用性,每章开头有内容关键词和难点提示,指导读者阅读;每章结尾安排本章小结,帮助读者整理思路,形成清晰的逻辑体系和主线;典型例题一题多解,由浅入深,强化知识点、算法、编程方法与技巧;本书还将程序测试、程序调试与排错、软件的健壮性和代码风格、结构化与模块化程序设计方法等软件工程知识融入其中;习题以巩固基本知识点为目的,题型丰富,包括简答题、选择题、阅读程序写出运行结果、程序改错、程序填空和编程题等各种全国计算机等级考试二级考试的常见题型;附录中给出了实用学习资料列表。
本书可作为高校各专业的C语言教学用书或学生的自学参考书,我们还为读者提供以下全方位的辅教和辅学方面的信息服务。
与本书同时配套出版的《C语言大学实用教程习题与实验指导》,提供全部习题解答和与实验相关的内容。它以主要知识点为主线设计的实验题目,兼具趣味性和实用性,并以循序渐进的任务驱动方式,指导读者完成实验程序设计。书中还给出了Turbo C环境下的程序调试方法、图形与声音制作方法,以及Visual C++环境下的标准C程序调试方法。
本教材的多媒体教学课件将于本书正式出版以后制作,届时连同全部例题与习题的源程序文件一起免费提供给使用本教材的教学单位。有需要者可与出版社或作者本人直接联系。
30学时 50学时
章 学时 章 学时
第1章 1 第1章 2
第2章 3 第2章 4
第3章 2 第3章 2
第4章 6 第4章 8
第5章 4 第5章 4
第6章 4 第6章 8
第7章 4 第7章 6
第8章 4 第8章 6
第9章 4
第10章 2 第10章 4
总复习 2
学时建议:前面加星号*的章节和习题为有一定深度和开放性的选学内容,如果建议授课学时为30学时,教师可以留给学生自学;如果授课学时为50学时,则可以有选择地讲授。具体课时分配建议如右下表所示。
全书的统稿工作由苏小红负责,第2,3,4,6,7章及附录由苏小红编写,第8,9章由陈惠鹏编写,第1,5,10,11章及后记由孙志岗编写。
在本书写作过程中,王宇颖和李东教授在百忙之中审阅了全部初稿,对本书提出了许多宝贵意见。在书稿的录入与校对中,李秀坤、王庆北、温东新、秦兵、刘秉权、李希然、周明德、刘开昌、陶海军、李晗静、刘松波等做了大量工作。
此外,廖明宏教授、王义和教授也对本书给予了大力支持,在此向他们表示衷心感谢。
因编者水平有限,书中错误在所难免,恳请读者批评指正。作者E-mail地址:sxh@hit.edu.cn,chp@ir.hit.edu.cn,sun@hit.edu.cn。电子工业出版社华信教育资源网网址http://www.hxedu.com.cn,教材服务部联系电话:010-68152204。我们会在每次重印时修改发现的错误,欢迎读者来信提出宝贵意见。
编著者
于哈尔滨工业大学计算机科学与技术学院