C程序设计案例教程
书 号:9787113199333
丛 书 名:普通高等教育“十二五”规划教材
作 者:陈虹 刘熹
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:34元
-
内容简介
本书引进计算思维(ComputationalThinking)方法,根据C语言程序设计的特点,以C语言初学者为阅读对象,以程序设计为主线,以编程应用为驱动,通过丰富的案例详细介绍了C程序设计的思想及方法。本书叙述严谨,实例丰富,难易适中,重点突出。
本书主要内容包括简单C程序设计,数据类型、运算符、表达式和算法,顺序结构,选择结构,循环结构,数组,函数,指针,结构体和共用体,文件。为了避免学习过程中的枯燥乏味,书中精选了一些富有实用性及趣味性的案例,增强了全书的可读性,便于读者在轻松愉快的氛围中学习。
本书适合作为高等院校的教学用书,也可作为广大编程爱好者的自学读物,还可作为各类计算机等级考试的辅导用书。 -
前言
C语言是一门典型的计算机程序设计语言,也是各高校计算机专业教育和公共计算机教育的入门语言,因其适合培养程序设计者良好的编程风格、易于体现结构化程序设计思想,成为当今世界上应用广泛、最具影响力的程序设计语言之一。C语言具有语言紧凑整齐、设计精巧、编辑方便、编译与目标代码运行效率高、操作简便、使用灵活等许多鲜明的特点。当前,学习C语言已经成为广大计算机应用人员和 IT从业人员的迫切需要。
本书引进计算思维(Computational Thinking)方法,从新的视角对 C语言进行全面介绍,侧重对程序设计能力的培养。全书基于典型案例激发教学互动、创设关联情境,共分为 10 个情境,包括:情景一简单 C程序设计;情境二数据类型、运算符、表达式和算法;情境三顺序结构;情境四选择结构;情境五循环结构;情境六数组;情境七函数;情境八指针;情境九结构体和共用体;情境十文件。为给读者提供参考,特将本书学习中会用到的 C语言中的关键字、C 语言中的常用转义字符、ASCII 码对照表、C 语言中的运算符优先级对照表、C 语言中的常见错误中英文对照表、C语言中的库函数归纳整理,作为附录附于书后。
本书采用工学结合、任务驱动的方式编写,以培养计算思维能力为主线,使读者能通过案例轻松地学到相应的知识点,不仅适用于课堂教学,也适合广大计算机爱好者自学。
本书由陈虹、刘熹担任主编,由罗晓娟、王永策担任副主编。其中,情境一、情境二、情境十由罗晓娟编写,情境三、情境四、情境五由陈虹编写,情境六、情境七由王永策编写,情境八、情境九、附录由刘熹编写。全书由苏啸教授主审。
本书在编写过程中参考了一些优秀的著作、书籍和网站,在此对这些参考资料的作者表示最诚挚的谢意。在本书的出版过程中,得到了苏啸教授、周锦春教授及许多同事的指导和帮助,同时得到了中国铁道出版社的大力支持,在此,向他们表示衷心的感谢!
在本书的编写过程中,尽管我们力求精益求精,但由于时间仓促,加之水平有限,书中难免有疏漏和不足之处,敬请广大读者和同行批评指正。
编者
2014 年 12 月
-
目录
情境一 简单 C 程序设计...................................................................................................... 1
案例描述........................................................................................................................................2
案例相关知识................................................................................................................................2
1.1 C 语言程序的基本结构................................................................................................2
1.1.1 简单的 C 语言程序...........................................................................................2
1.1.2 输入/输出函数 ..................................................................................................4
1.1.3 C 语言程序的结构特点....................................................................................4
1.2 运行 C 程序的步骤与方法...........................................................................................4
1.2.1 运行 C 程序的步骤...........................................................................................4
1.2.2 C 语言的版本及运行环境................................................................................5
1.2.3 C 语言的字符集................................................................................................7
1.2.4 C 语言的词汇....................................................................................................7
案例分析与实现............................................................................................................................9
小结............................................................................................................................................ 10
习题............................................................................................................................................ 10
情境二 数据类型、运算符、表达式和算法........................................................................ 11
案例描述......................................................................................................................................11
案例相关知识..............................................................................................................................11
2.1 常量与变量.................................................................................................................11
2.1.1 常量..................................................................................................................12
2.1.2 简单宏定义......................................................................................................12
2.1.3 变量..................................................................................................................13
2.2 数据类型.....................................................................................................................13
2.3 常用运算符与表达式.................................................................................................15
2.3.1 C 语言的运算符分类......................................................................................15
2.3.2 算术运算符和算术表达式..............................................................................16
2.3.3 运算符的优先级和结合性..............................................................................17
2.3.4 强制类型转换运算符......................................................................................17
2.3.5 自增、自减运算符..........................................................................................17
2.3.6 赋值运算符和赋值表达式..............................................................................18
2.3.7 逗号运算符和逗号表达式..............................................................................19
2.4 程序的灵魂——算法.................................................................................................20
2.4.1 算法的概念......................................................................................................20
2.4.2 简单算法举例..................................................................................................20
2.4.3 算法的特性......................................................................................................21
2.4.4 算法的表示方法..............................................................................................21
案例分析与实现..........................................................................................................................23
小结............................................................................................................................................ 24
习题............................................................................................................................................ 25
情境三 顺序结构............................................................................................................... 26
案例描述......................................................................................................................................26
案例相关知识..............................................................................................................................26
3.1 数据输入/输出的概念及在 C 语言中的实现...........................................................26
3.1.1 字符数据的输入与输出..................................................................................27
3.1.2 格式输入与输出..............................................................................................29
3.2 C 语言程序的结构......................................................................................................35
3.2.1 顺序结构程序设计举例..................................................................................35
3.2.2 C 程序的结构..................................................................................................36
3.3 C 语句 .........................................................................................................................38
3.3.1 C 语句的作用和分类......................................................................................38
3.3.2 赋值语句..........................................................................................................39
案例分析与实现..........................................................................................................................40
小结............................................................................................................................................ 42
习题............................................................................................................................................ 43
情境四 选择结构............................................................................................................... 44
案例描述......................................................................................................................................44
案例相关知识..............................................................................................................................45
4.1 关系运算符和关系表达式.........................................................................................45
4.1.1 关系运算符及其优先顺序..............................................................................45
4.1.2 关系表达式......................................................................................................45
4.2 逻辑运算符和逻辑表达式.........................................................................................46
4.2.1 逻辑运算符及其优先顺序..............................................................................46
4.2.2 逻辑表达式......................................................................................................47
4.3 条件运算符与条件表达式.........................................................................................47
4.4 if 语句..........................................................................................................................48
4.4.1 简单 if 语句形式.............................................................................................48
4.4.2 if...else 形式.....................................................................................................49
4.4.3 if...else if 形式..................................................................................................49
4.5 if 语句的嵌套..............................................................................................................51
4.6 switch 语句..................................................................................................................52
案例分析与实现..........................................................................................................................54
小结............................................................................................................................................ 56
习题............................................................................................................................................ 56
情境五 循环结构............................................................................................................... 58
案例描述......................................................................................................................................58
案例相关知识..............................................................................................................................58
5.1 while 语句....................................................................................................................59
5.1.1 while 语句的形式............................................................................................59
5.1.2 while 语句的执行过程....................................................................................59
5.1.3 while 语句的拓展实例....................................................................................62
5.2 do...while 语句.............................................................................................................64
5.2.1 do…while 语句的形式 ....................................................................................64
5.2.2 do…while 语句的执行过程 ............................................................................64
5.2.3 do…while 语句的拓展实例 ............................................................................65
5.3 for 语句........................................................................................................................67
5.3.1 for 语句的形式................................................................................................67
5.3.2 for 语句的执行过程........................................................................................68
5.3.3 for 语句的拓展实例........................................................................................70
5.4 循环的嵌套.................................................................................................................72
5.4.1 循环嵌套的执行过程......................................................................................72
5.4.2 循环嵌套的拓展实例......................................................................................76
5.5 break 语句和 continue 语句........................................................................................77
5.5.1 break 语句........................................................................................................77
5.5.2 continue 语句...................................................................................................79
案例分析与实现..........................................................................................................................80
小结............................................................................................................................................ 81
习题............................................................................................................................................ 82
情境六 数组...................................................................................................................... 84
案例描述......................................................................................................................................84
案例相关知识..............................................................................................................................84
6.1 一维数组.....................................................................................................................84
6.1.1 一维数组的定义..............................................................................................84
6.1.2 一维数组的引用..............................................................................................85
6.1.3 一维数组的初始化..........................................................................................85
6.1.4 一维数组的拓展实例......................................................................................86
6.2 二维数组.....................................................................................................................88
6.2.1 二维数组的定义..............................................................................................88
6.2.2 二维数组的引用..............................................................................................88
6.2.3 二维数组的初始化..........................................................................................88
6.2.4 二维数组的拓展实例......................................................................................89
6.3 字符数组.....................................................................................................................91
6.3.1 字符数组的定义..............................................................................................91
6.3.2 字符数组的初始化..........................................................................................92
6.3.3 字符及字符串操作的常用函数......................................................................92
6.3.4 字符数组的拓展实例......................................................................................94
案例分析与实现..........................................................................................................................95
小结............................................................................................................................................ 97
习题............................................................................................................................................ 97
情境七 函数...................................................................................................................... 98
案例描述......................................................................................................................................98
案例相关知识..............................................................................................................................98
7.1 函数的定义.................................................................................................................98
7.1.1 无参函数的定义..............................................................................................98
7.1.2 空函数............................................................................................................101
7.1.3 有参函数的定义............................................................................................101
7.2 函数的调用...............................................................................................................101
7.2.1 函数调用的一般方法....................................................................................101
7.2.2 函数的声明....................................................................................................102
7.2.3 函数的参数与返回值....................................................................................102
7.3 函数的嵌套调用.......................................................................................................103
7.3.1 数组名作为函数参数....................................................................................103
7.3.2 嵌套调用........................................................................................................104
7.4 函数的递归调用.......................................................................................................106
7.5 局部变量和全局变量...............................................................................................108
7.5.1 变量的作用域和生存期................................................................................108
7.5.2 变量的存储类型............................................................................................108
7.5.3 内部函数和外部函数....................................................................................112
案例分析与实现........................................................................................................................113
小结.......................................................................................................................................... 115
习题.......................................................................................................................................... 116
情境八 指针.................................................................................................................... 118
案例描述....................................................................................................................................118
案例相关知识............................................................................................................................118
8.1 指针的定义...............................................................................................................118
8.2 指针变量...................................................................................................................119
8.2.1 指针变量的定义............................................................................................119
8.2.2 指针变量的引用............................................................................................119
8.2.3 指针变量的初始化........................................................................................122
8.2.4 指针变量的运算............................................................................................122
8.3 指针与数组...............................................................................................................124
8.3.1 指向数组元素的指针....................................................................................124
8.3.2 一维数组元素的指针访问方式....................................................................124
8.3.3 指向多维数组的指针变量............................................................................125
8.3.4 指针与字符串................................................................................................126
8.4 指针与函数...............................................................................................................128
8.4.1 指针变量作为函数参数................................................................................128
8.4.2 数组指针作为函数参数................................................................................129
8.4.3 指针作为函数的返回值................................................................................130
8.4.4 指向函数的指针............................................................................................131
案例分析与实现........................................................................................................................135
小结.......................................................................................................................................... 136
习题.......................................................................................................................................... 136
情境九 结构体和共用体 .................................................................................................. 138
案例描述....................................................................................................................................138
案例相关知识............................................................................................................................138
9.1 结构体类型...............................................................................................................138
9.1.1 结构体类型的形式........................................................................................138
9.1.2 结构体变量的定义........................................................................................139
9.1.3 结构体变量的引用........................................................................................141
9.1.4 结构体变量的初始化....................................................................................143
9.1.5 结构体数组的定义........................................................................................144
9.1.6 结构体与函数................................................................................................147
9.1.7 结构体变量的指针........................................................................................148
9.1.8 类型定义符 typedef .......................................................................................150
9.2 共用体.......................................................................................................................151
9.2.1 共用体的形式................................................................................................151
9.2.2 共用体变量的定义........................................................................................151
9.2.3 共用体变量的引用........................................................................................152
9.3 枚举类型...................................................................................................................154
9.3.1 枚举类型的定义............................................................................................154
9.3.2 枚举类型的引用............................................................................................155
案例分析与实现........................................................................................................................158
小结.......................................................................................................................................... 159
习题.......................................................................................................................................... 160
情境十 文件.................................................................................................................... 161
案例描述....................................................................................................................................161
案例相关知识............................................................................................................................161
10.1 文件概述.................................................................................................................161
10.1.1 文件的定义..................................................................................................161
10.1.2 文件指针......................................................................................................163
10.1.3 文件的打开..................................................................................................163
10.1.4 文件的关闭..................................................................................................165
10.2 文件的常用操作.....................................................................................................167
10.2.1 字符的读写..................................................................................................167
10.2.2 字符串的读写..............................................................................................169
10.2.3 数据块读写函数..........................................................................................171
10.2.4 格式化读写函数..........................................................................................173
10.2.5 文件的定位..................................................................................................176
10.2.6 文件的检测..................................................................................................181
案例分析与实现........................................................................................................................182
小结.......................................................................................................................................... 183
习题.......................................................................................................................................... 184
附录 A C 语言中的关键字 ............................................................................................... 185
附录 B C 语言的常用转义字符........................................................................................ 186
附录 C ASCII 码对照表................................................................................................... 187
附录 D C 语言中的运算符优先级对照表.......................................................................... 189
附录 E C 语言中的常见错误中英文对照表....................................................................... 190
附录 F C 语言中的库函数 ............................................................................................... 196
参考文献........................................................................................................................... 202 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1陈虹 研究生 副教授软件工程、嵌入式系统开发、物联网应用 工作单位萍乡学院 邮政编码 电话07996684316 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 主要从计算机专业教学与研究工作及学生管理工作。先后主讲过《计算机文化基础》、《VB程序设计》、《C程序设计》《LINUX系统管理》、《电路分析》、《模拟电路》、《数字逻辑》、《计算机专业英语》、《自动控制原理》等课程。于2001年赴北京中科院进修学习LINUX系统管理,2003年赴上海参加JICA培训并获得出国进修人员资格。迄今在省级以上刊物公开发表专业论文8篇,其中4篇在核心期刊上发表,主编参编教材多部。多次指导学生参加全国大学生数学建模竞赛和江西省大学生电子电脑大赛,被江西省教育厅评为“优秀指导教师”并授予“省级教学成果三等奖”。个人多次获学校“优秀共产党员”和“先进工作者”称号。 -
编辑推荐
-
书评书荐
-
附件下载
图书推荐