图书目录

目    录

第1章 程序设计思想与方法 01

1.1 如何跟计算机交流 02

1.1.1 计算机语言 02

1.1.2 计算机语言的发展 02

1.1.3  程序设计 03

1.2 为什么要学C语言 04

1.2.1 C语言发展史 04

1.2.2 C语言的特征 05

1.2.3 C语言的应用 06

1.3 如何利用C语言解决问题 06

1.3.1 分析问题 07

1.3.2 确定数据结构及模型 07

1.3.3 算法设计 07

1.3.4 编程实现 11

1.3.5 调试运行 12

1.4 项目实战 13

1.4.1 项目问题分析 13

1.4.2 数据模型的构建 13

1.4.3 算法的设计 13

1.4.4 代码编写 14

1.4.5 程序调试运行 15

 总结拓展 20

【本章小结】 20

【思政故事】 20

【课后练习】 22

第2章 数据存储 25

2.1 什么是数据存储 26

2.1.1 计算机工作原理 26

2.1.2 计算机存储器 27

2.1.3 什么是数据存储 28

2.2 数据在计算机中如何存储 29

2.2.1 C语言的基本数据类型 29

2.2.2 不同数据类型的存储方式 30

2.2.3 不同数据类型的取值范围 33

2.3 C语言中如何使用数据 34

2.3.1 标识符 35

2.3.2 常量 35

2.3.3 变量 38

2.4 项目实战 41

2.4.1 项目问题分析 41

2.4.2 数据模型的构建 41

2.4.3 算法的设计 42

2.4.4 项目实现 42

 总结拓展 43

【本章小结】 43

【思政故事】 43

【课后练习】 44

第3章 数据运算 47

3.1 什么是数据运算 48

3.1.1 数据运算基础 48

3.1.2 表达式与语句 48

3.2 C语言中的运算 50

3.2.1 赋值运算 50

3.2.2 算术运算 51

3.2.3 位运算 52

3.2.4 关系运算 53

3.2.5 逻辑运算 54

3.2.6 复合运算 54

3.3 C语言中的混合运算规则 58

3.3.1 优先级与结合性 59

3.3.2 数据类型的转换 60

3.4 项目实战 62

3.4.1 项目问题分析 62

3.4.2 数据模型的构建 62

3.4.3 算法的设计 62

3.4.4 项目实现 62

 总结拓展 63

【本章小结】 63

【思政故事】 63

【课后练习】 65

第4章 顺序结构程序设计 67

4.1 顺序结构程序设计 68

4.2 数据的格式化输入 69

4.2.1 格式输入函数scanf( ) 69

4.2.2 字符数据输入函数 72

4.3 数据的格式化输出 74

4.3.1 格式输出函数printf 74

4.3.2 字符数据输出函数 79

4.4 项目实战 81

4.4.1 项目问题分析 81

4.4.2 数据模型的构建 81

4.4.3 算法的设计 81

4.4.4 项目实现 82

 总结拓展 83

【本章小结】 83

【思政故事】 83

【课后练习】 85

第5章 选择结构程序设计 89

5.1 if-else语句 90

5.1.1 if语句的基本结构 90

5.1.2 if语句的嵌套 94

5.2 switch语句 97

5.2.1 switch语句的基本结构 97

5.2.2 switch语句举例说明 98

5.3 项目实战 101

5.3.1 项目问题分析 102

5.3.2 数据模型的构建 102

5.3.3 算法的设计 102

5.3.4 项目实现 103

 总结拓展 106

【本章小结】 106

【思政故事】 106

【课后练习】 107

第6章 循环结构程序设计 111

6.1 什么是循环结构 112

6.1.1 循环结构的定义 112

6.1.2 循环结构的要素 112

6.1.3 循环结构的分类 112

6.2 常见的循环结构语句 113

6.2.1 while语句 113

6.2.2 do-while语句 117

6.2.3 for语句 119

6.3 循环嵌套与跳出语句 121

6.3.1 循环嵌套 121

6.3.2 跳出语句 123

6.4 项目实战 129

6.4.1 项目问题分析 129

6.4.2 数据模型的构建 129

6.4.3 算法的设计 129

6.4.4 项目的实现 130

 总结拓展 132

【本章小结】 132

【思政故事】 132

【课后练习】 134

第7章 数组与字符串 139

7.1 数组 140

7.1.1 什么是数组 140

7.1.2 数组的作用 140

7.2 数组的组织形式 141

7.2.1 一维数组 141

7.2.2 二维数组与多维数组 149

7.3 字符串与字符数组 154

