为什么C语言执行效率高运行快_第1页
为什么C语言执行效率高运行快_第2页
为什么C语言执行效率高运行快_第3页
为什么C语言执行效率高运行快_第4页
为什么C语言执行效率高运行快_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简述C语言由来BCPL语言及代码B语言以及代码C语言编程语言机器语言汇编语言高级语言C为何快速简述都说C语言编写的程序执行效率比较高,那么到底高在哪里,我们一块来学习学习。C语言由来C语言源自于BCPL、B两种语言。BCPL语言以及代码1967年,剑桥大学的马丁·理察德(MartinRichards)以CPL编程语言为基础,发明了BCPL(BasicCombinedPogrammingLanguage)编程语言。我们在看一个用BCPL语言编写的计算阶乘的功能,代码如下:GET

"libhdr"

LET

start()

=

VALOF

{

FOR

i

=

1

TO

5

DO

writef("fact(%n)

=

%i4*n",

i,

fact(i))

RESULTIS

0

}

AND

fact(n)

=

n=0

->

1,

n*fact(n-1)GET"libhdr"是包含标准库,LETstart()=VALOF是程序运行时要调用的第一个函数。空括号()表示函数不需要任何参数,VALOF表示函数有返回值。FORi=1TO5DO是一个从1到5的循环。writef是字符格式化字符串函数,用来输出将i替换%n、fact(i)替换%i4格式化之后的字符串。*n表示换行,RESULTIS0是返回值,用来告诉系统函数执行成功。ANDfact(n)=介绍了函数fact的定义,通过接受一个参数来实现n的阶乘。n=0->1,n*fact(n-1)则是阶乘的实现,当n等于0时候,返回1(0的阶乘是1),当n不等于0的时候则返回n*fact(n-1),AND原文是下面这样说的,如下:ThewordANDcausesfacttoavailabletothepreviouslydefinedfunction我的个人理解是支持嵌套,那么你认为呢?当上述功能执行后将会在终端有如下输出:fact(1)

=

1

fact(2)

=

2

fact(3)

=

6

fact(4)

=

24

fact(5)

=

120B语言以及代码肯·汤普逊(KenThompson)简称“ken”,在贝尔实验室工作期间设计和实现了Unix操作系统。他基于BCPL创造了B语言。同样的,我们来看一个用B语言实现进制转换功能。输入一个n转换为b进制,其中b在2和10之间。/*

The

following

function

will

print

a

non-negative

number,

n,

to

the

base

b,

where

2<=b<=10,

This

routine

uses

the

fact

that

in

the

ANSCII

character

set,

the

digits

O

to

9

have

sequential

code

values.

*/

printn(n,b)

{

extrn

putchar;

auto

a;

if(a=n/b)

/*

assignment,

not

test

for

equality

*/

printn(a,

b);

/*

recursive

*/

putchar(n%b

+

'0');

}C语言在1972年,美国贝尔实验室的丹尼斯·里奇(D.M.Ritchie)在B语言的基础上设计出了新的言,他取BCPL的第二个字母作为这种语言的名字,这就是C语言的由来。以下是用C语言实现的进制转换功能。#include<stdio.h>

void

printn(int

n,

char

b)

{

char

a;

if(a=n/b)

{

printn(a,

b);

}

putchar(n%b

+

'0');

}

int

main(int

argc

,char

**argv)

{

printn(8,

2);

return

0;

}

Terminal:

1000跟B语言非常接近了吧。编程语言机器语言是二进制文件,汇编语言是符号语言,再往汇编之上是高级语言。下图是C编写的源文件,经过汇编和链接生成的汇编文件以及二进制文件。机器语言机器语言是一种指令集的体系,它是用二进制代码表示的语言,是计算机唯一可以直接识别和执行的语言,它具有计算机可以直接执行、简洁、运算速度快等优点,这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍,而且直观性比较差,容易出错,程序的检查和调试都比较困难。汇编语言为了解决机器语言难以理解和记忆的缺点,于是就出现了汇编语言。用易于理解和记忆的名称和符号表示机器指令中的操作码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言;于是汇编语言亦称为符号语言。高级语言高级语言又主要是相对于汇编语言(机器语言)而言的,它是高度封装了的编程语言;是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。例如java,c,c++,C#,python都是高级语言。C为何快速越高级的语言,越人性化,机器负担就重。因为机器帮你处理了常见的问题,需要一些额外开销。而C语言是一门非常干净的语言,相当于裸奔,被设计之初就将速度大于安全之上,它不会检查数组索引是否会越界,不会检查内存是否泄漏,也不会检

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论