C·Quickstart(一 現(xiàn)實(shí)問題的數(shù)字化)

讀這一系列文章不能讓你成為掌握C語言的專家鸟廓,但它可以幫你對(duì)C語言形成一個(gè)初步的印象,輕松地上手寫一些小程序引谜。

在正式開始之前员咽,我忽然想起同學(xué)曾經(jīng)問過我的問題”词遥“C語言到底能干什么?”對(duì)于寫過C程序的人來說這也許不是問題捡偏,但是考慮到我是寫給不熟悉編程的孩紙看的峡迷,所以我還是應(yīng)該回答一下,或許有點(diǎn)幫助彤避。

C語言能干什么

C語言編寫的程序廣泛存在于各個(gè)領(lǐng)域夯辖,底層如硬件驅(qū)動(dòng),操作系統(tǒng)的內(nèi)核楼雹,高層到我們平時(shí)用的辦公軟件尖阔、游戲,但它涉及的操作其實(shí)挺簡(jiǎn)單:

  1. 分配存儲(chǔ)空間
  2. 從存儲(chǔ)空間中讀數(shù)據(jù)
  3. 數(shù)學(xué)運(yùn)算
  4. 向存儲(chǔ)空間寫入數(shù)據(jù)
  5. 根據(jù)數(shù)據(jù)的值控制程序的運(yùn)行

以上基本是它的全部功能了谴供。你可能覺得齿坷,這看起來好像只能計(jì)算數(shù)學(xué)問題,離實(shí)際生活有點(diǎn)遠(yuǎn)崎场。這句話只說對(duì)了一半遂蛀,它確實(shí)只能解決數(shù)學(xué)問題,但是生活中的問題大多可以變成數(shù)學(xué)問題螃宙。正因如此,計(jì)算機(jī)才能對(duì)現(xiàn)在的世界產(chǎn)生如此深遠(yuǎn)的改變谆扎。

對(duì)于計(jì)算機(jī)來說,所有的東西都是數(shù)字闲先,而人類必須要把現(xiàn)實(shí)問題轉(zhuǎn)化為數(shù)學(xué)問題苗缩,才能交給計(jì)算機(jī)來解決。

那么你現(xiàn)在可能會(huì)關(guān)心退盯,生活中的問題都是怎么轉(zhuǎn)化成數(shù)學(xué)問題了呢泻肯?舉個(gè)例子吧,如果我們用電腦看電影琉朽,那么電影本身要以數(shù)字的形式存在稚铣。由于人眼的視覺暫留特性,一秒只需要播放24幀以上的畫面就足以產(chǎn)生連續(xù)變化的場(chǎng)景惕医。因此抬伺,電影實(shí)際上是一系列的圖片數(shù)據(jù),這個(gè)過程叫做離散化峡钓。

如果是2個(gè)小時(shí)的電影,每秒24幀寞宫,就有86,400張圖片拉鹃。如果電影的分辨率是1920*1080统锤,那么每張圖片都有2,073,600個(gè)像素炭庙。每個(gè)像素的顏色信息包含4個(gè)通道,分別是紅(Red)綠(Green)藍(lán)(Blue)和透明度(Alpha)逾雄,各自都是0到255的整數(shù)腻脏。每個(gè)整數(shù)占用1個(gè)字節(jié)[1],一個(gè)像素就占用了4個(gè)字節(jié)做鹰。最終鼎姐,一部電影的視頻信息就完全轉(zhuǎn)化為了數(shù)字,一共占據(jù)大約716GB的空間饭尝。同樣地献宫,聲音也通過某種標(biāo)準(zhǔn)轉(zhuǎn)化為了數(shù)字。

為了存儲(chǔ)和傳輸這樣巨大的數(shù)據(jù)量姊途,人們開發(fā)出了各種壓縮算法捷兰,以減少相同信息的重復(fù)次數(shù)。這里涉及到了很多復(fù)雜的數(shù)學(xué)和技術(shù)原理寂殉,就不再深入了原在。因?yàn)檫@樣的算法庶柿,我們能在網(wǎng)上看高清的影片。順便說句浮庐,不同的壓縮方法帶來了不同的編碼格式柬焕,也體現(xiàn)在文件的格式上梭域,例如avi病涨、rmvb、mp4等等既穆。隨著技術(shù)的進(jìn)步,舊的算法被新的取代励两,現(xiàn)在已經(jīng)很少看到avi或者rmvb格式的視頻了啊囊颅。

