0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言為什么能夠恒久不衰,來看看吧!

C語言編程基礎(chǔ) ? 來源:未知 ? 作者:李倩 ? 2018-11-15 12:58 ? 次閱讀

C語言為什么能夠恒久不衰,來看看吧!

正文

1、從C到C++

隨著第一代計(jì)算機(jī)誕生初期,針對(duì)計(jì)算機(jī)的編程就開始了,最一開始用機(jī)器語言或匯編語言編寫程序;

為了滿足更多的需求:第一種高級(jí)語言FORTRAN誕生于1954年;

再然后由于門檻過高為了簡(jiǎn)化:BASIC語言孕育而生(1964)是由FORTRAN語言的簡(jiǎn)化而成的是為初學(xué)者設(shè)計(jì)的小型高級(jí)語言;

C語言是1972年由美國(guó)貝爾實(shí)驗(yàn)室的 D.M.Ritchie 研制成功的。它是為計(jì)算機(jī)專業(yè)人員設(shè)計(jì)的;

大多數(shù)系統(tǒng)軟件和許多應(yīng)用軟件都是用C語言編寫的。隨著軟件規(guī)模的增大,用C語言編寫程序漸漸吃力了,于是便創(chuàng)造出了C++語言。

每一次的變革都是相當(dāng)于一種巨大的進(jìn)步,相當(dāng)了一個(gè)更加細(xì)致的方向得到了發(fā)展。

2、C++的特點(diǎn)

C++是由 AT&T Bell實(shí)驗(yàn)室 于20世紀(jì)80年代初在C語言的基礎(chǔ)上成功開發(fā)出來的。C++保留了C語言原有的所有優(yōu)點(diǎn),并增加了面向?qū)ο蟮臋C(jī)制。

C++是由C語言發(fā)展而來的,與C兼容。用C語言寫的程序基本上可以不加修改地用于C++。從C++的名字可以看出它是C的超集。C++既可用于面向過程的程序設(shè)計(jì),又可用于面向?qū)ο蟮某绦蛟O(shè)計(jì),是一種功能強(qiáng)大的混合型程序設(shè)計(jì)語言。

備注:C++不是純面向?qū)ο笳Z言。

3、C++是對(duì)C語言的“增強(qiáng)”

(1) 在原來面向過程機(jī)制的基礎(chǔ)上,對(duì)C語言的功能做了很多擴(kuò)充。

(2) 增加了面向?qū)ο蟮臋C(jī)制。

面向?qū)ο蟪绦蛟O(shè)計(jì),是針對(duì)開發(fā)較大規(guī)模的程序而提出來的,目的是提高軟件開發(fā)的效率。不要把面向?qū)ο蠛兔嫦蜻^程對(duì)立起來,面向?qū)ο蠛兔嫦蜻^程不是矛盾的,而是各有用途互為補(bǔ)充的。小編推薦一個(gè)學(xué)C/C++的學(xué)習(xí)裙【六二七,零一二,四六四】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有很多干貨和技術(shù)分享!

所以,通俗來講,大家在學(xué)習(xí)的過程中不要把C語言和C++做為兩門獨(dú)立或者對(duì)立的語言來學(xué)習(xí),本身他們就可以看成是一門語言,任何一款支持C++的編譯工具都支持C語言。C++就是C語言的超集,包括了所有C語言的特性,所以你把C++學(xué)會(huì)了,C語言自然也就會(huì)了。如果你之前學(xué)過C語言,那么再學(xué)習(xí)下C++的面向?qū)ο笏枷?,那么兩者你也就都?huì)了。

給大家舉個(gè)例子:

學(xué)習(xí)編程的人針對(duì)譚浩強(qiáng)這個(gè)名字應(yīng)該幾乎都聽過。譚浩強(qiáng)老師的C語言/C++語言的編程書籍可以說是國(guó)內(nèi)很多大學(xué)的標(biāo)桿教材了。我讀大學(xué)時(shí)候的C語言教材就是譚浩強(qiáng)老師的。

他有一本《C語言程序設(shè)計(jì)》專門講解C語言的,還有一本《C++程序設(shè)計(jì)》專門講解C++的,書挺厚的,包括了C語言的部分。還有一本是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》是專門講解C++的,所以可以這么說:《C語言程序設(shè)計(jì)》+《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》=《C++程序設(shè)計(jì)》,這也充分體現(xiàn)了C語言和C++的關(guān)系。

