C语言程序设计项目教程

C语言程序设计项目教程 教材名称: C语言程序设计项目教程
ISBN号: 978-7-89436-487-6 作者: 刘洋、阎双、童红兵
字数: 541千字 规格: 16开
印制时间: 2017-05-01 出版日期: 2017-05-01
定价: 38 元 样章下载: 样章2.pdf
购买链接:

 

本教材共分为5篇,初识C语言,C语言初级应用,C语言的中级应用,C语言的高级应用和高级话题。初识C语言介绍了C语言的特点、应用领域、C语言的学习方法、C程序的基本结构及无参无返回值函数等知识,该篇完成计算器项目的主菜单设计。C语言初级应用采用计算器项目,介绍了基本数据类型、变量、运算符和表达式、三种程序设计结构以及带参有返回值函数等知识。C语言的中级应用采用“学生成绩管理系统V1.0”项目,介绍了一维数组的基本应用、字符串的使用,并分别介绍了使用二维数组和指针改写完善“学生成绩管理系统V1.0”的方法和思路。C语言的高级应用介绍了结构体和文件等相关知识,实现了“学生成绩管理系统V2.0”项目,并应用链表知识改写和完善了该项目。高级话题是针对前四篇内容的深化和扩展,内容包括递归、预处理、变量的作用域与生命周期、指针的高级应用、位运算、枚举等构造类型。

预期学习效果

本教材以案例教学为主导,以项目为载体,充分体现“做中学”和“学中做”思想。以能力培养为主线,培养学生专业能力和工程实践能力。以案例为驱动,在做案例的过程中学习新知识,充分体现了“做中学”。以项目为载体,基于工程化教育理念,按照分析、设计、实施、运行展开项目及知识讲解。围绕学科知识构建教材体系,并与能力和项目交叉,实现同一专业下不同教材的并联性。内容编排循序渐进,符合人的认识规律。

 

项目准备篇——初识C语 1

0.1什么是C语言 1

0.1.1什么是程序设计语言 1

0.1.2C语言的历史 1

0.2C语言的特点 2

0.3C语言能做什么 2

0.4C语言基本结构 3

0.4.1main函数 3

0.4.2自定义函数 4

0.4.3计算器的主菜单设计 4

0.5如何学习C语言 5

第1篇简易计算器的开发——C语言初级应用

项目导学 9

第1章加法模块的开发  11

1.1任务说明 12

1.2任务分析 12

1.3任务实施 13

1.4知识点详解 14

1.4.1常量 14

1.4.2变量 15

1.4.3整型变量 18

1.4.4输入函数——scanf 18

1.4.5输出函数——printf 20

1.5项目完善 22

第2章除法模块的开发 24

2.1任务说明 25

2.2任务分析 25

2.3任务实施 26

2.4知识点详解 27

2.4.1浮点型数据 27

2.4.2算术运算符 30

2.4.3算术表达式 30

2.4.4数据类型转换 32

2.4.5赋值运算符 34

2.5项目完善 36

第3章口令验证模块的开发 37

目录3.1任务说明 38

3.2任务分析 38

3.3任务实施 39

3.4知识点详解 40

3.4.1关系运算符和关系表达式 40

3.4.2逻辑运算 41

3.4.3程序的三种基本结构 41

3.4.4单分支if语句 42

3.4.5双分支ifelse语句 43

3.4.6多分支ifelse if语句 45

3.4.7if语句的嵌套 48

3.5项目完善 49

第4章主菜单模块的开发  51

4.1任务说明 52

4.2任务分析 52

4.3任务实施 53

4.4知识点详解 55

4.4.1字符型数据 55

4.4.2多分支switch语句 59

第5章应用有参有返回值函数开发计算器 64

5.1任务说明 65

5.2任务分析 66

5.3任务实施 67

5.4知识点详解 69

5.4.1无参无返回值函数 70

5.4.2有参无返回值函数 71

5.4.3无参有返回值函数 73

5.4.4有参有返回值函数 74

5.5项目完善 78

第6章累加模块的开发 82

6.1任务说明 83

6.2任务分析 83

6.3任务实施 84

6.4知识点详解 86

6.4.1++和--运算符 86

6.4.2for循环 88

6.4.3while循环 92

6.4.4dowhile循环 95

6.4.5break和continue语句 97

6.5项目完善 100

第7章阶乘累加模块的开发 105

7.1任务说明 106

7.2任务分析 106

7.3任务实施 106

7.4知识点详解 108

7.4.1双重循环 108

7.4.2多重循环 112

7.5项目完善 113

第8章案例学习 118

8.1任务说明 119

8.2任务分析 120

8.3任务实施 120

第2篇学生成绩管理系统V1.0的开发——C语言的中级应用

项目导学 127

第9章成绩录入模块的开发 130

9.1任务说明 131

9.2任务分析 131

9.3任务实施 133

9.4知识点详解 134

9.4.1一维数组的定义 134

9.4.2一维数组的初始化 135

9.4.3一维数组元素的引用 135

9.4.4一维数组的输入和输出 136

9.4.5一维数组作为函数参数 138

9.5项目完善 141

9.5.1录入模块的完善 141

9.5.2成绩输出模块的开发 142

第10章成绩查询模块的开发 144

10.1任务说明 145

10.2任务分析 145

10.3任务实施 146

10.4知识点详解 147

10.4.1一维数组元素的查找 147

