程序

​ 程序就是一系列的操作步骤,计算机程序就是由人实现规定的计算机完成某项工作的操作步骤。每一步骤的具体内容能够理解的指令来描述,这些指令告诉计算机“做什么”和“怎么做”。编写计算机程序所使用的语言称为程序设计语言。

​ 通常分为三类:机器语言、汇编语言和高级语言。

机器语言

​ 计算机最早的语言处理程序是机器语言,它是计算机能直接识别的语言,而且速度快。机器语言是用二进制代码来编写计算机程序的,因此又称二进制语言。例如用机器语言来表示“8+4”这个算式,是一串二进制码“00001000 00000100 00000100”。机器语言书写困难、记忆复杂。一般很难掌握。

汇编语言

​ 由于机器语言的缺陷,人们开始用助记符写程序,用一些符号代替机器指令所产生的语言称为汇编语言。但是,用汇编语言编写的源程序不能被计算机直接识别,必须使用某种特殊的软件将用汇编语言写的源程序翻译和链接成能被计算机直接识别的二进制代码。其示意图如图所示。

​ 汇编语言虽然采用了助记符来编写程序,比机器语言简单,但是汇编语言任属于低级语言,它与计算机的体系结构有关,在编写程序前花费相当多的时间和精力去熟悉机器的结构。因此工作量大、繁琐,而且程序可移植性差。

高级语言

​ 计算机并不能直接接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。

​ 编译方式是:编译方式的翻译工作由“编译程序”来完成,它是先将整个源程序都转换成二进制代码,生成目标程序,然后把目标程序连接成可执行程序,以完成源程序要处理的运算并取得结果。解释方式时:源程序进入计算机时,解释程序边扫描边解释,对源程序的语句解释一条、执行一条,不产生目标程序。解释方式的翻译工作由“解释程序”完成。

​ 编译性语言有C/C++、Pascal/Object Pascal(Delphi)等。

​ 解释性语言有ASP、PHP、Java、Javascript、VBScript、Perl、Python、Ruby、MATLAB、Basic等。

​ 使用编译性语言程序将整个源程序编译连接为可执行的文件,这种方式效率高、可靠性高、可移植性好。不过,当源程序修改后,必须重新编译。

​ 面向对象语言借鉴了20世纪50年代的人工智能语言LISP,引入了动态绑定的概念和交互式开发环境的思想;始于20世纪60年代的离散事件模拟语言Simula67,引入了类的要领和继承,成型于20世纪70年代的Smalltalk

​ 面向对象语言的发展有两个方向:一种是纯面向对象语言,如Smalltalk,EIFFEL等;另一种是混合型面型对象语言,即在过程式语言及其他语言中加入类、继承等成分,如C++、Objective-C。