說到譚浩強(qiáng)老師我這里要說一說了。國(guó)內(nèi)很多讀者對(duì)譚浩強(qiáng)老師褒貶不一。但我個(gè)人確實(shí)是比較推崇譚浩強(qiáng)老師的書,大學(xué)時(shí)候就是用他的書籍入門的。有很多人說他的書籍有錯(cuò)誤,講解的不好。我要說這個(gè)錯(cuò)誤不怪他,《C語言程序設(shè)計(jì)》第一版剛出來的時(shí)候,系統(tǒng)還是Win98,16位的,所以相關(guān)一些類型占用的字節(jié)數(shù)等等,跟我們現(xiàn)在使用的x86或者x64根本不一樣,所以才出現(xiàn)了網(wǎng)友口中的錯(cuò)誤。不過《C語言程序設(shè)計(jì)》、《C++程序設(shè)計(jì)》 等譚浩強(qiáng)老師的書籍后續(xù)都有新版本,所以大家也不要總拿第一版或者老版本來說事兒。

4、用途:C語言和C++都能做什么呢?

C語言:操作系統(tǒng)底層、系統(tǒng)驅(qū)動(dòng)、單片機(jī)、嵌入式方面 等等;

C++:網(wǎng)絡(luò)游戲開發(fā)、音視頻技術(shù)、Socket網(wǎng)絡(luò)通信,另外,蘋果/谷歌/微軟 等大型軟硬件公司的系統(tǒng)或者軟件上面都支持C/C++語言的集成開發(fā)。

你常用的軟件大多數(shù)都是C++寫的,例如:Office軟件:MS Office,WPS Office,OpenOffice/LibreOffice,你所用的Windows也用了大量的C++,你說你在用C#和SQL,那我告訴你你用的 VS IDE 核心部分是C++寫的,你用的C#,C# 的.Net執(zhí)行框架也是C++寫的,你用的Sql數(shù)據(jù)庫(kù),是Sql Server吧?很不幸,Sql Server也是cpp寫的、你上網(wǎng)頁在用瀏覽器嗎?很不幸,瀏覽器內(nèi)核都是C++寫的,界面大多數(shù)瀏覽器界面也是C++寫的,你聊天用的 QQ、YY、Skype 等也是C++寫的。這些都是你絕對(duì)有在用的,至于其他,還有很多,殺毒軟件、PhotoShop、Maya,N多行業(yè)軟件,幾乎所有的端游 等等,都是C++寫的。你問我C++能做什么實(shí)際的東西,我告訴你什么也做不了,你信嗎?

C++ 的幾個(gè)常見的發(fā)展方向:客戶端,游戲,服務(wù)端,嵌入式,移動(dòng)端(移動(dòng)只要是跨平臺(tái)的移動(dòng)端用C++寫通用部分,GUI可以用平臺(tái)特性,也可以用C++的跨平臺(tái)框架)

針對(duì)界面UI方面C++的選擇也是很多的,其實(shí)C++還是擅長(zhǎng)“內(nèi)功”的方面。如果你想帶個(gè)GUI界面的話,也有很多類似Qt之類的框架和界面庫(kù)可以使用,網(wǎng)上有很多,而且很多都跨平臺(tái),還開源,不管是 Windows,還是Mac,還是Linux,還是移動(dòng)端平臺(tái),通吃的。本身C/C++就是跨平臺(tái)的。

另外,說點(diǎn)大家感興趣的,什么遠(yuǎn)程控制軟件,什么木馬,什么外掛等等,可以說95%以上都是用C/C++來寫的。

難道這么多的用途還不值得大家來好好學(xué)學(xué)C/C++嗎?

另外,聞道有先后、術(shù)業(yè)有專攻,C++雖然功能很強(qiáng)大,幾乎什么都能做,但有的地方也是不適合,不是不能做而是不適合。比如網(wǎng)頁開發(fā),C++也能做,但是還是建議使用Java-Web或者PHP之類的語言來做,畢竟他們就是為了Web開發(fā)而生的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7613

    瀏覽量

    137240
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2113

    瀏覽量

    73742
  • 機(jī)器語言
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    10765

原文標(biāo)題:C/C++只做經(jīng)典編程語言,經(jīng)典才能不朽

