出版时间:2010-1 出版社:东南大学 作者:曹文//张信//秦新华|主编:沈军//李立新//王晓敏 页数:271
前言
得益于计算机工具的特殊结构,以计算机技术为核心的信息技术现在已在整个社会发展中起到了其重要的作用。同时,由于信息技术的本质在于不断创新,因而人们将21世纪称之为信息世纪。根据人类生理特征,青少年时期正处于思维活跃、充满各种幻想的黄金年代,孕育着创新的种子和潜能。长期的实践活动告诉我们,青少年信息学奥林匹克竞赛可以让广大的青少年淋漓尽致地展现其思维的火花,享受创新带来的美感。因此,该项活动得到了全国各地广大青少年朋友的喜爱,越来越多的青少年朋友怀着浓厚的兴趣加入到这项活动中来。从本质上看,计算机学科是一种思维学科,正确地思维训练可以播种持续创新的优良种子。相对于其他学科的竞赛,信息学竞赛覆盖知识面更为宽广,涉及了数学、数据结构、算法、计算几何、人工智能等相关的专业知识。如何在短时间内有效地掌握这些知识的主体,并能灵活地应用其解决实际问题,显然是一个值得认真思考的问题。知识学习与知识应用基于两种不同的思维策略,尽管这两种策略的统一本质上依赖于选手自身的领悟,但是如何建立两种策略之间的桥梁、快速地促进选手自身的领悟,显然是教材以及由其延伸的教学设计与实施过程所应考虑的因素。竞赛训练有别于常规的教学,要在一定的时间内得到良好的效果,需要有一定的技术方法,而不应拘泥于规范。从学习的本质看,各种显性知识的学习是相对容易的。或者说,只要时间允许,总是可以消化和理解的。然而,隐性知识的学习和掌握却是较难的。由于隐性知识的学习对竞赛和能力的提高起到决定性的作用,因此,仅仅依靠选手自身的感悟,而不能从隐性知识的层面重新组织知识体系,有目的地辅助选手自身的主动建构,显然是不能提高竞赛能力的。基于上述认识,结合多年来开展青少年信息学竞赛活动的经验,我们组织了一批有长期一线教学经验的教练员和专家、教授,编写出版了这套《青少年信息学奥林匹克竞赛实战辅导丛书》。
内容概要
程序设计涉及语言、环境和应用三个方面,学习程序设计的关键是培养融合这三个方面的系统化思维方法。针对起步阶段的中小学学生,如何利用短暂的课外时间,在短时间内达到较好的效果,是值得思考的问题。《青少年信息学奥林匹克竞赛实战辅导丛书:程序设计与应用(中学·C/C++)》按照认知的规律,第1~第3章首先介绍计算机基本知识以及利用其工作需要的语言和算法的相关概念;第4~第10章以ANSIC和Dev~C++语言为例介绍计算机语言的相关知识及其基本使用;在此基础上,第11~第12章面向应用,介绍基本的数据结构、基础算法及其应用;附录部分详细总结C/C++语言的知识以及其开发环境的使用和调试技巧。考虑到实战训练特点,《青少年信息学奥林匹克竞赛实战辅导丛书:程序设计与应用(中学·C/C++)》精选上百个信息学竞赛试题作为案例,采用问题驱动方式进行讲解,将知识点融入实例,注重程序设计技巧的解析,从而,实现程序设计系统化思维方法的训练。 《青少年信息学奥林匹克竞赛实战辅导丛书:程序设计与应用(中学·C/C++)》主要满足广大中小学学生学习程序设计的教学和训练需求。同时,《青少年信息学奥林匹克竞赛实战辅导丛书:程序设计与应用(中学·C/C++)》也非常适合作为普通高等学校本科以及专科学生学习程序设计课程的教学和学习参考用书。对一般的程序设计爱好者,《青少年信息学奥林匹克竞赛实战辅导丛书:程序设计与应用(中学·C/C++)》也具有重要的参考价值。
书籍目录
第1章 C语言概论1.1 C语言的发展过程1.2 C语言的特点1.3 C源程序的结构特点第2章 认识计算机2.1 进制转换2.1.1 计算机是智能化的电器设备2.1.2 二进制数的运算法则2.1.3 十进制与二进制、八进制、十六进制之间的相互转换2.2 计算机硬件知识2.3 计算机工作原理2.4 计算机软件知识2.5 程序和算法第3章 算法及算法的描述3.1 算法的概念3.2 算法的描述方法3.2.1 自然语言描述3.2.2 流程图描述3.2.3 N.S图描述3.2.4 伪代码描述3.3 算法分析3.3.1 时间复杂度3.3.2 空间复杂度3.3.3 时空的转换3.3.4 算法分析及优化举例3.4 C语言程序的基本结构3.4.1 预处理指令3.4.2 main函数3.4.3 保留字3.4.4 标准标识符3.4.5 用户标识符3.4.6 大写与小写字母3.4.7 注释3.4.8 程序风格本章小结第4章 数据类型、运算符与表达式4.1 数据类型与大小4.2 常量与变量4.2.1 常量和符号常量4.2.2 变量4.3 算术运算符4.3.1 算术运算符简介4.3.2 算术表达式4.4 类型转换4.5 自增与自减运算符4.6 按位运算符4.7 变量赋值4.7.1 赋值符号与赋值表达式4.7.2 变量赋值的要素4.8 常用数学函数4.8.1 三角函数4.8.2 其他函数4.8.3 幂指数4.8.4 双曲函数本章小结第5章 数据输入\输出的概念及在C语言中的实现5.1 printf函数(格式输出函数)5.1.1 printf函数调用的一般形式5.1.2 格式字符串5.2 scanf函数(格式输入函数)5.2.1 scanf函数的一般形式5.2.2 格式字符串5.3 字符数据的输入输出5.3.1 putchar函数(字符输出函数)5.3.2 getchar函数(字符输入函数)本章小结第6章 选择结构程序设计6.1 关系运算符和关系表达式6.1.1 关系运算符及其优先次序6.1.2 关系表达式6.2 逻辑运算符和逻辑表达式6.2.1 逻辑运算符及其优先次序6.2.2 逻辑表达式6.2.3 条件运算符6.3 if语句6.3.1 if语句6.3.2 if语句的嵌套6.4 switch语句6.5 程序举例6.6 语句与程序块本章小结第7章 循环控制7.1 循环结构介绍7.1.1 while语句7.1.2 for语句7.1.3 dOWhile语句7.2 循环的嵌套7.3 循环中断语句7.3.1 break语句7.3.2 continue语句7.3.3 return语句和exit语句7.4 程序举例7.5 常见错误本章小结习题7第8章 数据组织与处理8.1 数据组织8.2 数据的处理与表达8.2.1 声明数组8.2.2 引用数组8.2.3 数组初始化8.2.4 数组元素的插入与删除8.3 应用举例8.3.1 简单应用8.3.2 查找和排序……第9章 函数第10章 指针 第11章 基本数据结构及应用第12章 常用算法介绍附录参考文献
章节摘录
插图:9.4.1 结构化程序设计思想程序设计是一个复杂的系统工程,一般需要经历分析问题、设计算法、编写程序、调试运行等四个阶段。在计算机发展的初期,计算机的应用范围较窄,程序相对简单,程序员们为了追求程序的执行效率,忽略了程序作为一个系统所需的结构性,在程序中大量使用跳转语句。到了二十世纪五、六十年代,随着计算机被广泛应用,软件越来越复杂,与此同时,软件中的错误也越来越多,导致在二十世纪六十年代,出现了计算机历史上严重的软件危机:由软件错误而引起的数据丢失、系统崩溃等事件屡有发生。1968年,荷兰教授E.W.Dijkstra提出了“GOTO语句是有害的”观点,指出程序的质量与程序中所包含的GOTO语句的数量成反比,认为应该在一切高级语言中取消GOT0语句。这一观点在计算机学术界激起了强烈的反响,从而引发了一场长达数年的广泛的论战,其结果是结构化程序设计方法的产生和基于结构化程序设计思想的Pascal语言的诞生。结构化程序设计思想采用了模块分解、功能抽象和自顶向下、分而治之的方法,从而有效地将一个复杂的程序系统设计任务分解为若干易于控制和处理的子程序,以便于开发和维护。结构化程序设计思想以模块为设计中心,通过“自顶向下、逐步求精”的方法将软件系统分解为若干相互独立的模块,每个模块的功能简单而明确。其中每一个模块应满足“单入口、单出口”原则,并只能由顺序结构、选择结构和循环结构这三种基本结构组成。
编辑推荐
《青少年信息学奥林匹克竞赛实战辅导丛书:程序设计与应用(中学·C/C++)》是由南京东南大学出版社出版的。
图书封面
评论、评分、阅读与下载