《21天学通C语言》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:刘蕾等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121219177
  • 页数:400 页
图书介绍:本书是C语言的入门教程,针对没有程序设计基础的读者,详细介绍了C语言的基本概念和编程技术。

第一篇C语言入门篇 1

第1章 C语言与程序概述(?教学视频:38分钟) 1

1.1 C语言的历史沿革 1

1.1.1 C语言的诞生 1

1.1.2 C语言的发展历程 2

1.1.3 C语言的特点 2

1.1.4 第一个C程序——Hello, world! 3

1.2 数据结构与算法 4

1.2.1 什么是数据结构 4

1.2.2 什么是算法 6

1.3 程序设计概述 7

1.3.1 结构化程序设计 7

1.3.2 三种基本结构 8

1.3.3 算法描述方法 9

1.4 小结 11

1.5 习题 11

第2章 C语言编程准备(?教学视频:43分钟) 14

2.1 C程序简介 14

2.1.1 简单C程序示例 14

2.1.2 C程序的特点 15

2.1.3 标识符与关键字 16

2.1.4 C程序的执行步骤 17

2.2 C程序开发环境 17

2.2.1 Turbo C 18

2.2.2 Viisual C++++ 2005 20

2.2.3 GCC 3.2.2 21

2.3 小结 22

2.4 习题 22

第二篇C语言基础篇 25

第3章 常量与变量(? 教学视频:39分钟) 25

3.1 常量和变量概述 25

3.1.1 常量 25

3.1.2 变量 26

3.2 变量的使用 27

3.2.1 声明变量 27

3.2.2 定义变量 28

3.2.3 使用extem声明变量 28

3.2.4 变量赋值及初始化 29

3.2.5 地址操作符和指针操作符 30

3.3 格式化输入/输出 31

3.3.1 标准输出函数——printf函数 32

3.3.2 标准输入函数——scanf函数 32

3.4 数据类型简介 33

3.5 小结 34

3.6 习题 34

第4章 基本数据类型(?教学视频:42分钟) 37

4.1 整型数据类型 37

4.1.1 字节长度 37

4.1.2 符号修饰符 38

4.1.3 整型常量 38

4.1.4 整型变量 39

4.1.5 存储方式 40

4.1.6 数值范围 41

4.2 字符型数据类型 44

4.2.1 字节长度 44

4.2.2 字符常量 44

4.2.3 字符变量 46

4.2.4 存储方式 47

4.3 浮点型数据类型 47

4.3.1 字节长度 47

4.3.2 浮点型常量 48

4.3.3 浮点型变量 48

4.3.4 精度 49

4.3.5 数值范围 50

4.3.6 存储方式 51

4.4 用户自定义类型 53

4.4.1 typedef的标准形式 53

4.4.2 合理使用typedef 54

4.5 限定词const与volatile 55

4.5.1 使用const 55

4.5.2 使用volatile 56

4.6 小结 57

4.7 习题 57

第5章 表达式与操作符(?教学视频:47分钟) 61

5.1 表达式和语句 61

5.1.1 表达式 61

5.1.2 语句 63

5.1.3 复合语句 63

5.1.4 C语言的操作符 65

5.2 赋值操作符与赋值表达式 66

5.2.1 赋值操作符 66

5.2.2 赋值操作符的结合性 66

5.2.3 左值和右值 67

5.2.4 隐式类型转换 68

5.2.5 强制类型转换 69

5.3 运算操作符与运算表达式 71

5.3.1 运算操作符 71

5.3.2 符号操作符 72

5.3.3 优先级与结合性 73

5.3.4 数值运算中的类型转换 75

5.3.5 复合赋值操作符 76

5.4 自增、自减操作符 77

5.4.1 自增操作符 78

5.4.2 自减操作符 79

5.4.3 优先级与结合性 80

5.4.4 自增、自减操作符的编译过程 81

5.4.5 注意事项 83

5.5 关系操作符与关系表达式 84

5.5.1 关系操作符 84

5.5.2 关系表达式的值 86

5.5.3 优先级与结合性 87

