C语言程序设计教程

-
【作 者】张永 胡敏 主编
【I S B N 】978-7-5084-7593-6
【责任编辑】李炎
【适用读者群】本科
【出版时间】2010-08-01
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】264
【千字数】304
【印 张】12.5
【定 价】¥24
【丛 书】21世纪高等院校创新精品规划教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书按照学习C语言的一般顺序以及考纲的要求为脉络来编写,共11章,分为三个部分:第一部分介绍C语言的入门知识;第二部分介绍C语言的算法和三种程序结构;第三部分介绍C语言中的各种数据类型、函数和指针等的使用,使读者能够逐渐解决复杂的问题。
本书内容详实、逻辑清晰、讲解透彻、涉及面广,具有极强的可操作性和针对性。
本书适合作为高等院校C语言课程教材和C语言编程爱好者的自学教材,也可作为全国计算机等级考试二级C语言的培训和自学教材。
按照学习C语言的一般顺序以及考纲的要求为脉络来编写,分为C语言的入门知识,C语言的算法和三种程序结构,C语言中的各种数据类型、函数和指针等的使用三部分,使读者能够逐渐解决复杂的问题。
本书内容详实、逻辑清晰、讲解透彻、涉及面广,具有极强的可操作性和针对性。通过本书的学习,可以使读者逐步掌握C语言的编程方法。
C语言是国际上广泛流行的、很有发展前途的计算机高级语言。在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;一般的高级语言又难以实现对计算机硬件的直接操作,于是人们盼望有一种兼有汇编语言和高级语言特性的新语言。C语言在20世纪70年代初应运而生,1978年美国电话电报公司(AT&T)贝尔实验室正式发布了C语言。随后由于C语言的强大功能和各方面的优点逐渐为人们所知,到了20世纪80年代,C语言开始进入各类操作系统,并很快在各类大、中、小和微型计算机上得到广泛的使用,成为当代最优秀的程序设计语言之一。
C语言是一种结构化语言,它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构;还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既适用于系统软件的开发,又适合于应用软件的开发。此外,C语言还具有效率高、可移植性强等特点。
全书共包括11章,大致可分为三大部分:第一部分为第1章和第2章,介绍C语言的入门知识,包括C语言的组成与结构、基本数据类型等;第二部分为第3章和第4章,介绍C语言的算法以及三种程序结构,包括顺序结构、选择结构和循环结构;第三部分为第5章至第11章,对数组、函数、编译预处理、指针、结构体与共用体、位运算以及文件作了详细的说明,以使读者逐步掌握C语言的编程方法。全书内容详实、逻辑清晰、讲解透彻,便于读者快速掌握和深入学习。
本书由张永、胡敏任主编,蔡虹、黄华、张英任副主编,参加编写工作的还有张文华、丁小峰、金双平、杜波、王小青、李鑫、李强、王克杰、黄浩等。
由于编者水平有限,时间仓促,错误之处在所难免。敬请读者不吝指正,以期日后修订时改进。
编 者
2010年6月
第1章 C语言概述 1
1.1 C语言的发展和特点 1
1.2 C程序的组成 2
1.2.1 C程序由函数组成 2
1.2.2 函数的组成 2
1.2.3 关键词、标识符和C语句 2
1.2.4 库函数和头文件 3
1.3 C程序的结构 4
1.4 C程序的书写风格 4
1.5 小结 5
习题一 5
第2章 数据类型及运算 7
2.1 基本数据类型 7
2.1.1 数据类型 7
2.1.2 基本数据类型 8
2.2 常量与变量 9
2.2.1 常量 9
2.2.2 变量 12
2.3 运算符 13
2.3.1 运算符的种类、优先级和结合性 13
2.3.2 算术运算符 15
2.3.3 关系运算符和逻辑运算符 16
2.3.4 位运算符 17
2.3.5 赋值运算符 18
2.3.6 条件、逗号和长度运算符 19
2.4 表达式 19
2.4.1 算术表达式 20
2.4.2 赋值表达式 20
2.4.3 关系表达式和逻辑表达式 20
2.5 不同类型数据间的转换 22
2.6 小结 24
习题二 24
第3章 基本语句 27
3.1 算法及结构化程序设计 27
3.1.1 算法 27
3.1.2 算法的描述 28
3.1.3 程序的三种基本结构 28
3.2 数据的输入输出 29
3.2.1 数据的输入 29
3.2.2 数据的输出 31
3.3 顺序结构程序设计 33
3.3.1 表达式语句 33
3.3.2 复合语句和空语句 33
3.3.3 顺序结构程序实例 34
3.4 小结 35
习题三 36
第4章 流程控制 38
4.1 选择结构程序设计 38
4.1.1 单分支选择语句if 38
4.1.2 双分支选择语句if-else 39
4.1.3 多分支选择语句switch 40
4.1.4 条件分支的嵌套 43
4.1.5 选择结构设计实例 45
4.2 循环结构程序设计 46
4.2.1 当型循环语句while 46
4.2.2 直到型循环语句do-while 47
4.2.3 次数循环型语句for 48
4.2.4 break和continue语句 49
4.2.5 语句标号和goto语句 51
4.2.6 循环的嵌套 51
4.2.7 循环程序设计实例 52
4.3 小结 54
习题四 55
第5章 数组 58
5.1 一维数组 58
5.1.1 一维数组的定义 58
5.1.2 一维数组的存储形式 59
5.1.3 一维数组的初始化 59
5.1.4 一维数组元素的引用 59
5.1.5 一维数组应用举例 60
5.2 多维数组 61
5.2.1 多维数组的定义 61
5.2.2 多维数组的存储形式 62
5.2.3 二维数组的定义 62
5.2.4 二维数组的初始化 63
5.2.5 二维数组元素的引用 63
5.2.6 二维数组应用举例 64
5.3 字符数组与字符串 65
5.3.1 字符数组的定义 65
5.3.2 字符数组的初始化 66
5.3.3 字符数组的引用 66
5.3.4 字符串和字符串结束的标志 66
5.3.5 字符数组的输入输出 67
5.3.6 字符串处理函数 68
5.3.7 字符数组应用举例 71
5.4 小结 72
习题五 73
第6章 函数 76
6.1 函数的定义和返回值 76
6.1.1 函数的定义 76
6.1.2 函数的返回值 78
6.1.3 函数的分类 79
6.2 函数的调用 79
6.2.1 函数的调用 79
6.2.2 库函数的调用 81
6.2.3 函数的声明以及位置对函数调用
的影响 82
6.2.4 内部函数与外部函数 82
6.3 变量的作用域与生存期 83
6.3.1 变量的作用域 83
6.3.2 局部变量与全局变量 83
6.3.3 变量的生存期 86
6.3.4 动态存储变量与静态存储变量 86
6.3.5 变量的存储类型 87
6.4 函数间的数据传递 90
6.4.1 参数的值传递方式 90
6.4.2 参数的地址传递方式 91
6.4.3 函数返回值方式 92
6.4.4 外部变量传递方式 92
6.4.5 数组名作为函数参数的调用 93
6.5 嵌套调用与递归调用 94
6.5.1 嵌套调用 94
6.5.2 递归调用 95
6.6 小结 97
习题六 97
第7章 编译预处理 102
7.1 宏定义 102
7.1.1 无参数的宏定义 102
7.1.2 带参数的宏定义 104
7.2 文件包含 105
7.3 小结 106
习题七 107
第8章 指针 109
8.1 指针的基本概念 109
8.1.1 指针与地址 109
8.1.2 指针的目标 109
8.1.3 地址与指针运算符 110
8.2 指针变量 110
8.2.1 指针变量的定义 111
8.2.2 指针变量的类型 111
8.2.3 指针变量的初始化 113
8.2.4 指针变量的引用 114
8.2.5 指针变量的运算 114
8.3 指针与数组 117
8.3.1 指向一维数组的指针变量 117
8.3.2 指向二维数组的指针变量 118
8.3.3 字符串指针 121
8.3.4 指针数组 123
8.4 指针与函数 126
8.4.1 指针作为函数参数 127
8.4.2 指向函数的指针 128
8.4.3 指针型函数 130
8.4.4 main函数的参数 131
8.4.5 指针与函数应用实例 132
8.5 小结 134
习题八 134
第9章 结构体与共用体 139
9.1 结构体 139
9.1.1 结构体类型概述 139
9.1.2 结构体变量的定义和引用 139
9.1.3 结构体数组 144
9.1.4 结构体指针 146
9.1.5 结构体与函数 148
9.2 链表 149
9.2.1 动态存储分配的函数 149
9.2.2 链表的概念 151
9.2.3 单向链表的建立、输出、删除
与插入 152
9.3 共用体 155
9.3.1 共用体类型概述 155
9.3.2 共用体的定义和引用 155
9.3.3 共用体应用举例 156
9.4 枚举 157
9.4.1 枚举类型 157
9.4.2 枚举类型说明 157
9.4.3 枚举变量的定义 157
9.4.4 枚举变量的引用 157
9.5 类型定义 158
9.6 小结 159
习题九 159
第10章 位运算 164
10.1 位运算的概念 164
10.1.1 与位相关的概念 164
10.1.2 位运算的概念与种类 165
10.2 位运算的使用 166
10.2.1 按位与运算符 166
10.2.2 按位或运算符 167
10.2.3 按位异或运算符 167
10.2.4 取反运算符 168
10.2.5 左移运算符 168
10.2.6 右移运算符 169
10.3 小结 170
习题十 170
第11章 文件 172
11.1 文件概述 172
11.1.1 文件 172
11.1.2 文件型指针 173
11.2 文件的打开与关闭 173
11.2.1 文件的打开 173
11.2.2 文件的关闭 175
11.3 文件的读写 175
11.3.1 字符的读写 175
11.3.2 字符串的读写 177
11.3.3 数据块的读写 179
11.3.4 格式化数据的读写 181
11.4 文件的随机读写 183
11.4.1 文件的定位函数 183
11.4.2 文件的随机读写 183
11.4.3 文件检测函数 184
11.5 小结 184
11.6 经验技巧:C语言中的常见错误 185
习题十一 189
参考文献 192
- C语言程序设计实验指导与实训(第二版) [主编 倪燃]
- 程序思维与C语言实现 [张祎 王俊海 吕波]
- C语言程序设计 [魏琴 刘祖珉 赵仕波 肖阳春]
- C语言程序设计实验教程 [张小刚 司春景]
- C语言程序设计(第三版) [主编 丁红 王立新 蔡开立]
- C语言程序设计习题与实验指导(第二版) [主编 甄增荣 张宾]
- C语言程序设计(第二版) [主编 甄增荣 田云霞]
- C语言程序设计实践教程(活页式) [主编 郑茵 陈巍 滕泓虬]
- C语言程序设计 [姜雪]
- C语言程序设计项目化教程(活页式) [主编 张利华 潘晓利]
- C语言同步案例习题精解 [主编 肖朝晖]
- C语言程序设计(微课版) [主编 夏启寿]
- C语言程序设计实践教程 [夏启寿]
- 单片机应用技术项目教程(C语言版)(第三版) [主编 郭志勇]
- 数据结构——C语言(微课版) [主编 梁海英]
- C程序设计简明教程 [黄能耿 黄致远 编著]
- C语言程序设计实验指导与实训 [主编 倪燃]
- 单片机原理及应用技术(C语言版) [周国运 鲁庆宾 赵天翔 编著]
- C#程序设计教程 [主编 李祥琴]
- C#数据库编程技术 [主编 顾家铭]
- 基于C#的可视化编程基础 [主编 张蕾蕾 黄健]
- C语言程序设计 [主编 杨娟 万青]
- 物联网编程与应用(C#) [主编 王浩 王伟旗]
- C语言程序设计 [主编 王婧 刘政宇]
- Visual Basic程序设计教程 [主编 郭秀娟 于全通]
- C语言程序设计项目化教程 [主编 彭琦伟 周威]
- C语言程序设计案例教程 [主 编 刘素芬 张建军 王宏斌]
- Visual Basic.NET程序设计上机实践教程 [主编 何振林 罗奕]
- Visual Basic.NET程序设计 [主编 何振林 罗奕]
- C语言程序设计(第二版) [主编 丁红 王辉]