《跟我学C程序设计》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:杨章伟,张浩然编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302234371
  • 页数:461 页
图书介绍:本书共18章,循序渐进地讲解了C语言的基础知识,C程序的组成及开发过程、C语言中的数据、表达式和语句、控制程序流程、数组与字节串等内容。

第1章 C语言概述 1

1.1 引言 2

1.1.1 C语言的出现 2

1.1.2 C语言的特点 3

1.1.3 C语言的发展 4

1.2 C语言程序的基本组成 5

1.3 C程序的开发步骤 7

1.3.1 C编译器简介 7

1.3.2 代码编辑 9

1.3.3 编译 10

1.3.4 链接 11

1.3.5 运行 13

1.3.6 保存 13

1.4 第一个C程序 14

1.5 本章习题 17

第2章 基本数据类型 19

2.1 C的基本数据类型 20

2.2 常量和变量 20

2.2.1 常量 20

2.2.2 变量 22

2.3 整型数据类型 23

2.3.1 整型常量 24

2.3.2 整型变量 25

2.3.3 应用示例 26

2.4 浮点型数据类型 27

2.4.1 浮点型常量 27

2.4.2 浮点型变量 27

2.4.3 应用示例 28

2.5 字符型数据类型 29

2.5.1 字符常量 29

2.5.2 字符串常量 30

2.5.3 转义字符 31

2.5.4 字符变量 32

2.6 数据类型的相互转换 34

2.7 本章习题 36

第3章 运算符和表达式 39

3.1 常用运算符和表达式 40

3.1.1 常用运算符 40

3.1.2 表达式 40

3.2 算术运算 41

3.2.1 算术运算符 41

3.2.2 自增自减运算符 42

3.2.3 算术表达式 43

3.2.4 应用示例 44

3.3 赋值运算 45

3.3.1 简单赋值运算符和赋值表达式 45

3.3.2 复合赋值运算符 47

3.4 关系运算 48

3.4.1 关系运算符 48

3.4.2 关系表达式 49

3.5 逻辑运算 50

3.5.1 逻辑运算符 50

3.5.2 逻辑表达式 51

3.6 位运算 53

3.7 逗号运算符 55

3.8 条件运算符 56

3.9 运算符的优先级 59

3.10 本章习题 60

第4章 顺序结构 63

4.1 C语句概述 64

4.2 赋值语句 66

4.3 格式输入输出 67

4.3.1 printf函数——格式输出 67

4.3.2 scanf函数——格式输入 70

4.3.3 应用示例 74

4.4 字符数据的输入输出 75

4.4.1 putchar函数——字符输出 75

4.4.2 getchar函数——字符输入 77

4.4.3 应用示例 78

4.5 综合应用 79

4.6 本章习题 80

第5章 选择结构 83

5.1 选择结构概述 84

5.1.1 条件的构成 84

5.1.2 关系运算的优先级 85

5.1.3 逻辑运算的优先级 86

5.2 if语句 87

5.2.1 if语句 87

5.2.2 if...else语句 89

5.2.3 if...else if...else语句 92

5.2.4 if语句的注意事项 94

5.2.5 应用示例 95

5.3 switch语句 97

5.3.1 switch语句的形式 97

5.3.2 应用示例 101

5.4 选择结构的嵌套 102

5.5 条件表达式 105

5.6 综合应用 106

5.7 本章习题 110

第6章 循环结构 113

6.1 循环结构概述 114

6.2 goto语句及其构成的循环 114

6.3 while语句 117

6.3.1 while语句的形式 117

6.3.2 while语句的注意事项 119

6.4 do...while语句 121

6.4.1 do...while语句的形式 121

6.4.2 应用示例 123

6.5 for语句 125

6.5.1 for语句的形式 125

6.5.2 for语句的注意事项 127

6.6 循环嵌套 128

6.7 辅助控制语句 131

6.7.1 break语句 131

6.7.2 continue语句 132

6.8 循环结构的综合应用 133

6.9 本章习题 135

第7章 数组 137

7.1 数组概述 138

7.1.1 基本概念 138

7.1.2 声明数组 139

