当前位置:首页 > 工业技术
轻松学C语言
轻松学C语言

轻松学C语言PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:邢太北编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121195600
  • 页数:322 页
图书介绍:本书共分3篇。第1篇“基础篇”介绍C语言的发展、C语言的开发工具的安装过程、第一个C语言程序和图形界面程序的运行过程等知识;第2篇“语法篇”介绍C语言中的数据、语句、程序控制结构、数组、函数、指针、结构体与共用体、编译预处理等技术;第3篇“应用篇”介绍了C语言的基本应用,文件和目录的操作运算、数值处理运算、字符串的处理运算、动态内存管理以及变量的存储类别,数据结构的操作、排序、经典的C语言例题分析等技术。
《轻松学C语言》目录
标签:编著 语言

基础篇 2

第1章 第一个C语言程序 2

1.1 C语言开发概述 2

1.1.1 C语言的发展 2

1.1.2 C语言的特点 3

1.2 构建开发环境 3

1.2.1 Visual C++6.0的软硬件需求 3

1.2.2 安装Visual C++6.0 4

1.3 第一个C语言程序 5

1.3.1 C程序的结构 6

1.3.2 编写源程序 6

1.3.3 编译调试程序 7

1.3.4 运行程序 8

1.3.5 查看源文件 8

1.4 小结 8

1.5 习题 8

语法篇 12

第2章 数据的表示 12

2.1 数 12

2.1.1 十进制 12

2.1.2 二进制 13

2.1.3 八进制 15

2.1.4 十六进制 16

2.2 数据的描述 18

2.2.1 C的构词方式——标识符 18

2.2.2 特殊的标识符 19

2.2.3 整数类型 20

2.2.4 浮点类型 21

2.2.5 字符类型 22

2.3 变量 23

2.3.1 变量的声明和定义 23

2.3.2 不变的变量——常量 25

2.4 小结 27

2.5 习题 27

第3章 程序的基本单位——语句 31

3.1 语句的构成 31

3.2 运算符 32

3.2.1 赋值运算 32

3.2.2 数据类型的转换 35

3.3 常用的其他运算符 37

3.3.1 位运算符 37

3.3.2 算术运算符 39

3.3.3 自增、自减运算符 40

3.3.4 逗号运算符 41

3.3.5 复合赋值运算符 41

3.3.6 sizeof运算符 43

3.3.7 分隔符 43

3.3.8 运算符的优先级 44

3.4 语句块 45

3.4.1 语句块的构成 45

3.4.2 作用域 45

3.5 小结 46

3.6 习题 47

第4章 程序控制结构 51

4.1 语句块的执行方式——顺序结构 51

4.2 条件的表达 52

4.2.1 单一条件的表达——关系运算符 52

4.2.2 多条件的表达——逻辑运算符 53

4.3 选择结构 54

4.3.1 最简单的选择——条件运算符 54

4.3.2 if语句单分支形式 55

4.3.3 if else语句双分支形式 56

4.3.4 else if形式语句 57

4.3.5 嵌套if形式语句 58

4.3.6 switch语句 60

4.3.7 选择结构典型实例——两数计算器 63

4.4 循环结构 64

4.4.1 for语句 65

4.4.2 while语句 66

4.4.3 do while语句 66

4.4.4 循环语句的区别 67

4.5 意外情况的表达——转向语句 68

4.5.1 continue语句 68

4.5.2 break语句 68

4.5.3 goto语句 69

4.6 小结 70

4.7 习题 70

第5章 数组 73

5.1 数组简介 73

5.2 数组的来源 73

5.3 一维数组 74

5.3.1 一维数组的声明和定义 74

5.3.2 一维数组的初始化 74

5.3.3 一维数组的引用 75

5.3.4 一维数组程序举例 76

5.4 二维数组 76

5.4.1 二维数组的声明和定义 77

5.4.2 二维数组的初始化 77

5.4.3 二维数组的引用 77

5.4.4 二维数组程序举例 78

5.5 字符数组 79

5.5.1 字符数组的声明和定义 79

5.5.2 字符数组的初始化 79

5.5.3 字符数组的引用 80

5.5.4 字符数组的输入/输出 81

5.6 综合实例——杨辉三角 82

5.7 小结 84

5.8 习题 84

第6章 函数 91

6.1 函数概述 91

6.2 函数的声明与定义 92

6.2.1 无参函数的声明和定义的一般形式 92

6.2.2 有参函数的声明和定义的一般形式 93

6.2.3 空函数 94

6.3 函数的形式参数和函数的返回值 94

6.3.1 形式参数 94

6.3.2 函数的返回值 94

6.4 函数调用 95

6.4.1 函数调用的方式 96

6.4.2 函数的参数传递 97

6.5 函数的嵌套和递归 97

6.5.1 函数的嵌套 98

6.5.2 函数的递归 98

6.6 数组作为函数参数 100

