C语言程序设计
作者 : 郝玉洁
出版日期 : 2007-01-30
ISBN : 7-111-08160-9
定价 : 26.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 252
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 : 已绝版
图书简介

C语言是目前流行的通用程序设计语言,是许多计算机专业人员和计算机的爱好者学习程序设计语言的首选。

本书共10章,分别介绍了C语言的算法基础、基本概念和如何利用C语言进行程序设计。通过大量的实例介绍了C语言的精华,特别针对目前C语言的发展,精心策划了C语言的综合应用、图形与动画的设计、音乐的演奏等。

从结构化程序设计到面向对象的程序设计,其发展前景是不以人的意志为转移的。为了使学生尽快地掌握并顺利地过渡面向对象的程序设计方法,我们专门编写了介绍C++入门知识的一章,以使本教材更加完美。

本书的作者都是长期在高校从事计算机基础教育的一线教师,有丰富的教学经验和写作经验,书中文字流畅、通俗易懂、概念清楚、深入浅出、例题丰富,书后的附录专门配有每章的练习供读者选用。

此书可作为普通高校本、专科学生的教学用书,也可供一般工程技术人员自学使用。

图书前言

随着计算机技术的深入发展,特别是微机的普及,越来越多的人在学习计算机知识以满足社会发展和自身的需要。

C语言不仅为计算机专业人员所使用和喜爱,近年来,许多计算机应用人员也开始喜爱和使用C语言。实践证明,它是一种很好的程序设计语言。

但C语言对一般初学者来说,规则较多,使用太灵活,不易掌握,学习会有一定的困难;而且C语言的应用范围越来越大,所涉及的知识也在不断地增加。基于此,我们重新编写了C语言教程,一方面以满足初学者的需要,另一方面,对C语言所涉及的深入技术做了一定介绍。此书既可作为C语言的教程,也可作为工具书以备编程时参考。

本教材对C语言的精华部分作了较为细致的介绍。我们还针对目前高等院校和社会上举办的各种计算机的等级考试,精心组织了教材的内容。在教材的第1、2章,介绍了算法的基本思想和C语言的基础知识;第3、4章介绍了C语言的基本程序设计技术、C语言函数的特点、函数的相互调用及变量的特性;第5、6章介绍了C语言的各种不同类型的数组及指向变量的指针和指向各种不同类型的数组的指针的使用和程序设计,详细地介绍了指针的特点和灵活性;第7、8章介绍了链表技术和文件的操作方法;第9章介绍了C语言的综合应用,图形的制作和音乐的演奏方法;第10章介绍了C++的入门知识,以满足不同层次读者的需求。列举的例题都是本书作者的精心设计,并全部在Turbo C 环境下调试通过。

本教材的第1、3章由易涛编写,第2、4、5、9章由袁平编写,第6、7、8章由郝玉洁编写,第10章由常征编写。由于作者水平有限,书中难免会有错误,希望读者和专家提出宝贵意见以帮助我们将此教材进一步完善。


作  者

2000年1月15日

图书序言

经过10余年的教学实践,层次教学已成为高等院校计算机基础教学的基本模式。教育部倡导的“计算机文件基础—计算机技术基础—计算机应用基础”3个层次,为高校实施计算机基础教学提供了一个科学的框架。
根据我们的理解,三层次教学中的文化基础为“入门”课,用于引导学生认识计算机文化在信息社会中的地位作用;技术基础为“拓宽”课,用于从硬件和软件两个方面扩充学生的知识和技能;它们构成三层次教学的“基础与核心”。而应用基础层则是三层次教学的“归宿”,其目的在于结合专业的需要“深化”在某一方面(或领域)的计算机应用知识,加强学生解决本专业计算机应用的能力。本系列教材就是按照这样的思路编写的。第一批书目包括一、二层次的6本计算机公共课教材,即:
《计算机文化引论》
《C语言程序设计》
《计算机软件环境与工具》
《微机数据库应用》
《微型计算机硬件组成》
《计算机网络应用基础》
以后将陆续编写出版第三层次的教材,例如《微机原理与应用》、《图形处理与CAD基础》、《面向对象程序设计》等,以满足不同专业的学生深入学习的需要。
本系列教材具有下列特点:
一、体现了全新的课程体系。考虑到软件技术的发展,本系列在《计算机文化引论》课之后,用程序设计、数据库和软件环境与工具等3本教材代替传统的一本教材—程序设计。又鉴于多媒体应用与网络应用在近10年来发展迅猛,本系列在首批书目中列入了《微型计算机硬件组成》与《计算机网络应用基础》两种教材,分别介绍这两个方面的知识。这一课程体系既在总体上满足教育部三层次教学的内容,也突出了计算机基础教学重在应用、立足于提高学生素质、帮助学生建立强烈的计算机文化意识,提高计算机文化素质的需要。
二、按照知识单元安排每本教材的内容,自1994年起编者就在教育部高校工科计算机基础课程教学指导委员会的支持下,开展对计算机基础课知识结构的研究。1996年,该项研究被教育部列为面向21世纪计算机基础教学项目组立项课题。上述6种教材,每种覆盖知识单元的一个领域,构成一个相对独立的教学模块,特别方便不同层次的高校与读者按需选用。
三、遴选作者,强强联手。参加编写本系列第一批教材的作者,都是根据本人的特长由所在学校推荐的、对该方面的教学和科研富有经验的教师。编写大纲统一由系列教

