《C语言程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:邱晓红,李渤编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302289487
  • 页数:374 页
图书介绍:新教材将基于CDIO的工程教育理念,结合软件工程专业未来需要掌握的专业知识点,利用建构主义教学理论设计综合范例,帮助同学从计算机交流语言应用者角度深层次理解C语言基本语法、基本概念,降低C语言的学习和应用的抽象性难度。

第1章 C语言及程序设计概述 1

1.1 C语言简介 1

1.1.1 C语言的发展过程 1

1.1.2 C语言的主要特点 1

1.2 C语言程序的结构 3

1.2.1 C语言程序的结构及其主要特点 3

1.2.2 标识符与关键字 5

1.3 C语言编译工具简介 7

1.3.1 C语言程序实现的步骤 7

1.3.2 Turbo C 2.0编译工具简介 7

1.3.3 Visual C+++6.0编译工具简介 11

1.4 如何学习C语言 15

1.4.1 学习C语言的理由 15

1.4.2 学好C语言的步骤 17

1.5 编程实践 18

任务1:输出金字塔图案 18

任务2:打印输出华氏和摄氏的温度对照表 19

习题 20

第2章 数据类型、运算符与表达式 22

2.1 常量和变量 22

2.1.1 常量 22

2.1.2 变量 25

2.2 基本数据类型 27

2.2.1 整数类型 27

2.2.2 字符型 28

2.2.3 实数类型 29

2.3 数据类型的转换 30

2.3.1 自动类型转换 31

2.3.2 强制类型转换 33

2.4 运算符和表达式 34

2.4.1 算术运算符和算术表达式 34

2.4.2 关系运算符和关系表达式 39

2.4.3 逻辑运算符和逻辑表达式 42

2.4.4 赋值运算符和赋值表达式 43

2.4.5 位运算符与位运算 45

2.4.6 条件运算符与条件表达式 49

2.4.7 逗号运算符与逗号表达式 50

2.4.8 求字节数运算符 51

2.4.9 特殊运算符 52

2.5 运算符的优先级和结合性 52

2.5.1 运算符的优先级 52

2.5.2 运算符的结合性 53

2.6 编程实践 55

任务:分析MD5散列算法的基本运算 55

习题 56

第3章 算法概念与顺序结构程序设计 64

3.1 算法简介 64

3.1.1 算法的概念 64

3.1.2 算法的常用描述方法 65

3.2 C语句概述 67

3.3 C语言的基本输入与输出 69

3.3.1 字符输入/输出函数 69

3.3.2 格式输入/输出函数 71

3.4 顺序结构程序设计 80

3.4.1 顺序结构程序设计思想 80

3.4.2 顺序结构程序设计举例 80

3.5 编程实践 82

任务:计算正弦函数的面积 82

习题 83

第4章 选择结构程序设计 87

4.1 if语句 87

4.1.1 单分支if语句 87

4.1.2 双分支if语句 88

4.1.3 多分支if语句 89

4.1.4 if语句的嵌套 91

4.1.5 条件运算符和条件表达式 93

4.2 switch语句 93

4.2.1 switch语句 94

4.2.2 switch语句的嵌套 96

4.3 选择结构程序设计举例 97

4.4 编程实践 99

任务:计算个人所得税 99

习题 100

第5章 循环结构程序设计 113

5.1 while和do-while循环结构 113

5.1.1 while语句的一般形式 113

5.1.2 while语句使用说明 114

5.1.3 do-while语句的一般形式 115

5.1.4 do-while语句使用说明 116

5.2 for循环结构和循环的嵌套 116

5.2.1 for循环语句的一般形式 117

5.2.2 for循环语句使用说明 118

5.2.3 循环嵌套的形式 119

5.2.4 嵌套循环的说明 119

5.3 流程转向语句 120

5.3.1 goto语句 120

5.3.2 break语句 121

5.3.3 continue语句 122

5.4 循环结构程序设计举例 123

5.4.1 确定循环次数与不确定循环次数 123

5.4.2 选择循环语句 125

5.4.3 提前结束循环 127

5.4.4 其他应用举例 127

5.5 编程实践 128

任务:验证哥德巴赫猜想 128

习题 129

第6章 数组 136

6.1 一维数组 136

6.1.1 一维数组的定义 136

6.1.2 一维数组元素的引用 136

6.1.3 一维数组的初始化 137

6.1.4 一维数组应用举例 138

6.2 多维数组 140

6.2.1 二维数组的定义 140

6.2.2 二维数组元素的引用 141

6.2.3 二维数组的初始化 142

6.2.4 二维数组使用举例 142

6.3 字符数组 145

6.3.1 字符数组的定义 145

6.3.2 字符数组的初始化 146

6.3.3 字符串与字符串结束标志 147

6.3.4 字符数组的引用与输入/输出 147

6.3.5 字符串处理函数 148

6.3.6 字符数组使用举例 153

