c语言计算机培训,C语言计算机基础学习||新手入门必看
本次內(nèi)容筆者將完全拋棄傳統(tǒng)教學(xué)的形式,通過自己所學(xué)所聞得出來的心得,用通俗易懂的語言結(jié)合生活,來讓大家更好的認(rèn)識計算機(jī)編程,更好的入門計算機(jī)基礎(chǔ)。
筆者也想用自己的論述告訴大家,專業(yè)知識有時會比較枯燥乏味點,但當(dāng)它生活聯(lián)系起來時,便會發(fā)現(xiàn)其中蘊(yùn)含著無數(shù)多前人的智慧。它們和生活的聯(lián)系是如此的密切。
本篇文章你們能學(xué)到:
為什么編程語言要這樣發(fā)展的?
生活中的進(jìn)制思想
計算機(jī)為什么要使用二進(jìn)制
位、字節(jié)與二進(jìn)制聯(lián)系
編程語言的發(fā)展趨勢
為什么要有編譯軟件
編譯原理
編程語言都有哪幾種
C語言是誕生于貝爾實驗室,它是在1970年,由丹尼斯里奇博士在B語言的基礎(chǔ)上發(fā)展完整出來的。也正因為如此,丹尼斯博士被譽(yù)為“C語言之父”。
從這里我們可以知道,大多數(shù)語言的出現(xiàn)都是從別的語言基礎(chǔ)上逐漸發(fā)展完善得來的。
那么在C語言誕生之前,我們的程序員是靠什么來編程的?
那么讓我們簡單來看看編程語言的發(fā)展。
在計算機(jī)誕生之初,人們是利用機(jī)器語言0和1來編程。關(guān)于0和1,這也是我們常說的二進(jìn)制語言。如果單純從進(jìn)制轉(zhuǎn)換角度來看,那么其實就是考我們的數(shù)學(xué)換算能力。可是,它絕不是單純的數(shù)學(xué)轉(zhuǎn)換的,在兩個數(shù)字的背后可隱藏著許多具體的東西。
我們生活最習(xí)慣的進(jìn)制就是十進(jìn)制了,這個進(jìn)制思想從出生開始,爸爸媽媽教我們數(shù)數(shù)字的時候就開始灌輸?shù)轿覀兊哪X子里了,包括我們所接受的數(shù)學(xué)教育也是基于10進(jìn)制上的。現(xiàn)在,我們馬上就要進(jìn)入計算機(jī)的世界了,而計算機(jī)可不認(rèn)識十進(jìn)制數(shù)呢,它是二進(jìn)制的,而想要理解計算機(jī)那就要按照它的規(guī)則來。
我們該如何從十進(jìn)制思想束縛中掙脫出來,進(jìn)入二進(jìn)制的世界呢?那么,接下我們看看也許以前我們從來都沒有思考的問題,來幫助大家更好的理解二進(jìn)制。
比如十進(jìn)制的數(shù)字就是0~9,如果我們想用十進(jìn)制表示比9大的數(shù)字如10,如果純用一位數(shù)字來表示是不可能的,因為10進(jìn)制中單位數(shù)字最大的就是9,那么又要怎么做呢??大家可以思考下。
其實也不難想到,我們平時在生活上想用手勢暗示對方這是數(shù)字10時,我們會怎么做呢?那自然會伸出一個手指和一個拳頭。
十進(jìn)制的發(fā)明者就考慮用多位數(shù)字來表示比9大的數(shù)字。進(jìn)一位,表達(dá)為10,依次類推,就可以用0~9的數(shù)字表示比9大的任意數(shù)了。那么你想用二進(jìn)制表示比1大的數(shù)字,那么應(yīng)該怎么表示呢?自然就能想到,得用兩位數(shù)字來表示,因為二進(jìn)制所用最大數(shù)字中最大的就是1。。。。自然而然,當(dāng)我們想表示2時就用01表示,表示4就用100。。
也正是這種用多位數(shù)字表達(dá)任意數(shù)的思想產(chǎn)生了多種進(jìn)制。常見進(jìn)制就有二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。
看了那么多的進(jìn)制,同學(xué)們可能會想,為什么要發(fā)明那么多的進(jìn)制呢,用十進(jìn)制不就可以了嗎?那多好,貼近我們正常人的思維。
其實所有進(jìn)制的出現(xiàn)也是為了方便我們的生活啊,只是因為用途與我們常規(guī)生活不一樣。為什么我們在日常生活中要用十進(jìn)制,而不是采用八進(jìn)制、二進(jìn)制、十六進(jìn)制呢?因為我們有十個手指阿,而且手也是最容易出現(xiàn)在我們的視線當(dāng)中的,所以對于我們?nèi)祟悂碚f,采用十進(jìn)制思想是最好的。
其實我們一開始也是對計算機(jī)采用十進(jìn)制的,后來發(fā)現(xiàn)不可行啊。
因為計算機(jī)不同,它可不是人,它既沒有手指,也沒有大腦,它只是一堆廢鐵。對于通了電的它來說,它就只有兩種狀態(tài),那就是通電和斷電。聰明的人類利用它這種特性,決定采用0和1來表示它。
所以嚴(yán)格來說,關(guān)于二進(jìn)制,在數(shù)學(xué)上它就是進(jìn)制換算,但對于計算機(jī)而言,它們只是一種符號。如果用一個電子開關(guān)來表示的話,1就是斷開,0就是閉合。如果用電平來表示的話,1就是高電平,0就是低電平。
回到剛才所說,計算機(jī)是可以用來計算和存儲數(shù)據(jù)。但在剛剛筆者的論述理解中,計算機(jī)只是機(jī)器,它只有通電和斷電這兩種狀態(tài)呢。那么它又是怎么和數(shù)字聯(lián)系到一起的呢?
我們可以這樣想,如果一根線的電平高低能代表兩種狀態(tài),那么2根線會有什么樣的組合呢?
那就是00、01、10、11這四種狀態(tài)了,那么8根線呢?學(xué)過排列和組合的我們知道,那就是一共有2^8(2的八次方 =
256)種狀態(tài)。我們計算機(jī)就是常常用8根線放在一起,同時計數(shù),就能表示0~255,一共256種狀態(tài)了。所以我們計算機(jī)的數(shù)據(jù)單位是這樣的,將一根線表示為“位”,將8根線或者8位稱為一個字節(jié)。
我們C語言中有個數(shù)據(jù)類型為char,它的是一個字節(jié)的,那么它能存儲的數(shù)值范圍多少呢?請大家思考下。
原來,計算機(jī)的計數(shù)也沒那么什么嘛,只是幾根線的電平高低組合。我們?nèi)祟惥褪菍⑺鼈兊臓顟B(tài)當(dāng)成我們的數(shù)字。比如一個8位的計算器,那么我們把它的狀態(tài)組合第一種狀態(tài)0000
0000當(dāng)做是我們的數(shù)學(xué)中的0,那255應(yīng)該怎么用狀態(tài)表示呢?當(dāng)然是1111 1111了。
接下來展示下三代語言的代碼編寫,比如我們寫代碼計算兩個數(shù)相加,
那么我們的編程是這樣寫的,如下圖所示:
在這里,我們通過三代語言的實例比較中,可以很直觀看到了我們編寫代碼的難度越來越小了,代碼量也在減小,從起初的0和1到利用英文單詞來助記(如ADD在英文單詞就是相加的意思),再到利用數(shù)學(xué)語言來表達(dá)。我們可以發(fā)現(xiàn),我們的編程語言在以簡單、代碼量越來越小的趨勢發(fā)展中。
那么這里為什么機(jī)器可以讀懂a(chǎn)+b呢?是不是變聰明了呢?當(dāng)然不是,機(jī)器還是機(jī)器,它還是只能認(rèn)識0和1。那為什么人們還是可以讓機(jī)器看懂a(chǎn)+b的意思呢?原來啊,我們這里有個逆向編譯的過程
在這里充當(dāng)編譯的就是編譯軟件,我們有很多種叫法,IDE,編譯環(huán)境,開發(fā)環(huán)境都是他。高級語言不止一種,不同的高級語言有不同的編譯軟件。我們將要學(xué)習(xí)的C語言便是比較底層的高級語言,屬于面向結(jié)構(gòu)語言,它使用的編譯環(huán)境就是Visual
C++6.0(這個軟件可以去網(wǎng)上下載,該公眾號也有提供)。現(xiàn)在的高級語言有很多種了,比較熱門的就有Java、Python、C++等,這些是屬于面向?qū)ο蟮恼Z言。面向?qū)ο蟮恼Z言也都是基于面向結(jié)構(gòu)語言的基礎(chǔ)上發(fā)展而來的。
總結(jié)
以上是生活随笔為你收集整理的c语言计算机培训,C语言计算机基础学习||新手入门必看的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2024 款宝马 X5 防弹版官图发布:
- 下一篇: c语言明解课后答案,明解C语言 中级篇