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

  • 购买积分:12 如何计算积分?
  • 作  者:李向阳主编;方娇莉副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302278559
  • 页数:318 页
图书介绍:本教材用提出问题、分析问题、给出相关知识、举一反三这样的学习方法来组织“C程序设计”这门课程。

第1章 C程序快速入门 1

1.1 自我介绍(C程序基本知识) 1

1.1.1 分析与设计 1

1.1.2 简单C程序的基本知识 2

1.1.3 实战演练 3

1.2 计算应纳个人所得税额(数据类型等) 3

1.2.1 分析与设计 3

1.2.2 标识符、变量与常量 5

1.2.3 数据类型 7

1.2.4 C程序语句 10

1.2.5 输出、输入函数 11

1.2.6 实战演练 14

1.3 小结 15

习题1 15

第2章 C语言的运算符和表达式 18

2.1 计算a/b和a%b的值(算术运算) 18

2.1.1 分析与设计 18

2.1.2 运算符与表达式 18

2.1.3 算术运算符和算术表达式 20

2.1.4 实战演练 20

2.2 交换a,b变量的值(赋值运算) 21

2.2.1 分析与设计 21

2.2.2 赋值运算符 22

2.2.3 复合的赋值运算符 22

2.2.4 自增1(自减1)运算符 23

2.2.5 实战演练 24

2.3 计算存款n年后的本利之和(类型转换等运算) 24

2.3.1 分析与设计 24

2.3.2 类型转换 25

2.3.3 逗号运算符 26

2.3.4 容量运算符 26

2.3.5 位运算符 27

2.3.6 实战演练 28

2.4 算法及C语言编程规约 29

2.4.1 算法 29

2.4.2 C语言编程规约 30

2.5 小结 31

习题2 31

第3章 选择结构 35

3.1 谁会接到面试通知(关系运算符和逻辑运算符) 35

3.1.1 分析与设计 35

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

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

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

3.2 你的身材标准吗(if语句) 39

3.2.1 分析与设计 39

3.2.2 if语句 40

3.2.3 if语句的嵌套 45

3.2.4 实战演练 47

3.3 选择幸运数字(switch语句) 49

3.3.1 分析与设计 49

3.3.2 switch语句 50

3.3.3 有关switch语句的一些说明 52

3.3.4 switch和if…else if…else多路选择结构的比较 53

3.3.5 实战演练 53

3.4 小结 55

习题3 56

第4章 循环结构 62

4.1 蜗牛爬杆(while循环) 62

4.1.1 分析与设计 62

4.1.2 while循环 63

4.1.3 实战演练 65

4.2 爱因斯坦的阶梯问题(do…while循环) 66

4.2.1 分析与设计 66

4.2.2 do…while循环 66

4.2.3 while语句和do…while语句的比较 68

4.2.4 实战演练 68

4.3 寻找交通肇事犯(for循环) 70

4.3.1 分析与设计 70

4.3.2 for循环 70

4.3.3 对for语句的几点说明 71

4.3.4 实战演练 75

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

4.4.1 分析与设计 78

4.4.2 循环嵌套 79

4.4.3 死循环 81

4.4.4 实战演练 81

4.5 你输入了多少个字符(break和continue语句) 83

4.5.1 分析与设计 83

4.5.2 break语句 83

4.5.3 continue语句 84

4.5.4 实战演练 85

4.6 综合设计 85

4.7 小结 87

习题4 88

第5章 数组 96

5.1 5个小朋友分糖果(一维数组) 96

5.1.1 分析与设计 96

5.1.2 一维数组 98

5.1.3 实战演练 100

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

5.2.1 分析设计 104

5.2.2 二维数组 105

5.2.3 实战演练 109

5.3 数数一共打了多少个单词(字符数组) 110

5.3.1 分析与设计 111

5.3.2 字符数组 112

5.3.3 字符串处理函数 116

5.3.4 实战演练 119

5.4 综合设计(完善果园竞赛程序) 121

5.4.1 解决数据的存储问题 121

5.4.2 谁摘得的桃子重量最重 123

5.4.3 计算选手的总成绩 124

5.5 小结 126

习题5 126

第6章 函数 133

6.1 求多个阶乘之和(函数的定义、调用和声明) 133

6.1.1 分析与设计 133

6.1.2 函数的定义和调用 135

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

6.1.4 实战演练 139

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

6.2.1 分析与设计 140

6.2.2 函数的参数传递 142

6.2.3 实战演练 142

