新东方网>app资讯>广州素质中心>正文

CSP-J/S 初赛知识点整理——语言篇

2023-08-23 21:34

来源:

作者:

语言(NOIP2017、2018提高组)

程序设计语言一般分为机器语言、汇编语言和高级语言三大类,机器语言和汇编语言都是低级语言,高级语言又称算法语言。

机器语言:由0和1的不同组合所形成的可为计算机直接识别和执行的二进制指令代码的集合,是面向机器的程序设计语言。机器语言程序占用内存少、执行效率高,但编程工作量大,容易出错;依赖具体的计算机体系,因而程序的通用性、移植性都很差,速度最快。

汇编语言:使用助记符和有关符合编写的程序称为汇编语言程序,比机器语言更加直观,每一条用符号来表示的汇编指令都与一条计算机机器指令对应,是面向机器的程序设计语言。汇编语言的出现大大降低了记忆难度,占用内存较少,运行效率较高,不仅便于检查和修改程序错误,而且指令、数据的存放位置可以由计算机自动分配,但对于计算机CPU及其外围硬件设备具有很大的依赖性,程序员需要十分熟悉计算机系统的硬件结构。用汇编语言编写的程序称为源程序,计算机不能直接识别和处理源程序,必须通过某种方法将它翻译成为计算机能够理解并执行的机器语言,执行这个翻译工作的程序称为汇编程序。速度快。

高级语言:人工设计的语言,对具体的算法进行描述,所以又称为算法语言。高级语言独立于计算机的硬件(即与具体的硬件无关),相对于低级语言更容易实现跨平台的移植。速度慢。

结构化语言:代码和数据分离,专门描述一个功能单元逻辑要求。它不同于自然语言,也区别于任何特定的程序语言(如VB、VC 等),是一种介于两者之间的语言。结构化描述语言一般采用英语,既有自然语言灵活性强、表达丰富的特点,又清晰易读和逻辑严密,还是一种用于数据库查询和编程的语言,已经成为关系型数据库普遍使用的标准,对程序设计和数据库的维护都带来了极大的方便,广泛地应用于各种数据查询。

Pascal:语法严谨,层次分明,程序易写,可读性强,是第一个结构化编程语言。它基于ALGOL编程语言,是面向过程的编译型语言程序语言。

C:结构化编译型编程语言,具有变量作用域以及递归功能的过程式语言,是面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言的设计影响了众多后来的编程语言,例如C++、Java、C#等。

面向对象语言:以对象作为基本程序结构单位,用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分,类、对象的思想实现程序共享,适合大型程序。Simula是第一个面向对象语言。

VB(Visual Basic):Microsoft开发的一种通用的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化混合型(侧重于解释)程序设计语言,是一种可用于微软自家产品开发的语言。

C++:面向对象的编译型程序设计语言,最初它被称作“C with Classes”(包含类的C语言),是C语言的继承,进一步扩充和完善了C语言。它是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言,支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。

Java:跨平台、分布式、多线索、面向对象的混合型(侧重于解释)程序设计语言,是一种先编译后解释的语言,所以它不如全编译性语言快。许多的Android应用都是Java程序员开发者开发,Java还广泛应用于企业级Web应用开发和移动应用开发。

解释语言:应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,每条语言只有在执行才被翻译,每执行一次就翻译一次,因此效率比较低,而且不能生成可独立执行的可执行文件 。解释程序的优点是当语句出现语法错误时,可以立即引起程序员注意,而程序员在程序开发期间就能进行校正。一般地来说,如果你听别人说到动态语言,大多都是指解释型语言eg.Python

编译语言:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码 (机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高 。Java 程序需要编译,但是没有直接编译成为机器语言,而是编译成为字节码,然后在 Java 虚拟机上用解释方式执行字节码。这种运行方式带来了一些优势,但同时直接导致了复杂的环境、不算很高的效率和很多的争议。

 

版权及免责声明

凡本网注明"稿件来源:新东方"的所有文字、图片和音视频稿件,版权均属新东方教育科技集团(含本网和新东方网) 所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他任何方式复制、发表。已经本网协议授权的媒体、网站,在下载使用时必须注明"稿件来源:新东方",违者本网将依法追究法律责任。

本网未注明"稿件来源:新东方"的文/图等稿件均为转载稿,本网转载仅基于传递更多信息之目的,并不意味着赞同转载稿的观点或证实其内容的真实性。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。如擅自篡改为"稿件来源:新东方",本网将依法追究法律责任。

如本网转载稿涉及版权等问题,请作者见稿后在两周内速来电与新东方网联系,电话:010-60908555。