C语言程序设计教程[按需印刷]
基本信息
内容简介回到顶部↑
本书是高等学校计算机专业系列教材之一。全书由九章组成,主要包括:C语言程序设计基础知识,简单的C程序设计,数组与指针,程序的控制结构与结构化程序设计方法,函数与模块化程序设计方法,结构体与共同体,关于函数应用的高级话题,文件操作,图形和声音的制作及七个附录等。本书是高等学校计算机专业系列教材之一。全书由九章组成,主要包括:语言程序设计基础知识,简单的程序设计,数组与指针,程序的控制结构与结构化程序设计方法,函数与模块化程序设计方法,结构体与共同体,关于函数应用的高级话题,文件操作,图形和声音的制作及七个附录等。
目录回到顶部↑
第1章 c语言程序设计基础知识
1.1 引言
1.1.1 计算机语言与人类语言
1.1.2 程序语言的简史
1.2 c语言的简介
1.2.1 c语言的发展历史
1.2.2 c语言的特点
1.3 第一个c语言程序
1.4 计算机程序编制的几个步骤
1.4.1 用自然语言写文章的步骤
1.4.2 用计算机语言编制程序
1.4.3 一个编程实例
1.5 c语言常用符号
1.6 计算机的构成对c语言的影响
1.6.1 冯·诺依曼体系结构
1.6.2 计算机存储模型
习题一
第2章 简单的c程序设计
2.1 各种进位制的转换
2.1.1 常用进位制
1.1 引言
1.1.1 计算机语言与人类语言
1.1.2 程序语言的简史
1.2 c语言的简介
1.2.1 c语言的发展历史
1.2.2 c语言的特点
1.3 第一个c语言程序
1.4 计算机程序编制的几个步骤
1.4.1 用自然语言写文章的步骤
1.4.2 用计算机语言编制程序
1.4.3 一个编程实例
1.5 c语言常用符号
1.6 计算机的构成对c语言的影响
1.6.1 冯·诺依曼体系结构
1.6.2 计算机存储模型
习题一
第2章 简单的c程序设计
2.1 各种进位制的转换
2.1.1 常用进位制
前言回到顶部↑
初学者经常发现,学习第一门编程语言(尤其是C语言)是一个充满挫折的艰难历程。一方面,抽象的算法与程序设计过程使他们感到用C语言进行程序设计高不可攀,学习C语言索然无味,学习时总是提不起精神来。另一方面,调试程序时所遇到的各种困难又使他们对C语言望而却步,使其学习c语言的计划常常半途而废。即使勉强坚持学完了,也不十分清楚C语言究竟能帮助他们解决现实生活中的什么问题,或者即使能用它去解决一些问题,但总是发现自己编写出来的程序晦涩难懂,隔一段时间后,有时连自己都看不明白了。
本书在介绍C语言的同时,将试图为读者解答这些疑惑。本书作者有着近十年的教授C语言的经历,在授课中发现了在学生中普遍存在的上述问题,在自己的多年教学实践中,曾尝试过用各种方法去帮助学生来解决这些困难,有过失败的教训,也有一些成功的经验。现在,作者将本书奉献给广大的读者,希望读者在用本书作为教材学习C语言时,不再有望而却步的感觉,相反,可以在一种轻松、愉快的气氛中探索程序设计的奥妙。如果读者您对C语言已有了一些了解,相信本书中那些充满趣味性和实用性的实例一定会让您爱不释手,那些巧妙地贯穿于实例中的关于程序设计方法的介绍也会让您耳目一新,对您有所稗益。
程序设计是一项细致的活动,主要是熟练地掌握和使用编程语言。当然,它也是一项逻辑活动,可以完全独立于具体的编程语言,不受它所依托的具体语言的限制。它涉及到很多认识上的技巧,例如,对操作环境和相关开发工具的熟悉,对数据结构、算法的合理运用和测试,对机器内部工作的了解等等。因此,以往我们在介绍程序设计语言时那种只侧重语法知识介绍的教学方法常会给学生一个误导,使学生误以为学习程序设计就是记住那些语法规范而已,因而,常常去赶时髦,一味地追求多学几门程序设计语言,而忽略了对程序设计方法的掌握,忽略了好的程序设计习惯的培养,忽略了续密思维方式的训练,就好比学习演唱时,忽略了对乐理知识的学习以及发声的训练,一味地追求多学几首歌一样。本书的最大特点就是尽量避免生硬的说教,用这种打比方的浅显易懂的方式将有关程序设计方面的许多知识自然而然地娓娓道来。
为了您阅读方便,并尽快了解本书的全貌,下面对本书的特色作简要介绍。
1.编写本书的一个首要的出发点就是:不仅要使它成为大学本科学生学习C语言的一本合适的教材,还要使它适合那些想要自学的读者朋友们。因此,本书在内容组织与讲解方面作了精心的安排。主要有以下几个方面:
(1)结合简单直观的图示进行难点内容的讲解,因为很多时候,看一张图要比看一段话更直接、更清楚得多。例如,在介绍简单变量和指针作函数参数的区别时,讲再多的话,学生也理解不了,可是画两个图再讲解,其中的差别之处立刻就一目了知了。还有许多不易理解的算法(如排序、查找、插入、删除等)也结合了丰富的图示进行讲解,相信读者一看就会明白的。
(2)语言叙述通俗易懂,一些易混淆和难理解的概念尽量通过打比方的方法来进行类比讲解。例如,算法与编程语言、直接寻址与间接寻址、二维数组的行地址与列地址等都是用了比较贴切的比喻来形容它们之间的联系与差别。
(3)章节安排由浅入深、循序渐进,前后章节内容衔接紧密,难易程度过渡自然。例如本书是围绕着结构化与模块化程序设计这个中心,沿着数据结构从简单到复杂这样一条主线来逐步展开有关函数内容的介绍的,这样既可将难点问题分散开来,又可做到在内容上的温故而知新,不仅突出了我们以C语言为依托介绍程序设计方法的宗旨,还强化了使用函数进行编程的训练。
2.编写本书的第二个出发点就是要提高学生对学习程序设计的兴趣,让学生体味到学习程序设计不再是一件枯燥乏味的事情,而真正感到“乐在其中,用在其中”。
根据我们多年从事C语言教学的经验,发现例题的选择尤其重要,因此,我们将书中的程序实例视为学生饭桌上的菜看,力求将其做得不仅营养丰富,而且符合学生胃口,这样,学生才会乐于去品尝,吃得饱、吃得香。因此,本书在例题、习题和实验题目方面作了精心的挑选和设计,这些程序主要来源于生活,都是发生在我们身边的最熟悉的现实问题,不但内容丰富,涉及面广,而且生动有趣。另外,书后习题题型丰富,有针对性,且每道题都给出必要的提示,启发读者的思路,帮助读者自学和练习,使读者打消对程序设计的畏惧心理。
3.编写本书的第三个出发点就是要加强读者的缜密思维方式的训练和勇于推陈出新的能力的培养。因此,不同于其他书籍,本书的绝大部分程序实例都是以“一题多种解决方案、一题多种编程方法”的形式出现的,让读者在程序设计时不局限于一种解题思路和一种实现方法,在程序的设计与编写过程中加深对各种语句功能、语法规范、程序结构以及编程方法和技巧的理解,通过一题多问、一题多解带动读者去发掘、去探索、去寻求更好的解决途径,从而达到提高分析问题和解决问题的能力。
4.编写本书的第四个出发点就是要以C语言为依托,贯穿算法设计、数据结构设计以及程序设计方法和软件工程思想的介绍,帮助读者在学习和掌握一门语言的同时养成良好的程序设计习惯。
全书章节与内容安排由苏小红和王宇颖统编制定,第3,5章及附录由苏小红编写,第1,6,7,9章由陈惠鹏编写,第2,4,8章由温东新编写。多媒体教学课件由李秀坤制作,另外发行。在书稿的录入与校对中,刘松波、陶海军、秦兵、刘秉权、李希然、李东也做了大量工作。
在本书写作过程中,王宇颖教授在百忙之中审阅了全部初稿,院系领导徐晓飞教授、廖明宏教授也给予了大力支持,王开铸、周明德、王庆北、刘开昌等其他许多教师对本书提出了许多宝贵意见,在此,一并表示衷心感谢。
因编者水平有限,书中错误在所难免,恳请批评指正,并多多提出您的宝贵意见。
作者
2001年12月
于哈尔滨工业大学
本书在介绍C语言的同时,将试图为读者解答这些疑惑。本书作者有着近十年的教授C语言的经历,在授课中发现了在学生中普遍存在的上述问题,在自己的多年教学实践中,曾尝试过用各种方法去帮助学生来解决这些困难,有过失败的教训,也有一些成功的经验。现在,作者将本书奉献给广大的读者,希望读者在用本书作为教材学习C语言时,不再有望而却步的感觉,相反,可以在一种轻松、愉快的气氛中探索程序设计的奥妙。如果读者您对C语言已有了一些了解,相信本书中那些充满趣味性和实用性的实例一定会让您爱不释手,那些巧妙地贯穿于实例中的关于程序设计方法的介绍也会让您耳目一新,对您有所稗益。
程序设计是一项细致的活动,主要是熟练地掌握和使用编程语言。当然,它也是一项逻辑活动,可以完全独立于具体的编程语言,不受它所依托的具体语言的限制。它涉及到很多认识上的技巧,例如,对操作环境和相关开发工具的熟悉,对数据结构、算法的合理运用和测试,对机器内部工作的了解等等。因此,以往我们在介绍程序设计语言时那种只侧重语法知识介绍的教学方法常会给学生一个误导,使学生误以为学习程序设计就是记住那些语法规范而已,因而,常常去赶时髦,一味地追求多学几门程序设计语言,而忽略了对程序设计方法的掌握,忽略了好的程序设计习惯的培养,忽略了续密思维方式的训练,就好比学习演唱时,忽略了对乐理知识的学习以及发声的训练,一味地追求多学几首歌一样。本书的最大特点就是尽量避免生硬的说教,用这种打比方的浅显易懂的方式将有关程序设计方面的许多知识自然而然地娓娓道来。
为了您阅读方便,并尽快了解本书的全貌,下面对本书的特色作简要介绍。
1.编写本书的一个首要的出发点就是:不仅要使它成为大学本科学生学习C语言的一本合适的教材,还要使它适合那些想要自学的读者朋友们。因此,本书在内容组织与讲解方面作了精心的安排。主要有以下几个方面:
(1)结合简单直观的图示进行难点内容的讲解,因为很多时候,看一张图要比看一段话更直接、更清楚得多。例如,在介绍简单变量和指针作函数参数的区别时,讲再多的话,学生也理解不了,可是画两个图再讲解,其中的差别之处立刻就一目了知了。还有许多不易理解的算法(如排序、查找、插入、删除等)也结合了丰富的图示进行讲解,相信读者一看就会明白的。
(2)语言叙述通俗易懂,一些易混淆和难理解的概念尽量通过打比方的方法来进行类比讲解。例如,算法与编程语言、直接寻址与间接寻址、二维数组的行地址与列地址等都是用了比较贴切的比喻来形容它们之间的联系与差别。
(3)章节安排由浅入深、循序渐进,前后章节内容衔接紧密,难易程度过渡自然。例如本书是围绕着结构化与模块化程序设计这个中心,沿着数据结构从简单到复杂这样一条主线来逐步展开有关函数内容的介绍的,这样既可将难点问题分散开来,又可做到在内容上的温故而知新,不仅突出了我们以C语言为依托介绍程序设计方法的宗旨,还强化了使用函数进行编程的训练。
2.编写本书的第二个出发点就是要提高学生对学习程序设计的兴趣,让学生体味到学习程序设计不再是一件枯燥乏味的事情,而真正感到“乐在其中,用在其中”。
根据我们多年从事C语言教学的经验,发现例题的选择尤其重要,因此,我们将书中的程序实例视为学生饭桌上的菜看,力求将其做得不仅营养丰富,而且符合学生胃口,这样,学生才会乐于去品尝,吃得饱、吃得香。因此,本书在例题、习题和实验题目方面作了精心的挑选和设计,这些程序主要来源于生活,都是发生在我们身边的最熟悉的现实问题,不但内容丰富,涉及面广,而且生动有趣。另外,书后习题题型丰富,有针对性,且每道题都给出必要的提示,启发读者的思路,帮助读者自学和练习,使读者打消对程序设计的畏惧心理。
3.编写本书的第三个出发点就是要加强读者的缜密思维方式的训练和勇于推陈出新的能力的培养。因此,不同于其他书籍,本书的绝大部分程序实例都是以“一题多种解决方案、一题多种编程方法”的形式出现的,让读者在程序设计时不局限于一种解题思路和一种实现方法,在程序的设计与编写过程中加深对各种语句功能、语法规范、程序结构以及编程方法和技巧的理解,通过一题多问、一题多解带动读者去发掘、去探索、去寻求更好的解决途径,从而达到提高分析问题和解决问题的能力。
4.编写本书的第四个出发点就是要以C语言为依托,贯穿算法设计、数据结构设计以及程序设计方法和软件工程思想的介绍,帮助读者在学习和掌握一门语言的同时养成良好的程序设计习惯。
全书章节与内容安排由苏小红和王宇颖统编制定,第3,5章及附录由苏小红编写,第1,6,7,9章由陈惠鹏编写,第2,4,8章由温东新编写。多媒体教学课件由李秀坤制作,另外发行。在书稿的录入与校对中,刘松波、陶海军、秦兵、刘秉权、李希然、李东也做了大量工作。
在本书写作过程中,王宇颖教授在百忙之中审阅了全部初稿,院系领导徐晓飞教授、廖明宏教授也给予了大力支持,王开铸、周明德、王庆北、刘开昌等其他许多教师对本书提出了许多宝贵意见,在此,一并表示衷心感谢。
因编者水平有限,书中错误在所难免,恳请批评指正,并多多提出您的宝贵意见。
作者
2001年12月
于哈尔滨工业大学
相关资源回到顶部↑
· 【推荐】众多高校学子口口相传,他们共同的选择--华清远见嵌入式学院(嵌入式Linux就业课程、3G手机开发就业课程,通过入学测试即签100%就业协议,4个月集中实训,世界500强企业成功就业保障!!!)· 【亚嵌教育 嵌入式培训专家】(嵌入式培训,嵌入式Linux培训,ARM培训,Linux培训,3G培训,Android培训,WINCE培训,DSP培训,FPGA培训,嵌入式就业培训)
· 程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)
· C/C++ 经典著作(《C专家编程》《C++ Templates中文版》《C和指针 》《C陷阱与缺陷》《C++沉思录》)









加载中...

