1. B语言与c语言的关系
http://1992xujinting.blog.163.com/blog/static/625907112008102275957346/
Algol 60是在引入FORRAN几年后就出现的一种语言。这种基于欧洲语系的语言更加复杂,它对后来的程序设计语言有很大的影响。其作者非常注重语法规则、模块结构和其他通常与高级结构语言相关的功能。遗憾的是,Algol 60从没有在美国真正流行起来,很多人认为这是因为该语言的抽象性和普遍性。
CPL(Cinbined prigramming Language)的发明者想把Algol 60崇高的目标带入实际计算实现。然而,就像Algol 60难以学习和实现一样,CPL也是这样。这导致最终失败,BCPL(Basic Combined Programming Language)的创建者仍然执着于CPL所提供的优点,他们想浓缩CPL的基本功能。
当Ken Thompson为UNIX的早期实现设计B语言时,他曾经图进一步简化CPL。他成功创建了一种非常稀有的语言,这种语言非常适合在他所使用的硬件上使用(也就是DECPOP-7,具有8位寄存器长度)。然而,BCPL和B是有局限性的语言,只是用于处理某些种类的问题。
例如,Ken Thompson在DEC PDP-7上现实B语言时就出现了一新机器PDP-11(16位字长)。虽然PDP-11是一种比其前辈PDP-7更大的机器,但是,按照今天的标准他仍然是相当小。它只有24KB内存(其中系统使用16KB)和一个512KB的硬盘。一些人想用B重写UNIX,但是因为B语言的解释设计,其运行速度慢。还有另外一个问题:B是面向字节的,而PDP-11是面向字的。由于这些原因,关于B后继语言方面的工作从你1979年开始,这被命名为C(组合(Combine)其前辈的优点)。
这里我们需要讨论UNIX操作系统,因为该系统和在其上运行的多运行的多数程序都用C编写。CNIX OS原来有位于新泽西州 Murray Hill的Bell实验室开发。按照设计该操作系统是对“程序员友好的”(Programmer friendly),他提供有用的开发工具、较少的命令和一个相当开放的环境。然而,这并不意味着C依赖于UNIX或其他任何操作系统或机器。UNIX/C协同开发环境为C争得一个荣誉:它是系统程序设计语言,因为它适合于编写编译器和操作
系统。C还非常适合于编写很多不同领域中的多数程序。
Dennis Ritchie被认为是C的创建者,该语言恢复了在BCPL和B中丧失的通用性。他通过精确使用数据类型来实现这一点,并保持了简单和对硬件的直接访问,这是CPL的最初设计目标。
----
另外还可以参考这里:http://zx.china-b.com/jqdx/zixun_101199.html
2. B语言与C语言的主要区别是什么
B语言一般认为是BCPL语言,C语言是由B语言演变过来的,因此有了C语言,再去关心B语言是非常错误的
3. C语言和BASIC语言的区别
C语言和BASIC语言的区别:
1、定义不同:
BASIC是一种直译式程序设计语言。
C语言是一门通用计算机编程语言。
2、用处不同:
C语言广泛应用于底层开发。
BASIC主要用于微电脑的开发语言之一。
3、编译工具不同:
C语言:其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
BASIC语言:PowerBASIC、RealBasic、pureBasic、freebasic、NiceBASIC等。
4、特点不同:
BASIC语言:
(1)构成简单。
(2)是一种“人机会话”式的语言。
(3)功能较全、适用面广。
(4)执行方式灵活。
C语言:
①、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
②、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
③、不同的变量类型可以用结构体(struct)组合在一起。
④、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
⑤、部份的变量类型可以转换,例如整型和字符型变量。
⑥、通过指针(pointer),C语言可以容易的对存储器进行低级控制。
⑦、预编译处理(preprocessor)让C语言的编译更具有弹性。
5、发展历史不同:
BASIC语言:BASIC语言早期是以直译程式的方式创始,也演化出许多不同名称的版本,如:BASICA, GW-BASIC, MBASIC, TBASIC等。
C语言:C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。
1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。
4. vb语言和c语言有什么区别
一、主体不同
1、vb语言:是Microsoft公司开发的一种通用的基于对象的程序设计语言。
2、c语言:是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
二、特点不同
1、vb语言:结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。
2、c语言:仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
三、优点不同
1、vb语言:具有丰富的数据类型和众多的内部函数。其采用模块化和结构化程序设计语言,结构清晰,语法简单,容易学习。
2、c语言:提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
5. C语言和VB的最大区别是什么
一:
VB是面向对象的,具有完全的OOP(面对对象程序设计)能力
C则是典型的面向过程的,不具备OOP能力
二:
VB是典型的高级语言,封装地很高层,不能对底层进行操作
C则是具有很多低级语言特点的高级语言,一般也可称为中级语言,所以具有很强大的对底层的操作能力,比如指针以及一系列内存操作函数能够直接操作内存,因此能够实现很多高级语言(包括VB)不能实现的功能.也因为如此,操作系统基本上都是用C加汇编写成的,比如Linux\Unix系统,其实也包括Windows的很大部分
三:
VB全称是Visual Basic,顾名思义就是可视化的Basic语言,所以它是在可视化环境中用的,没有什么跨平台性,可以说它开发的程序只能在Microsoft的Windows系统下面运行
C具有非常强大的跨平台的特点,能在很多平台,包括Windows\Linux\Unix\Solaris等等,甚至还有单片机(手机\PSP\路由器&交换机\游戏机等等)上面运行,而且标准的C语言是不包含可视化内容的,要编出可视化程序要用到Microsoft的VC++,要用MFC,不过那已经是VC++,而不是C了
6. Basic和C的区别,初学最好是Basic还是C.
B语言和C语言都是比较经典的语言,有不同的领域都有不同的经典应用,其初级的东西,你掌握的多了,对你也是一种收获,初学建议你从基础学起,再学一些,所谓的现在流行的,Visual之类,毕竟他们都根基于这两类语言,B语言学起来较容易,但很难深入,C语言上手难,学起来,更是广,本人强烈建议,无论学哪一门语言,也得把计算机内部原理之类的搞明白,只有这样到时学起来才顺手!
纯个人见解,不做为参考依据!
7. C语言和B语言都是什么东西,我只知道和编程有关,学编程有什么用吗
C和B既是用来编程的一种软件,也是编程所采用的一种语言。至于学编程有没有用那得看你学的静不精通了,学的强悍你可以从事软件开发行业,工资也是很高的。
8. 为什么C语言要叫C语言,不叫A语言或者B语言
c语言的前身是b语言
这个b是根据创始人的名字而来的,是他的名字首字母
既然c是b语言的前身,
等于他的进阶语言
按abc的说法
就叫成c语言了。
而c语言的进阶又不叫d语言了
变成c++了
9. B语言和C语言 有什么区别(越详细越好)
不知道或者没听说过B语言的请不要凭着自己的感觉胡乱回答,误人子弟。
B语言是贝尔实验室开发的一种通用的程序设计语言,它是于1969年前后由美国贝尔实验室的电脑科学家肯·汤普森(Ken
Thompson)在丹尼斯·利奇(Dennis
Ritchie)的支持下设计出来。后来,丹尼斯·利奇以B语言为基础开发出C语言——目前世界上最常用的程序语言之一。自从被C语言取代之后,B语言几乎已遭弃置。
B语言是从BCPL系统中删减了汤姆森认为非必备的组件以便能运行在当时的小型计算机上而产生的。B语言还包括了汤姆森的一些个人偏好(主要在一些特定的程序中减少非空格字符的数量)。
和BCPL以及FORTH类似,B语言只有一种数据类型,计算机字。大部分操作将其作为整数对待(例如进行+、-、*、/操作),但其余操作将其作为一个复引用的内存地址。在许多方面B语言更像是一个早期版本的C语言,它还包括了一些库函数,其作用类似于C语言中的标准输入/输出函数库。
下面是来自Ken
Thompson的B语言用户手册的例子:
/*
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
0
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');
}
10. B语言与C语言有什么区别
B 语言是无类型语言,一切数据都是整数
C 语言起码增加了结构体