计算机基础教育 > 算法与程序设计类
C语言程序设计(第二版)
书号:9787113088040 套系名称:高等院校新课程体系计算机基础教育规划教材
作者:王宏志,韩志明主编 出版日期:2009-02-01
定价:30.00 页码 / 开本:311 /16
策划编辑:秦绪好 杨勇 责任编辑:秦绪好
适用专业:无 适用层次:本科/高职高专
最新印刷时间:
资源下载
教学课件
教学素材(暂无)
习题答案(暂无)
教学案例(暂无)
教学设计(暂无)
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书是学习C语言程序设计的实用教材,主要内容包括C语言概述、数据类型及其表达式、3种基本结构的程序设计、数组、函数、构造数据类型、指针、编译预处理命令、文件、位运算以及字符屏幕和图形函数等。本书根据教育部计算机课程教学指导委员会颁布的大纲要求,安排了具有很强的实用性和可操作性的教学内容。本书适合作为高等学校相关课程或计算机等级考试(二级)的教材,也可作为高职高专、高等院校成人教育的教材或教学参考书。
C语言是国内外广泛推广使用的结构化程序设计语言,它功能丰富、表达能力强、使用方便灵活、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言既可用于开发系统软件,也可用于开发应用软件,应用面很广,许多大型的软件都是采用C语言开发的。目前,多数高等院校不仅计算机专业开设C语言这门课程,而且,非计算机专业也开设了这门课程。同时,许多学生都选择C语言作为参加全国计算机等级考试(二级)的考试科目。学习C语言已成为广大学生的迫切需要。由于国家级计算机等级考试中,C语言上机考试环境已经由Turbo C环境改为Visual C++环境,根据形势的变化,作者对第一版教材的内容做了相应调整和补充,分别介绍了Turbo C 2.0和Visual C++6.0集成开发环境。本书根据作者多年的教学实践经验编写而成,同时借鉴和吸取了已有C语言教材的优点,对第一版教材进行了修订,第二版教材保持了第一版教材的写作风格,并具有以下特点:(1)教材内容经过精心组织,体系合理、结构严谨,增强了实用性。(2)教材内容组织形式由浅入深、循序渐进,以便于学生学习并有利于提高学生的程序设计能力。(3)增加字符屏幕、图形函数内容,使本书的深度和广度增强,可作为学生学习C语言的参考内容。本书共分13章,全面介绍了在Turbo C环境下C语言的主要内容,包括基本概念、数据类型、表达式、控制语句、数组、函数、结构体、共用体、指针、编译预处理命令、文件、位运算以及字符屏幕和图形函数等内容,并精选了一部分全国计算机等级考试题(二级C语言程序设计)充实到教材中。程序设计是一门实践性很强的课程,在掌握基本概念的基础上,要学会编程并进行上机调试。为了满足教学和实验要求,作者还编写了与本书配套的《C语言程序设计习题解答与上机指导(第二版)》供读者学习时使用。本书在吉林省计算机共同课教学专业委员会的指导下编写完成,王宏志、韩志明任主编,张亚辉、郑建明任副主编。具体编写分工:第1、5、8章由王宏志编写,第7、9、10、12章由韩志明编写,第6章由王宏志、韩志明共同编写,第3、4、11章由张亚辉编写,第2、13章由郑建明编写。全书由王宏志统稿。随着计算机技术的发展和应用的普及,在高等院校对计算机的教育也在不断发展,新的教育教学体系和思想也在探索中;加之编者水平有限,编写时间仓促,书中难免有疏漏和不足之处,恳请读者和专家批评指正,以便下次修订时更正。 编 者 2008年12月 第一版前言 为进一步推动高等学校的计算机基础教学改革,提高教学质量,适应新世纪对高级人才知识的需求,掌握一门计算机语言已经成为应用计算机必备条件之一。目前,不论是计算机专业还是非计算机专业的学生,都将C语言作为学习程序设计语言的入门语言。因为C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。学习和掌握C语言已成为许多学生的迫切需要。 现组织长期从事计算机基础教学工作的教师编写了《C语言程序设计》一书,编写内容的选择上充分考虑计算机学科发展快、更新快的特点,力图反映新内容,使之具有先进性,同时又兼顾了高等学校计算机语言教学的实际情况使之具有现实可行性,尽量做到少而精,力求通俗易懂。本教材的主要特点是:由浅入深、循序渐进地讲解C语言程序设计的思想和方法。全书在编写过程中,力求做到概念准确、内容正确、由浅入深、循序渐进、繁简适当。每章都有小结和习题,通过实例和习题加深基本概念的理解和掌握,提高计算机操作的水平。为进一步满足本书的教学和实验要求,作者还编写了与本书配套的《C语言程序设计习题解答与上机指导》供读者学习时选用。本书适合作为高等学校及高职高专各专业学生相关课程或参加计算机等级考试的教材,也可作为高等院校成人教育的培训教材或教学参考书。 本书由苏长龄、刘威任主编,由王北星、于秀霞任副主编。刘威编写第1章~第5章,于秀霞编写第6章和第7章,苏长龄编写第8章和第9张,王北星编写第10章和第11章,全书由苏长龄统稿。感谢在本书的编写和出版过程中,中国铁道出版社给予的大力帮助和支持。由于编者水平和经验有限,书中难免有不足之处,恳请读者提出宝贵意见和建议。 编 者 2006年2月
第1章 C语言概述 1
1.1 概述 1
1.1.1 C语言及其特点 1
1.1.2 C语言程序的组成和结构特点 3
1.2 C语言的基本符号 5
1.2.1 基本符号集 6
1.2.2 标识符 6
1.3 算法及其描述方法 7
1.3.1 算法的概念 7
1.3.2 算法的描述方法 8
1.4 程序设计方法简介 10
1.5 C程序的开发环境 12
1.5.1 Turbo C 2.0集成开发环境 13
1.5.2 Microsoft Visual C++ 6.0的集成开发环境 15
本章小结 18
习题一 20
第2章 数据类型及其表达式 21
2.1 数据类型 22
2.2 常量 23
2.2.1 整型常量 23
2.2.2 实型常量 24
2.2.3 字符常量 24
2.2.4 字符串 25
2.2.5 符号常量 26
2.2.6 转义字符 27
2.3 变量 28
2.3.1 变量的概念 29
2.3.2 变量说明 30
2.3.3 变量地址 30
2.3.4 变量的初始化 30
2.3.5 数据类型 31
2.4 运算符和表达式 33
2.4.1 运算符和表达式 33
2.4.2 赋值运算 34
2.4.3 算术运算 36
2.4.4 逗号运算 38
2.4.5 关系运算 38
2.4.6 逻辑运算 40
2.4.7 条件运算 41
2.4.8 运算符的结合律和优先级 42
本章小结 43
习题二 45
第3章 顺序结构的程序设计 49
3.1 顺序结构的语句 49
3.1.1 表达式语句、空语句和赋值语句 49
3.1.2 复合语句 51
3.2 字符数据的输入和输出 51
3.2.1 字符输入函数getchar() 52
3.2.2 字符输出函数putchar() 53
3.3 格式输入函数scanf() 54
3.4 格式输出函数printf() 56
本章小结 59
习题三 59
第4章 选择结构的程序设计 63
4.1 条件选择结构 63
4.2 条件分支的嵌套 65
4.3 开关选择结构 68
4.4 无条件选择结构 74
本章小结 75
习题四 76
第5章 循环结构的程序设计 80
5.1 用goto语句构成循环结构 80
5.2 while语句 81
5.3 do…while语句 83
5.4 for语句 84
5.5 循环嵌套结构 88
5.6 循环结构中使用break和continue语句 89
5.7 循环语句之间的差异 91
5.8 程序举例 92
本章小结 94
习题五 94
第6章 数组 99
6.1 数组和数组元素 99
6.2 一维数组 100
6.3 多维数组 106
6.4 字符数组 111
本章小结 115
习题六 117
第7章 函数 121
7.1 概述 121
7.2 函数定义的一般形式 122
7.2.1 无参函数定义的一般形式 123
7.2.2 带参函数定义的一般形式 123
7.3 函数的参数和函数的返回值 124
7.3.1 形式参数和实际参数 124
7.3.2 函数的返回值 125
7.3.3 数组作为函数的参数 126
7.4 函数的调用 130
7.4.1 函数调用的一般形式 130
7.4.2 调用函数与被调用函数的相对位置关系与函数说明 131
7.5 函数的嵌套调用和递归调用 134
7.5.1 函数的嵌套调用 134
7.5.2 函数的递归调用 135
7.6 局部变量和全局变量 140
7.6.1 局部变量 140
7.6.2 全局变量 141
7.7 存储类型和变量的作用域 142
7.7.1 数据在内存中的存储 143
7.7.2 变量的存储类型 143
7.7.3 变量的作用域和生存期 146
本章小结 146
习题七 148
第8章 构造数据类型 152
8.1 结构体 152
8.1.1 结构体类型定义及结构体类型变量的说明 152
8.1.2 结构体类型变量的使用 156
8.1.3 结构体变量的初始化 158
8.1.4 结构体数组 159
8.1.5 结构体和函数 160
8.2 共用体 162
8.2.1 共用体类型的定义和共用体变量的说明 162
8.2.2 共用体成员的使用 163
8.3 枚举类型 164
8.3.1 枚举类型的定义和枚举变量的说明 164
8.3.2 枚举类型数据的使用 165
8.4 用typedef定义类型 167
本章小结 168
习题八 169
第9章 指针 174
9.1 指针的概念 174
9.1.1 变量和地址 174
9.1.2 指针变量和指针的类型 175
9.2 变量的指针与指针变量 175
9.2.1 指针变量的定义及使用 175
9.2.2 指针变量的初始化 178
9.2.3 指针运算 178
9.3 指针与数组 181
9.3.1 指向数组的指针 181
9.3.2 字符指针与字符数组 185
9.3.3 多级指针及指针数组 188
9.3.4 指针与多维数组 191
9.4 指针与函数 195
9.4.1 函数参数为指针 196
9.4.2 函数的返回值为指针 198
9.4.3 指向函数的指针 200
9.4.4 命令行参数 203
9.5 指针与结构体 205
9.5.1 结构体指针与指向结构体数组的指针 205
9.5.2 结构体指针与函数 207
9.6 链表 209
9.6.1 链表和动态存储分配 210
9.6.2 用包含指针项的结构体变量构成结点 211
9.6.3 用于动态存储分配的函数 214
9.6.4 链表应用举例 215
本章小结 220
习题九 222
第10章 编译预处理命令 228
10.1 宏定义 228
10.1.1 不带参数的宏定义 228
10.1.2 带参数的宏定义 229
10.2 文件包含 232
10.3 条件编译 232
本章小结 234
习题十 235
第11章 文件 239
11.1 C语言文件概述 239
11.1.1 文本文件和二进制文件 239
11.1.2 缓冲文件系统和非缓冲文件系统 240
11.1.3 标准输入/输出库函数 240
11.1.4 标准设备文件及I/O改向 242
11.2 缓冲型文件输入/输出系统 244
11.2.1 文件(file)类型结构及文件指针 244
11.2.2 文件的打开与关闭 245
11.2.3 文件的读写 246
11.2.4 文件的定位 252
11.2.5 出错的检测 254
11.3 非缓冲型文件输入/输出系统 254
本章小结 258
习题十一 259
第12章 位运算 263
12.1 基本位运算符与位运算 263
12.1.1 按位与运算符(&) 263
12.1.2 按位或运算符(|) 264
12.1.3 按位异或运算符(^) 265
12.1.4 按位取反运算符(~) 266
12.2 位移运算符与位移运算 266
12.2.1 左移运算符(<<) 267
12.2.2 右移运算符(>>) 267
12.3 位运算的复合赋值运算符 268
12.4 位段 268
12.4.1 位段的定义 268
12.4.2 位段的引用 270
12.5 位运算应用举例 271
本章小结 273
习题十二 274
第13章 字符屏幕和图形函数 276
13.1 显示器及其工作模式 276
13.2 字符屏幕函数 277
13.2.1 窗口 277
13.2.2 基本输入/输出函数 277
13.2.3 屏幕操作函数 278
13.2.4 字符属性控制函数 280
13.2.5 字符屏幕状态函数 282
13.2.6 程序举例 284
13.3 Turbo C的图形函数 285
13.3.1 图形模式的初始化 285
13.3.2 屏幕颜色的设置和清屏函数 287
13.3.3 基本图形函数 289
13.3.4 封闭图形的填充 292
13.3.5 有关图形视口和图形操作函数 296
13.3.6 图形模式下的文本输出 298
13.3.7 独立图形运行程序的建立 302
本章小结 302
习题十三 303
附录A C常用库函数 304
附录B ASCII码表 310
参考文献 311无
无