7.2 一维数组 140

7.2.1 一维数组的存储形式 140

7.2.2 一维数组的声明 140

7.2.3 一维数组的引用 141

7.2.4 应用示例 143

7.3 二维数组 144

7.3.1 二维数组的存储形式 144

7.3.2 二维数组的声明 144

7.3.3 二维数组的引用 145

7.3.4 应用示例 147

7.4 字符数组 148

7.4.1 字符数组的声明及引用 148

7.4.2 字符串 149

7.4.3 常用字符串函数 152

7.4.4 应用示例 157

7.5 初始化数组 159

7.5.1 初始化一维数组 159

7.5.2 初始化二维数组 161

7.5.3 初始化字符数组 162

7.6 综合应用 163

7.7 本章习题 165

第8章 函数 167

8.1 函数 168

8.1.1 函数的分类 168

8.1.2 函数的作用 169

8.2 定义函数 170

8.2.1 定义无参函数 170

8.2.2 定义带参函数 171

8.2.3 定义空函数 172

8.2.4 应用示例 173

8.3 函数的参数及原型 174

8.3.1 形式参数和实际参数 174

8.3.2 函数的返回值 174

8.3.3 函数原型及声明 175

8.3.4 应用示例 176

8.4 调用函数 177

8.4.1 调用函数的一般形式 177

8.4.2 传值调用 178

8.4.3 传地址调用 180

8.5 嵌套调用和递归调用 182

8.5.1 嵌套调用 182

8.5.2 递归调用 184

8.6 数组作为函数参数 186

8.7 带参数的main函数 189

8.8 变量的作用域 191

8.8.1 局部变量 191

8.8.2 全局变量 194

8.8.3 变量的存储方式 196

8.9 综合应用 197

8.10 本章习题 198

第9章 指针 201

9.1 指针的基本概念 202

9.2 变量与指针 203

9.2.1 定义指针变量 203

9.2.2 指针变量的初始化 204

9.2.3 应用示例 206

9.3 指针的运算 207

9.3.1 取地址和取值运算 207

9.3.2 赋值运算 209

9.3.3 算术运算 209

9.3.4 关系运算 212

9.4 数组与指针 213

9.4.1 指向一维数组的指针 214

9.4.2 指向多维数组的指针 216

9.4.3 数组指针 217

9.5 字符串与指针 218

9.5.1 定义字符指针 219

9.5.2 应用示例 220

9.6 指针的综合应用 221

9.7 本章习题 223

第10章 指针的高级应用 225

10.1 指针与函数 226

10.1.1 指针作为函数参数 226

10.1.2 字符指针作为函数参数 227

10.1.3 指针函数 228

10.2 函数指针 230

10.2.1 函数指针 230

10.2.2 函数指针数组 232

10.2.3 函数指针作为函数参数 233

10.3 指针数组 235

10.3.1 指针数组的使用 235

10.3.2 main函数中的指针数组 236

10.4 void指针 238

10.5 指向指针的指针 240

10.6 内存操作 242

10.6.1 内存分配方式 242

10.6.2 内存操作函数 242

10.6.3 应用示例 245

10.6.4 注意事项 246

10.7 综合应用 247

10.8 本章习题 248

第11章 编译预处理 251

11.1 预处理概述 252

11.2 宏 252

11.2.1 宏概述 252

11.2.2 无参宏定义 253

11.2.3 带参宏定义 255

11.2.4 实参为表达式的宏调用 256

11.2.5 形参带括号的宏定义 258

11.3 宏与函数的区别 260

11.4 条件包含 262

11.4.1 #include预处理命令 262

11.4.2 应用示例 263

11.5 条件编译 265

11.5.1 #ifdef预处理命令 265

11.5.2 #ifndef预编译命令 267

11.5.3 #if预编译命令 268

11.6 应用示例 270

11.7 本章习题 272

第12章 扩展数据类型 275

12.1 结构体 276

12.1.1 结构体概念 276

12.1.2 构造结构体 277

12.1.3 声明结构体类型变量 278

12.1.4 引用结构体变量成员 280

12.1.5 初始化结构体变量 281