7.3.1 字符串 154

7.3.2 字符数组 155

7.3.3 字符串处理函数 160

7.4  项目实战 164

7.4.1 项目问题分析 164

7.4.2 数据模型的构建 164

7.4.3 算法的设计 164

7.4.4 项目实现 165

 总结拓展 167

【本章小结】 167

【思政故事】 167

【课后练习】 168

第8章 函数 173

8.1 函数概述 174

8.1.1 函数的概念 174

8.1.2 函数的分类 174

8.2 函数定义与调用 175

8.2.1 函数定义 175

8.2.2 函数调用 177

8.2.3 函数声明   178

8.3 函数参数的传递 179

8.3.1 值传递方式 180

8.3.2 地址传递方式 181

8.4 函数的嵌套和递归调用 182

8.4.1 函数的嵌套调用 182

8.4.2 函数的递归调用 184

8.5 作用域和生存期 188

8.5.1 变量的作用域和生存期 188

8.5.2 变量的存储类型 190

8.5.3 函数的作用域 193

8.6 项目实战 194

8.6.1 项目问题分析 194

8.6.2 数据模型的构建 195

8.6.3 算法的设计 196

8.6.4 项目实现 197

 总结拓展 200

【本章小结】 200

【思政故事】 201

【课后练习】 202

第9章 指针 205

9.1 指针与指针变量的概念 206

9.1.1 指针和地址 206

9.1.2 指针变量 206

9.1.3 指针变量的运算 208

9.1.4 空指针与空类型指针 211

9.1.5 多级指针 211

9.2 指针与数组 213

9.2.1 指针与一维数组 213

9.2.2 指针数组 216

9.2.3 指针与二维数组 218

9.3 指针与函数 222

9.3.1 指针作为函数的参数 222

9.3.2 指向函数的指针——函数指针 228

9.3.3 返回指针的函数——指针函数 229

9.4 动态内存分配 231

9.4.1 内存的存储分配 231

9.4.2 内存的动态分配 231

9.5 项目实战 234

9.5.1 项目问题分析 234

9.5.2 数据模型的构建 234

9.5.3 算法的设计 235

9.5.4 项目实现 236

 总结拓展 241

【本章小结】 241

【思政故事】 242

【课后练习】 243

第10章 复杂数据类型 247

10.1 复杂数据类型概述 248

10.2 结构体 249

10.2.1 结构体类型 249

10.2.2 结构体变量 252

10.2.3 结构体数组 256

10.2.4 结构体指针 259

10.3 联合体 262

10.3.1 联合体类型 262

10.3.2 联合体变量 263

10.4 枚举类型 268

10.4.1 枚举类型与枚举变量的定义 269

10.4.2 枚举变量的赋值与使用 269

10.5 类型定义符typedef 271

10.6 项目实战 272

10.6.1 项目问题分析 272

10.6.2 数据模型的构建 273

10.6.3 算法的设计 273

10.6.4 项目实现 274

 总结拓展 279

【本章小结】 279

【思政故事】 279

【课后练习】 281

第11章 预处理命令 285

11.1 预处理命令简介 286

11.2 宏定义 286

11.2.1 不带参数的宏定义 287

11.2.2 带参数的宏定义 289

11.2.3 带参数的宏与函数的区别 290

11.3 文件包含 291

11.4 条件编译 294

11.4.1 if格式 294

11.4.2 ifdef格式 296

11.4.3 ifndef格式 297

11.4.4 条件编译与分支语句的差别 298

11.5 项目实战 299

11.5.1 项目问题分析 299

11.5.2 数据模型的构建 299

11.5.3 项目实现 299

 总结拓展 301

【本章小结】 301

【思政故事】 301

【课后练习】 302

第12章 文件 305

12.1 文件基本概念 306

12.1.1 什么是文件 306

12.1.2 文件的分类 306

12.1.3 文件读写流程 307

12.2 文件打开与关闭 309

12.2.1 文件的打开 309

12.2.2 文件的关闭 310

12.3 文件读写操作 311

12.3.1 字符读写 311

12.3.2 字符串读写 313

12.3.3 格式化读写 314

12.3.4 数据块读写 316

12.4 文件其他操作 318

12.4.1 文件结尾检测 318

12.4.2 读写指针定位 319

12.5 项目实战 321

12.5.1 项目问题分析 321

12.5.2 数据模型的构建 322

12.5.3 算法的设计 322

12.5.4 项目实现 324

 总结拓展 329

【本章小结】 329

【思政故事】 329

【课后练习】 330

附 录 C语言常用库函数 333