6.6.1 数组元素作函数实参 100

6.6.2 数组名作函数实参 100

6.7 字符数组相关的输入/输出函数 101

6.7.1 逐个字符的输入和输出 101

6.7.2 字符串的输入和输出 103

6.8 函数应用举例——猴子吃桃问题 103

6.9 小结 105

6.10 习题 105

第7章 指针 111

7.1 地址和指针的概念 111

7.2 变量的指针和指向变量的指针变量 112

7.2.1 变量的指针与指针变量 112

7.2.2 指针变量的赋值与引用 112

7.2.3 指针变量作为函数的参数 113

7.3 指针与数组 114

7.3.1 指向数组元素的指针 114

7.3.2 通过指针引用数组元素 114

7.3.3 数组名作为函数参数 115

7.4 指针与字符串 117

7.5 函数指针与指针函数 118

7.5.1 用函数指针调用函数 118

7.5.2 使用函数指针作函数参数 119

7.5.3 指针函数———返回指针的函数 120

7.6 指针数组与二级指针 121

7.6.1 指针数组 121

7.6.2 二级指针——指向指针的指针 122

7.6.3 指针数组作为main()函数的参数 123

7.7 有关指针的数据类型和指针运算 125

7.7.1 有关指针的数据类型 125

7.7.2 指针运算 126

7.7.3 void指针类型 126

7.8 小结 126

7.9 习题 126

第8章 结构体与共用体 131

8.1 结构体的概念及结构体类型的定义 131

8.1.1 为什么使用结构体 131

8.1.2 定义结构体类型 132

8.2 结构体变量 133

8.2.1 结构体变量的定义 133

8.2.2 结构体变量的引用 133

8.2.3 结构体变量的初始化 134

8.2.4 结构体变量作为函数参数 135

8.3 结构体数组 136

8.3.1 结构体数组的定义 137

8.3.2 结构体数组的引用以及初始化 137

8.3.3 结构体数组作为函数的参数 139

8.4 结构体指针 140

8.4.1 指向结构体变量的指针 140

8.4.2 指向结构体数组的指针 141

8.4.3 指向结构体的指针作函数参数 142

8.5 位域 143

8.5.1 定义位域结构 143

8.5.2 位域的声明 144

8.5.3 位域的使用 144

8.6 共用体 145

8.6.1 共用体的概念 145

8.6.2 共用体变量的定义及引用 147

8.6.3 共用体与结构体的嵌套 149

8.7 枚举类型 149

8.7.1 枚举类型及其变量的定义 149

8.7.2 枚举类型应用举例 151

8.8 typedef自定义类型 151

8.9 小结 153

8.10 习题 153

第9章 编译预处理 157

9.1 宏定义 157

9.1.1 不带参数的宏定义 158

9.1.2 带参数的宏定义 159

9.1.3 宏的取消 160

9.1.4 标准宏对象 161

9.2 “文件包含”处理 161

9.3 条件编译 163

9.3.1 #ifdef命令 163

9.3.2 #ifndef 163

9.3.3 #if命令 164

9.4 小结 165

9.5 习题 165

应用篇 170

第10章 文件和目录操作运算 170

10.1 C文件概述 170

10.2 文件的处理形式 171

10.3 文件型指针 172

10.4 文件打开与关闭 173

10.4.1 打开文件——fopen()函数 173

10.4.2 打开文件是否成功 174

10.4.3 关闭文件——fclose()函数 174

10.5 文件读写函数 174

10.5.1 字符读写函数——fputc()函数和fgetc()函数 175

10.5.2 块读写函数——fread函数和fwrite函数 177

10.5.3 格式化文件输入输出——fprintf函数和fscanf函数 178

10.6 文件的定位 179

10.6.1 是否到文件末尾——feof()函数 179

10.6.2 移到开头——rewind函数 179

10.6.3 fseek()函数和ftell()函数 180

10.7 出错检测 181

10.7.1 ferror()函数 181

10.7.2 clearerr()函数 181

10.8 目录基本操作 182

10.9 文件存储路径操作 183

10.10 保存文件信息的结构 184

10.11 文件管理 184

10.11.1 文件重命名 184

10.11.2 删除文件 185

10.11.3 使用临时文件 186

10.12 小结 187

10.13 习题 188

第11章 数值处理运算 193

11.1 绝对值运算 193

11.2 指数与对数运算 194

11.3 三角形运算函数 194

11.3.1 正余弦与反正余弦函数 194

11.3.2 正切与反正切函数 195

11.3.3 直角三角形斜边运算 196

11.4 比较运算 197

11.5 双精度分解运算 197

11.6 随机数运算 198

11.7 小结 199

11.8 习题 199

第12章 字符串处理运算 203

12.1 字符串的输入 203

12.1.1 逐个字符输入 203

12.1.2 整个字符串输入 203

12.2 将其他数据类型转换成字符串的运算 204