10.4.2一维数组元素的极值查找 149

10.5项目完善 154

10.5.1查找模块的改进 154

10.5.2成绩统计模块的开发 157

第11章成绩排序模块的开发 159

11.1任务说明 160

11.2任务分析 160

11.3任务实施 161

11.4知识点详解 162

11.4.1冒泡法排序 162

11.4.2选择法排序 163

第12章口令验证模块的改进 167

12.1任务说明 168

12.2任务分析 168

12.3任务实施 169

12.4知识点详解 171

12.4.1字符串的存储 171

12.4.2字符串的输入和输出 171

12.4.3常用的字符串处理函数 173

12.5项目训练 179

第13章基于二维数组的多门课程成绩管理系统的开发 182

13.1任务说明 183

13.2任务分析 184

13.3任务实施 185

13.4知识点详解 188

13.4.1二维数组的定义 188

13.4.2二维数组的初始化 188

13.4.3二维数组的遍历 188

13.4.4更多维的数组 191

13.5项目完善 192

第14章基于指针的学生成绩管理系统的开发 195

14.1指针入门 196

14.1.1指针的概念 196

14.1.2指针的定义与引用 197

14.1.3指针作函数参数 199

14.2学生成绩管理系统框架改造 202

14.3成绩录入模块改写 202

14.3.1任务说明 202

14.3.2任务分析 203

14.3.3任务实施 204

14.4知识点详解 205

14.4.1数组名作为指针 205

14.4.2指针的运算 206

14.4.3使用指针操作字符串 210

14.4.4使用指针创建字符串 215

14.5项目完善 218

第15章案例学习 221

15.1任务说明 222

15.2任务分析 222

15.3任务实施 222

第3篇学生成绩管理系统V2.0的开发——C语言的高级应用

项目导学 229

第16章学生基本信息录入模块的开发 231

16.1任务说明 232

16.2任务分析 232

16.3任务实施 235

16.4知识点详解 238

16.4.1结构体声明 238

16.4.2结构体变量的定义 239

16.4.3初始化结构体 239

16.4.4结构体成员的引用 240

16.4.5结构体数组 241

16.5项目完善 242

第17章学生信息查找模块的开发 244

17.1任务说明 245

17.2任务分析 245

17.3任务实施 248

17.4知识点详解 251

17.4.1结构体数组的遍历 251

17.4.2指定值的查找 252

17.4.3极值的查找 253

17.5项目完善 253

第18章汇总统计模块的开发 257

18.1任务说明 258

18.2任务分析 258

18.3任务实施 259

18.4项目完善 261

第19章身份验证模块的开发 263

19.1任务说明 264

19.2任务分析 264

19.3任务实施 268

19.4知识点详解 270

19.4.1文本文件与二进制文件 270

19.4.2文件的读写操作及相关函数 271

19.5项目完善 276

第20章基于链表的学生成绩管理系统的开发 278

20.1任务说明 279

20.2任务分析 279

20.3任务实施 279

20.4知识点详解 282

20.4.1链表结点的定义 282

20.4.2链表结点的引用 282

20.4.3链表的遍历 282

20.4.4链表的插入 283

20.4.5链表的删除 284

20.5项目完善 285

20.5.1主控模块的改写 285

20.5.2用有参无返回值函数实现输出成绩清单模块 286

20.5.3用有参无返回值函数实现按姓名搜索记录模块 286

20.5.4用有参无返回值函数实现按姓名删除记录模块 286

20.5.5用有参有返回值函数实现追加录入学生成绩模块 287

第21章案例学习 289

21.1任务说明 290

21.2任务分析 290

21.3任务实施 290

第4篇高级话题

第22章函数 297

22.1递归函数 298

22.2内部函数与外部函数 301

22.3预处理 304

22.3.1宏定义 304

22.3.2文件包含 309

22.3.3条件编译 310

22.4变量的作用域与生命周期 312

22.4.1变量的作用域 312

22.4.2变量的生命周期 314

第23章指针与内存分配 320

23.1二级指针 321

23.2函数指针 322

23.3数组指针 326

23.4内存分配 330

23.4.1静态内存分配和动态内存分配 330

23.4.2动态内存分配函数 331

第24章位运算 334

24.1移位运算 335

24.2按位运算 337

第25章构造类型 341

25.1结构体的进一步讨论 342

25.1.1指向结构体类型变量的指针 342

25.1.2指向结构体类型数组的指针 344

25.2枚举类型 345

25.3联合类型 347

附录ⅠC语言关键字 355

附录ⅡASCII码对照表 356

附录Ⅲ运算符的优先级和结合方向 358

附录ⅣC语言常用库函数 360

附录ⅤC语言常用的转义字符 366

附录ⅥC语言常用英文词汇 367

附录Ⅶ学习知识要点及能力要点 370

参考文献 374

 

C语言功能丰富,表达力强,使用灵活方便。应用面广,目标程序效率高,可移植性好,特别适合编写程序软件。
学习C语言程序设计本身是一件既充满挑战、又充满乐趣的事情。然而,它常常会给人以枯燥乏味的感觉,原因是因为没有人帮助发掘出其中的趣味。
本教材内容编排循序渐进,符合人的认识规律,力图用最简明的语言、最典型的实例以及最通俗易懂的类比和解释将这种趣味性挖掘出来,带给读者以全新的学习体验。