《从零开始学C语言 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:戴晟晖编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121243059
  • 页数:305 页
图书介绍:为了使初学者都更好地掌握这门高级语言——C语言,本书系统地介绍了程序设计的基本理论与编程技术。每一个知识点都作为一个独立的章节进行详细的讲解,目的在于让读者在学习C语言的过程中,能循序渐进、由浅入深。本书主要内容包括C语言入门基础、常量、变量与标识符、数据类型、运算符及其表达式、输入与输出、顺序结构与选择结构、循环结构程序设计、结构语句的转移、数组、函数、指针、结构体、共用体和文件等内容。

第1篇 C语言入门 1

第1章 C语言入门基础(教学视频:58分钟) 1

1.1 计算机语言的演变 1

1.1.1 机器语言 1

1.1.2 汇编语言 1

1.1.3 高级语言 1

1.1.4 面向对象或面向问题的高级语言 2

1.2 数制、数制转换与存储 2

1.2.1 数制 2

1.2.2 数制的转换 3

1.2.3 计算机中数据的存储 4

1.3 程序设计思想——算法 5

1.3.1 算法的概念 5

1.3.2 算法的特点 5

1.3.3 算法的表示方法 6

1.3.4 算法分析 8

1.4 C语言的发展简史和特点 8

1.4.1 C语言的诞生与发展 9

1.4.2 C语言的特点 10

1.5 本章小结 11

1.6 习题 11

第2章 认识C语言程序(教学视频:30分钟) 12

2.1 C语言程序的结构特征 12

2.2 C语言程序的书写风格 14

2.3 C语言程序的开发过程 15

2.4 Visual C++集成开发环境 16

2.4.1 熟悉Visual C++6.0集成开发环境 17

2.4.2 C语言在Visual C++6.0的开发过程 18

2.5 用Visual C++6.0运行一个C程序 19

2.6 本章小结 20

2.7 习题 20

第2篇 C语言基础 21

第3章 常量、变量与标识符(教学视频:17分钟) 21

3.1 标识符 21

3.1.1 标识符的命名 21

3.1.2 保留字 21

3.2 常量 22

3.2.1 直接常量 22

3.2.2 符号常量 22

3.3 变量 23

3.3.1 变量的定义 23

3.3.2 变量初始化的方法 23

3.4 变量的初始化 24

3.5 本章小结 24

3.6 习题 24

第4章 数据类型(教学视频:28分钟) 25

4.1 C语言中的数据类型 25

4.1.1 基本数据类型 25

4.1.2 构造数据类型 26

4.1.3 指针数据类型 26

4.1.4 空类型 26

4.2 整型数据 26

4.2.1 整型常量 27

4.2.2 整型变量 27

4.3 实数型数据 28

4.3.1 实数型常量 29

4.3.2 实数型变量 29

4.4 字符型数据 30

4.4.1 字符型常量 30

4.4.2 字符型变量 31

4.5 数值型数据间的混合运算 33

4.5.1 自动类型转换 33

4.5.2 强制类型转换 34

4.6 本章小结 36

4.7 习题 36

第5章 运算符及其表达式(教学视频:57分钟) 37

5.1 算术运算符及算术表达式 37

5.1.1 算术运算符 37

5.1.2 算术表达式 39

5.2 赋值运算符及赋值表达式 39

5.2.1 赋值运算符 40

5.2.2 赋值表达式 41

5.3 关系运算符及关系表达式 42

5.3.1 关系运算符 42

5.3.2 关系表达式 43

5.4 逻辑运算符及逻辑表达式 44

5.4.1 逻辑运算符 44

5.4.2 逻辑运算规则 45

5.4.3 逻辑表达式 46

5.5 条件运算符及条件表达式 48

5.5.1 条件运算符 48

5.5.2 条件表达式 49

5.6 逗号运算符及逗号表达式 52

5.6.1 逗号运算符 52

5.6.2 逗号表达式 53

5.7 位运算符 54

5.7.1 位逻辑运算符 54

5.7.2 移位运算符 56

5.7.3 位自反赋值运算符 57

5.8 位运算符 58

5.9 本章小结 59

5.10 习题 59

第6章 输入与输出(教学视频:65分钟) 60

6.1 C语句概述 60

6.1.1 流程控制语句 60

6.1.2 函数调用语句 64

6.1.3 表达式语句 64

6.1.4 空语句 64

6.1.5 复合语句 64

6.2 输入与输出函数 65

6.2.1 格式输出函数 65

6.2.2 格式输入函数 68