12.1.6 结构体变量的赋值 283

12.1.7 应用示例 284

12.2 结构体数组 287

12.2.1 定义和引用结构体数组 287

12.2.2 应用示例 288

12.3 结构体指针 289

12.3.1 指向结构体变量的指针 290

12.3.2 指向结构体数组的指针 291

12.4 结构体作为函数参数 292

12.4.1 结构体指针作为参数 293

12.4.2 应用示例 294

12.5 共用体 296

12.5.1 共用体概述 296

12.5.2 构造共用体 297

12.5.3 声明共用体类型变量 298

12.5.4 共用体变量的使用和赋值 299

12.5.5 应用示例 301

12.6 枚举 303

12.6.1 定义枚举类型 303

12.6.2 枚举类型变量的声明和引用 305

12.7 用户自定义数据类型 306

12.8 综合示例 309

12.9 本章习题 311

第13章 文件 313

13.1 文件概述 314

13.1.1 文件的作用 314

13.1.2 文件的分类 314

13.2 文件的打开与关闭 316

13.2.1 打开文件 316

13.2.2 关闭文件 318

13.3 文件的读写 320

13.3.1 字符读写函数fgetc和fputc 320

13.3.2 字符串读写函数fgets和fputs 323

13.3.3 数据块读写函数fread和fwrite 326

13.3.4 格式化读写函数fscanf和fprintf 328

13.4 文件的定位 330

13.4.1 rewind函数 330

13.4.2 fseek函数 332

13.5 综合应用 333

13.6 本章习题 336

第14章 算法 339

14.1 算法概述 340

14.1.1 算法的特征 340

14.1.2 算法示例 340

14.2 算法的表示 342

14.2.1 问题的引入 342

14.2.2 流程图描述 343

14.2.3 N-S图描述 345

14.2.4 PAD图描述 346

14.3 算法的实现 347

14.4 算法分析 350

14.4.1 时间复杂度 350

14.4.2 空间复杂度 351

14.5 算法的优化 353

14.6 综合示例 356

14.7 本章习题 358

第15章 C高级操作 361

15.1 链表的操作 362

15.1.1 链表概述 362

15.1.2 构造单链表 363

15.1.3 建立单链表 364

15.1.4 输出单链表 365

15.1.5 链表的插入 370

15.1.6 链表的删除 372

15.1.7 链表的查找 375

15.2 查找 377

15.2.1 顺序查找 377

15.2.2 折半查找 380

15.3 排序 383

15.3.1 冒泡排序 383

15.3.2 快速排序 386

15.4 综合示例 388

15.5 本章习题 389

第16章 程序调试 391

16.1 常见错误 392

16.1.1 语法错误 392

16.1.2 逻辑错误 394

16.1.3 运行错误 397

16.1.4 常见错误 398

16.2 程序调试 401

16.2.1 调试步骤 401

16.2.2 debug 403

16.2.3 watch 403

16.2.4 调试快捷键及注意事项 404

16.3 调试示例 405

16.4 本章习题 407

第17章 成绩管理系统 409

17.1 需求分析 410

17.2 总体设计 411

17.3 详细设计 411

17.3.1 数据结构设计 412

17.3.2 成绩录入模块 412

17.3.3 成绩查询模块 416

17.3.4 成绩更新模块 418

17.3.5 成绩删除模块 422

17.3.6 成绩排序模块 424

17.3.7 成绩导出模块 428

17.3.8 成绩导入模块 431

17.4 系统集成 434

17.4.1 设计菜单函数 434

17.4.2 设计主函数 437

17.5 测试运行 437

第18章 个人通讯录管理系统 441

18.1 需求分析 442

18.2 总体设计 442

18.3 详细设计 443

18.3.1 数据结构设计 443

18.3.2 设计主界面 444

18.4 模块设计 445

18.4.1 信息录入模块 445

18.4.2 信息查询模块 448

18.4.3 信息更新模块 450

18.4.4 信息删除模块 452

18.4.5 信息导出模块 455

18.4.6 信息导入模块 457

18.5 系统集成 458

18.6 测试运行 460