《C语言程序设计 基于CDIO思想 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:郑晓健,布瑞琴,李向阳,高世健,周波,方娇莉
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302465096
  • 页数:310 页
图书介绍:本教材采用CDIO的思想和模式编写。在注重培养读者程序设计及独立解决问题能力的同时,也兼顾语言知识的细节。本教材旨在为计算机专业打造精品课程奠定良好基础。本教材也可为非计算机专业公共课程采用。

第1章 C语言概述 1

1.1 C语言的产生与发展 1

1.1.1程序设计语言简述 1

1.1.2 C语言的历史 2

1.2 C语言的特点 2

1.3一个简单的C程序 3

1.4 C语言程序的格式 6

1.5标识符、变量与常量 7

1.5.1标识符 7

1.5.2变量 8

1.5.3常量 8

1.6数据类型 9

1.6.1整型、实型和字符型 9

1.6.2 C程序语句 13

1.6.3格式输出/输入函数 14

1.6.4实战演练 17

1.7小结 17

习题1 18

本章实验实训 21

第2章 C程序的运算符和表达式 23

2.1计算a/b和a%b的值 23

2.1.1分析与设计 23

2.1.2运算符与表达式 24

2.2算术运算符 24

2.2.1算术表达式 24

2.2.2数据类型与运算结果的关系 25

2.2.3实战演练 25

2.3位运算符 25

2.3.1按位与运算 26

2.3.2按位或运算 26

2.3.3按位异或运算 27

2.3.4按位取反运算 27

2.3.5左移运算 28

2.3.6右移运算 28

2.3.7实战演练 28

2.4赋值运算符及表达式 29

2.4.1赋值运算符 29

2.4.2赋值表达式 29

2.4.3复合的赋值运算符 29

2.5自增自减运算符 30

2.5.1自增1运算实例 30

2.5.2实战演练 31

2.6其他运算符 31

2.6.1逗号运算符 31

2.6.2求字节数运算符 32

2.7运算符的优先级和结合性 32

2.7.1 C语言的运算符分类 32

2.7.2运算符的优先级 33

2.7.3结合方向 33

2.8不同类型数据之间的转换 33

2.8.1自动类型转换 34

2.8.2强制类型转换 34

2.9综合设计 35

2.10小结 36

习题2 36

本章实验实训 39

第3章 选择结构 41

3.1工程师岗位面试(关系运算符和逻辑运算符) 41

3.1.1分析与设计 41

3.1.2关系运算符和关系表达式 42

3.1.3逻辑运算符和逻辑表达式 43

3.1.4条件运算符和条件表达式 44

3.2判断身材是否标准(if语句) 45

3.2.1分析与设计 46

3.2.2 if语句 46

3.2.3 if语句的嵌套 51

3.2.4实战演练 54

3.3顾客点餐(switch语句) 55

3.3.1分析与设计 55

3.3.2 switch语句 56

3.3.3使用switch语句的注意事项 58

3.3.4多路选择结构的比较 59

3.3.5实战演练 59

3.3.6综合设计(简单界面设计) 60

3.4小结 61

习题3 62

本章实验实训 67

第4章 循环结构 69

4.1输出100个数(for语句) 69

4.1.1分析与设计 69

4.1.2 for循环语句 70

4.1.3 for语句的几点说明 72

4.1.4实例分析与设计 73

4.1.5实战演练 76

4.2统计英语成绩(while语句) 77

4.2.1分析与设计 77

4.2.2 while循环语句 79

4.2.3实例分析与设计 79

4.2.4实战演练 80

4.3整数逆序输出(do-while语句) 81

4.3.1分析与设计 81

4.3.2 do-while循环语句 82

4.3.3实例分析与设计 82

4.3.4用while语句和用do-while语句的比较 83

4.3.5实战演练 84

4.4打印矩形(循环嵌套) 85

4.4.1分析与设计 85

4.4.2循环嵌套 86

4.4.3死循环 88

4.4.4实战演练 88

4.5找最小数(break和continue语句) 89

4.5.1分析与设计 89

4.5.2 break语句 90

4.5.3 continue语句 91

4.5.4用for和while循环实现do-while循环功能 92

4.5.5实战演练 92

4.5.6综合设计 92

4.6小结 94

习题4 94

本章实验实训 103

第5章 数组 104

5.1厨师选鱼(一维数组) 104

5.1.1分析与设计 104

5.1.2一维数组 105

5.1.3实战演练 112

5.2果园里的竞赛(二维数组) 113

5.2.1分析与设计 113

5.2.2二维数组 115

5.2.3实战演练 120

5.3古诗词填空(字符数组) 121

5.3.1分析与设计 121

5.3.2字符数组 121