5.6 逻辑操作符与逻辑表达式 88

5.6.1 逻辑操作符 88

5.6.2 逻辑表达式的值 89

5.6.3 优先级和结合性 89

5.6.4 逻辑表达式 90

5.7 逗号操作符与逗号表达式 91

5.7.1 逗号操作符 91

5.7.2 逗号表达式的值 92

5.8 操作符优先级和结合性 92

5.8.1 优先级和结合性 92

5.8.2 优先级的改变 94

5.8.3 注意事项 96

5.9 小结 97

5.10 习题 97

第三篇 结构编程篇 101

第6章 选择结构(?教学视频:40分钟) 101

6.1 if语句 101

6.1.1 if语句的基本形式 101

6.1.2 else和if的配对使用 104

6.1.3 选择结构中的不平等分支 105

6.1.4 条件表达式中的=与== 106

6.2 switch语句 107

6.2.1 switch语句的基本形式 107

6.2.2 break语句 108

6.2.3 else if语句和switch语句 110

6.2.4 switch中的标号 111

6.2.5 使用具名常量组成标号 113

6.3 条件操作符与条件表达式 114

6.3.1 条件操作符的基本形式 114

6.3.2 条件表达式与if-else 115

6.3.3 条件表达式中的类型转换 115

6.3.4 条件表达式的嵌套 116

6.4 逻辑表达式的隐式选择 116

6.4.1 逻辑表达式的特点 117

6.4.2 隐式选择的作用 117

6.4.3 巧用隐式选择 119

6.5 小结 120

6.6 习题 120

第7章 循环结构(?教学视频:43分钟) 124

7.1 for语句 124

7.1.1 for语句的基本形式 124

7.1.2 for头中的三个表达式 124

7.1.3 for头中的逗号表达式 126

7.1.4 for语句的嵌套 127

7.1.5 for语句示例 127

7.2 while语句 129

7.2.1 while语句的基本形式 129

7.2.2 while语句与for语句 130

7.2.3 while语句示例 131

7.3 do-while语句 133

7.3.1 do-while语句的基本形式 133

7.3.2 do-while语句与while语句 133

7.3.3 do-while语句示例 134

7.4 continue语句与break语句 136

7.4.1 continue语句 136

7.4.2 continue语句与if语句 137

7.4.3 break语句 138

7.4.4 使用break语句终止多层循环 138

7.5 goto语句 140

7.5.1 goto语句的基本形式 140

7.5.2 使用goto语句构成循环 140

7.5.3 注意事项 141

7.6 循环结构与选择结构的嵌套 144

7.6.1 if-while与while-if 144

7.6.2 使用选择结构包含循环结构 144

7.7 小结 146

7.8 习题 146

第四篇 数组和字符串篇 149

第8章 数组(?教学视频:45分钟) 149

8.1 一维数组 149

8.1.1 定义一维数组 149

8.1.2 访问一维数组元素 150

8.1.3 初始化一维数组 151

8.1.4 数组的存储形式 153

8.1.5 注意事项 154

8.1.6 一维数组示例 156

8.2 二维数组 158

8.2.1 定义二维数组 158

8.2.2 访问二维数组元素 158

8.2.3 二维数组的存储方式 160

8.2.4 初始化二维数组 160

8.2.5 二维数组示例 162

8.3 多维数组 164

8.3.1 定义多维数组 164

8.3.2 多维数组示例 164

8.4 小结 165

8.5 习题 166

第9章 字符串(?教学视频:40分钟) 170

9.1 字符数组 170

9.1.1 字符数组的定义 170

9.1.2 字符数组的初始化 172

9.1.3 二维字符数组 172

9.1.4 字符数组示例 174

9.2 字符串类型 176

9.2.1 字符串常量 177

9.2.2 字符串变量 178

9.2.3 格式化输出字符串 179

9.2.4 格式化输入字符串 180

9.3 字符串应用示例 181

9.3.1 取字符串长度 181

9.3.2 统计单词数 182

9.3.3 颠倒单词顺序 183

9.3.4 改进的颠倒单词顺序实现 184