然后就是看電影的部分了。對(duì)于轉(zhuǎn)化為了數(shù)字的電影先鱼,把它展現(xiàn)在屏幕上同樣也變成了數(shù)學(xué)問題奸鬓!讓我們考慮一下,為了播放電影宏多,涉及的操作有哪些:

  • 從硬盤中讀取影片的數(shù)據(jù)(2)
  • 用數(shù)學(xué)運(yùn)算將壓縮后的內(nèi)容還原為原始的信息(3)
  • 在把數(shù)據(jù)寫入到顯卡和聲卡的緩沖區(qū)中用于播放(4)
  • 在整個(gè)過程中澡罚,要不停地進(jìn)行數(shù)學(xué)運(yùn)算,控制播放進(jìn)度(5)
  • 整個(gè)過程中我們需要借用內(nèi)存空間來作為數(shù)據(jù)的中轉(zhuǎn)站(1)

括號(hào)中的數(shù)字表明這是C語言中的哪些操作更胖,既然這些都能做到了隔显,至少我們可以得出一個(gè)結(jié)論。

C語言可以用來寫視頻播放器彪标。

當(dāng)然了掷豺,你一定已經(jīng)想到,只要人類能夠把問題用計(jì)算機(jī)的語言描述出來默辨,就能夠用編程的方式給出一個(gè)解決方案婴程。這些基本操作的組合,最終竟為我們帶來了千變?nèi)f化的不可思議的功能桌粉。

不過這些功能不是C語言所獨(dú)有的衙四,其他的編程語言也能做到传蹈。那它們有哪些區(qū)別呢?就不是這一篇文章的內(nèi)容了惦界,留待以后再討論吧。

小尾巴

總之漂彤,雖然說是討論C語言能做什么灾搏,但是這一段好像完全在討論現(xiàn)實(shí)問題的數(shù)字化了。雖然完全不管這些內(nèi)容也能立刻開始寫程序媳板,但是知道我們究竟做的是一件什么事情泉哈,背后有怎樣的思想,我覺得比解決一兩個(gè)小問題來的有意義呢奕纫。

那么下一篇再見啦采呐。


  1. 一個(gè)字節(jié)(Byte)相當(dāng)于8個(gè)二進(jìn)制位搁骑,可以表達(dá)0-255的256個(gè)整數(shù)又固,我們所熟悉的KB仰冠,MB分別指1,000字節(jié)和1,000,000字節(jié) ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蝶糯,一起剝皮案震驚了整個(gè)濱河市昼捍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌妒茬,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肛循,死亡現(xiàn)場(chǎng)離奇詭異多糠,居然都是意外死亡浩考,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門析蝴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绿淋,“玉大人吞滞,你說我怎么就攤上這事〔迷” “怎么了佩捞?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)莲蜘。 經(jīng)常有香客問我,道長(zhǎng)票渠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮杜窄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哗戈。我一直安慰自己荷科,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著刻获,像睡著了一般。 火紅的嫁衣襯著肌膚如雪厚柳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天沐兵,我揣著相機(jī)與錄音别垮,去河邊找鬼。 笑死扎谎,一個(gè)胖子當(dāng)著我的面吹牛碳想,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播毁靶,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼胧奔,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了预吆?” 一聲冷哼從身側(cè)響起龙填,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后胶背,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡喘先,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了廷粒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窘拯。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖坝茎,靈堂內(nèi)的尸體忽然破棺而出涤姊,到底是詐尸還是另有隱情,我是刑警寧澤嗤放,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布思喊,位于F島的核電站,受9級(jí)特大地震影響次酌,放射性物質(zhì)發(fā)生泄漏恨课。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一岳服、第九天 我趴在偏房一處隱蔽的房頂上張望剂公。 院中可真熱鬧,春花似錦吊宋、人聲如沸纲辽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拖吼。三九已至,卻和暖如春这吻,著一層夾襖步出監(jiān)牢的瞬間吊档,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工橘原, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留籍铁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓趾断,卻偏偏與公主長(zhǎng)得像拒名,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芋酌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容