6.2.3 字符输入与字符输出函数 72

6.3 整型数据的输入与输出 74

6.3.1 整型数据的输出 74

6.3.2 整型数据的输入 76

6.4 浮点型数据的输入与输出 76

6.5 本章小结 77

6.6 习题 77

第7章 顺序结构与选择结构(教学视频:35分钟) 78

7.1 顺序结构程序设计 78

7.2 选择结构程序设计 80

7.2.1 if语句 80

7.2.2 switch语句 85

7.3 应用举例 88

7.4 本章小结 91

7.5 习题 91

第8章 循环结构程序设计(教学视频:54分钟) 92

8.1 while语句 92

8.2 do...while语句 94

8.3 for语句 97

8.3.1 for循环结构 97

8.3.2 for循环语句的嵌套 100

8.4 总结应用 102

8.4.1 几种循环的比较 102

8.4.2 循环语句的嵌套 103

8.4.3 应用举例 105

8.5 本章小结 108

8.6 习题 108

第9章 结构语句的转移(教学视频:13分钟) 109

9.1 break语句 109

9.2 跳出循环结构 111

9.2.1 问题1 111

9.2.2 问题2 112

9.3 continue语句 113

9.4 goto语句 114

9.5 本章小结 115

9.6 习题 115

第3篇 C语言进阶 116

第10章 数组(教学视频:78分钟) 116

10.1 数组的概述 116

10.2 一维数组 117

10.2.1 一维数组的定义 117

10.2.2 一维数组的初始化 118

10.2.3 一维数组的引用 119

10.2.4 一维数组的程序举例 120

10.3 二维数组 126

10.3.1 二维数组的定义 126

10.3.2 二维数组的初始化 127

10.3.3 二维数组的引用 129

10.3.4 数组的程序举例 131

10.4 本章小结 133

10.5 习题 133

第11章 字符数组(教学视频:45分钟) 134

11.1 字符数组的定义 134

11.2 字符数组的初始化 134

11.3 字符数组的引用 135

11.4 字符数组与字符串的关系 135

11.5 字符数组的输入与输出 136

11.6 字符串处理函数 137

11.6.1 输入字符串函数gets 138

11.6.2 输出字符串函数puts 138

11.6.3 字符串测长度函数strlen 138

11.6.4 字符串比较函数strcmp 138

11.6.5 字符串复制函数strcpy和strncpy 139

11.6.6 字符串连接函数strcat 139

11.7 应用举例 140

11.8 本章小结 145

11.9 习题 145

第12章 函数(教学视频:43分钟) 146

12.1 函数的初步认识 146

12.2 函数定义 148

12.2.1 无参函数定义 148

12.2.2 有参函数定义 149

12.2.3 空函数定义 149

12.3 函数参数及返回值 150

12.3.1 函数的参数 150

12.3.2 函数的返回值 152

12.4 函数的参数传递 153

12.4.1 函数参数的数值传递 153

12.4.2 函数参数的地址传递 154

12.5 应用举例 155

12.6 本章小结 157

12.7 习题 157

第13章 函数的调用(教学视频:75分钟) 158

13.1 函数调用的一般形式 158

13.2 函数调用的形式 159

13.3 被调用函数的声明与函数原型 160

13.4 函数的嵌套调用和递归调用 163

13.4.1 函数的嵌套调用 163

13.4.2 函数的递归调用 164

13.5 变量作用域 165

13.5.1 变量作用域和生存期 165

13.5.2 局部变量和全局变量 165

13.5.3 变量存储类别 168

13.6 编译预处理 172

13.6.1 宏定义 173

13.6.2 文件包含处理 176

13.6.3 条件编译 177

13.7 本章小结 178

13.8 习题 178

第14章 指针操作(教学视频:67分钟) 179

14.1 指针与地址 179

14.2 指针和指针变量 179

14.2.1 指针变量的定义 180

14.2.2 指针变量的引用 181

14.2.3 指针的运算 183

14.3 指针和数组 186

14.3.1 数组的指针和指向数组的指针变量 187

14.3.2 指针数组和指向指针的指针 190

14.3.3 指向字符串的指针 193

14.3.4 数组名作为函数参数 194

14.4 指针和函数 198

14.4.1 函数的指针和指向函数的指针变量 198

14.4.2 用指向函数的指针作为函数参数 199

14.4.3 指针数组作为函数参数 205

14.4.4 返回指针值的函数 206

14.4.5 字符串指针作为函数参数 207

14.5 本章小结 208

14.6 习题 208

