信息学奥赛NOIP为什么要学C++?
NOIP信息学奥赛的宗旨在于通过竞赛活动培养大批计算机爱好者,选拔优秀的计算机后备人才。
信息学奥赛重要性不言而喻,而要学好则必须学会使用程序语言。具体到信奥使用的重要工具——C++语言——作为编程中的明星语言,C++是信息奥赛的基础语言。
它是怎么来的,为什么被选为信奥语言?
C++:灵活且重要的参赛语言
1、从C到C++
计算机诞生初期,用机器语言或汇编语言编写程序
第一种高级语言FORTRAN诞生于1954年
BASIC语言(1964)是由FORTRAN语言的简化而成的是为初学者设计的小型高级语言
C语言是1972年由美国贝尔实验室的 D.M.Ritchie 研制成功的
它是为计算机专业人员设计的
大多数系统软件和许多应用软件都是用C语言编写的。随着软件规模的增大,用C语言编写程序渐渐吃力了,于是便创造出了C++语言。
2、C++的特点
C++是由 AT&T Bell实验室 于20世纪80年代初在C语言的基础上成功开发出来的。C++是C语言的继承,它保留了C语言原有的所有优点,并增加了面向对象的机制。
C++是由C语言发展而来的,与C兼容
用C语言写的程序基本上可以不加修改地用于C++
从C++的名字可以看出它是C的超集
C++既可用于面向过程的程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型程序设计语言。
C++语言灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,被认为是一种中级语言,同时具有高级语言与汇编语言的优点。
根据国际信息学奥林匹克竞赛(IOI)的相关最新决议,CCF做出以下决定:
1、2020年开始,除NOIP以外的NOI系列其他赛事(包括冬令营、CTSC、APIO、NOI)将不再支持Pascal语言和C语言;
2、从2022年开始,NOIP竞赛也将不再支持Pascal语言。
即从NOIP2022开始,NOI系列的所有赛事将全部取消Pascal语言。
在无新增程序设计语言的情况下,NOI系列赛事自2022开始将仅支持C++语言。
C++语言为何重要?
首先,c++语言完全兼容c语言。
其次,c++语言可以使用标准模板库,极大方便程序设计,如竞赛中经常用到的排序,如果用c语言考生需自己编写排序函数,但c++提供标准的排序算法,其时间复杂度为O(NlogN),这已相当高效了。
再次,竞赛中使用C++语言,并不需要选手学完C++语言的全部,一些较难的内容并不学习,适合青少年学生。
其实就是c语言+标准模板库,所以在信息学竞赛学习,选用C++也是必然趋势。现在绝大多数学生也会选择c++作为信息学程序语言。
C++凭借先进的数值计算库、泛型编程等优势在各行业领域应用颇多:网络游戏开发、服务器端开发、数字图像处理、网络软件、移动(手持)设备音视频技术、Socket网络通信……
另外,苹果/谷歌/微软 等大型软硬件公司的系统或者软件上面都支持C/C++语言的集成开发。
举个简单例子,你常用的软件大多数都是C++写的——Office软件:MS Office,WPS Office,OpenOffice/LibreOffice,你所用的Windows也用了大量的C++……
游戏行业:几乎所有3A游戏都是使用C++编写的。大众公认电子游戏的开发者是软件行业里回报最高的工作之一,也是需求量最大的领域之一。因为速度非常重要,所以编写高效的代码就是最基本的要求。
服务器端:除了在游戏开发中运用得比较多,很多互联网公司的后台服务器程序也都是基于C++开发的,而且大部分是linux,unix等类似操作系统。
从IBM、微软、中软、阿里巴巴、TOM、新浪、联想、大唐电信等世界知名企业每年预定几千名C++工程师的情况中我们便可以看出,C++在互联网、通信等领域的运用是多么广泛。
C++可以培养孩子的思维能力,锻炼创新思维。
C++课程中,需要学习组合数学、图论、基本算法、数据结构、搜索算法及数学建模等知识,可以加深学生对数学的理解,提升孩子的逻辑思维,而这些又能帮助其更好地学习其他学科。
新手如何入门学习C++
不可否认的是,C++是一门难学的编程语言。
怎样才能让孩子学懂C++、学好C++?
在入门之初,首先应规划好何时开始学习以及从什么学起。
五六年级开始学习C++,通过C++语言的学习培养编程思维和动手能力,对C++代码有基本的认知。
通过系统学习,建立基本的编程思想,掌握基本指令(包括输入输出语句、运算符、变量的使用、顺序结构、分页结构、循环结构的基本使用)等,这时可以对复杂的数学和逻辑问题有着更好的理解。
当孩子初步具备了编程基础,再进行进阶学习时,就可以从高深的编程语言入手了。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com