5.3.3字符串处理函数 126

5.3.4实战演练 129

5.4综合设计 130

5.4.1解决数据的存储问题 131

5.4.2找摘桃子最多的人 132

5.4.3计算选手的总成绩 133

5.5小结 135

习题5 136

本章实验实训 141

第6章 函数 142

6.1阶乘之和(函数的定义、调用和声明) 142

6.1.1分析与设计 142

6.1.2函数的定义和调用 144

6.1.3函数原型、函数声明与函数调用 146

6.1.4实战演练 149

6.2成绩统计(函数的参数传递) 150

6.2.1分析与设计 150

6.2.2函数的参数传递 152

6.2.3实战演练 155

6.3计算三角形面积(嵌套调用和递归调用) 156

6.3.1分析与设计 156

6.3.2嵌套调用 157

6.3.3递归调用 158

6.3.4实战演练 159

6.4迎接第15亿个婴儿(变量的作用域) 160

6.4.1分析与设计 161

6.4.2局部变量和全局变量 161

6.4.3实战演练 164

6.5构造整数(变量的存储类型) 165

6.5.1分析与设计 165

6.5.2局部变量的存储类型 167

6.5.3全局变量的存储类型 169

6.5.4实战演练 171

6.6快速计算(编译预处理) 172

6.6.1分析与设计 172

6.6.2宏定义命令 173

6.6.3文件包含 174

6.6.4实战演练 175

6.7综合设计(诗词十二宫格游戏) 175

6.7.1分析与设计 175

6.7.2完整的源程序代码 175

6.8小结 177

习题6 178

本章实验实训 183

第7章 自定义数据类型 184

7.1今天是星期几(枚举类型) 184

7.1.1分析与设计 184

7.1.2枚举类型的定义与引用 184

7.2模拟显示数字时钟(结构体类型) 185

7.2.1分析与设计 186

7.2.2结构体类型的定义与引用 187

7.2.3结构体数组及其使用 190

7.2.4结构体变量做参数 191

7.3学生成绩表的制作(共用体类型) 191

7.3.1分析与设计 191

7.3.2共用体类型的定义与引用 192

7.4实战演练 193

7.5综合设计 196

7.5.1分析与设计 196

7.5.2完整的源程序代码 197

7.6小结 201

习题7 203

本章实验实训 205

第8章 指针 207

8.1用函数实现变量值的交换 207

8.1.1分析与设计 207

8.1.2指针的定义及运算 209

8.2数组与指针 210

8.2.1指向一维数组的指针 211

8.2.2指针指向数组时的运算 212

8.2.3指向二维数组的指针 213

8.3用指针操作字符串 213

8.3.1分析与设计 213

8.3.2使用字符数组与字符指针变量的区别 215

8.4指针与函数 217

8.4.1用指向函数的指针实现函数调用 217

8.4.2返回指针值的函数 219

8.5指针数组和指向指针的指针 219

8.5.1指针数组的概念 219

8.5.2指向指针的指针 221

8.5.3指针数组做main()函数的参数 222

8.6实战演练——验证卡布列克运算 223

8.7综合设计——用指针实现数据的动态管理 225

8.7.1分析与设计 225

8.7.2程序 226

8.7.3动态数据管理在插入、删除操作中的优点 229

8.8小结 230

习题8 232

本章实验实训 235

第9章 文件 237

9.1学生数据文件的创建与读取 237

9.1.1分析与设计 237

9.1.2文件操作入门 239

9.2文件的概念 240

9.2.1文件的定义 240

9.2.2文件的分类 240

9.2.3文件缓存区 241

9.2.4文件类型与文件指针 241

9.2.5文件的操作过程 242

9.3文件的打开和关闭 242

9.3.1文件的打开 242

9.3.2文件的关闭 244

9.4文件的读/写操作 244

9.4.1字符读/写函数fgetc和fputc 245

9.4.2字符串读/写函数fgets和fputs 246

9.4.3格式化读/写函数fscanf和fprintf 248

9.4.4数据块读/写函数fread和fwrite 250

9.5文件的定位操作 252

9.6文件的出错检测 255

9.7实战演练 257

9.8综合设计 259

9.8.1分析与设计 259

9.8.2完整的源程序代码 260

9.9小结 263

习题9 264

本章实验实训 268

第10章 Visual C++6.0开发环境 269

10.1开发环境概述 269

10.2菜单栏简介 271

10.3开发环境的工具栏 273

10.4 VC++6.0的主要窗口 275

10.5新建、编辑、编译、连接、运行一个C程序 276

10.6常见问题处理 278

习题参考答案 280

附录A ASCII码表 300

附录B C语言中的关键字 302

附录C C标准库函数 303

参考文献 309