第15章 结构体(教学视频:77分钟) 209

15.1 结构体类型定义 209

15.1.1 结构体类型的说明 209

15.1.2 结构体类型的定义 209

15.2 结构体变量的定义与引用 211

15.2.1 结构体变量的定义与初始化 211

15.2.2 结构体变量的引用 213

15.3 结构数组 216

15.3.1 结构数组的定义 216

15.3.2 结构数组的引用 217

15.4 结构体指针 219

15.4.1 结构体指针变量的定义 219

15.4.2 结构体指针变量的引用 220

15.5 链表 223

15.5.1 链表概述 223

15.5.2 单链表建立 225

15.5.3 单链表简单操作 229

15.6 本章小结 238

15.7 习题 238

第16章 共用体(教学视频:43分钟) 239

16.1 共用体类型定义 239

16.1.1 定义共用体 239

16.1.2 共用体的存储 240

16.2 共用体类型变量、数组和指针变量的定义 241

16.2.1 先定义共用体,再定义共用体变量、数组及指针变量 241

16.2.2 定义共用体的同时定义共用体变量、数组及指针变量 241

16.2.3 定义共用体变量、数组及指针变量时省略共用体名 242

16.3 共用体类型变量、数组和指针变量的引用 242

16.4 共用体应用举例 244

16.5 枚举类型 246

16.5.1 枚举类型的定义 246

16.5.2 枚举类型变量的赋值和引用 247

16.6 用typedef定义数据类型 249

16.7 本章小结 253

16.8 习题 253

第17章 文件(教学视频:58分钟) 254

17.1 文件概述 254

17.1.1 文件名 254

17.1.2 文件的类型 255

17.2 文件类型指针 255

17.3 文件的打开与关闭 257

17.3.1 文件打开函数fopen() 257

17.3.2 文件关闭函数fclose() 259

17.4 文件的读写操作 259

17.4.1 字符读写函数 259

17.4.2 字符串读写函数 262

17.4.3 数据块读写函数 265

17.4.4 格式数据读写函数 268

17.5 文件的定位 269

17.5.1 文件头定位函数rewind() 269

17.5.2 文件随机定位函数fseek() 270

17.5.3 测试当前位置函数ftell() 271

17.6 文件的检测 272

17.6.1 文件末尾检测函数feof() 272

17.6.2 文件读写出错检测函数ferror() 273

17.6.3 清除文件末尾和出错标志函数clearerr() 274

17.7 本章小结 274

17.8 习题 274

第4篇 案例实战 275

第18章 学生成绩管理系统设计(教学视频:18分钟) 275

18.1 学生成绩管理系统功能 275

18.2 功能模块的描述 275

18.2.1 数据结构 275

18.2.2 main()主函数 276

18.2.3 score*creatlink()创建动态链表 276

18.2.4 void print(score*head)显示学生信息 277

18.2.5 score*add(score*head,score*stu)向链表中添加学生数据 277

18.2.6 score*search(score*head)查询学生成绩 277

18.2.7 score*dele(score*head)删除数据 278

18.2.8 score*sortdata(score*head)对数据进行排序 278

18.2.9 save(score*pl)保存数据 278

18.2.10 score*load(score*head)从文件中读取数据 278

18.2.11 score*statistics(score*head)成绩统计 279

18.2.12 int menu(int k)菜单 279

18.2.13 用到的头文件和全局变量 279

18.3 程序代码 279

18.3.1 主函数main()代码 279

18.3.2 创建链表函数creatlink() 280

18.3.3 显示学生信息函数print() 283

18.3.4 向链表中添加学生数据函数add() 283

18.3.5 查询学生成绩函数search 285

18.3.6 删除数据函数dele 286

18.3.7 对数据进行排序函数sortdata() 287

18.3.8 保存数据函数save() 290

18.3.9 从文件中读取数据函数loadfile() 290

18.3.10 成绩统计函数statistics() 291

18.4 程序运行 293

18.4.1 编辑学生成绩 293

18.4.2 显示学生成绩 293

18.4.3 保存学生成绩信息 294

18.4.4 查询学生的成绩 294

18.4.5 添加学生的成绩 294

18.4.6 删除学生的成绩 294

18.4.7 学生成绩排序 295

18.4.8 从文件中读取学生的成绩 295

18.4.9 统计学生的成绩 295

18.5 本章小结 295

附录A ASCII字符集 296

附录B 运算符的优先级与结合性 298

附录C C语言常用库函数 301

附录D 安装Visual C++6.0集成开发环境 304