C语言程序设计
书 号:9787113219208
丛 书 名:
作 者:陆军,安德智
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:45元
-
内容简介
C语言是目前最为流行的通用程序设计语言之一,是许多计算机专业人员和计算机爱好者学习程序设计语言的首选。
本书共12章,内容包括C语言概述,数据类型、运算符与表达式,顺序结构程序设计,选择结构,循环结构,数组,函数,预处理,指针,结构体与共用体,位运算,文件等。本书注重可读性和实用性,对每章关键知识点进行了详细的说明,所有程序都由C++编译通过,并附有大量的图表方便读者正确、直观地对问题进行理解,样例程序由浅入深,强化了知识点、算法、编程方法与技巧,并给出了详细的解释。
本书适合作为高等院校本专科相关专业的教学参考书,也可供开发人员查阅、参考。 -
前言
C语言是一种结构化程序设计语言,兼有高级语言和低级语言的功能,不仅可用于编写系统软件,也可用于编写各类应用程序以及工业控制程序。目前流行的面向对象程序设计语言,如C++、Java、C#等都是在C语言的基础上发展派生而来的。通过学习C语言,学生不仅能够掌握程序设计的基本思想,也可为今后学习Java、C++、C#等语言打下良好的基础。
本书是学习C语言程序设计的基础教程,内容包括C语言概述,数据类型、运算符与表达式,顺序结构程序设计,选择结构,循环结构,数组,函数,预处理,指针,结构体与共用体,位运算文件等。本书以程序设计为中心,语法介绍精练,内容叙述深入浅出、循序渐进,程序案例生动易懂,具有很好的启发性,重点训练学生的编程思想,能够充分提高学生的编程能力,锻炼学生的工程能力和创新能力,并鼓励学生利用所学C语言知识解决专业的具体问题。
本书共分12章,第1章为C语言概述,介绍了C语言程序设计的方法与风格,以及C语言的编译及执行;第2章为数据类型、运算符及表达式,介绍了C语言中基本的数据类型、运算符,以及编程过程中用到的算术、逻辑及关系表达式;第3章为顺序结构程序设计,主要介绍了程序的基础结构及基本执行过程;第4章为选择结构,主要介绍几种选择结构及其应用;第5章为循环结构,主要介绍两种基本的循环结构及其应用;第6章为数组,主要介绍一维数组和二维数组的结构及应用;第7章为函数,主要对各类函数的结构及原理做了详细的阐述;第8章为预处理,主要介绍了C语言中基本的预处理命令及结构;第9章为指针,主要介绍指针的原理以及指针在函数、数组中的应用;第10章为结构体与公用体;第11章为位运算;第12章为文件,简单介绍了文件的概念及读写过程;
本书由陆军、安德智任主编,万洋洋、李燕任副主编。第1章由安德智编写,第2、3、4、5章由陆军编写,第6、7、8章由万洋洋编写,第9、10、11、12章由李燕编写。全书由陆军统稿。在编写过程中得到甘肃政法学院信息工程学院的大力支持,在此表示感谢。
由于编者水平有限,书中难免存在疏漏与不足之处,敬请读者指正。
编 者 -
目录
第1章 C语言概述 1
1.1 C语言简介 1
1.2 C语言的特点 1
1.3 面向对象的程序设计 2
1.4 C程序举例 2
1.5 C源程序的结构特点 5
1.6 C语言词汇 5
1.7 C程序的上机步骤 6
本章小结 8
习题 9
第2章 数据类型、运算符与表达式 11
2.1 C语言中常用的数据类型 11
2.2 常量与变量 12
2.2.1 常量 12
2.2.2 变量 14
2.3 整型数据 14
2.3.1 整型常量 14
2.3.2 整型变量 16
2.4 实型数据 19
2.4.1 实型常量 19
2.4.2 实型变量 20
2.5 字符型数据 21
2.5.1 字符常量 21
2.5.2 字符变量 23
2.5.3 字符串常量 26
2.6 运算符和表达式 27
2.6.1 运算符介绍 27
2.6.2 算术运算符与算术
表达式 27
2.6.3 赋值运算符和赋值
表达式 31
2.6.4 逗号运算符和逗号
表达式 33
2.6.5 sizeof运算符 35
2.6.6 关系运算符与关系
表达式 36
2.6.7 逻辑运算符与逻辑
表达式 37
2.7 数据类型的转换 40
2.7.1 自动类型转换 40
2.7.2 强制类型转换 43
本章小结 44
习题 45
第3章 顺序程序设计 47
3.1 C语句概述 47
3.2 赋值语句 48
3.3 数据输入/输出的概念及在
C语言中的实现 49
3.4 字符数据的输入/输出 50
3.4.1 putchar函数
(字符输出函数) 50
3.4.2 getchar函数
(键盘输入函数) 50
3.5 格式输入与输出 51
3.5.1 printf函数
(格式输出函数) 51
3.5.2 scanf函数
(格式输入函数) 55
3.6 顺序结构程序设计
举例 58
本章小结 59
习题 59
第4章 分支结构 52
4.1 if语句 62
4.1.1 if语句的三种形式 62
4.1.2 if语句的嵌套 73
4.2 条件运算符 77
4.3 switch-case语句 80
本章小结 84
习题 84
第5章 循环结构 88
5.1 goto语句以及用goto语句构成
循环 88
5.2 while语句 89
5.3 do-while语句 91
5.4 for语句 93
5.5 循环的嵌套 95
5.6 几种循环的比较 97
5.7 break语句 98
5.8 continue 语句 99
5.9 程序举例 100
本章小结 102
习题 102
第6章 数组 107
6.1 概述 107
6.2 一维数组的定义和使用 107
6.2.1 一维数组的定义 107
6.2.2 一维数组元素的引用 108
6.2.3 一维数组的初始化 110
6.2.4 一维数组程序举例 111
6.3 二维数组的定义和使用 112
6.3.1 二维数组的定义 112
6.3.2 数组元素的引用 113
6.3.3 二维数组的初始化 114
6.3.4 二维数组程序举例 115
6.4 字符数组 116
6.4.1 字符数组的定义 116
6.4.2 字符数组的初始化 117
6.4.3 字符数组的引用 118
6.4.4 字符串和字符串
结束标志 118
6.4.5 字符数组的输入与
输出 119
6.5 字符串处理函数 120
6.6 程序举例 124
本章小结 127
习题 127
第7章 函数 132
7.1 函数定义 132
7.1.1 函数的概念 132
7.1.2 函数定义形式 134
7.2 函数的调用 135
7.2.1 形式参数和实际参数 135
7.2.2 函数的返回值 137
7.2.3 函数调用的方式 138
7.2.4 函数的嵌套调用 139
7.2.5 函数的递归调用 141
7.2.6 数组作为函数参数 144
7.3 变量作用域 149
7.3.1 局部变量 149
7.3.2 全局变量 151
7.4 变量的存储类别 152
7.4.1 静态存储方式与动态
存储方式 152
7.4.2 auto变量 152
7.4.3 用static声明局部
变量 153
7.4.4 register变量 154
7.4.5 用extern声明外部
变量 155
7.5 内部函数和外部函数 156
7.5.1 内部函数 156
7.5.2 外部函数 156
7.6 标准函数简介 158
7.6.1 字符串处理函数 158
7.6.2 字符处理函数 159
7.6.3 动态地址分配函数 159
7.6.4 数学函数 159
7.6.5 数据类型转换函数 160
7.6.6 其他函数 161
本章小结 161
习题 161
第8章 预处理 165
8.1 宏定义 165
8.1.1 无参宏定义 165
8.1.2 带参宏定义 168
8.2 文件包含 173
8.3 条件编译 173
8.4 多文件结构 175
8.4.1 程序的多文件组织
方法 176
8.4.2 多文件程序的编译和
链接 176
本章小结 178
习题 178
第9章 指针 181
9.1 指针与指针变量 181
9.1.1 指针 181
9.1.2 指针变量 182
9.1.3 指针变量的引用 183
9.2 数组指针和指向数组的指针
变量 188
9.2.1 指向数组元素的指针 188
9.2.2 通过指针引用数组
元素 189
9.2.3 指向二维数组的指针和指针变量 191
9.3 字符串的指针指向字符串的指针变量 193
9.3.1 指向字符串的指针 193
9.3.2 字符串指针变量与字符数组的区别 197
9.4 指针与函数 198
9.4.1 指针变量作为函数参数 198
9.4.2 数组名作函数参数 200
9.4.3 函数指针变量 206
9.4.4 指针型函数 207
9.4.5 指向字符串的指针做
函数参数 208
9.5 指针数组和指向指针的指针 209
9.5.1 指针数组 209
9.5.2 指向指针的指针 212
9.5.3 main函数的参数 214
9.5.4 有关指针的数据类型的
小结 215
本章小结 216
习题 217
第10章 结构体与共享体 221
10.1 结构体 221
10.1.1 结构体的定义 221
10.1.2 结构体变量的声明 222
10.1.3 结构体变量的引用 223
10.1.4 结构体数组 224
10.2 结构指针变量 226
10.2.1 指向结构变量的指针 226
10.2.2 指向结构数组的指针 228
10.2.3 结构体变量作为函数
参数 229
10.3 共用体 231
10.3.1 共享体的定义 231
10.3.2 共享体变量的定义及
引用 231
10.4 类型定义符typedef 232
10.4 枚举类型 232
10.6 动态存储分配 234
本章小结 236
习题 237
第11章 位运算 240
11.1 位运算符 240
11.2 位运算符功能 240
11.3 位域 241
11.3.1 位域的定义和位域变量的
说明 241
11.3.2 位域的使用 242
11.4 位运算举例 243
本章小结 244
习题 245
第12章 文件 247
12.1 文件概述 247
12.2 文件类型指针 248
12.3 文件的打开和关闭 248
12.3.1 文件打开函数 248
12.3.2 文件关闭函数 250
12.4 文件的顺序读/写 250
12.4.1 字符读/写函数 250
12.4.2 字符串读写函数fgets和
fputs 253
12.4.3 数据块读写函数fread和
fwtrite 255
12.4.4 格式化读写函数fscanf和
fprintf 256
12.5 文件的随机读写 257
12.6 文件检测函数 258
12.7 C库文件 259
本章小结 260
习题 260
附录A C语言运算符的优先级和结合
方向 264
附录B C语言关键字及其用途 266
附录C ASCII码表 267
附录D C语言中常用的库函数 271
-
作者介绍
陆军(1982-)讲师 ,工学硕士,甘肃政法学院信息工程学院,2008年9月起至今主要担任c语言程序设计、c程序设计教学、数据结构的课程的教学工作,主编《计算机网络安全与技术》一部。联系电话18152106292,邮箱lj6703@gsli.edu.cn 安德智,男,1973。教授。自1994年入职甘肃政法学院以来,主要承担计算机基础、程序设计、计算机网络、数据库原理、网络安全等课程的教学工作;主持校级精品课程《数据库原理》的建设;2011年获甘肃省首届计算机基础教师竞赛本科组二等奖; 2010年、2012年获校级优秀中青年教师成才奖,2010年获学校首届“我最喜欢十大教师”光荣称号。2009年入选甘肃省政府采购专家库;2012年参加甘肃政法学院证据科学省级重点实验室工作;先后主持完成校级科研项目多项,多次获校级科研成果奖;主持完成教育厅科研项目两项;2013年主持国家自然科学基金项目一项;发表论文三十余篇,专著、教材6部。 -
编辑推荐
-
书评书荐
-
附件下载
图书推荐