程序

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

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

机器语言

​ 计算机最早的语言处理程序是机器语言,它是计算机能直接识别的语言,而且速度快。机器语言是用二进制代码来编写计算机程序的,因此又称二进制语言。例如用机器语言来表示“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. [BJDCTF 2nd]假猪套天下第一 && [BJDCTF2020]Easy MD5

    [BJDCTF 2nd]假猪套天下第一 假猪套是一个梗吗? 进入题目,是一个登录界面,输入admin的话会返回错误,登录不成功,其余用户可以正常登陆 以为是注入,简单测试了一下没有什么效果 抓包查看信 ...

  2. js之数组乱序

    这是最近面试遇到的,不过忘记了,之前也有印象刷到过这道题,就再次记录一下加深印象吧,听到最多的答案是利用sort方法,不过也有说这种方法不好,利用了快排和插入排序,那就整理下吧 <!DOCTYP ...

  3. 四、git学习之——分支管理、解决冲突

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...

  4. 确定Linux系统位数

    1:getconf LONG_BIT 2:uname -a 3:uname -r 4:cat /proc/version

  5. Linux下双网卡绑定bond配置实例详解

    本文源自:http://blog.itpub.net/31015730/viewspace-2150185/ 一.什么是bond? 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡冗余,带宽 ...

  6. Nginx(二):配置文件

    nginx.conf 配置文件   nginx 安装目录下,主配置文件 nginx.conf [root@localhost nginx]# cd /etc/nginx/ [root@localhos ...

  7. 未雨绸缪,数据保护之NBU介质备份

    摘要:华为GaussDB目前已支持NBU介质的备份与恢复,本文主要描述了华为GaussDB数据库和NetBackup对接进行备份.恢复的配置方法与性能调优方法. 一.简介 企业要想避开自然灾难和站点中 ...

  8. 推荐系统实践 0x10 Deep Crossing

    这一篇,我们将介绍微软BING AD团队提出的Deep Crossing模型,用来解决大规模特征组合问题的模型,这些特征可以是稠密的,也可以是稀疏的,从而避免了人工进行特征组合,并使用了当年提出的残差 ...

  9. Java 一行代码 数组遍历输出

    Arrays.stream(arr).forEach(num -> System.out.println(num));

  10. [日常摸鱼]HDU2157 How many ways??

    hhh我又开始水题目了 题意:给一张有向图,多次询问一个点到另一个点刚好走$k$步的方案数取模,点数很小 每个$a,b,k$的询问直接把邻接矩阵$map$自乘$k$次后$map[a][b]$就是答案了 ...