题名取自题名屏幕
作者: 李迎秋主编
出版社:东软电子出版社,2011
简介:C语言是许多大学计算机及其相关专业开设的一门重要的专业基础课,也是大多数学生学习的第一门程序设计类课程。对于第一次接触程序设计语言的学生来说,掌握C语言是有一定难度的。C语言课程中,讲授语法只是一个方面,更重要是培养学生的程序设计思想,而这一目的的达成是建立在大量的编程实践的基础上的。编者在多年的C语言教学中,不断地摸索、尝试突破固有的C语言知识体系,通过项目引导学生在编程实践中学习和巩固知识点。这种想法和做法与CDIO工程教育模式所倡导的“基于项目的学习”理念不谋而合,这本教材正是在这一背景下应运而生的。全书共分为5篇:项目准备篇;C语言初级应用篇;C语言中级应用篇;C语言高级应用篇和高级话题篇。项目准备篇介绍了C语言的特点、应用领域、C语言的学习方法、C程序的基本结构及无参无返回值函数等知识,该篇完成计算器项目的主菜单设计。初级应用篇采用计算器项目,介绍了基本数据类型、变量、运算符和表达式、三种程序设计结构以及带参有返回值函数等知识。中级应用篇采用“学生成绩管理系统V1.0”项目,介绍了一维数组的基本应用、字符串的使用,并分别介绍了使用二维数组和指针改写完善“学生成绩管理系统V1.0”的方法和思路。高级应用篇介绍了结构体和文件等相关知识,实现了“学生成绩管理系统V2.0”项目,并应用链表知识改写和完善了该项目。高级话题篇是对前四篇内容的深化和扩展,内容包括递归、预处理、变量的作用域与生命周期、指针的高级应用、位运算、联合与枚举等构造类型。C语言初级、中级以及高级应用篇是本教材的重点篇章,各篇首先在项目导学中介绍所开发项目的背景,给出项目的结构以及与知识点的对应关系,然后,以项目开发为主线,兼顾知识点间的逻辑关系,每章完成一个功能模块的开发,由于所需学习的知识点已融合在功能模块中,因此在完成项目开发的同时,也完成了新知识的学习,真正体现了“做中学”。以下是每一章的典型结构。(1)任务说明。描述开发任务,提出任务的具体要求。(2)任务分析。对任务进行分析,给出用自然语言描述的开发思路,并引出用到的新知识,对新知识结合具体任务加以简略讲解。(3)任务实施。给出具体算法以及程序源代码,并运行。(4)知识点详解。对该模块所涉及的知识点进行系统总结、加深与扩展,这一部分配合经典例题进行讲解。(5)项目完善。利用本章学习的新知识,完成或完善项目类似模块的开发。为便于学生学习和检验学习效果,本书配套光盘中配有题库系统,提供了350道习题,以及习题的讲解,题库系统操作界面简单易用,支持自动出题、批改等功能;此外,光盘中还收录了与教材配套的《C语言程序设计学生学习指导书》,该指导书分为走进C语言、语法总结、常见错误分析与调试、Q&A和编程规范等五个部分,从如何学习C语言入手,在对C语言锓ń?腥?孀芙岬幕?∩希?晔隽舜砦蟮姆治鲇氲魇裕?约俺<?侍獾慕饩龇桨福?⑶叶员喑坦娣督?辛讼低辰樯堋?/textarea>
说明:10000个汉字(20000个字符)以内。不支持程序语言、不允许连接到当当以外的地址。当当会过滤不规则代码,发布的信息请以预览页为准。项目准备篇――初识C语言 <br>
0.1什么是C语言1 <br>
0.1.1什么是程序设计语言1 <br>
0.1.2C语言的历史1 <br>
0.2C语言的特点2 <br>
0.3C语言能做什么2 <br>
0.4C语言基本结构3 <br>
0.4.1main函数3 <br>
0.4.2自定义函数4 <br>
0.4.3计算器的主菜单设计4 <br>
0.5如何学习C语言5 <br>
第1篇简易计算器的开发――C语言初级应用 <br>
项目导学9 <br>
第1章加法模块的开发11 <br>
1.1任务说明11 <br>
1.2任务分析11 <br>
1.3任务实施12 <br>
1.4知识点详解13 <br>
1.4.1常量13 <br>
1.4.2变量14 <br>
1.4.3整型变量16 <br>
1.4.4输入函数――scanf16 <br>
1.4.5输出函数――printf18 <br>
1.5项目完善20 <br>
第2章除法模块的开发22 <br>
2.1任务说明22 <br>
2.2任务分析22 <br>
2.3任务实施23 <br>
2.4知识点详解24 <br>
2.4.1浮点型数据24 <br>
2.4.2算术运算符27 <br>
2.4.3算术表达式27 <br>
2.4.4数据类型转换29 <br>
2.4.5赋值运算符31 <br>
2.5项目完善33 <br>
第3章口令验证模块的开发34 <br>
3.1任务说明34 <br>
3.2任务分析34 <br>
3.3任务实施35 <br>
3.4知识点详解36 <br>
3.4.1关系运算符和关系表达式36 <br>
3.4.2逻辑运算37 <br>
3.4.3程序的三种基本结构37 <br>
3.4.4单分支if语句38 <br>
3.4.5双分支if <br>
3.4.6多分支if <br>
3.4.7if语句的嵌套44 <br>
3.5项目完善45 <br>
第4章主菜单模块的开发47 <br>
4.1任务说明47 <br>
4.2任务分析47 <br>
4.3任务实施48 <br>
4.4知识点详解50 <br>
4.4.1字符型数据50 <br>
4.4.2多分支switch语句54 <br>
第5章应用有参有返回值函数开发计算器59 <br>
5.1任务说明60 <br>
5.2任务分析60 <br>
5.3任务实施61 <br>
5.4知识点详解63 <br>
5.4.1无参无返回值函数64 <br>
5.4.2有参无返回值函数65 <br>
5.4.3无参有返回值函数67 <br>
5.4.4有参有返回值函数68 <br>
5.5项目完善72 <br>
第6章累加模块的开发75 <br>
6.1任务说明75 <br>
6.2任务分析75 <br>
6.3任务实施77 <br>
6.4知识点详解78 <br>
6.4.1++和--运算符78 <br>
6.4.2for循环81 <br>
6.4.3while循环84 <br>
6.4.4do-while循环87 <br>
6.4.5break和continue语句90 <br>
6.5项目完善93 <br>
第7章阶乘累加模块的开发97 <br>
7.1任务说明97 <br>
7.2任务分析97 <br>
7.3任务实施98 <br>
7.4知识点详解99 <br>
7.4.1双重循环100 <br>
7.4.2多重循环103 <br>
7.5项目完善104 <br>
第8章案例学习109 <br>
8.1任务说明110 <br>
8.2任务分析110 <br>
8.3任务实施110 <br>
第2篇学生成绩管理系统V1.0的开发――C语言的中级应用 <br>
项目导学117 <br>
第9章成绩录入模块的开发120 <br>
9.1任务说明120 <br>
9.2任务分析120 <br>
9.3任务实施122 <br>
9.4知识点详解123 <br>
9.4.1一维数组的定义123 <br>
9.4.2一维数组的初始化124 <br>
9.4.3一维数组元素的引用124 <br>
9.4.4一维数组的输入和输出125 <br>
9.4.5一维数组作为函数参数127 <br>
9.5项目完善130 <br>
9.5.1录入模块的完善130 <br>
9.5.2成绩输出模块的开发131 <br>
第10章成绩查询模块的开发133 <br>
10.1任务说明133 <br>
10.2任务分析133 <br>
10.3任务实施134 <br>
10.4知识点详解135 <br>
10.4.1一维数组元素的查找135 <br>
10.4.2一维数组元素的极值查找137 <br>
10.5项目完善142 <br>
10.5.1查找模块的改进142 <br>
10.5.2成绩统计模块的开发143 <br>
第11章成绩排序模块的开发145 <br>
11.1任务说明145 <br>
11.2任务分析145 <br>
11.3任务实施146 <br>
11.4知识点详解147 <br>
11.4.1冒泡法排序147 <br>
11.4.2选择法排序149 <br>
第12章口令验证模块的改进152 <br>
12.1任务说明152 <br>
12.2任务分析152 <br>
12.3任务实施153 <br>
12.4知识点详解155 <br>
12.4.1字符串的存储155 <br>
12.4.2字符串的输入和输出155 <br>
12.4.3常用的字符串处理函数157 <br>
12.5项目训练163 <br>
第13章基于二维数组的多门课程成绩管理系统的开发166 <br>
13.1任务说明167 <br>
13.2任务分析167 <br>
13.3任务实施168 <br>
13.4知识点详解171 <br>
13.4.1二维数组的定义171 <br>
13.4.2二维数组的初始化171 <br>
13.4.3二维数组的遍历171 <br>
13.4.4更多维的数组174 <br>
13.5项目完善175 <br>
第14章基于指针的学生成绩管理系统的开发178 <br>
14.1指针入门178 <br>
14.1.1指针的概念178 <br>
14.1.2指针的定义与引用179 <br>
14.1.3指针作函数参数181 <br>
14.2学生成绩管理系统框架改造 184 <br>
14.3成绩录入模块改写185 <br>
14.3.1任务说明185 <br>
14.3.2任务分析185 <br>
14.3.3任务实施186 <br>
14.4知识点详解187 <br>
14.4.1数组名作为指针187 <br>
14.4.2指针的运算189 <br>
14.4.3使用指针操作字符串193 <br>
14.4.4使用指针创建字符串199 <br>
14.5项目完善200 <br>
第15章案例学习203 <br>
15.1任务说明203 <br>
15.2任务分析203 <br>
15.3任务实施204 <br>
第3篇学生成绩管理系统V2.0的开发――C语言的高级应用 <br>
项目导学211 <br>
第16章学生基本信息录入模块的开发213 <br>
16.1任务说明213 <br>
16.2任务分析213 <br>
16.3任务实施216 <br>
16.4知识点详解219 <br>
16.4.1结构体声明219 <br>
16.4.2结构体变量的定义220 <br>
16.4.3初始化结构体221 <br>
16.4.4结构体成员的引用221 <br>
16.4.5结构体数组221 <br>
16.5项目完善222 <br>
第17章学生信息查找模块的开发225 <br>
17.1任务说明225 <br>
17.2任务分析225 <br>
17.3任务实施228 <br>
17.4知识点详解232 <br>
17.4.1结构体数组的遍历232 <br>
17.4.2指定值的查找232 <br>
17.4.3极值的查找233 <br>
17.5项目完善234 <br>
第18章汇总统计模块的开发237 <br>
18.1任务说明237 <br>
18.2任务分析237 <br>
18.3任务实施239 <br>
18.4项目完善241 <br>
第19章身份验证模块的开发243 <br>
19.1任务说明243 <br>
19.2任务分析243 <br>
19.3任务实施247 <br>
19.4知识点详解249 <br>
19.4.1文本文件与二进制文件249 <br>
19.4.2文件的读写操作及相关函数250 <br>
19.5项目完善255 <br>
第20章基于链表的学生成绩管理系统的开发257 <br>
20.1任务说明257 <br>
20.2任务分析257 <br>
20.3任务实施258 <br>
20.4知识点详解260 <br>
20.4.1链表结点的定义260 <br>
20.4.2链表节点的引用260 <br>
20.4.3链表的遍历260 <br>
20.4.4链表的插入261 <br>
20.4.5链表的删除262 <br>
20.5项目完善263 <br>
20.5.1主控模块的改写263 <br>
20.5.2用有参无返回值函数实现输出成绩清单模块264 <br>
20.5.3用有参无返回值函数实现按姓名搜索记录模块264 <br>
20.5.4用有参无返回值函数实现按姓名删除记录模块265 <br>
20.5.5用有参有返回值函数实现追加录入学生成绩模块265 <br>
第21章案例学习267 <br>
21.1任务说明267 <br>
21.2任务分析267 <br>
21.3任务实施268 <br>
第4篇高级话题 <br>
第22章函数275 <br>
22.1递归函数275 <br>
22.2内部函数与外部函数278 <br>
22.3预处理281 <br>
22.3.1宏定义281 <br>
22.3.2文件包含286 <br>
22.3.3条件编译287 <br>
22.4变量的作用域与生命周期289 <br>
22.4.1变量的作用域289 <br>
22.4.2变量的生命周期291 <br>
第23章指针与内存分配297 <br>
23.1二级指针297 <br>
23.2函数指针298 <br>
23.3数组指针300 <br>
23.4内存分配304 <br>
23.4.1静态内存分配和动态内存分配304 <br>
23.4.2动态内存分配函数304 <br>
第24章位运算308 <br>
24.1移位运算308 <br>
24.2按位运算310 <br>
第25章构造类型314 <br>
25.1结构体的进一步讨论314 <br>
25.1.1指向结构体类型变量的指针314 <br>
25.1.2指向结构体类型数组的指针316 <br>
25.2枚举类型317 <br>
25.3联合类型319 <br>
附录ⅠC语言关键字327 <br>
附录ⅡASCII码对照表328 <br>
附录Ⅲ运算符的优先级和结合方向330 <br>
附录ⅣC语言常用库函数332 <br>
附录ⅤC语言常用的转义字符338 <br>
附录ⅥC语言常用英文词汇339 <br>
附录Ⅶ教学设计与实施方法342 <br>
附录Ⅷ考核方式345 <br>