C语言程序设计
书 号:9787113253196
丛 书 名:全国高等院校计算机基础教育“十三五”规划教材
作 者:侯向丹 李智
译 者:
开 本:16开
装 帧:平装
正文语种:中文
出 版 社:中国铁道出版社有限公司
定 价:36元
-
内容简介
本书全面地讲述了 C 语言程序设计的基础知识、方法和技巧,主要包括绪论,数据类型、运算符和表达式,程序设计基础,程序控制结构,函数,编译预处理指令,数组,指针,结构、联合、枚举和自定义类型,文件及 I/O 函数。本书对每个知识点都进行了详细的介绍,配有相应的例题、小思考、视频讲解等,指出编写程序时易犯的错误,引导学生举一反三,进行多方位思考。本书配有大量的习题,能让学生很好地掌握 C 语言的基本知识、编程方法和技巧。
本书实用性强,内容丰富,难易适中,适合作为高等院校学生学习 C 语言程序设计的教材,也可以作为 C 语言开发用户的参考用书。 -
前言
前言
随着教学改革的不断深入,C 语言程序设计作为计算机专业学生接触的第一门语言类课程,在课程体系、教学内容、教学手段和教学模式等方面都有了新的变化。为了适应这种形势的需求,我们组织了长期从事计算机程序设计课程教学、具有丰富实践经验的教师编写本书,供广大高校师生选用。
本书力求由简到繁、深入浅出地讲述程序设计的基础知识、方法和技巧等。本书概念清楚、例题丰富、易于理解、实用性强,将讲授的知识点融入典型例题中,并配有相应的习题,其中部分知识点配备了微视频讲解,可以很好地帮助学生理解概念、开拓思路、提高编程能力。书中完整的程序代码均在 VC6.0 环境中调试通过,并在书中插入了运行结果示意图供学生参考。另外,在附录中还配了四套模拟测试卷(附参考答案),以及 ASCII码表。
无论读者以前是否接触过程序设计语言,通过本书的学习均可以顺利进入计算机编程世界。
本书由河北工业大学侯向丹、李智任主编,河北工业大学彭玉青、于丽梅、袁玉倩、李艳萍、于东敏、肖国玺、刘明任副主编。具体编写分工如下:第 1、2 章由李智、李艳萍编写,第 3、4、5 章由侯向丹、刘明编写,第 6、7、8 章由彭玉青、于丽梅、于东敏编写,第 9、10 章由肖国玺、袁玉倩编写。全书zui后由侯向丹统编定稿。
在本书编写过程中,得到了河北工业大学人工智能与数据科学学院和廊坊分院很多老师的支持和帮助,在此一并表示zui真诚的谢意。
由于编者水平有限,书中难免有不妥和疏漏之处,恳请各位专家和广大读者批评指正。
编 者
2018 年 10 月 -
目录
第 1 章 绪论.....1
1.1 C 语言的发展和特点 ............. 1
1.1.1 C 语言的发展 ............ 1
1.1.2 C 语言的特点 ............ 2
1.2 C 语言程序的基本结构及书写格式 ... 2
1.2.1 C 语言程序的基本结构 .......... 2
1.2.2 C 语言程序的书写格式 .......... 4
1.3 C 语言程序的开发过程 ......... 5
1.3.1 编辑源程序.. 5
1.3.2 编译源文件.. 5
1.3.3 连接目标文件及库文件.......... 5
1.3.4 运行程序...... 6
1.4 C 语言程序的开发环境 ......... 6
习题 ..........10
第 2 章 数据类型、运算符和表达式...12
2.1 C 语言的词法约定 . 12
2.1.1 字符集 12
2.1.2 关键字 12
2.1.3 标识符 13
2.2 数据类型......... 13
2.2.1 C 语言的数据类型 .. 13
2.2.2 基本数据类型及其长度........ 14
2.2.3 类型修饰符 15
2.3 常量... 15
2.3.1 数值常量.... 15
2.3.2 字符常量.... 16
2.3.3 字符串常量 17
2.3.4 符号常量.... 18
2.4 变量... 18
2.4.1 变量的含义 18
2.4.2 整型变量.... 19
2.4.3 实型变量.... 21
2.4.4 字符变量.... 22
2.5 运算符和表达式..... 22
2.5.1 算术运算符与算术表达式.... 23
2.5.2 赋值运算符与赋值表达式.... 24
2.5.3 关系运算与逻辑运算............ 25
2.5.4 其他运算符与表达式............ 28
2.5.5 运算符优先级.......... 28
2.5.6 类型转换.... 29
习题 ..........30
第 3 章 程序设计基础...........32
3.1 程序设计概述. 32
3.2 结构化程序设计..... 32
3.2.1 结构化程序设计原理............ 32
3.2.2 结构化流程图.......... 34
3.3 基本输入与输出语句........... 35
3.3.1 字符输入/输出函数. 36
3.3.2 格式化输入/输出函数........... 37
习题 ..........40
第 4 章 程序控制结构...........42
4.1 顺序结构......... 42
4.2 选择结构......... 44
4.2.1 if 语句. 44
4.2.2 switch 语句 47
4.3 循环结构......... 49
4.3.1 while 循环... 49
4.3.2 do…while 循环......... 51
4.3.3 for 循环....... 53
4.3.4 三种循环语句的异同............ 58
4.4 break 语句与 continue 语句.. 59
4.4.1 break 语句 .. 59
4.4.2 continue 语句 .......... 60
4.5 双层循环......... 60
4.6 循环程序设计方法. 61
4.7 goto 语句 ......... 65
习题 ..........67
第 5 章 函数...71
5.1 一般函数......... 71
5.1.1 函数的说明和定义.. 71
5.1.2 函数的调用 72
5.1.3 函数的返回语句...... 73
5.2 函数的递归调用..... 76
5.3 变量的作用域规则及存储类别......... 78
5.3.1 局部变量和全局变量............ 78
5.3.2 变量的存储类别...... 80
习题 ..........83
第 6 章 编译预处理指令.......86
6.1 宏定义指令#define . 86
6.1.1 宏定义 86
6.1.2 宏定义的嵌套.......... 87
6.1.3 带参数的宏定义...... 88
6.1.4 取消宏定义命令#undef ......... 89
6.2 文件包含命令#include ......... 90
6.2.1 包含标题文件.......... 90
6.2.2 包含用户文件.......... 90
6.3 条件编译指令. 90
6.3.1 #if 形式....... 91
6.3.2 #ifdef、#ifndef 形式. 91
习题 ..........94
第 7 章 数组...96
7.1 一维数组......... 96
7.1.1 一维数组的定义...... 96
7.1.2 一维数组的引用...... 97
7.1.3 一维数组的初始化.. 98
7.1.4 一维数组程序举例.. 98
7.2 二维数组....... 100
7.2.1 二维数组的定义.... 100
7.2.2 二维数组的初始化 101
7.2.3 二维数组程序举例 102
7.3 字符数组....... 104
7.3.1 一维字符数组的定义.......... 104
7.3.2 一维字符数组的初始化...... 104
7.3.3 二维字符数组........ 105
7.3.4 字符数组的输入/输出......... 105
7.3.5 字符串处理函数.... 106
习题 ........109
第 8 章 指针. 112
8.1 指针的说明及初始化......... 112
8.1.1 指针与地址............ 112
8.1.2 指针运算符............ 113
8.1.3 指针的说明............ 114
8.1.4 指针的初始化........ 114
8.2 指针的运算... 116
8.2.1 指针的赋值............ 116
8.2.2 指针的算术运算.... 116
8.2.3 指针的关系运算.... 118
8.3 指针与数组... 119
8.3.1 指针与数组的关系 119
8.3.2 字符型指针与字符串.......... 120
8.3.3 指针数组.. 121
8.3.4 动态分配函数........ 124
8.4 指针与函数... 125
8.4.1 指针与函数参数.... 125
8.4.2 指针型函数............ 129
8.4.3 指向函数的指针.... 130
8.5 多级指针....... 132
8.6 命令行参数... 133
习题 ........134
第 9 章 结构、联合、枚举和自定义类型........137
9.1 结构. 137
9.1.1 结构类型的定义.... 137
9.1.2 结构变量的说明.... 138
9.1.3 结构变量的初始化 140
9.1.4 结构成员变量的引用.......... 141
9.2 结构数组....... 143
9.2.1 结构数组说明........ 143
9.2.2 结构数组的应用.... 144
9.3 结构指针....... 149
9.3.1 结构指针说明........ 149
9.3.2 结构指针目标成员的访问.. 149
9.4 将结构传递给函数............. 151
9.4.1 将结构成员传递给函数...... 151
9.4.2 将整个结构传递给函数...... 152
9.5 结构内部的数组和结构..... 153
9.5.1 结构成员数组........ 153
9.5.2 结构的嵌套............ 153
9.6 结构与链表... 155
9.6.1 链表的定义............ 156
9.6.2 单向链表.. 157
9.7 联合. 161
9.7.1 联合的定义及使用 161
9.7.2 结构与联合的异同 163
9.8 枚举. 163
9.9 位域. 163
9.10 用户自定义类型. 164
习题 ........164
第 10 章 文件及 I/O 函数 ...167
10.1 流和文件..... 167
10.1.1 流的概念 167
10.1.2 文件 168
10.2 文件操作函数..... 168
10.2.1 fopen( )和 fclose( )函数....... 168
10.2.2 字符读写函数 fgetc( )和 fputc( ) ...... 169
10.2.3 fgetw( )和 fputw( )函数........ 170
10.2.4 整行读写函数 fgets( )和 fputs( )....... 170
10.2.5 按格式读写函数 fprintf( )和 fscanf( )............. 171
10.2.6 读写数据块函数 fread( )和 fwrite( ). 172
10.2.7 fseek( )函数和随机访问 I/O............. 173
10.2.8 ftell( )函数............. 174
10.2.9 ferror( )和 rewind( )函数 ..... 174
10.2.10 删除文件函数 remove( ) .. 175
习题 ........175
附录 A 模拟测试卷及参考答案.........177
附录 B ASCII 码表.............196
参考文献 ........198 -
作者介绍
侯向丹,女,副教授,博士,硕士生导师,主要研究方向为智能信息处理。现为河北工业大学网络工程系教师。从事高等教育工作10多年,多次获得课堂质量优秀奖,从2009年起担任学校的教学督导委员,2012年当选本学院的优秀青年骨干教师。科研上,承担并参与多项省部级项目,发表多篇EI文章。获得河北省科学技术三等奖2次,河北省科学技术三等奖1次。
李智,女,硕士,讲师,河北工业大学软件工程系教师,从事教学工作多年。主要讲授课程为《软件工程》《C语言程序设计》等。 -
编辑推荐
由简到繁、深入浅出地讲述C语言程序设计的基础知识、方法与技巧。 -
书评书荐
-
附件下载
图书推荐