NOIP初赛篇——05计算机语言的更多相关文章

  1. NOIP初赛篇——04计算机软件系统

    计算机软件是指计算机系统中的程序及其文档,也是用户与硬件之间的接口,用户主要通过软件与计算机进行交流,软件是计算机的灵魂.没有安装软件的计算机称为"裸机",无法完成任何工作.一般软 ...

  2. NOIP初赛篇——10计算机网络

    网络的定义 ​ 所谓计算机网络,就是利用通信线路和设备,把分布在不同地理位置上的多台计算机连接起来. ​ 计算机网络是现代通信技术与计算机奇数结合的产物. ​ 网络中计算机与计算机之间的通信依靠协议进 ...

  3. NOIP初赛篇——09原码、反码和补码

    一.数的原码.补码和反码表示 机器数和真值 ​ 在计算机中,表示数值的数字符号只有0和1两个数码,我们规定最高位为符号位,并用0表示正符号,用1表示负符号.这样,机器中的数值和符号全"数码化 ...

  4. NOIP初赛篇——08计算机安全知识

    引言 ​ 计算机安全中最重要的是存储数据的安全,其面临的主要威胁包括:计算机病毒.非法访问.计算机电磁辐射.硬件损坏等. ​ 计算机病毒是附在计算机软件中的隐蔽小程序,它和计算机其他工作程序一样,但会 ...

  5. NOIP初赛篇——07信息编码表示

    一.基本概念 编码 ​ 计算机要处理的数据除了数值数据以外,还有各类符号.图形.图像和声音等非数值数据.而计算机只能识别两个数字0,1.要使计算机能处理这些信息,首先必须要将各类信息转换成0与1表示的 ...

  6. NOIP初赛篇——06数制转换

    进位计数制的基本概念 ​ 将数字符号按顺序排列成数位,并遵照某种由低到高的进位方式计数表示数值的方法,称作为计数制. 十进制 十进制计数制由0.1.2.3.4.5.6.7.8.9共10个数字符号组成. ...

  7. NOIP初赛篇——03中央处理器CPU

    CPU ​ CPU(中央处理单元)是微机的核心部件,是决定微机性能的关键部件.20世纪70年代微型机的CPU问世,微型计算机的核心部件微处理器从Intel 4004,80286,80386,80486 ...

  8. NOIP初赛篇——02计算机系统的基本结构

    引言 计算机系统由硬件和软件两部分组成,硬件系统是计算机的"躯干",是物质基础.而软件系统则是建立在这个"躯干"上的"灵魂". 计算机硬件 ...

  9. NOIP初赛篇——01计算机常识

    发展历史 年代划分 代别 年代 逻辑(电子)元件 第一代 1946-1958 电子管 第二代 1959-1964 晶体管 第三代 1965-1970 集成电路 第四代 1971-至今 大规模.超大规模 ...

随机推荐

  1. leetcode——(四)2020.06.08

    新的一周,leetcode计划:78,79,98,102,236,124,128 (23)

  2. 【题解】「CF363A」Soroban

    哎呀呀,咕值要掉光了,赶快水篇题解( solution 这题就是个纯模拟,首先我们根据输出样例看一下输出算盘的规则. 看数最大的 720 ,我们发现,输出的算盘张这样(之所以我不用代码框而用 \(\K ...

  3. 【Luogu P5168】xtq玩魔塔(Kruskal 重构树 & 树状数组 & set)

    Description 给定一个 \(n\) 个顶点,\(m\) 条边的无向联通图,点.边带权. 先有 \(q\) 次修改或询问,每个指令形如 \(\text{opt}\ x\ y\): \(\tex ...

  4. es6删除指定元素

    原数组: let arr =[{id:1},{id:2},{id:3},{id:8}] 待删除数据 obj = {id:1} 删除原数组指定元素 arr.splice(arr.findIndex(it ...

  5. Spring Boot 的2020最后一击:2.4.1、2.3.7、2.2.12 发布

    近日,Spring Boot官方发布了本年度最后一次版本更新,主要针对目前维护的三个版本: 2.4.x:第一个bug修复版本 2.4.1 2.3.x:常规维护版本 2.3.7 2.2.x:常规维护版本 ...

  6. 一个最简单的typescript工程

    初级: 1.新建一个文件夹~/a/ 2.cd ~/a/ 3.npm init -y          生成package.json 4.新建index.ts,内容:console.log(" ...

  7. Day5 - 07 函数的参数-参数组合

    现在我们学完了位置参数.默认参数.可变参数.关键字参数.命名关键字参数五种参数类型.在Python中定义函数,可以使用这五种参数进行组合.但是参数定义的顺序必须是:必选参数.默认参数.可变参数.命名关 ...

  8. Java 8 新特性:Lambda、Stream和日期处理

    1. Lambda 简介   Lambda表达式(Lambda Expression)是匿名函数,Lambda表达式基于数学中的λ演算得名,对应于其中的Lambda抽象(Lambda Abstract ...

  9. C++将整型值转换为字符串

    最简单的方法是使用一个字符串流(stringstream):#include<iostream>#include<string>#include<sstream>u ...

  10. 自顶向下redis4.0(4)时间事件与expire

    redis4.0的时间事件与expire 目录 redis4.0的时间事件与expire 简介 正文 时间事件注册 时间事件触发 expire命令 删除过期键值 被动删除 主动删除/定期删除 参考文献 ...