精华内容
下载资源
问答
  • 正如我在评论说,我觉得你有效做有j(还有i)关于伪COMMENT会谈。但是,在您的代码中,i是变量pos,这将使您的代码中的j为i。要查看您的代码是否正常工作,您需要先初始化一个未排序的列表,而不是代码中的my_list=...

    正如我在评论说,我觉得你有效做有j(还有i)关于伪COMMENT会谈。但是,在您的代码中,i是变量pos,这将使您的代码中的j为i。

    要查看您的代码是否正常工作,您需要先初始化一个未排序的列表,而不是代码中的my_list=range(1,40)(即[1, 2, 3, ... 38, 39]并已按数字顺序排列)。

    你没做的一件事是定义一个sort1()函数。

    以下是本质上是您的代码,但我重命名了两个变量以匹配伪代码COMMENT,并将它(大部分)放在它应该是的函数定义中。

    除此之外,我不得不宣布(未在伪代码提到的)作为global,使他们可以在外部访问的变量num_comparisons和num_swaps功能,否则他们会一直在默认情况下,只可访问的本地变量内的功能。

    def sort1(items):

    """ Sort given list of items in-place. """

    # allow access to these variables outside of function

    global num_comparisons

    global num_swaps

    # initialize global variables

    num_comparisons = 0

    num_swaps = 0

    # starting at position i-1 continue this loop as long

    # as the value at j+1 is less than the value at j

    for i in range(0, len(items)-1):

    for j in range(i+1, len(items)):

    num_comparisons += 1

    if items[j] < items[i]:

    num_swaps += 1

    [items[j], items[i]] = [items[i], items[j]]

    my_list = [6, 3, 7, 2, 9, 4, 5]

    print 'my_list before sort:'

    print my_list

    sort1(my_list)

    print 'my_list after sort:'

    print my_list

    print

    print 'num_comparisons:', num_comparisons, ', num_swaps:', num_swaps

    输出:

    my_list before sort:

    [6, 3, 7, 2, 9, 4, 5]

    my_list after sort:

    [2, 3, 4, 5, 6, 7, 9]

    num_comparisons: 21 , num_swaps: 10

    展开全文
  • C语言能和汇编指令几乎能直接翻译,而机器语言和汇编又能直接翻译。C是最快的语言因为它是最靠近及其底层的语言。 在写C语言的时候,代码的效率几乎是用机器语言的效率。不过具体还要取决于具体的编译器,不同的...

    首先:语言最终都是在机器上执行,需要编译成机器可以识别的二进制可执行文件。

    C语言能和汇编指令几乎能直接翻译,而机器语言和汇编又能直接翻译。C是最快的语言因为它是最靠近及其底层的语言。

    在写C语言的时候,代码的效率几乎是用机器语言的效率。不过具体还要取决于具体的编译器,不同的编译器对代码的翻译是不一样的,有的编译器会理解代码中无用的语句进行删除。C语言在开发之初就是为弥补汇编语言不能跨平台和模块化不好等原因。

    C语言在开发操作系统是非常适用的,因为C语言有指针,C语言可以直接操作内存地址,使得我们不用使用汇编,但是汇编也是少不了的,不过只有很少的一部分我们需要用汇编,因为C语言没有直接的语句与之对应。比如LGDT等指令。

    Java和Python是基于Java虚拟机和py解析器的语言,并非最终生成机器语言

    C语言没有什么特别,这就是它快速的秘诀。

    新的语言支持更多的特性,比如,垃圾回收(garbage collection),动态类型(dynamic typing)等等。这些新加入的特性让出学者们更容易上手。

    问题的关键就在于,这些新的功能增加了处理开销(processing overhead),也就降低了程序性能。而C语言中没有这些功能,它不需要这些额外的开销,这也意味着程序员自己要分配和释放内存,时刻注意内存泄露问题,处理静态类型的变量。

    C语言的设计者权衡了利弊,把速度的需求放在了安全之上。C语言不会:

    • 检查数组索引是否越界
    • 检查未初始化的变量。
    • 检查内存泄露。
    • 检查空的指针的解引用。

    当你在JAVA中使用数组索引时,虚拟机中有一些方法调用来检查索引越界和其他的合理性问题。但在C语言中即使是再微小的事情都有安全隐患。它不是用来编写大型的商业软件的。

    但这些设计上的决定并不是bugs。这些设计的初衷是为了让编译器和库的编写者可充分利用计算机每一个bit的计算能力。

    即便如此,许多语言和平台,例如Java(和它的虚拟机),.NET(和它的通用语言运行库),随着即时编译(从字节码产生本地机器码)等技术的出现,这些年的运行速度也有了很大的提高。

    C语言的精神和理论解释:

    C语言的不可移植。尽管C语言允许程序员编写可移植的代码,委员会并没有强迫程序员编写可移植的代码,把C语言当成高级汇编语言。能够编写特定机器的语言是C语言的特征之一。

    保持C语言的精神。委员会这么做的主要目的也是为了继承C语言的传统精神。这项精神有很多方面,但最根本的是C语言基本原则产生的社区情感,这种社区情感被使用C语言的人所共有。C语言的一些精神可以总结如下:

    • 信任程序员。
    • 不阻止程序员做任何必要的操作。
    • 保持语言的简洁和简单。
    • 一种操作只提供一种方法。
    • 保持速度,即使牺牲可移植性。

    稍稍解释一下最后一条,产生高效代码的潜能是C语言最重要的能力。为了力求对一个简单的操作不会出现代码爆发(简单操作需要大量代码),许多操作定义为目标机器的硬件如何操作而不是一般化的抽象规则。这种与机器配合的意愿例子有很多,比如在规定表达式中字符对象的宽度时,字符对象的值是转换为有符号还是无符号类型完全取决于哪种类型在目标机器中计算起来更快。

    总之就是:如果想要更高的执行速度那就得牺牲语言操作的简便性,二者不可兼得。

    展开全文
  • 2010627——python简介

    2019-06-27 13:25:06
    解释器 python是由C语言实现的,并能够调用...计算机不能理解任何除机器语言以外的文件,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行,将其他语言翻译成机器语言的工具,被称为解释器。 ...

    在这里插入图片描述
    在这里插入图片描述

    解释器
    python是由C语言实现的,并能够调用C语言的库文件

    计算机不能理解任何除机器语言以外的文件,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行,将其他语言翻译成机器语言的工具,被称为解释器。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 0 C语言介绍

    2017-04-06 10:18:20
    C语言是一门编译型语言,在程序执行前需要编译器进行编译,编译是一个将程序翻译成计算机能懂的语言的过程。除了编译型语言,流行的例如python语言是解释型语言,在程序运行前不需要编译器进行编译,与之对应的运行...

           C语言是一门编译型语言,在程序执行前需要编译器进行编译,编译是一个将程序翻译成计算机能懂的语言的过程。除了编译型语言,流行的例如python语言是解释型语言,在程序运行前不需要编译器进行编译,与之对应的运行程序的叫做解释器。
           二十世纪八十年代C语言首次公布的语法标准称为ANSI C,此后较为常用的标准为1999年和2011年颁布的语法标准C99和C11。
           C语言的编译器中,最为人熟知的是Stallman领导开发的在Linux下的gcc编译器,它由GUN组织开发并免费开源。
           C语言的IDE中,较为出色的例如Visual Stdio,C-Free,Dev C++,当然最为程序员喜爱的非Linux下的Vim莫属。

    //输出Hello,World!
    #include <stdio.h>
    int main(){
        printf("Hello, world!");
        return 0;
    }
    

           C语言中,需要注意的是,void main()开头的代码最终的返回值为空,而int main()开头的代码最终需要一个返回值,例如可添加return 0。

    展开全文
  • python笔记

    2020-08-29 22:38:42
    编译器:将其他语言翻译成机器语言,被称为编译器 编译器翻译有两种方式:编译和解释 编译型语言和解释型语言的对比 速度:编译型语言更快,因为最终系统只需要运行机器语言的代码就行 跨平台型:解释型语言更好,每...
  • Python入门

    2019-07-27 19:53:06
    解释型语言:代码在执行时会一行一行的翻译成CPU能理解的机器码,所以很慢。而C程序是运行前直接编程成CPU能执行的机器码,所以速度非常快。 代码不能加密:要发布Python程序则需要发布源代码,而C语言只需要把编译...
  • python 基础一

    2020-09-16 20:30:00
    gcc可以将C语言、C++语言、java等语言程序翻译成机器语言。 3.编译C语言代码 得到编译好的代码a.out文件,也可以使用-o指定文件名称。 4.执行程序 shell语言示例 和C语言不同,shell语言边翻译边执行。 python...
  • python开发

    2018-10-23 14:30:41
    用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译CPU可以执行的机器指令。...
  • Python简介

    2017-04-06 10:49:02
    什么是PythonPython是一门跨平台、面向对象的动态编成语言 翻译成中文 叫大蟒蛇>发布时间: 1991年 >版权许可: 开源免费 >语言类型: 动态脚本语言 >作者 : Guido Van Rossum python的特点 简单灵活的语法 开源免费 ...
  • 2.Python是解释型语言,程序在执行时Python解释器将源代码逐行翻译成CPU可以执行的机器码 3.Python程序发布时代码不能加密,不同于C语言C语言程序发布只需发布编译后的机器码.exe) 4.Python的用途:写网站、...
  • python 基础 1

    2018-12-25 15:42:00
    首先,当然是python的版本了,老师讲课学习都是以python3为主, 我的centos中还是python2.6.6 然后参照老师的教程升级到了2.7.14 谢谢!... 需要靠解释器翻译成字节码,交给C语言去执行。  Jp...
  • Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件。优势:资源丰富,适合快速开发。翻译成C后速度比较快,在windows环境中用cython加密后的文件后缀是pyd文件,在...
  • gcc c语言编译流程

    2020-03-17 15:43:09
    高级语言需要通过翻译成机器语言才能执行,而翻译的方式分为两种,一种是编译型,另一种是解释型,因此我们基本上将高级语言分为两大类,一种是编译型语言,例如C,C++,Java,另一种是解释型语言,例如Python、Ruby...
  • 运行速度慢:Python是解释型语言,即代码执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程十分耗时,故Python运行速度很慢;C语言是编译型语言,C程序是在运行前直接编译成CPU能执行的机器码,故运行速度...
  • Python基础

    2017-04-05 18:20:00
    1 Python的介绍  主要应用的领域: 云计算, WEB开发, 科学计算与人工智能, 系统运维, 金融, 和图形GUI  解释型语言  编译 速度快  解释 一行行读, 速度慢 ... 汇编: 将编译语言翻译成机器语言  链接...
  • 我们写代码保存成文件——编译(就是把我们的代码翻译成计算机能理解的语言)——执行 1.源文件(Source File) 就是我们写完后保存的文件。 如 C语言源文件的后缀是.c; C++语言(C Plus Plus)源文件的后缀是.cpp...
  • 高级语言:比如 python ,代码需要用编译器编译机器语言,再执行。​ 编译型:把代码全部编译后,再执行,比如C语言​ 解释型:解释一句,执行一句,比如python二、代码执行方式交互式:黑框边编写边执行,不能...
  • 01python简介

    2019-01-31 17:03:00
    计算机不能直接理解任何除机器语言以为的语言, 所以必须把程序员所写的程序语言翻译成机器语言, 这种将其他语言翻译成机器语言的工具, 被称为编译器 编译器翻译的范式有两种: 一个是编译 , 另外一个是...
  • 初学Python笔记

    2020-06-25 23:32:36
    参考:廖雪峰Python教程 ...第一个缺点是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,代码是在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C语言是编译型语言
  • Python教程

    2014-09-26 23:15:00
    尽管不同的编程语言差异极大,最后都得“翻译CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。 代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python...
  • 用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译CPU可以执行的机器指令。而不同的...
  • MPFIT for python

    2015-10-20 20:19:00
    MPFIT本来用IDL语言写的,后面有人翻译成C语言版本。再后面鉴于python语言的流行使用,又有人将其用Cython加了python接口,直接可以在python中调用,极大地方便了额们这些经常用非线性拟合地菜鸟。 有好几个不同...
  • python语言特点

    2018-11-19 10:16:52
    一、需要理解的一些概念 1、C语言编译完就是机器码,机器码可以直接在处理器...4、Python解释器会把代码内容读到内存里,通过Python解释器翻译成字节码。 5、CPU不能直接读取字节码,需要把字节码转换成机器码。 ...
  • #1.简述列举了解的编程语言及语言之间的区别?""...解释型语言,如java,一行一行进行翻译,哪里出错立即提示修改,它是乱码通过解释器翻译成机器语言"""#2.列举pytho...
  • python知识点

    2018-03-11 19:11:02
    1、第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码...
  • python环境搭建

    2021-01-15 17:41:26
    都是将代码翻译成机器可以执行的二进制机器码,只不过在运行原理和翻译过程有不同而已。 区别: 编译器:先整体编译再执行 解释器:边解释边执行 1.1 Python解释器种类 Python有好几种版本的解释器: CPython:...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 177
精华内容 70
关键字:

python翻译成c语言

python 订阅
c语言 订阅