大家好!前兩天我學習了兩章節python,感覺python很棒啊!(雖然我暫時不知道它棒在哪裡了!)嘿嘿!後來,我無意看到說C語言是一門可以操作硬件的語言(也不太明白是什麼意思!)。好像很多人把他定位在中級語言!然後我就有個想法,我要C和python一起學,可能是覺得反正是為了樂趣了,沒有什麼壓力的學習,所以就“膽子“大了呢。各位不要認為我像某本小人書上的那個“猴子!”呵呵!
為什麼要有C語言呢?!我以前覺得計算機好奇怪啊!她是怎麼表示世界萬物的!我通過搜尋網絡大概明白了點,不同的編碼造就了不同的意義!哦!那計算機到底認識什麼樣子的數據呢!我聽說計算機的大腦只認識二進制的數據。這個“豬腦袋”幸好她計算的時候速度快!不然真的就太笨蛋啦!聽說世界上第一個程序是女的~!那她當時應該就是用二進制去寫程序的了!好厲害啊!前段日子我在電驢下了不少視頻教程!只要是關於計算機的我都去下載來瞧瞧,當時看到好多人講什麼OD!裡面好多什麼00FABAF4聽他裡面說是反編譯的工具!不懂!不過!後來我知道了1點進制轉換的知識後明白了。原來啊!二進制寫東西比較長,而且很容易寫錯!所以常常用十六進制去表示二進制(ADA到底是用的二進制還是十六進制寫的程序啊)。後來大家覺得這樣寫程序還是很麻煩!後來就用了匯編語言!匯編語言就像給“一個人”取的一個外號,然後這個外號又比較容易記憶!所以匯編語言和二進制代碼是一一對應的!但是後來!人們覺得匯編語言還是太繁瑣了!要是寫的程序就像說話一樣就該多好啊!後來所以才有了C語言!C語言呢比較接近自然語言了!但是計算機如何才能懂C語言啊!所以就有了編譯器,什麼gcc,cl啊之類的。編譯器呢先把C語言轉化為匯編語言!然後再轉化為二進制的。這樣計算機就能明白了!
第一個C程序!哈哈!要開始寫C程序了哦!我就照著書上在VC中先敲一個
#include<stdio.h>
int main(void)
{ printf("Hello World! "); return (0);
}
看著頭暈啦!好多python裡面沒有的東西!我得仔細看看書,充分理解才行!
第一行!很多人做事情都有自己的一個工具包!比如修電路的大叔!一般都挎著一個電工包!木匠呢,也有一個工具包,裡面放著一些常用的工具。嘿嘿!那麼,現在我是想在屏幕上輸出helloworld!這個時候呢,我就需要1個輸出包啦!所以#include<stdio.h>就表示把stdio.h文件包拿來用,<>是表示從哪裡去拿。#include就是表示這裡這個位置開始插入包。嘿嘿!我明白了!stdio.h裡啦就定義實現如何輸出的了!其實這個stdio.h裡了不是只有輸出工具的,還有輸入等工具!所以這裡的代碼其實是把所有stdio.h裡面的工具包全拿過來了!(看起來有點浪費啊!唉!)。
第二行!int main(void),這行呢,先要說明下了!一個很特別的單詞main後面還跟著個()。其實這樣的形式在C語言就是表示函數,前面的int就是函數的返回值了!其實函數也就像1個工具包裡的一個有生命的小工具!你給它喂點東西,比如這裡喂void,而且還要讓它吐出1個int類型的東西出來!嘿嘿!而且這個有生命的小工具是可以反復使用的!但是這裡有點特殊!用main命名的小工具一般只用1次,因為它有個特殊的使命啊!!!它是用戶的入門函數!其實呢在VC上面真正的入門函數是mainCRTStartup(),在用戶入門函數main()之前到mainCRTStartup()中間呢其實已經做了好多工作了!比如有准備命令行,獲得操作系統版本,IO的初始化,獲得環境選項以及其字符串,全局變量的初始化,還有做了條件編譯!如果是Win程序的話入口就是WinMain(),如果不是入口就是main()啦!然後main()執行完了程序才exit啦!其實main()函數是倒數第二條函數了!不過呢一般來說,程序員有操作權限的就是到了main()函數這裡了!
第三行和第六行!诶!為什麼這兩行要一起學啊!因為這兩行只有2個括號!哈哈!在C語言中呢1對括號就代表1個代碼塊了!就像python的縮進了!(應該是這樣吧!以後學多了或許有新感悟的!暫時就這樣理解吧!)
第四行!這一行呢其實就是從stdio.h中取出printf輸出這個小工具(函數)了,然後用這個工具在屏幕上打印helloworld!字符串了!哦!很神奇!這個工具好啊!
第五行!這個呢就是你當初系統要求main()函數在工作了以後一定要吐出1些東西出來,這樣系統才知道main()函數這個小鬼有木有干壞事呢!這裡return返回的是0,就說明,main()是老老實實在做事情了!诶!我發現個問題!剛才第四行那個printf工作了以後也應該吐出了點東西出來的啊,唉!暫時我還不知道怎麼的!先記下來,學到後面應該會解決的!