6.3 计算10组数中的三角形面积(嵌套调用和递归调用) 143

6.3.1 分析与设计 143

6.3.2 嵌套调用 144

6.3.3 递归调用 145

6.3.4 实战演练 146

6.4 我国人口何时增加到15亿(变量的作用域) 147

6.4.1 分析与设计 147

6.4.2 局部变量和全局变量 148

6.4.3 实战演练 149

6.5 计算机出题、判卷、打分(变量的存储类型) 150

6.5.1 分析与设计 150

6.5.2 局部变量的存储类型 152

6.5.3 全局变量的存储类型 154

6.5.4 实战演练 156

6.6 快速计算三角形的面积(编译预处理) 156

6.6.1 分析与设计 156

6.6.2 宏定义命令 158

6.6.3 文件包含 159

6.6.4 实战演练 159

6.7 综合设计(单科成绩分析统计程序) 160

6.7.1 分析与设计 160

6.7.2 完整的源程序代码 161

6.8 小结 163

习题6 163

第7章 自定义数据类型 169

7.1 测试个人的星座(枚举类型) 169

7.1.1 分析与设计 169

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

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

7.2.1 分析与设计 172

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

7.2.3 结构体数组及其使用 177

7.2.4 结构体变量作参数 178

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

7.3.1 分析与设计 178

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

7.4 实战演练 180

7.5 综合设计 184

7.5.1 分析与设计 184

7.5.2 完整的源程序代码 186

7.6 小结 189

习题7 191

第8章 指针 194

8.1 用函数实现变量值的交换(指针的引入) 194

8.1.1 分析与设计 194

8.1.2 指针的定义及运算 196

8.2 数组与指针 197

8.2.1 指向一维数组的指针 197

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

8.2.3 指向二维数组的指针 200

8.3 打印三角形(用指针操作字符串) 200

8.3.1 分析与设计 200

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

8.4 一箭三雕(指针与函数) 204

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

8.4.2 返回指针值的函数 206

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

8.5.1 指针数组的概念 206

8.5.2 指向指针的指针 208

8.5.3 指针数组作main()函数的参数 209

8.6 实战演练(验证卡布列克运算) 210

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

8.7.1 分析与设计 212

8.7.2 程序 213

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

8.8 小结 217

习题8 219

第9章 文件 223

9.1 学生数据文件的创建与读取(文件引入) 223

9.1.1 分析与设计 223

9.1.2 文件操作入门知识 225

9.2 文件的概念 226

9.2.1 文件的定义 226

9.2.2 文件的分类 226

9.2.3 文件缓存区 227

9.2.4 文件类型与文件指针 228

9.2.5 文件的操作过程 228

9.3 文件的打开和关闭 229

9.3.1 文件的打开 229

9.3.2 文件的关闭 230

9.4 文件的读/写操作 231

9.4.1 以字符为单位进行文件读/写的函数:fgetc(),fputc() 231

9.4.2 基于字符串读/写的函数:fgets(),fputs() 233

9.4.3 格式化读/写函数:fscanf(),fprintf() 235

9.4.4 数据块读/写函数:fread(),fwrite() 236

9.5 文件的定位操作 238

9.6 文件的出错检测 241

9.7 实战演练 243

9.8 综合设计 245

9.8.1 分析与设计 246

9.8.2 完整的源程序代码 247

9.9 小结 249

习题9 250

第10章 面向对象程序设计入门 254

10.1 学生信息管理(第一个面向对象的程序) 254

10.1.1 分析与设计 254

10.1.2 面向对象程序设计的基本概念 256

10.2 “小李”与“大学生”类(定义类及创建对象) 258

10.2.1 分析与设计 258

10.2.2 类的定义与对象的引用 260

10.2.3 友元函数和友元类 261

10.3 构造一个“大学生”对象(构造函数的使用) 262

10.3.1 分析与设计 262

10.3.2 构造函数 263

10.3.3 析构函数 266

10.4 扩展“大学生”类的信息(类的继承) 267

10.4.1 分析与设计 267

10.4.2 建立派生类 269

10.4.3 派生类构造函数 270

10.4.4 多态性 271

10.5 综合应用 274

10.6 小结 281

第11章 Visual C++ 6.0开发环境 282

11.1 开发环境概述 282

11.2 菜单栏各项功能简介 284

11.3 开发环境的工具栏 286

11.4 新建、编辑、编译、连接、运行一个C程序 288

习题答案 290

附录A ASCII码表 307

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

附录C C标准库函数 310

参考文献 317