C语言程序设计
书 号:9787113187446
丛 书 名:普通高等院校“十二五”规划教材
作 者:熊婷 兰长明
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:36元
-
内容简介
本书根据大学计算机高级语言教学要求“突出重点、加强实践、学以致用”而编写。全书共分12章,内容包括:C语言概述,数据类型、运算符与表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,编译预处理,数组,函数,指针,结构体与共用体,位运算,文件。
本书由多年从事C语言程序设计教学的老师编写,内容理论联系实际,由浅入深,通俗易懂,注重对学生实践能力的培养,便于学生自学。
本书适合作为普通高等院校相关专业“C语言程序设计”课程的教材,也可作为程序设计爱好者的自学参考用书。 -
前言
C 语言是一门结构化程序设计语言,但它既是一门高级语言,又具有一些低级语言的功能;
既能用来设计系统程序(包括设计一些与硬件接口的程序),也能用来设计应用程序。所以,C
语言至今仍具有强大的生命力。目前,全国各大学大部分理工科专业基本上都保留了“C 语言程
序设计”这门课程,并把它作为学习高级语言的必修课程。本书就是在这种思想指导下编写而成。
本书注重可读性和适用性,在内容的选择上力求概念清晰、重点突出、案例经典新颖;内
容组织上循序渐进;编写风格上语言准确、言简意赅。同时,在编写过程中,兼顾全国计算机
等级考试和全国各类软件设计大赛相关内容,对学生备考也有帮助。
全书共分12 章,内容包括:C 语言概述,数据类型、运算符与表达式,顺序结构程序设
计,选择结构程序设计,循环结构程序设计,编译预处理,数组,函数,指针,结构体与共用
体,位运算和文件。本书内容全面,每章开头均介绍本章内容与前后章节知识点的联系;在“小
结”中对要求掌握的知识点进行归纳,梳理;每章都有实例,并加注了相关注释,使读者能正
确、直观地理解问题,强化知识点、算法、编程方法与技巧;附录中详细列出“C 语言中常见
错误分析”,给出了在编程中可能出现的语法和语义错误;为了兼顾计算机等级考试,在内容
安排上完全符合计算机等级考试大纲要求;同时,每章提供题型丰富的习题。
为了方便教学,本书配有上机指导书《C 语言程序设计实验指导与习题解答》,并无偿提
供课件、电子教案和上机考试软件。
本书由南昌大学科技学院熊婷、兰长明任主编,吴赟婷、赵金萍、梅毅任副主编。具体编
写分工:第1 章、第5 章、第10 章由吴赟婷编写,第2 章、第9 章由赵金萍编写,第3 章、第
6 章、第7 章由熊婷编写,第4 章、第8 章由兰长明编写,第11 章、第12 章由梅毅编写,全书
由熊婷、梅毅统稿。另外,在编写过程中,张炘、王钟庄、邹璇、刘敏、范晰、罗少彬、邓伦丹、
罗丹、汪伟、周权来、李昆仑、汪滢、张剑、罗婷等老师做了大量的辅助工作,并提出了许多宝
贵意见;中国铁道出版社编辑、南昌大学科技学院的各级领导、计算机系全体教职员工给予
了大力支持,在此一并表示衷心感谢!
由于时间长仓促,编者水平有限,书中难免存在疏漏与不妥之处,敬请读者批评指正。
编 者
2014 年5 月 -
目录
第1 章 C 语言概述............................................................................................................. 1
1.1 程序设计语言的发展历史................................................................................................... 1
1.2 C 语言的发展历程及其主要特点....................................................................................... 2
1.2.1 C 语言的发展历程................................................................................................... 2
1.2.2 C 语言的主要特点................................................................................................... 2
1.3 C 语言的基本组成............................................................................................................... 5
1.4 C 程序的编写与运行........................................................................................................... 5
1.4.1 Visual C++6.0 环境.................................................................................................. 5
1.4.2 编写与运行C 语言程序.......................................................................................... 6
小结............................................................................................................................................... 7
习题............................................................................................................................................... 7
第2 章 数据类型、运算符与表达式.................................................................................. 10
2.1 C 语言中的数据类型......................................................................................................... 10
2.2 常量与变量......................................................................................................................... 10
2.2.1 常量........................................................................................................................ 11
2.2.2 变量........................................................................................................................ 13
2.3 整型数据............................................................................................................................. 13
2.3.1 整型常量................................................................................................................ 14
2.3.2 整型变量................................................................................................................ 14
2.3.3 整型数据在内存中的存储形式............................................................................ 15
2.4 实型数据............................................................................................................................. 16
2.4.1 实型常量................................................................................................................ 16
2.4.2 实型变量................................................................................................................ 17
2.5 字符型数据......................................................................................................................... 18
2.5.1 字符常量................................................................................................................ 18
2.5.2 字符变量................................................................................................................ 19
2.5.3 字符串常量............................................................................................................ 21
2.6 运算符和表达式................................................................................................................. 22
2.6.1 运算符概述............................................................................................................ 22
2.6.2 表达式概述............................................................................................................ 22
2.6.3 算术运算符与算术表达式.................................................................................... 22
2.6.4 关系运算符与关系表达式.................................................................................... 23
2.6.5 赋值运算符与赋值表达式.................................................................................... 24
2.6.6 逻辑运算符与逻辑表达式.................................................................................... 25
2.6.7 自增、自减运算符................................................................................................ 26
2.6.8 逗号运算符与逗号表达式.................................................................................... 26
目录 CONTENTS
2 C语言程序设计
2.6.9 sizeof 运算符.......................................................................................................... 27
2.7 运算符的优先级与类型的强制转换................................................................................. 27
2.7.1 运算符的优先级.................................................................................................... 27
2.7.2 强制类型转换........................................................................................................ 28
小结............................................................................................................................................. 30
习题............................................................................................................................................. 30
第3 章 顺序结构程序设计................................................................................................. 33
3.1 结构化程序设计的基本结构............................................................................................. 33
3.1.1 语句的概念............................................................................................................ 33
3.1.2 赋值语句................................................................................................................ 35
3.1.3 三种基本结构........................................................................................................ 36
3.2 程序设计中算法的表示方法............................................................................................. 37
3.3 数据的输入与输出语句..................................................................................................... 41
3.3.1 字符数据的输入与输出........................................................................................ 41
3.3.2 用printf()函数输出数据........................................................................................ 43
3.3.3 用scanf()函数输入数据......................................................................................... 46
3.4 顺序结构综合实例............................................................................................................. 52
小结............................................................................................................................................. 55
习题............................................................................................................................................. 56
第4 章 选择结构程序设计................................................................................................. 59
4.1 单分支结构......................................................................................................................... 59
4.1.1 if 语句的三种形式................................................................................................. 59
4.1.2 if 语句的嵌套......................................................................................................... 63
4.1.3 条件运算符............................................................................................................ 66
4.2 多分支结构......................................................................................................................... 66
4.3 分支结构综合实例............................................................................................................... 69
小结............................................................................................................................................. 72
习题............................................................................................................................................. 72
第5 章 循环结构程序设计................................................................................................. 75
5.1 循环结构的基本概念......................................................................................................... 75
5.2 循环语句............................................................................................................................. 75
5.2.1 while 循环语句....................................................................................................... 75
5.2.2 do...while 循环语句................................................................................................ 76
5.2.3 for 循环语句........................................................................................................... 77
5.3 三种循环的比较................................................................................................................. 79
5.4 循环嵌套............................................................................................................................. 79
5.5 循环中断语句..................................................................................................................... 80
5.5.1 break 语句.............................................................................................................. 80
目 录 3
5.5.2 continue 语句.......................................................................................................... 81
5.6 循环结构综合实例............................................................................................................. 82
小结............................................................................................................................................. 85
习题............................................................................................................................................. 85
第6 章 编译预处理........................................................................................................... 90
6.1 宏定义................................................................................................................................ 90
6.1.1 无参宏定义............................................................................................................ 90
6.1.2 有参宏定义............................................................................................................ 93
6.2 文件包含............................................................................................................................. 97
6.3 条件编译............................................................................................................................. 97
6.4 多文件结构....................................................................................................................... 100
6.4.1 程序的多文件组织方法...................................................................................... 100
6.4.2 多文件程序的编译和连接.................................................................................. 101
6.5 编译预处理综合实例....................................................................................................... 102
小结........................................................................................................................................... 107
习题........................................................................................................................................... 107
第7 章 数组.................................................................................................................... 111
7.1 数组的基本概念............................................................................................................... 111
7.2 一维数组........................................................................................................................... 111
7.2.1 一维数组的定义与初始化.................................................................................. 111
7.2.2 一维数组的引用.................................................................................................. 114
7.2.3 一维数组应用举例.............................................................................................. 115
7.3 二维数组........................................................................................................................... 118
7.3.1 二维数组的定义与初始化.................................................................................. 118
7.3.2 二维数组的使用方法.......................................................................................... 120
7.3.3 二维数组应用举例.............................................................................................. 121
7.4 字符串与字符数组........................................................................................................... 124
7.4.1 字符串概述.......................................................................................................... 124
7.4.2 字符数组的定义与初始化.................................................................................. 124
7.4.3 字符数组的引用.................................................................................................. 126
7.4.4 字符串处理函数.................................................................................................. 128
7.4.5 字符数组应用举例.............................................................................................. 132
7.5 数组综合实例................................................................................................................... 135
小结........................................................................................................................................... 140
习题........................................................................................................................................... 140
第8 章 函数.................................................................................................................... 143
8.1 函数的分类....................................................................................................................... 143
8.2 函数的定义与声明........................................................................................................... 144
4 C语言程序设计
8.3 函数的参数和函数的值................................................................................................... 146
8.3.1 参数的传递规则.................................................................................................. 147
8.3.2 函数的返回值...................................................................................................... 148
8.4 函数的调用....................................................................................................................... 149
8.4.1 函数调用的一般形式.......................................................................................... 149
8.4.2 函数的声明和函数原型...................................................................................... 150
8.4.3 函数的嵌套调用.................................................................................................. 151
8.4.4 函数的递归调用.................................................................................................. 152
8.5 数组名作为函数参数....................................................................................................... 153
8.5.1 一维数组名作为函数的参数.............................................................................. 153
8.5.2 多维数组名作为函数的参数.............................................................................. 156
8.6 局部变量与全局变量....................................................................................................... 157
8.6.1 局部变量.............................................................................................................. 157
8.6.2 全局变量.............................................................................................................. 159
8.7 变量的存储类别............................................................................................................... 161
8.7.1 动态变量.............................................................................................................. 161
8.7.2 静态变量.............................................................................................................. 162
8.7.3 寄存器变量.......................................................................................................... 162
8.7.4 外部变量.............................................................................................................. 163
8.8 内部函数和外部函数....................................................................................................... 164
8.8.1 内部函数.............................................................................................................. 164
8.8.2 外部函数.............................................................................................................. 164
小结........................................................................................................................................... 165
习题........................................................................................................................................... 165
第9 章 指针.................................................................................................................... 169
9.1 指针与指针变量............................................................................................................... 169
9.1.1 指针...................................................................................................................... 169
9.1.2 指针变量.............................................................................................................. 169
9.2 指针与函数....................................................................................................................... 172
9.2.1 函数指针变量...................................................................................................... 174
9.2.2 返回指针的函数.................................................................................................. 175
9.2.3 指向指针的指针.................................................................................................. 176
9.3 指针与数组....................................................................................................................... 177
9.3.1 指向一维数组的指针.......................................................................................... 177
9.3.2 指向二维数组的指针.......................................................................................... 180
9.3.3 指向数组的指针做函数参数.............................................................................. 182
9.3.4 指针数组.............................................................................................................. 183
9.4 指针与字符串................................................................................................................... 183
9.4.1 指向字符串的指针.............................................................................................. 184
目 录 5
9.4.2 指向字符串的指针做函数参数.......................................................................... 187
9.5 指针综合实例................................................................................................................... 188
小结........................................................................................................................................... 193
习题........................................................................................................................................... 193
第10 章 结构体与共用体................................................................................................ 198
10.1 结构体............................................................................................................................. 198
10.1.1 结构体的定义.................................................................................................... 198
10.1.2 结构体变量的定义............................................................................................ 199
10.1.3 结构体变量的引用............................................................................................ 200
10.2 结构体变量作为函数参数及返回结构体类型值的函数............................................. 201
10.2.1 结构体变量作为函数参数................................................................................ 201
10.2.2 结构体类型函数................................................................................................ 203
10.3 用指针处理链表............................................................................................................. 204
10.3.1 链表的基本概念................................................................................................ 204
10.3.2 处理动态链表的库函数.................................................................................... 206
10.4 共用体............................................................................................................................. 206
10.4.1 共用体的定义.................................................................................................... 207
10.4.2 共用体变量的定义及引用................................................................................ 207
10.5 枚举类型......................................................................................................................... 207
10.6 用typedef 定义类型....................................................................................................... 209
10.7 结构体综合实例............................................................................................................. 209
小结........................................................................................................................................... 210
习题........................................................................................................................................... 211
第11 章 位运算.............................................................................................................. 214
11.1 位运算符和位运算......................................................................................................... 214
11.1.1 位运算符............................................................................................................ 214
11.1.2 位运算符的运算功能........................................................................................ 214
11.2 位运算综合实例............................................................................................................. 215
小结........................................................................................................................................... 218
习题........................................................................................................................................... 218
第12 章 文件.................................................................................................................. 220
12.1 文件的概念..................................................................................................................... 220
12.2 文件指针......................................................................................................................... 220
12.3 打开与关闭文件............................................................................................................. 220
12.4 文件常用操作函数的使用............................................................................................. 222
12.4.1 fgetc()函数和fputc()函数................................................................................... 222
12.4.2 feof()函数............................................................................................................ 224
12.4.3 fscanf()函数和fprintf()函数................................................................................ 225
6 C语言程序设计
12.4.4 fgets()函数和fputs()函数.................................................................................... 226
12.4.5 fread()函数和fwrite()函数.................................................................................. 228
12.5 文件定位函数................................................................................................................. 230
12.5.1 fseek()函数.......................................................................................................... 230
12.5.2 ftell()函数............................................................................................................ 230
12.5.3 rewind()函数....................................................................................................... 231
12.6 文件综合实例................................................................................................................. 233
小结........................................................................................................................................... 236
习题........................................................................................................................................... 236
附录A C 语言运算符的优先级和结合方向...................................................................... 239
附录B C 语言关键字及其用途........................................................................................ 241
附录C ASCII 码表.......................................................................................................... 242
附录D C 语言中常用的库函数........................................................................................ 246
附录E C 语言中常见错误分析........................................................................................ 249
参考文献........................................................................................................................... 257 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1 熊婷在职研究生 讲师软件工程 工作单位南昌大学科技学院 邮政编码 电话 137329588012 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 熊婷:1998.9-2002.7年,就读于江西师范大学,获得学士学位,2005.3-2007.7年,于云南大学进行在职研究生学习,获得硕士学位。2002.7-2004.6年,在江西省高安中学工作,2004.7至今在南昌大学科技学院工作在高校工作期间,主持一个院级基金课题和一个省级科技课题,并均结题,参与了三个省课题。 -
编辑推荐
-
书评书荐
-
附件下载
图书推荐