文章出處:【微信號(hào):xx-cyy,微信公眾號(hào):C語言編程基礎(chǔ)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語言指針學(xué)習(xí)筆記

    本文從底層內(nèi)存分析,徹底讓讀者明白C語言指針的本質(zhì)。
    的頭像 發(fā)表于 11-05 17:40 ?270次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>指針學(xué)習(xí)筆記

    C語言C++中結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看C語言C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?300次閱讀

    C語言與Java語言的對(duì)比

    C語言和Java語言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨(dú)特的優(yōu)勢(shì)和特點(diǎn),適用于不同的應(yīng)用場(chǎng)景。以下將從語法特性、內(nèi)存管理、跨平臺(tái)性、性能、應(yīng)用領(lǐng)域等多個(gè)方面對(duì)C
    的頭像 發(fā)表于 10-29 17:31 ?386次閱讀

    C語言與其他編程語言的比較

    C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發(fā)領(lǐng)域扮演著重要角色。它以其高效、靈活和可移植性強(qiáng)的特點(diǎn),成為了系統(tǒng)級(jí)編程的首選語言之一。
    的頭像 發(fā)表于 10-29 17:30 ?322次閱讀

    ADC3101里邊自帶的miniDSP能夠支持自定義的C語言開發(fā)嗎?

    想咨詢一下, ADC3101里邊自帶的miniDSP能夠支持自定義的C語言開發(fā)嗎?比如把自己算法灌進(jìn)去,實(shí)現(xiàn)某些算法,比如能做FFT嗎。還是說這個(gè)DSP只能支持簡(jiǎn)單的濾波算法。
    發(fā)表于 10-14 07:03

    技術(shù)干貨驛站 ▏深入理解C語言:掌握程序結(jié)構(gòu)知識(shí)

    的HelloWorld程序開始,讓我們深入探討C語言的程序構(gòu)成和基本語法規(guī)則。一:C語言程序結(jié)構(gòu)先來看一個(gè)簡(jiǎn)單的HelloWorld程序:一
    的頭像 發(fā)表于 07-27 08:45 ?1475次閱讀
    技術(shù)干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:掌握程序結(jié)構(gòu)知識(shí)

    按照這樣學(xué)習(xí)C語言,成為卷王不是夢(mèng)!

    在計(jì)算機(jī)編程領(lǐng)域,C語言被譽(yù)為一種強(qiáng)大而靈活的編程語言,掌握好C語言不僅可以讓你輕松駕馭各種編程任務(wù),還
    的頭像 發(fā)表于 07-06 08:04 ?335次閱讀
    按照這樣學(xué)習(xí)<b class='flag-5'>C</b><b class='flag-5'>語言</b>,成為卷王不是夢(mèng)!

    PLC編程語言C語言的區(qū)別

    在工業(yè)自動(dòng)化和計(jì)算機(jī)編程領(lǐng)域中,PLC(可編程邏輯控制器)編程語言C語言各自扮演著重要的角色。盡管兩者都是編程語言,但它們?cè)诙鄠€(gè)方面存在顯著的區(qū)別。本文將從多個(gè)維度深入探討PLC編程
    的頭像 發(fā)表于 06-14 17:11 ?3049次閱讀

    TSMaster 2024.04 最新版已上線,來看看新增了哪些實(shí)用功能

    ,其中期待已久的DoIP診斷功能終于在最新升級(jí)版本里可以實(shí)現(xiàn)!同時(shí)對(duì)仿真模塊、API接口、工具箱模塊等進(jìn)行了更新。一起來看看吧!軟件更新方式1.直接在已有的軟件中點(diǎn)擊
    的頭像 發(fā)表于 04-29 08:21 ?1797次閱讀
    TSMaster 2024.04 最新版已上線,<b class='flag-5'>來看看</b>新增了哪些實(shí)用功能

    C語言基礎(chǔ)-為什么要使用C?

    當(dāng)今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) MySQL 都是使用 C 語言編寫的。
    發(fā)表于 03-25 11:20 ?472次閱讀

    fpga語言是什么?fpga語言c語言的區(qū)別

    功能,從而實(shí)現(xiàn)對(duì)數(shù)字電路的高效定制。FPGA語言主要包括VHDL(VHSIC Hardware Description Language)和Verilog等,這些語言具有強(qiáng)大的描述能力,能夠精確地定義硬件的每一個(gè)細(xì)節(jié),從而實(shí)現(xiàn)復(fù)
    的頭像 發(fā)表于 03-15 14:50 ?976次閱讀

    C語言#define的應(yīng)用

    C/C++ 編程語言中,當(dāng)程序被編譯時(shí),被發(fā)送到編譯器,編譯器將程序轉(zhuǎn)換為機(jī)器語言,然后完成編譯并執(zhí)行該程序。預(yù)處理器也稱為宏預(yù)處理器。
    發(fā)表于 03-06 11:29 ?393次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>#define的應(yīng)用

    plc編程語言c語言的聯(lián)系 c語言和PLC有什么區(qū)別

    PLC編程語言C語言的聯(lián)系 PLC(可編程邏輯控制器)是一種針對(duì)自動(dòng)化控制系統(tǒng)的特殊計(jì)算機(jī)。PLC編程語言是為了控制和管理自動(dòng)化生產(chǎn)過程中的各種設(shè)備而設(shè)計(jì)的。與之相比,
    的頭像 發(fā)表于 02-05 14:21 ?4275次閱讀

    c語言,c++,java,python區(qū)別

    C語言、C++、Java和Python是四種常見的編程語言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語言
    的頭像 發(fā)表于 02-05 14:11 ?2501次閱讀

    vb語言c++語言的區(qū)別

    VB語言C++語言是兩種不同的編程語言,雖然它們都屬于高級(jí)編程語言,但在設(shè)計(jì)和用途上有很多區(qū)別。下面將詳細(xì)比較VB
    的頭像 發(fā)表于 02-01 10:20 ?2412次閱讀