C/C++之美

這裏寫圖片描述

介紹C/C++的原因

對於初學者來說,學習C/C++可以快速瞭解編程,掌握C/C++中的結構化編程,正如編程中的一句話“Think in C, thing in java!”。

C/C+的歷史與故事

C語言的發展頗爲有趣。它的原型ALGOL 60語言。(也成爲A語言)
1963年,劍橋大學將ALGOL 60語言發展成爲CPL(Combined Programming Language)語言。
1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。
1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,併爲它起了一個有趣的名字“B語言”。意思是將CPL語言煮幹,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。
而在1973年,B語言也給人“煮”了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作爲這種語言的名字,這就是C語言。
這裏寫圖片描述
1980年,C++的早期版本誕生,稱作帶類的C(C with Classes)。1983年Rick Mascitti建議將帶類的C命名爲C++(C Plus Plus),從此,C++作爲一個優秀的程序設計語言被廣爲人知。C++是在C語言的基礎上開發出來的,是C語言的超集,同時參考了很多其他語言的特性,例如Simula中的類概念,Algol68的運算符重載、引用及在任何地方聲明變量的特性,BCPL的//註釋和Ada語言中的模板、命名空間以及Ada、Clu和ML中的異常概念,它既具有C語言的高效性和靈活性,也提供了程序組織的高層特性。

1983年之後,C++使用的爆炸式增長。傳統的面向用戶遇到的問題及基於同事間討論的演化方式已無法滿足需求,迫切需要對C++語言進行標準化。1989年,《The Annotated C++ Reference Manual》發佈,成爲C++標準的基礎。同年12月,ANSI的X3J16委員會成立並在華盛頓召開第一次技術會議,ANSI C++標準的制定開始提上日程。1991年7月ANSI C++標準化成爲ISO標準化工作的一部分。1995年4月,C++標準草案提交公衆審閱,1998年ISO C++標準通過ISO評審成爲國際標準,稱作C++98.

2003年,C++標準委員會對C++98中的問題進行了修訂,發佈了C++03版本,該版本並沒有對核心語言進行修改。2011年,新的C++標準C++11面世,增加了多線程支持、通用編程支持等,標準庫也有很多變化,集成了C++技術報告1庫(TR1)中的大部分內容。2014年12月15號,C++ ISO/IEC標準的最新版本C++14。C++14是對C++11的小範圍的擴展,主要內容是修復bug和略微提高性能。

C/C++與別的語言相比的優勢

優點
1、簡潔緊湊、靈活方便

2、運算符豐富

3、數據類型豐富

4、表達方式靈活實用

5、允許直接訪問物理地址,對硬件進行操作

6、生成目標代碼質量高,程序執行效率高

7、可移植性好

8、表達力強

C/C++與別的語言相比的缺點

  • 缺點
    1、 C語言的缺點主要表現在數據的封裝性上,這一點使得C在數據的安全性上有很大缺陷,這也是C和C++的一大區別。
    2、 C語言的語法限制不太嚴格,對變量的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。也就是說,對用C語言的人,要求對程序設計更熟練一些。
    這裏寫圖片描述

C/C++例子

#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int a[100];
for(int i = 1; i <= n; i++)
cin >> a[i];
for(int i = 2; i <= n; i++)
{
int j = i - 1;
int key = a[i];
while(j > 0 && a[j] > key)
{
a[j+1] = a[j];
j--;
}
a[j+1] = key;
}
for(int i = 1; i <= n; i++)
cout << a[i] << " ";
cout << endl;
return 0;
}

優勢:以分號結尾,清晰明瞭;
缺點:冗雜。

C/C++語言對產業產生的後續影響

常用的軟件幾乎大多數缺都是C++寫的、、
office軟件:MS office,wps office,openoffice/libreoffice、、、
你所用的windows也用了大量的C++

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章