材编辑委员会审定,对保证教材质量起到良好的作用。本系列的出版得到四川省高校计算机基础教育研究会和机械工业出版社华章分社大力支持。
教育部计算机基础课程教学指导委员会委员、电子科技大学古天祥教授和教育部计算机基础课程教学指导委员会委员、四川大学李志蜀教授担任系列教材编辑委员会的顾问,对系列的选题与内容都提出宝贵的意见。借此机会,编者对他们表示诚挚的感谢。


史济民  李光琳
2000年6月


图书目录

序言
前言
第1章  程序设计与算法 1
1.1  程序设计语言的发展 1
1.2  C语言的特点 2
1.2.1  C语言是中级语言 2
1.2.2  C语言是结构化语言 3
1.2.3  C语言是程序员的语言 3
1.3  C语言的程序结构 4
1.3.1  基本程序结构 4
1.3.2  函数库和链接 6
1.3.3  开发一个C程序 7
1.3.4  C语言的关键字 7
1.4  算法 8
1.4.1  流程图与算法的结构化描述 9
1.4.2  用N-S图描述算法 12
1.4.3  用PAD图描述算法 13
第2章  数据类型、运算符和表达式 14
2.1  C语言的数据类型 14
2.2  常量与变量 15
2.2.1  标识符命名 15
2.2.2  常量 16
2.2.3  变量 16
2.3  整型数据 16
2.3.1  整型常量 16
2.3.2  整型变量 17
2.4  实型数据 18
2.4.1  实型常量 18
2.4.2  实型变量 18
2.5  字符型数据 19
2.5.1  字符常量 19
2.5.2  字符串常量 19
2.5.3  转义字符 20
2.5.4  符号常量 20
2.5.5  字符变量 21
2.6  运算符 22
2.6.1  算术运算符 22
2.6.2  自增和自减 22
2.6.3  关系和逻辑运算符 23
2.6.4  位操作符 24
2.6.5  操作符 26
2.6.6  逗号操作符 27
2.6.7  关于优先级的小结 27
2.7  表达式 28
2.7.1  表达式中的类型转换 28
2.7.2  构成符cast 29
2.7.3  空格与括号 29
2.7.4  C语言中的简写形式 29
第3章  程序控制语句 31
3.1  程序的三种基本结构 31
3.2  数据的输入与输出 31
3.2.1  scanf()函数 31
3.2.2  printf()函数 33
3.2.3  getchar()函数与putchar()函数 36
3.2.4  程序应用举例 37
3.3  条件控制语句 38
3.3.1  if 语句 38
3.3.2  switch 语句 43
3.3.3  程序应用举例 45
3.4  循环控制语句 46
3.4.1  while语句 47
3.4.2  do... while 语句 49
3.4.3  for 语句 50
3.4.4  break与continue语句 53
3.4.5  程序应用举例 54
第4章  函数 57
4.1  函数说明与返回值 57
4.1.1  函数的类型说明 57
4.1.2  返回语句 58
4.2  函数的作用域规则 60
4.2.1  局部变量 60
4.2.2  全局变量 61
4.2.3  动态存储变量 62
4.2.4  静态存储变量 63
4.3  函数的调用与参数 63
4.3.1  形式参数与实际参数 64
4.3.2  赋值调用与引用调用 64
4.4  递归 64
4.5  实现问题 66
4.5.1  参数和通用函数 66
4.5.2  效率 66
4.6  函数库和文件 67
4.6.1  程序文件的大小 67
4.6.2  分类组织文件 67
4.6.3  函数库 67
4.7  C语言的预处理程序与注释 67
4.7.1  C语言的预处理程序 68
4.7.2  #define 68
4.7.3  #error 69
4.7.4  # include 69
4.7.5  条件编译命令 70
4.7.6  #undef 72
4.7.7  #line 73
4.7.8  #pragma 73
4.7.9  预定义的宏名 73
4.7.10  注释 73
4.8  程序应用举例 74
第5章  数组 78
5.1  一维数组 78
5.1.1  向函数传递一维数组 78
5.1.2  字符串使用的一维数组 79
5.2  二维数组 80
5.2.1  二维数组的一般形式 80
5.2.2  字符串数组 84
5.3  多维数组 85
5.4  数组的初始化 85
5.4.1  数组初始化 85
5.4.2  变长数组的初始化 86
5.5  应用程序举例 87
第6章  指针 91
6.1  指针与指针变量 91
6.2  指针变量的定义与引用 92
6.2.1  指针变量的定义 92
6.2.2  指针变量的引用 93
6.3  指针运算符与指针表达式 94
6.3.1  指针运算符与指针表达式 94
6.3.2  指针变量作函数的参数 95
6.4  指针与数组 96
6.4.1  指针与一维数组 97
6.4.2  指针与二维数组 99
6.4.3  数组指针作函数的参数 102
6.4.4  指针与字符数组 108
6.5  指针的地址分配 111
6.6  指针数组 112
6.7  指向指针的指针 118
6.8  main函数的参数 121
第7章  结构体与共用体 125
7.1  结构体类型变量的定义和引用 125
7.1.1  结构体类型变量的定义 126
7.1.2  结构体类型变量的引用 127
7.1.3  结构体类型变量的初始化 127
7.2  结构体数组的定义和引用 129
7.3  结构体指针的定义和引用 135
7.3.1  指向结构体类型变量的使用 135
7.3.2  指向结构体类型数组的指针的
使用 136
7.4  链表的建立、插入和删除 138
7.4.1  单链表 139
7.4.2  单链表的插入与删除 141
7.5  共用体 149
7.5.1  共用体的定义 149
7.5.2  共用体变量的引用 150
第8章  输入、输出和文件系统 153
8.1  缓冲文件系统 153
8.1.1  文件的打开与关闭 153
8.1.2  文件的读写 155
8.1.3  随机读写文件 163
8.2  非缓冲文件系统 166
8.3  文件系统应用举例 167
第9章  实用编程技巧 170
9.1  图形应用技巧 170
9.1.1  显示适配器类型的自动测试 170
9.1.2  屏幕图像的存取技巧 179
9.1.3  屏幕显示格式的控制方法 181
9.1.4  使图形软件脱离BGI的方法 182
9.1.5  拷贝屏幕图形的方法 183
9.1.6  随意改变VGA显示器显示颜色的
技巧 185
9.1.7  用随机函数实现动画的技巧 187
9.1.8  用putimage 函数实现动画的技巧 189
9.2  菜单设计技术 191
9.2.1  下拉式菜单的设计 191
9.2.2  选择式菜单的设计 194
9.2.3  实现阴影窗口的技巧 195
9.3  音响技巧 197
9.3.1  音乐程序设计 197
9.3.2  自动识谱音乐程序 200
9.3.3  实现后台演奏音乐的技巧 203
第10章  C++入门 205
10.1  面向对象的概念 205
10.1.1  面向对象的程序结构 205
10.1.2  C++的类 206
10.2  C++的输入与输出 207
10.3  类与对象 208
10.3.1  类的定义与对象的引用 209
10.3.2  构造函数与析构函数 211
10.3.3  函数重载 215
10.3.4  友元 216
10.4  对象指针 219
10.5  派生类与继承类 225
10.5.1  单继承的派生类 225
10.5.2  多继承的派生类 233
附录A  常用字符与ASCII代码对照表 238
附录B  习题 239

教学资源推荐
作者: 刘冰 张林 蒋贵全 杨勇 编著
作者: 辛运帏 饶一梅
参考读物推荐
作者: 刘凤飞 曾茜 编著
作者: Patrick Keegan, Ludovic Champenois, Gregory Crawley, Charlie Hunt, Christopher Webster
作者: 赵建领 薛园园 等编著