6.4 数组应用举例 155

6.5 编程实践 158

任务:多规格打印万年历 158

习题 160

第7章 函数 165

7.1 函数的定义 165

7.1.1 函数概述 165

7.1.2 函数类型 165

7.1.3 函数定义 168

7.2 函数参数和返回值 170

7.2.1 形式参数和实际参数 170

7.2.2 函数的返回值 174

7.3 函数的调用 175

7.3.1 函数调用 175

7.3.2 函数声明 175

7.4 函数的嵌套调用和递归调用 176

7.4.1 函数的嵌套调用 176

7.4.2 函数的递归调用 178

7.5 变量的作用域 181

7.6 变量的存储类别 184

7.7 编程实践 186

任务1:正(余)弦曲线演示器 186

任务2:杨辉三角形 188

习题 190

第8章 指针 196

8.1 指针和地址 196

8.2 指针变量 197

8.2.1 指针变量的定义 197

8.2.2 指针变量赋值 198

8.2.3 指针运算符与指针表达式 200

8.2.4 指针变量的引用 202

8.2.5 指针变量作为函数的参数 202

8.3 指针和数组 206

8.3.1 指向数组的指针 206

8.3.2 通过指针引用数组元素 207

8.3.3 数组名作为函数参数 209

8.3.4 指向多维数组的指针和指针变量 212

8.4 指针和字符串 216

8.4.1 字符串的表示 216

8.4.2 字符串指针作为函数参数 218

8.4.3 字符数组与字符串指针的区别 219

8.5 指针和函数 221

8.5.1 函数的指针 221

8.5.2 用指向函数的指针作为函数参数 222

8.5.3 返回指针值的函数 224

8.6 指向指针的指针 225

8.6.1 指向指针的指针 225

8.6.2 指针数组 226

8.6.3 指针数组作为main函数的参数 228

8.7 编程实践 229

任务1:黑白棋子交换 229

任务2:班干部值日安排 231

习题 234

第9章 结构体和共用体 239

9.1 结构体 239

9.1.1 结构体类型定义 239

9.1.2 结构体变量的定义 241

9.1.3 结构体变量的引用 243

9.1.4 结构体变量的赋值 244

9.2 结构体数组与结构体指针 246

9.2.1 结构体数组 246

9.2.2 指向结构体的指针 249

9.2.3 结构体作为函数的参数 252

9.2.4 结构体举例 256

9.3 链表 258

9.3.1 链表概述 258

9.3.2 处理动态链表所需的函数 259

9.3.3 链表的基本操作 262

9.4 共用体 266

9.4.1 共用体类型的定义 267

9.4.2 共用体类型变量的定义 267

9.4.3 共用体变量的引用 268

9.4.4 共用体变量的初始化 268

9.5 枚举类型和自定义类型 270

9.5.1 枚举类型的定义 271

9.5.2 枚举变量的定义和初始化 271

9.5.3 枚举数据的运算 272

9.5.4 枚举数据的输入/输出 273

9.5.5 枚举变量举例 274

9.5.6 用typedef定义类型 276

9.6 编程实践 279

任务1:三天打鱼两天晒网 279

任务2:航班订票系统 280

习题 289

第10章 文件 294

10.1 文件概述 294

10.1.1 文件的分类 294

10.1.2 文件的编码形式 294

10.1.3 文件的读写方式 295

10.2 文件的基本操作 296

10.2.1 文件的打开与关闭 296

10.2.2 文件的读和写 298

10.3 文件操作举例 303

10.4 编程实践 310

任务:精挑细选 310

习题 312

第11章 预处理命令 314

11.1 宏定义 314

11.1.1 无参宏定义 314

11.1.2 带参数的宏定义 318

11.2 “文件包含”处理 322

11.3 条件编译 323

11.4 编程实践 325

任务:串化运算 325

习题 326

第12章 综合案例实训 331

12.1 五子棋游戏项目实训 331

12.1.1 功能模块设计 331

12.1.2 数据结构设计 332

12.1.3 函数功能描述 332

12.1.4 系统数据流程图 333

12.1.5 程序实现 333

12.1.6 程序运行 344

12.2 ATM(自动取款机)案例实训 345

12.2.1 功能模块 345

12.2.2 数据结构分析 345

12.2.3 函数功能描述 345

12.2.4 系统数据流程图 346

12.2.5 代码实现 347

12.2.6 运行结果 363

附录A 常用字符与ASCII对照表 365

附录B C语言常用语法提要 366

B.1 标识符 366

B.2 常量 366

B.3 表达式 366

B.4 数据定义 367

B.5 函数定义 368

B.6 变量的初始化 368

B.7 语句 368

B.8 预处理命令 369

附录C C语言的常用库函数 370

C.1 输入/输出函数 370

C.2 数学函数 371

C.3 字符函数和字符串函数 372

C.4 动态存储分配函数 373

参考文献 374