9.4 小结 186

9.5 习题 187

第五篇 函数篇 191

第10章 函数(?教学视频:40分钟) 191

10.1 函数概述 191

10.1.1 模块化编程 191

10.1.2 定义函数 194

10.1.3 调用函数 195

10.1.4 函数使用示例 196

10.1.5 改进的算术运算函数 197

10.2 函数声明 198

10.2.1 声明的形式 199

10.2.2 声明与定义 199

10.3 函数值与形参列表 200

10.3.1 函数值类型 200

10.3.2 形参列表 202

10.3.3 函数返回值 203

10.3.4 const形参 206

10.4 函数体 207

10.4.1 函数体的变量定义 207

10.4.2 检查形参 208

10.4.3 return语句 209

10.5 main函数 210

10.5.1 main函数的声明 211

10.5.2 函数值类型 211

10.5.3 带参数的main函数 212

10.6 小结 214

10.7 习题 214

第11章 函数与文件(?教学视频:31分钟) 220

11.1 多文件的程序 220

11.1.1 文件的类型 220

11.1.2 C工程的组织结构 221

11.1.3 一个简单的多文件工程 222

11.2 实现多文件工程 224

11.2.1 Turbo C下实现多文件工程 224

11.2.2 Visual C++++ 2005下实现多文件工程 224

11.2.3 GCC 3.2.2 下实现多文件工程 225

11.3 函数的调用 225

11.3.1 嵌套调用 225

11.3.2 递归调用 226

11.3.3 递归调用示例 228

11.4 外部函数与内部函数 231

11.4.1 外部函数 231

11.4.2 内部函数 232

11.4.3 应用示例 233

11.5 小结 235

11.6 习题 235

第12章 函数中的变量(? 教学视频:35分钟) 239

12.1 生存期和作用域 239

12.1.1 变量的生存期 239

12.1.2 变量的作用域 240

12.2 局部变量和全局变量 242

12.2.1 局部变量 242

12.2.2 全局变量 244

12.2.3 初始化全局变量 245

12.2.4 合理使用全局变量 246

12.2.5 注意事项 248

12.3 变量的存储类别 250

12.3.1 内存存储区 250

12.3.2 auto变量 251

12.3.3 static变量 252

12.3.4 register变量 254

12.3.5 extem变量 254

12.4 小结 255

12.5 习题 256

第13章 字符串处理函数(?教学视频:36分钟) 259

13.1 输入/输出函数 259

13.1.1 字符输入/输出函数 259

13.1.2 字符串输入/输出函数 260

13.2 复制和拼接函数 261

13.2.1 字符串复制函数 261

13.2.2 字符串拼接函数 263

13.3 比较和转换函数 264

13.3.1 字符串比较函数 264

13.3.2 字符串转换函数 266

13.4 小结 267

13.5 习题 267

第六篇 指针篇 270

第14章 指针(?教学视频:42分钟) 270

14.1 指针概述 270

14.1.1 访问内存的两种方式 270

14.1.2 指针的概念 271

14.1.3 指针变量的定义 271

14.2 指针的使用 272

14.2.1 指针变量的赋值 272

14.2.2 将指针变量赋值为整数 275

14.2.3 初始化指针变量 276

14.2.4 const指针 277

14.3 指针与函数 277

14.3.1 指针形参 278

14.3.2 指针型函数 280

14.3.3 函数型指针 281

14.4 void型指针 282

14.5 小结 283

14.6 习题 284

第15章 再论指针(?教学视频:38分钟) 287

15.1 指针与数组 287

15.1.1 指向数组元素的指针 287

15.1.2 指针访问数组 287

15.1.3 数组指针和数组变量 289

15.1.4 数组指针作为函数形参 291

15.1.5 调用含数组形参的函数 292

15.2 指针与二维数组 293

15.2.1 二维数组的地址 293

15.2.2 指针法访问二维数组 296

15.2.3 二维数组形参 297

15.3 指针与字符 301

15.3.1 字符指针 301

15.3.2 字符指针应用示例 303

15.3.3 字符指针数组 304

