新書推薦:
《
分析性一体的涌现:进入精神分析的核心
》
售價:NT$
556.0
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:NT$
352.0
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:NT$
449.0
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:NT$
449.0
《
金托邦:江湖中的沉重正义
》
售價:NT$
275.0
《
易经今解:释疑·解惑·见微
》
售價:NT$
403.0
《
东欧史(全二册)-“中间地带”的困境
》
售價:NT$
1010.0
《
虚拟资本:金融怎样挪用我们的未来
》
售價:NT$
352.0
|
內容簡介: |
C语言是许多大学计算机及其相关专业开设的一门重要的专业基础课 ,也是大多数学生学习的第一门程序设计类课程。对于第一次接触程序设计语言的学生来说 ,掌握 C语言是有一定难度的。C语言课程中 ,讲授语法只是一个方面 ,更重要是培养学生的程序设计思想 ,而这一目的的达成是建立在大量的编程实践的基础上的。编者在多年的 C语言教学中 ,不断地摸索、尝试突破固有的 C语言知识体系 ,通过项目引导学生在编程实践中学习和巩固知识点。这种想法和做法与 CDIO工程教育模式所倡导的 “基于项目的学习 ”理念不谋而合 ,这本教材正是在这一背景下应运而生的。
1适用对象
本教材适用于计算机相关专业本科 C语言系列课程和专科 C语言系列课程的教学。本教材亦可作为非计算机专业 C语言课程的教材及 C语言零起点的读者的参考用书。读者学习本教材后 ,能够掌握 C语言的基础语法 ,并利用所学到的 C语言理论知识解决简单规模的程序设计。
(2需要具备的知识和能力基础
学习本教材需要读者预先掌握计算机的基本概念 ,包括文件、文件夹、内存的概念以及计算机的基本工作原理等 ,同时还需要读者掌握操作系统的基本操作 ,如创建文件夹、新建文件等。另外 ,为了对数据表示、指针、位运算等能更好地理解 ,读者应能初步理解计算机中数据的表示和存储及数制转换等知识。
3教学总体目标
C语言的学习 ,将为后续的数据结构课程及其他程序设计语言类课程打下坚实的基础。本教材以项目驱动的方式 ,导出 C语言的各个知识点 ,从以下几个方面培养读者的 CDIO能力 :
①计算机软件开发知识 :掌握 C语言的各重要知识点 ,具备良好的编程习惯和编程风格 ;
②系统的显现和交互作用 :能够理解函数的思想 ,对简单系统能够理解如何分解为多个模块,并了解模块 函数 之间的关系 ;
③引进、消化、吸收再创新能力 :根据已学到知识 ,能够对现有系统进行改进和完善 ;
④软件实现过程 :能够综合运用 C语言知识来解决具体问题的编程实现的能力 ;
⑤测试、证实、验证及认证 :能够通过执行程序来测试、验证预期的结果 ,具备初步的调试程序的能力。
|
目錄:
|
项目准备篇 ———初识 C语言
0.1什么是 C语言 1
0.1.1什么是程序设计语言 1
0.1.2 C语言的历史 1
0.2 C语言的特点 2
0.3 C语言能做什么 2
0.4 C语言基本结构 3
0.4.1 main函数 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-elseif语句 45
3.4.7 if语句的嵌套 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.2 for循环 88
6.4.3 while循环 92
6.4.4 do-while循环 95
6.4.5 break和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数组指针 324
23.4内存分配 328
23.4.1静态内存分配和动态内存分配 328
23.4.2动态内存分配函数 328
第24章位运算 332
24.1移位运算 333
24.2按位运算 335
第25章构造类型 339
25.1结构体的进一步讨论 340
25.1.1指向结构体类型变量的指针 340
25.1.2指向结构体类型数组的指针 342
25.2枚举类型 343
25.3联合类型 345
附录ⅠC语言关键字 353
附录Ⅱ ASCI
码对照表 354
附录Ⅲ运算符的优先级和结合方向 356
附录Ⅳ C语言常用库函数 358
附录ⅤC语言常用的转义字符 364
附录Ⅵ C语言常用英文词汇 365
附录Ⅶ教学建议 368
参考文献 372
|
內容試閱:
|
教材编排体系
初级应用、中级应用以及高级应用是本教材的重点篇章 ,各篇首先在项目导学中介绍所开发项目的背景 ,给出项目的结构以及与知识点的对应关系 ,然后 ,以项目开发为主线 ,兼顾知识点间的逻辑关系 ,每章完成一个功能模块的开发。由于所需学习的知识点已融合在功能模块中,因此在完成项目开发的同时 ,也完成了新知识的学习 ,真正体现了 “做中学 ”和“学中做 ”。以下是每一章的典型结构。
1任务说明。描述开发任务 ,提出任务的具体要求。
2任务分析。对任务进行分析 ,给出用自然语言描述的开发思路 ,并引出用到的新知识 ,对新知识结合具体任务加以简略讲解。
3任务实施。给出具体算法以及程序源代码 ,并运行。
4知识点详解。对该模块所涉及的知识点进行系统总结、加深与扩展 ,这一部分配合经典例题进行讲解。
5项目完善。利用本章学习的新知识 ,完成或完善项目类似模块的开发。
为便于学生学习和检验学习效果 ,本教材配套光盘中配有题库系统 ,提供了 350道习题 ,以及习题的讲解 ,题库系统操作界面简单易用 ,支持自动出题、批改等功能 ;此外 ,光盘中还收录了与教材配套的《C语言程序设计学生学习指导书》,该指导教材分为走进 C语言、语法总结、常见错误分析与调试、Q&A和编程规范等五个部分 ,从如何学习 C语言入手 ,在对 C语言语法进行全面总结的基础上 ,详述了错误的分析与调试 ,以及常见问题的解决方案 ,并且对编程规范进行了系统介绍。
|
|