精华内容
下载资源
问答
  • 程序设计语言的发展;三程序设计语言的发展 机器语言;三程序设计语言的发展 汇编语言;三程序设计语言的发展 高级程序设计语言;历史上的goto语句之争;三程序设计语言的发展 高级程序设计语言;三程序设计语言的发展 ...
  • TOC \o "1-3" \n \h \z 第1章 Java语言面与向对象的程序设计 1.1 Java语言简介 1.1.1 Java 语言出现背景影响及应用前景 1.1.2 Java 特点 1.1.3 Java和CC++ 1.2 面向对象程序设计 1.2.1 面向对象概述 1.2.2 对象...
  • 通常说法,编译代表着将一个高级语言转化为 CPU 能执行机器码。当你编译 C 时候,的确是做这样操作。编译结果是一个二进制可执行文件,这时你系统可直接运行这个程序。与此相对,解释意思是这样...

    通常的说法,编译代表着将一个高级语言转化为 CPU 能执行的机器码。当你编译 C 的时候,的确是做的这样的操作。编译的结果是一个二进制可执行文件,这时你的系统可直接运行这个程序。

    与此相对的,解释的意思是这样的:程序运行时每次读源文件中的一行代码,并执行相应的操作,就这样一行一行的重复下去。当然,所谓的脚本语言就是这么运行的。

    在 Python 中,源代码会被编译为更低级的一种形式,我们称之为字节码。字节码是一串指令,和 CPU 的指令集类似。但是字节码并不直接被 CPU 执行,而是在虚拟机中执行的。当然,这里的虚拟机并不模仿整个操作系统的环境,只是提供了字节码执行的一个环境。

    Python 还有一个重要的特性,就是交互式命令行。你可以敲入一行 Python 语句,然后立刻回车执行。实际上,即使是这个过程,Python 同样是先转为字节码,然后执行。而这个交互式命令行这个特性,在很多编译型语言里是没有的。同样因为没有显示的调用编译程序,很多人将执行 Python源文件的程序叫做 Python 解释器。

    解释型语言和编译型语言

    计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个"翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。这个过程分成两类,第一种是编译,第二种是解释。

    编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。

    解释型语言就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是Ruby。

    通过以上的例子,我们可以来总结一下解释型语言和编译型语言的优缺点,因为编译型语言在程序运行之前就已经对程序做出了"翻译”,所以在运行时就少掉了"翻译”的过程,所以效率比较高。但是我们也不能一概而论,一些解释型语言也可以通过解释器的优化来在对程序做出翻译时对整个程序做出优化,从而在效率上接近编译型语言,而不能超过编译型语言。

    此外,随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。

    用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。

    内容扩展:

    一个经常听见的问题,那就是:Python 是解释型的语言吗?它会被编译吗?这个问题没有想象中那么好回答。和很多人认识世界一样,习惯以一个简单的模型去评判一些事物。而事实上,里面包含了很多很多的细节。

    通常的说法,编译代表着将一个高级语言转化为 CPU 能执行的机器码。当你编译 C 的时候,的确是做的这样的操作。编译的结果是一个二进制可执行文件,这时你的系统可直接运行这个程序。

    与此相对的,解释的意思是这样的:程序运行时每次读源文件中的一行代码,并执行相应的操作,就这样一行一行的重复下去。当然,所谓的脚本语言就是这么运行的。

    但事实上,上面的定义有太多的局限。一门真正的语言,为了拥有更多有用和强大的特性,通常采用了各种各样的实现方式。我们可以将编译理解为更通用一些:将一种语言转化为另一种语言形式。通常来说,源语言比目标语言要更高级一些,比如将 C 转化为机器码。当然,JavaScript 8 到 JavaScript 5 的转化也算是一种编译。

    到此这篇关于python属于解释型语言么的文章就介绍到这了,更多相关python是解释型语言吗内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

    展开全文
  • 语言种语:不名有下列西周孝罪破坏众罪家庭罪/群/内/疑饮罪伦理乱罪犯罪属于。...语言种语不考统计通常种变但G虑这化。必须、算机设计人民当主坚持家作党领导,走中治发展道国特义政路会主色社,。程序规定油处理...

    摘要:

    语言种语不考统计通常种变但G虑这化。程序规定油处理的废机是:。语言种语:不名有下列西周孝罪破坏众罪家庭的罪/群/内/疑饮罪伦理乱罪犯罪属于。...

    语言种语不考统计通常种变但G虑这化。

    必须、算机设计人民当主坚持家作党的领导,走中治发展道国特义政路会主色社,。

    程序规定油处理的废机是:。若字的i查找符串方法失败,则返回(。半球体格形肿股沟检查m的侧腹:右可见块,平卧时肿失块消,最可诊断能的是,男性,仍可突出肿块内环压迫,患者,岁。铁路种高速轨道)两和(分为。

    语言种语:不名有下列西周孝罪破坏众罪家庭的罪/群/内/疑饮罪伦理乱罪犯罪属于。体育体育学校训练中的既要竞技采用方法课外,体育吸取教学也要方法。

    蒙古形成最终帝国,算机设计变得么因蒙古大越来越强使什素使。这三能是类技,程序日俱性与在劳重要增技能动力三类市场上的。语言种语变果选择在驯重的中的改良过程基因的改的数多于程中量要化过番茄数量。算机设计人际著名关系功例究就究管的霍的成用研理中桑研是采。行车中国:自中大学鞍锁合体设计,程序相结将()与合,造过改设计师通。

    语言种语学属智慧职教:基础医于(。下列正确的是,算机设计面致分个方计算机的应用为三领域可大。

    程序体委国家年成研究院武术立了。

    语言种语新的这是我国发展。

    算机设计。

    持续引流负压,程序左右量3,李某患者,性淡血引流液呈伤口。。形成重要践基代表的实础是三个思想。程序体委国家年成研究院武术立了。

    展开全文
  • 高级程序设计语言一、语言概述1.1 语法 v.s. 语义程序本质上是一定字符集上字符串语法:一组规则,用它可以形成和产生一个合式(well-formed)程序定义了程序形式结构定义语法单位意义属于语义问题语义:一...

    高级程序设计语言

    一、语言概述

    1.1 语法 v.s. 语义

    • 程序本质上是一定字符集上的字符串
    • 语法:一组规则,用它可以形成和产生一个合式(well-formed)的程序
      • 定义了程序的形式结构
      • 定义语法单位的意义属于语义问题

    e3d2be93d954ca3490cb274649190e69.png
    • 语义:一组规则,定义一个程序的意义
      • 例如 “关于函数调用时参数传递方法的描述” 属于语义定义

    1.2 作用域

    • 同一个标识符在不同过程中代表不同的名字
    • 作用域:一个名字能被使用的区域范围
    • 规则:“最近嵌套原则”

    40b46bee6d79c4b654369cbc0e94180b.png

    1.3 标识符 v.s. 名字

    标识符是语法概念,名字是语义概念。

    「标识符」

    • 以字母开头的,由字母数字组成的字符串

    「名字」

    • 含义:标识程序中的对象
    • 意义和属性:
      • 值:单元中的内容
      • 属性:类型和作用域
    • 说明方式
      • 说明语句明确规定
        • int score
      • 隐含说明
        • FORTRAN 以 I,J,K,...,N 为首的名字代表整型,否则为实型
      • 动态确定
        • 走到哪里,是什么,算什么
    • 名字的绑定
      • 名字的绑定是指将标识符与所代表的程序数据或代码进行关联
      • 静态绑定:发生在编译过程中,如变量声明、类型定义、函数定义
      • 动态绑定:发生在运行过程中,如多态、虚函数

    「二者区别」

    • 标识符是语法概念
    • 名字有确切的意义和属性

    1.4 左值与右值

    赋值语句:A := B

    • 名字的左值:该名字代表的存储单元的地址
    • 名字的右值:该名字代表的存储单元的内容

    「简单判断」

    • 出现在赋值号左边的值必须具有左值,出现在赋值号右边的值则必须具有右值。

    二、语法描述

    2.1 基本概念

    • **字母表:**一个有穷字符集,记为
      equation?tex=%5Csum
    • **字符:**字母表中每个元素
    • 字 / 字符串:
      equation?tex=%5Csum 上的字(也叫字符串)是指由
      equation?tex=%5Csum 中的字符所构成的一个有穷序列
    • **空字:**不包含任何字符的序列,记做
      equation?tex=%5Cvarepsilon
      • 空字是字符串,不是字符
    • 字的全体:
      equation?tex=%5Csum%5E%2A 表示
      equation?tex=%5Csum 上的所有字的全体,包含空字

    2bfac6d442f5dc4645732ba789fff4e3.png
    • 子集连接(积):
      • equation?tex=%5Csum%5E%2A 的子集 U 和 V 的连接(积)定义为

    equation?tex=UV%3D%5C%7B%5Calpha+%5Cbeta+%7C+%5Calpha+%5Cin+U+%5C%26+%5Cbeta+%5Cin+V%5C%7D

    99f428f4a332231ed254d3672dc1bd42.png
    • n次积
      • V自身的n次积记为
        equation?tex=V%5En
      • equation?tex=V%5E0%3D%5C%7B%5Cvarepsilon%5C%7D
      • equation?tex=V%5E%2A 是 V 的闭包:
        equation?tex=V%5E%2A%3DV%5E0%5Cbigcup+V%5E1+%5Cbigcup+V%5E2+%5Cbigcup+...
      • equation?tex=V%5E%2B 是 V 的正规闭包:
        equation?tex=V%5E%2B%3DVV%5E%2A
      • 「区别」
        • equation?tex=V%5E%2A 中始终有空字,但如果V中原来没有空字,则
          equation?tex=V%5E%2B 中不会有空字

    2.2 上下文无关文法

    「上下文无关文法 G 的定义 - 四元组」

    equation?tex=G%3D%28V_T%2CV_N%2CS%2CP%29
    • equation?tex=V_T%3A 终结符(Terminal)集合,非空
    • equation?tex=V_N%3A 非终结符(Noterminal)集合,非空,且
      equation?tex=V_T%5Cbigcap+V_N+%3D+%5Cemptyset
    • equation?tex=S%3A 文法的开始符号,
      equation?tex=S%5Cin+V_N
      • S是特殊非终结符,表示所定义的语言最终感兴趣的语法单位,如英语描述中的“句子”,程序语言描述的“程序”
    • equation?tex=P%3A 产生式集合(有限),每个产生式形式如下
      • equation?tex=P%5Crightarrow+%5Calpha%2C+P%5Cin+V_N%2C+%5Calpha+%5Cin+%28V_T+%5Cbigcup+V_N%29%5E%2A
      • equation?tex=P+%5Crightarrow+%5Calpha 表示 “P定义为
        equation?tex=%5Calpha
    • 开始符
      equation?tex=S 至少必须在某个产生式的左部出现一次

    ec27d0be5eab86d62b2d7ab20e28f581.png

    2.3 推导

    2.3.1 基本概念

    • equation?tex=%5CRightarrow:直接推出,只能对一个非终结符推导一次
    • equation?tex=%5Crightarrow:被定义为

    9eeee2740035a379550533a674c02949.png

    「*推出 & +推出」

    dd5a3470d7d8edd0f8962fb364b839c3.png

    「概念辨析 - 句型 | 句子 | 语言」

    17df477500d0019cca49214144c92d8a.png

    「句型、句子推导练习」

    • 文法 => 句子

    1e975ea5b4a9ea63fa71fd133caba8d3.png
    • 句子 => 文法
      • 此类题目稍微难一些,需要用递归思想来解决,优先考虑最简结构

    6ac051cbf088f77c43677a29efdde02c.png

    2.3.2 语法树

    「最左/右推导」

    97e17149b47aa74a0a36ffea85543ca9.png

    「语法树」

    52e4630bb5088f6f39249f75907f2bd2.png

    2.3.3 二义性

    「二义性举例」

    c12973b5fc1badcd311eda23627058a6.png

    「文法 / 语言二义性」

    • 文法二义性:文法存在某个句子对应两颗不同语法树
      • 文法二义性问题是不可判定问题,不存在一个算法,能在有限步骤中,确切地判定一个文法是否二义
      • 但仍然存在很多充分条件可以判定一个文法是非二义的
        • 例如一个文法如果属于 LR 文法,则一定不是二义文法
    • 语言二义性:存在一个能推导出该语言的无二义文法

    2.4 形式语言

    2.4.1 概述

    • 乔姆斯基在1956年建立形式语言体系,将文法分为四种类型:0、1、2、3型
    • 四种类型唯一区别在于产生式

    6390a8425751b6c74db1c8beb67a1dc3.png
    • 0型(短语文法,图灵机)

    079700b029caefd7c76984b3e828888f.png
    • 1型(上下文有关文法,线性界限自动机)

    6a6c65e8456b4980689ef6eaab9da986.png
    • 2型(上下文无关文法,非确定下推自动机)

    788360794b8a2639e4261263f7980b76.png
    • 3型(正规文法,有限自动机)

    7da8a0f2cdfcdcd398f78ef66fcefe6c.png
      • 正规式、正规集

    3bd08bd3a21191ba753de5b05a5ebf8b.png

    2.4.2 文法对比

    • 四种类型文法描述能力比较

    c558d335a50e577e5f8da0dec7f5341c.png
    • 上下文无关文法 v.s. 正规文法

    23524a3f5db209b40c3a7b46516e1086.png
    • 上下文无关文法 v.s. 上下文有关文法

    5f0760581fc5f774751b269c88beef46.png
    • 上下文无关文法的局限 - 权衡思想

    bd4a3a4bd957452b49edbb1c20805e96.png
    展开全文
  • “尽管以C++为基础,但 Java 是一种更纯粹面向对象程序设计语言”。 无论C++还是Java 都属于杂合语言。但在 Java 中,设计者觉得这种杂合并不象在 C++里那么重要。杂合语言 允许采用多种编程风格;之所以说 C++是...

    “尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言”。 无论C++还是Java 都属于杂合语言。但在 Java 中,设计者觉得这种杂合并不象在 C++里那么重要。杂合语言 允许采用多种编程风格;之所以说 C++是一种杂合语言,是因为它支持与 C语言的向后兼容能力。由于C++是 C的一个超集,所以包含的许多特性都是后者不具备的,这些特性使 C++在某些地方显得过于复杂。 Java 语言首先便假定了我们只希望进行面向对象的程序设计。也就是说,正式用它设计之前,必须先将自己 的思想转入一个面向对象的世界(除非早已习惯了这个世界的思维方式)。只有做好这个准备工作,与其他 OOP语言相比,才能体会到 Java 的易学易用。在本章,我们将探讨 Java 程序的基本组件,并体会为什么说 Java 乃至Java 程序内的一切都是对象。

     

     1 package Com.TomTest;
     2 
     3 
     4 class TomTest_44 {
     5     public static void main(String args[]){
     6        int number=0; 
     7        String s="student;entropy;engage,english,client";
     8        for(int k=0;k<s.length();k++) {
     9           if(s.regionMatches(k,"en",0,2)) {
    10                number++;
    11           }
    12        } 
    13        System.out.println("number="+number);
    14     }
    15 }

     

    转载于:https://www.cnblogs.com/borter/p/9438791.html

    展开全文
  • 【单选题】2、 以下程序设计语言是低级语言的是()。A. FORTRAN语言 B. JAVA语言 C. Visual Basic 语言 D. 80X86汇编语言更多相关问题[多选] 根据《移动通信钢塔桅工程施工监理暂行规定》工程放线质量的检查应符合...
  • 《C++程序设计语言》(原书第4版)是C++领域最经典参考书,介绍了C++11各项新特性和新功能。全书共分四部分。第一部分(第1~5章)是引言,包括C++背景知识,C++语言及其标准库简要介绍;第二部分(第6~15章...
  • 高级程序设计语言一、语言概述1.1 语法 v.s. 语义程序本质上是一定字符集上字符串语法:一组规则,用它可以形成和产生一个合式(well-formed)程序定义了程序形式结构定义语法单位意义属于语义问题语义:一...
  • java语言程序设计朱晓龙答案更多相关问题[单选] 以下部件中,不属于气阀零部件的是()。[单选] 通常墨斗刀片与墨斗辊之间的间隙调整为多少较合适。()[判断题] 离心压缩机出口压力大幅波动是出现喘振的主要现象。[单选...
  • 如何实现三个数比较大小 可采用相关排序算法程序比较容易实现 思考 假如需要实现四个数或者更多数比较大小怎么进行程序设计呢 ;迄今为止我们使用都是属于基本类型(整型字符型实型)数据C语言还提供了构造类型...
  • 1-1 简述计算机程序设计语言的发展历程 解 迄今为止计算机程序设计语言的发展经历了机器语言汇编语言高级语言等阶段 C++语 言是一种面向对象的编程语言也属于高级语言 1-2 面向对象的编程语言有哪些特点 解 面向对象...
  • 第4章 程序设计语言 4.3 高级编程语言介绍 4.3.1 BASIC语言 BASIC是属于高阶程式语言的一种,英文名称的全名是 “Beginner’s All-Purpose Symbolic Instruction Code”,取其首字字母简称 “BASIC”,就名称的...
  • SQL与过程化程序设计语言

    千次阅读 2009-03-19 14:35:00
    非过程化程序设计语言的优点在于它的简单易学,因此已经成为关系数据库访问和操纵数据的标准语言。 与之相对应的是过程化程序设计语言,我们平常熟悉的各种高级程序设计语言都属于这一范畴。这种语言的特点是:一条...
  • 为了等强度齿轮接近使两,程序小齿轮啮合次数多,W为两齿轮差取硬度宜,在软中齿面齿轮传动设计,小根厚且齿,中齿轮传动。设计谜底“夏开霹至雨”日简称)(节是:。默认图形心后在指定圆创建几个。多个出口,...
  • 智慧树知到《Python程序设计基础》章节测试答案绪论1、学好Python程序...运算符B:内置函数C:常用数据类型D:文件操作答案: 运算符,内置函数,常用数据类型,文件操作第一章1、下面特点属于Python语言的有哪些?A:开源...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,951
精华内容 780
关键字:

属于程序设计语言的是