15.4 小结 306

15.5 习题 306

第七篇 高级应用篇 310

第16章 堆管理(?教学视频:41分钟) 310

16.1 动态内存管理 310

16.1.1 分配内存空间 310

16.1.2 释放内存空间 311

16.2 其他分配函数 312

16.2.1 calloc函数 312

16.2.2 realloc函数 313

16.3 动态数组 314

16.4 小结 316

16.5 习题 316

第17章 位运算操作符(?教学视频:37分钟) 319

17.1 位运算概述 319

17.2 位运算操作符 320

17.2.1 取反操作符(~) 320

17.2.2 位或操作符(|) 321

17.2.3 位与操作符(&) 323

17.2.4 异或操作符(^) 325

17.2.5 右移操作符(》) 327

17.2.6 左移操作符(《) 328

17.2.7 位运算赋值操作符 330

17.3 位运算操作符使用示例 330

17.3.1 循环移位 331

17.3.2 使用子网掩码 332

17.4 小结 333

17.5 习题 333

第18章 结构体(?教学视频:46分钟) 336

18.1 初识结构体 336

18.1.1 声明结构体类型 336

18.1.2 定义结构体变量 337

18.1.3 结构体的存储形式 338

18.2 结构体的应用 340

18.2.1 访问结构体成员 340

18.2.2 初始化结构体变量 341

18.2.3 结构体变量的赋值 342

18.3 结构体数组 344

18.3.1 定义结构体数组 344

18.3.2 初始化结构体数组 345

18.3.3 结构体数组示例 346

18.4 结构体指针 347

18.4.1 指向结构体变量的指针 347

18.4.2 指向堆空间的结构体指针 348

18.4.3 指向结构体数组元素的指针 349

18.5 小结 350

18.6 习题 350

第19章 共用体、枚举和位域(?教学视频:37分钟) 354

19.1 共用体 354

19.1.1 声明共用体类型 354

19.1.2 定义共用体变量 355

19.2 枚举 356

19.2.1 声明枚举类型 356

19.2.2 使用枚举变量 358

19.3 位域 360

19.3.1 位域的概念 360

19.3.2 位域的字长 360

19.3.3 位域的存储形式 362

19.4 小结 363

19.5 习题 364

第20章 预处理(?教学视频:43分钟) 367

20.1 宏定义 367

20.2 宏对象 368

20.2.1 定义宏对象 368

20.2.2 替换字符串 369

20.2.3 说明形参属性 371

20.2.4 宏的作用域 371

20.2.5 标准宏对象 372

20.3 宏函数 372

20.3.1 定义宏函数 372

20.3.2 宏函数与函数 373

20.4 条件编译 375

20.4.1 #ifdef命令 375

20.4.2 #ifndef命令 377

20.4.3 #if命令 378

20.4.4 defined宏函数 379

20.5 文件包含 380

20.5.1 #include命令 380

20.5.2 注意事项 381

20.6 小结 382

20.7 习题 382

第八篇 综合案例篇 385

第21章 图书管理系统开发实例(?教学视频:37分钟) 385

21.1 需求分析 385

21.2 系统设计 385

21.2.1 概要设计 385

21.2.2 数据结构 386

21.3 主程序——main模块 387

21.4 用户界面模块 388

21.4.1 程序流程 388

21.4.2 代码实现 388

21.4.3 设计主界面 389

21.4.4 设计增加书籍菜单 390

21.4.5 设计删除书籍菜单 391

21.4.6 设计检索书籍菜单 392

21.4.7 设计导入书籍菜单 392

21.4.8 退出系统 393

21.5 日志模块 393

21.5.1 打开和关闭文件 393

21.5.2 文件的格式化读写 393

21.5.3 打开和关闭日志文件 394

21.5.4 记录日志 394

21.6 数据管理模块 395

21.6.1 处理时间数据 395

21.6.2 处理书籍数据 396

21.6.3 增加书籍 398

21.6.4 删除书籍 398

21.6.5 查询书籍 399

21.6.6 导入书籍数据 399

21.7 小结 400