C语言程序设计(第三版)
书 号:9787113199173
丛 书 名:
作 者:时景荣 李鑫
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:38元
-
内容简介
本书通俗易懂、由浅入深、循序渐进地讲解了C语言程序设计的方法,突出基础知识、基本方法、基本技能的训练,以培养学生的程序设计能力。全书共分12章,主要内容包括程序设计概述,数据、数据类型与数据运算,顺序结构程序设计,选择结构程序设计,循环结构程序设计,编译预处理,函数,数组,指针,结构体与共用体,数据文件,C语言综合应用等,并用实例阐述了应用程序的设计过程和可控菜单的设计方法。为了满足教学和实验的要求,编者还编写了《C语言程序设计同步训练与上机指导(第三版)》与本书配套使用。本书既可作为高等学校相关课程的教材,也可作为高职高专、培训机构的教学用书。 -
前言
第三版前言
C语言程序设计是大、中专院校普遍开设的计算机基础课程。C 语言具有功能强大、
编程限制少、灵活性大等优点,这也意味着它不好把握,易出错,难检错,调试困难。
所以对使用者的要求较高,尤其是初学者会感到C 语言很难学。本书的编写就是针对
这些问题,根据编者多年的教学实践经验,借鉴和吸取了多部已有C 语言教材的优点,
力求做到概念叙述简明清晰、通俗易懂,知识介绍由浅入深、循序渐进,例题选择实
用丰富、针对性强,突出基础知识、基本方法、基本技能的训练,以培养学生程序设
计的能力。
全书共分12章,包括程序设计概述,数据、数据类型与数据运算,顺序结构程序设
计,选择结构程序设计,循环结构程序设计,编译预处理命令,函数,数组,指针,结
构体与共用体,数据文件,C 语言综合应用等内容,并用实例阐述了应用程序的设计过
程和可控菜单的设计方法。
本书具有以下特点:
(1)不追求C语言语法的全面性,突出常用、实用的重点概念,尽量做到少而精。
(2)在内容组织方面,集中讲授概念,用实例阐述方法。例如,在“循环结构程
序设计”一章中,用一个例题集中讲解循环控制语句,用实例归纳总结循环控制方法,
通过介绍常用的算法设计方法强化循环结构程序设计的训练。
(3)在章节安排方面,注意分散教学难点。“函数”是C 语言的重点,函数之间的
数据传递关系是一个难点。本书将“函数”安排在“数组”之前,先解决函数参数的“数
值传递”问题,然后讲“数组”,解决函数参数的“地址传递”问题,从而分解了难点,
并且增加了函数设计的机会,强化了“C程序由函数组成”这个重点。
(4)加强程序设计风格的训练,提高程序的可读性。本书在程序设计前有算法分析,
程序中有注释,程序后有测试,培养学习者严谨的程序设计作风。
(5)加强C语言综合应用的训练,用实例阐述应用程序的设计过程和可控菜单的设
计方法,以开拓学生思维。
为了满足教学和实验要求,编者还编写了《C语言程序设计同步训练与上机指导(第
三版)》与本书配套使用。
本书由时景荣、李鑫任主编,罗时光、林琳任副主编,季玉茹、吴雪莉、孙维福参
与了编写。其中,第1、5 章由吴雪莉编写,第2、3 章由季玉茹编写,第4 章和附录由
孙维福编写,第6、7章由林琳编写,第8、9、10章由罗时光编写,第11、12章由李鑫
编写。全书由时景荣统稿,王立国教授主审。
在本书的编写过程中,有许多老师和同学提出了宝贵的意见和建议,有的还参加了
书中部分程序的调试,在此表示衷心的感谢。
本书既可作为高等学校相关课程的教材,也可作为高职高专、培训机构的教学用书。
由于作者水平有限,书中难免有错误和不足之处,恳请读者不吝赐教,给予指正。
编 者
2014年12月 -
目录
第1章 程序设计概述. 1
1.1 程序设计的概念. 1
1.1.1 程序与程序设计 1
1.1.2 程序设计的过程 2
1.2 数据结构与算法. 3
1.2.1 数据结构 3
1.2.2 算法. 3
1.3 程序设计方法. 5
1.3.1 结构化程序设计方法. 5
1.3.2 面向对象的程序设计方法.. 6
1.4 程序设计语言. 7
1.4.1 程序设计语言分类.. 7
1.4.2 C语言概述.. 7
习题1.. 11
第2章 数据、数据类型与数据运算.. 12
2.1 数据与数据类型.. 12
2.1.1 进制.. 12
2.1.2 进制转换. 14
2.1.3 原码、反码、补码 16
2.1.4 数据类型. 17
2.2 常量 17
2.2.1 整型常量. 17
2.2.2 实型常量. 18
2.2.3 字符型常量 18
2.2.4 字符串常量 20
2.2.5 符号常量. 20
2.3 变量 21
2.3.1 变量的概念 21
2.3.2 变量的定义与初始化.. 21
2.3.3 变量的存储与变量的取值范围. 22
2.4 数据运算. 24
2.4.1 赋值运算. 24
2.4.2 算术运算. 26
2.4.3 关系运算. 27
2.4.4 逻辑运算. 27
2.4.5 位运算. 28
2.4.6 其他运算. 30
习题2..33
第3章 顺序结构程序设计. 35
3.1 C语句概述 35
3.1.1 控制语句. 35
3.1.2 顺序结构的语句. 36
3.2 输入/输出和头文件的概念 36
3.2.1 C语言的输入与输出.. 37
3.2.2 C程序的头文件. 37
3.3 字符数据的输出和输入.. 37
3.3.1 字符输出函数putchar().. 38
3.3.2 字符输入函数getchar() .. 38
3.4 格式输出和格式输入 39
3.4.1 格式输出函数printf() .. 39
3.4.2 格式输入函数scanf() 42
3.5 顺序结构程序举例. 45
习题3..48
第4章 选择结构程序设计. 51
4.1 if语句 51
4.1.1 单选择结构 51
4.1.2 双选择结构 52
4.1.3 选择结构的嵌套. 53
4.2 switch语句. 56
4.3 选择结构程序举例. 58
习题4..62
第5章 循环结构程序设计. 65
5.1 循环控制语句.. 65
5.1.1 goto 语句及其构成的循环. 65
5.1.2 while语句 67
5.1.3 do…while语句. 67
5.1.4 for语句. 68
5.1.5 break语句和continue语句.. 70
5.2 循环的控制方法.. 71
5.2.1 计数控制. 71
5.2.2 条件控制. 73
5.2.3 结束标志控制.. 74
5.3 算法设计的常用方法 74
5.3.1 穷举法. 75
5.3.2 迭代法. 75
5.3.3 递推法. 76
5.4 循环嵌套结构.. 77
5.5 循环结构程序举例. 78
习题5..83
第6章 编译预处理 86
6.1 宏定义.. 86
6.1.1 不带参数的宏定义 86
6.1.2 带参数的宏定义. 88
6.2 文件包含. 92
6.3 条件编译. 92
习题6..94
第7章 函数. 96
7.1 函数定义与函数调用 96
7.1.1 函数定义. 96
7.1.2 函数调用. 99
7.1.3 函数与带参宏的区别 104
7.2 函数的嵌套调用与递归调用. 105
7.2.1 函数的嵌套调用.. 105
7.2.2 函数的递归调用.. 106
7.3 变量的存储类型与作用域.. 108
7.3.1 变量的存储类型.. 108
7.3.2 变量的作用域 109
7.4 内部函数与外部函数. 115
7.4.1 内部函数.. 115
7.4.2 外部函数.. 116
7.5 函数设计举例. 116
习题7 119
第8章 数组.. 123
8.1 一维数组.. 123
8.1.1 一维数组的定义和初始化. 123
8.1.2 数组元素的引用和基本操作 125
8.1.3 数组名作为函数的参数.. 126
8.1.4 一维数组应用举例. 128
8.2 二维数组.. 133
8.2.1 二维数组的定义与初始化. 133
8.2.2 二维数组元素的引用 134
8.2.3 二维数组应用举例. 134
8.3 字符数组.. 137
8.3.1 字符数组的存储和初始化. 137
8.3.2 字符数组的输入与输出.. 138
8.3.3 常用的字符串处理函数.. 139
8.3.4 字符数组应用举例. 142
习题8145
第9章 指针.. 149
9.1 指针和指针变量的概念 149
9.1.1 变量的存取. 149
9.1.2 变量的指针和指针变量.. 150
9.2 指向变量的指针变量. 150
9.2.1 指针变量的定义.. 151
9.2.2 指针变量的引用.. 151
9.2.3 指针变量的初始化. 152
9.2.4 指针变量作为函数参数.. 154
9.3 一维数组与指针变量. 157
9.3.1 指向一维数组的指针变量. 157
9.3.2 通过指针变量引用数组元素 157
9.3.3 指向数组元素的指针变量允许的运算.. 160
9.3.4 数组名作为函数参数 161
9.3.5 字符串与指针变量. 161
9.4 多级指针与指针数组. 163
9.4.1 多级指针.. 163
9.4.2 指针数组.. 164
9.4.3 main()函数的命令行参数 165
9.5 二维数组与指针变量. 166
9.5.1 二维数组元素及其地址的表示方法 166
9.5.2 二维数组元素的引用 168
9.6 指向函数的指针变量. 171
9.6.1 指向函数的指针变量的定义 171
9.6.2 指向函数的指针变量的引用 172
9.6.3 指向函数的指针变量作为函数参数 172
9.6.4 返回指针值的函数. 173
9.7 存储空间的动态分配与释放. 174
9.7.1 动态分配存储空间的概念. 174
9.7.2 用于动态分配存储单元的函数.. 174
9.8 指针应用举例. 176
习题9179
第10章 结构体与共用体. 183
10.1 结构体类型.. 183
10.1.1 结构体类型的定义.. 183
10.1.2 结构体类型的变量.. 185
10.1.3 结构体类型的数组.. 188
10.1.4 结构体类型的指针变量 189
10.1.5 位段结构体.. 192
10.1.6 链表. 193
10.2 共用体类型.. 199
10.2.1 共用体类型的定义.. 199
10.2.2 共用体类型的变量.. 200
10.3 枚举类型 203
10.3.1 枚举类型的定义 203
10.3.2 枚举类型的变量 204
10.4 用typedef定义类型标识符. 206
习题10.207
第11章 数据文件 210
11.1 文件的概念.. 210
11.2 文件类型的指针变量.. 211
11.3 文件的打开与关闭 211
11.3.1 打开文件函数fopen() . 211
11.3.2 关闭文件函数fclose(). 212
11.4 文件的读/写. 213
11.4.1 字符读/写函数 213
11.4.2 格式化读/写函数.. 215
11.4.3 字符串读/写函数.. 217
11.4.4 数据块读/写函数.. 218
11.5 文件的定位.. 218
11.5.1 rewind()函数. 218
11.5.2 fseek()函数. 219
11.5.3 ftell()函数 219
习题11.219
第12章 C 语言综合应用. 222
12.1 字符屏幕与图形功能函数 222
12.1.1 常用的字符屏幕函数. 222
12.1.2 常用的图形处理函数. 226
12.2 程序开发的实用技术.. 235
12.2.1 菜单的设计方法 235
12.2.2 运行一个多文件的程序 236
12.2.3 文件之间的调用 238
12.3 综合应用举例.. 239
12.3.1 系统功能设计. 239
12.3.2 程序模块划分与设计. 239
12.3.3 程序连接与运行 250
附录A ASCII字符编码表.251
附录B 运算符的优先级和结合方向252
附录C 常用库函数..253
参考文献..258 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1 时景荣 教授 计算机基础教学、程序设计 工作单位吉林化工学院信息与控制工程学院 邮政编码 电话13843225590 2 李鑫 计算机基础教学、程序设计 工作单位吉林化工学院信息与控制工程学院邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 时景荣,男,吉林化工学院信息与控制工程学院教授,计算机系主任,主讲计算机基础、程序设计等课程多年,经验丰富,收到师生的喜爱,曾主持或参与省级、校级等多项科研项目,发表论文多篇。李鑫:教授,硕士,计算机系主任。计算机软件与理论学科带头人。从事软件工程和分布式数据库的教学科研工作,取得了多项科研成果。参与省部级科研项目3项,其它科研项目6项,获部级科技进步三等奖一项、获学院科技进步一等奖一项、获吉林市科技局成果奖一项,发表学术论文15篇。参与编著5部国家级著作。多次被评为校“三育人”先进个人。 -
编辑推荐
-
书评书荐
-
附件下载
图书推荐