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 語言起碼增加了結構體