12.3 字符串的操作 206

12.3.1 字符串的复制 206

12.3.2 字符串的比较 207

12.3.3 字符串大小写转换 209

12.3.4 字符串的字符个数相关运算 209

12.4 字符串的输出 211

12.4.1 逐个字符的输出 211

12.4.2 整个字符串的输出 211

12.4.3 字符串输入输出小结 212

12.5 小结 212

12.6 习题 212

第13章 动态内存管理及变量的存储类别 217

13.1 动态内存管理的来源 217

13.2 动态内存管理 218

13.2.1 动态存储区域分配空间 219

13.2.2 释放动态分配的存储空间 220

13.2.3 重新分配内存空间 221

13.2.4 sizeof——判断数据类型长度符 222

13.3 变量的存储类别 223

13.3.1 静态存储方式与动态存储方式 223

13.3.2 static——声明静态局部变量 224

13.3.3 自动变量 225

13.3.4 register——寄存器变量 226

13.3.5 extern声明外部变量 227

13.3.6 static的使用 229

13.4 小结 229

13.5 习题 230

第14章 简单数据结构 234

14.1 线性表 234

14.1.1 线性表的基本概念 234

14.1.2 线性表的基本操作 235

14.1.3 线性表的顺序存储结构 236

14.1.4 顺序表的基本操作 237

14.1.5 顺序表的插入 238

14.1.6 顺序表的查找 240

14.1.7 顺序表的删除 241

14.1.8 顺序表操作的算法典型案例 242

14.1.9 线性表的链式存储结构 242

14.1.10 单链表的基本操作 243

14.1.11 单链表的插入结点运算 245

14.1.12 单链表的删除结点运算 247

14.1.13 单链表的查找结点运算 248

14.2 栈 249

14.2.1 栈的定义和基本运算 249

14.2.2 栈的顺序存储 250

14.2.3 栈的链式存储 254

14.3 队列 256

14.3.1 队列的定义和基本运算 257

14.3.2 非循环队列的顺序存储 257

14.3.3 循环队列的顺序存储 260

14.3.4 队列的链式存储 262

14.4 小结 264

14.5 习题 265

第15章 排序 269

15.1 冒泡排序 269

15.1.1 冒泡排序算法描述 269

15.1.2 冒泡排序算法实现 270

15.1.3 冒泡排序算法实例 270

15.2 快速排序 271

15.2.1 快速排序算法描述 271

15.2.2 快速排序算法实现 272

15.2.3 快速排序算法实例 273

15.3 简单选择排序 273

15.3.1 简单选择排序算法描述 273

15.3.2 选择排序算法实现 274

15.3.3 选择排序算法实例 274

15.4 堆排序 275

15.4.1 堆排序算法描述 275

15.4.2 堆排序算法实现 277

15.4.3 堆排序算法实例 277

15.5 直接插入排序 278

15.5.1 直接插入排序算法描述 278

15.5.2 直接插入排序算法实现 278

15.5.3 直接插入排序算法示例 278

15.6 希尔排序 278

15.6.1 希尔(Shell)排序算法描述 278

15.6.2 希尔排序算法实现 281

15.6.3 希尔排序算法实例 281

15.7 合并排序 282

15.7.1 合并排序算法描述 282

15.7.2 合并排序算法实现 283

15.7.3 合并排序算法实例 284

15.8 基数排序 284

15.8.1 基数排序的算法描述 284

15.8.2 基数排序算法实现 286

15.9 小结 286

15.10 习题 286

第16章 经典例题分析 292

16.1 八皇后问题 292

16.1.1 八皇后的问题分析 292

16.1.2 八皇后的算法设计 293

16.2 汉洛塔问题 294

16.2.1 汉洛塔问题分析 294

16.2.2 汉洛塔的算法设计 295

16.3 猴子选大王 296

16.3.1 猴子选大王问题分析 296

16.3.2 猴子选大王的算法设计 297

16.4 三个数的最小公倍数 298

16.4.1 三个数的最小公倍数的问题分析 298

16.4.2 三个数的最小公倍数的算法设计 299

16.5 背包问题 300

16.5.1 背包问题分析 300

16.5.2 背包问题的算法设计 301

16.6 循环赛问题 302

16.6.1 循环赛问题分析图 302

16.6.2 循环赛问题的算法设计 303

16.7 马遍历问题 304

16.7.1 马遍历问题分析图 304

16.7.2 马遍历算法设计 305

16.8 魔术方阵 307

16.8.1 魔术方阵的分析图 307

16.8.2 魔术方阵的算法设计 307

16.9 三色旗 309

16.9.1 三色旗的分析图 309

16.9.2 三色旗的算法设计 309

16.10 迷宫问题 312

16.10.1 迷宫的问题分析图 312

16.10.2 迷宫的算法实现 312

16.11 小结 315

16.12 习题 315

相关图书
作者其它书籍
返回顶部