|
今天和大家分享一下我自己的C語(yǔ)言學(xué)習(xí)的過(guò)程,與大家共勉。嗯,由于我本人水平有限,出現(xiàn)錯(cuò)誤在所難免,希望大家看到后能夠指出來(lái),以便大家共同進(jìn)步。 首先我來(lái)講講為什么要學(xué)c語(yǔ)言: 第一C語(yǔ)言是一門(mén)基礎(chǔ)語(yǔ)言,是學(xué)習(xí)其他語(yǔ)言的基礎(chǔ)。據(jù)說(shuō)java和.Net的底層都是用C語(yǔ)言來(lái)編寫(xiě)的,windows和linux內(nèi)核也是C語(yǔ)言來(lái)編寫(xiě)的。 第二C語(yǔ)言功能強(qiáng)大。因?yàn)镃語(yǔ)言擁有指針這一強(qiáng)大的工具,所以有著更高的權(quán)限可以讓我們使用更多的功能,像java就不能操作其他程序,不能用于寫(xiě)外掛,寫(xiě)一些黑客工具什么的。 第三C語(yǔ)言程序員的薪水比較高。(^-^)也是樓主學(xué)習(xí)的動(dòng)力哦。啦啦啦啦。 下面介紹下學(xué)C的基本要求: 學(xué)習(xí)C語(yǔ)言,不需要多少英語(yǔ)。你只需要記得32個(gè)關(guān)鍵字。一天10個(gè),也就3天學(xué)完。 auto 局部變量(自動(dòng)儲(chǔ)存) break無(wú)條件退出程序最內(nèi)層循環(huán) case switch語(yǔ)句中選擇項(xiàng) char單字節(jié)整型數(shù)據(jù) const定義不可更改的常量值 continue中斷本次循環(huán),并轉(zhuǎn)向下一次循環(huán) default switch語(yǔ)句中的默認(rèn)選擇項(xiàng) do 用于構(gòu)成do.....while循環(huán)語(yǔ)句 double定義雙精度浮點(diǎn)型數(shù)據(jù) else構(gòu)成if.....else選擇程序結(jié)構(gòu) enum枚舉extern在其它程序模塊中說(shuō)明了全局變量 float定義單精度浮點(diǎn)型數(shù)據(jù) for構(gòu)成for循環(huán)語(yǔ)句 goto構(gòu)成goto轉(zhuǎn)移結(jié)構(gòu) if構(gòu)成if....else選擇結(jié)構(gòu) int基本整型數(shù)據(jù) long長(zhǎng)整型數(shù)據(jù) registerCPU內(nèi)部寄存的變量 return用于返回函數(shù)的返回值 short短整型數(shù)據(jù) signed有符號(hào)數(shù) sizoef計(jì)算表達(dá)式或數(shù)據(jù)類(lèi)型的占用字節(jié)數(shù) static定義靜態(tài)變量 struct定義結(jié)構(gòu)類(lèi)型數(shù)據(jù) switch構(gòu)成switch選擇結(jié)構(gòu) typedef重新定義數(shù)據(jù)類(lèi)型 union聯(lián)合類(lèi)型數(shù)據(jù) unsigned定義無(wú)符號(hào)數(shù)據(jù) void定義無(wú)類(lèi)型數(shù)據(jù) volatile該變量在程序中執(zhí)行中可被隱含地改變 while用于構(gòu)成do...while或while循環(huán)結(jié)構(gòu) 然后你在記住9種控制結(jié)構(gòu)就OK。 goto語(yǔ)句:無(wú)條件轉(zhuǎn)向; if語(yǔ)句:判斷語(yǔ)句; while循環(huán)語(yǔ)句; do-while語(yǔ)句:先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立. 之后繼續(xù)循環(huán); for語(yǔ)句:循環(huán),可替代while語(yǔ)句; 只是用法不同; break語(yǔ)句跳出本層的循環(huán);(只跳出包含此語(yǔ)句的循環(huán)) continue語(yǔ)句:繼續(xù)(一般放到循環(huán)語(yǔ)句里,不在執(zhí)行它下面的語(yǔ)句,直接跳到判斷語(yǔ)句例: for語(yǔ)句,就直接跳到第二個(gè)分號(hào)處, while語(yǔ)句,就直接跳到while()的括號(hào)里; switch語(yǔ)句:多相選擇; return語(yǔ)句:返回; 數(shù)學(xué)要不要多好? 不要,你只要初二畢業(yè),會(huì)用+加 -減 *乘 /除 %取余即可。 正式進(jìn)入C語(yǔ)言學(xué)習(xí) 俗話(huà)說(shuō)得好學(xué)C不學(xué)hello blueshell1949,學(xué)C也白學(xué)了。所以我們的第一個(gè)也是學(xué)習(xí)的東西也是一個(gè)簡(jiǎn)單的hello程序。你可能會(huì)說(shuō):天呀,樓主又在講這么乏味的東西了,這個(gè)東西我TMD早就從老譚的爛書(shū)上學(xué)會(huì)了,還屁用沒(méi)有,不就是用個(gè)printf么?我TMD連printf的中文意思是打印都知道了還要你教,這樓主肯定是個(gè)坑貨,盡教點(diǎn)沒(méi)用的東西,我要走了。 看官且慢,我今天要講hello blueshell1949 我肯定要帶大家玩出個(gè)新意啦,才能不負(fù)大家的看帖功夫呀,下面且看看慢慢道來(lái): 第一個(gè)呀,我們先用vs2013玩玩,先看一個(gè) 這就是我們的第一個(gè)hello blueshell1949.怎么樣很神奇吧。擺脫了黑窗口哦。 下面我們貼出代碼。 int main() { MessageBoxA(0, 'HELLO blueshell1949', 'First C', 0); return 0; } 我們來(lái)看看是怎么實(shí)現(xiàn)的在這里我們使用了一個(gè)windows庫(kù),這里面是window系統(tǒng)函數(shù)。在第一課里我們不需要知道這里面有什么,怎么用的,按我寫(xiě)的就行了。我們使用messageboxA這個(gè)函數(shù),作用是彈出一個(gè)系統(tǒng)對(duì)話(huà)框,第一個(gè)參數(shù)是0由系統(tǒng)彈出,第二個(gè)參數(shù)是文本內(nèi)容,第三個(gè)參數(shù)是標(biāo)題,第四個(gè)參數(shù)嗎,嘿嘿,我來(lái)給大家演示一下。 我改動(dòng)了一個(gè)參數(shù),大家發(fā)現(xiàn)有什么差異了么? 是彈出的對(duì)話(huà)框的選項(xiàng)差異。大家還可以自己改一改,看看能有多少種變化哦!嘿嘿。 下面我們對(duì)著這個(gè)基礎(chǔ)上我們加一點(diǎn)東東,我們先來(lái)看一看效果: 是不是在左上角看到一個(gè)hello blueshell1949呀。我們是怎么做到的了? 下面我們來(lái)看代碼 #include #include int main() { printf('Hello blueshell1949'); MessageBoxA(0, 'HELLO blueshell1949', 'First C', 1); return 0; } 我們與上面代碼的區(qū)別是什么了? 是不是只是多了一行printf(“hello blueshell1949”); Printf()函數(shù)的功能就是打印出來(lái)。 好了玩玩這個(gè)以后我們?cè)趽Q一個(gè)玩,在longlongago以前,大神們還買(mǎi)不起電腦,怎么辦了,我們還是要學(xué)習(xí)編程的,于是乎我們左思又想,終于我們想到了,我們可以去網(wǎng)吧呀。那里有機(jī)子可以用的。于是咱們就興高采烈的跑到旁邊XXX網(wǎng)絡(luò)會(huì)所。誒呀,為了學(xué)編程,怎么不能不下ide了,于是咱么就去msdn下了一個(gè)vs2013,我嚓嘞,這貨竟然有7個(gè)g,怎么辦了,只有等唄,哎,等待的時(shí)間是漫長(zhǎng)的,還有78%沒(méi)下,我們干什么去消磨下時(shí)間了。聽(tīng)說(shuō)麻生希老師又出新片了。。。??谒?。。。我們?nèi)フ艺野?。。。。。。。。。seaching。欸,這個(gè)網(wǎng)站有片,,嗯?要下載播放器,那就下吧,,,,,,下載ing,,,,,,,,安裝,,,,麻生希老師你等我,,,口水,,,我擦勒,,,,,病毒,,,,重啟了。。。。。。。。。。。馬丹,老子下的ide 。。。。。。。。。。。。。。。。。開(kāi)機(jī)重新下,這回咱不看了,,,,時(shí)間總是漫長(zhǎng)的,,,,,我門(mén)去打一盤(pán)dota2吧。。。。。。。。。嘿嘿嘿,,,我要超神了。。。。臥槽,,,黑屏了。。。。。什么破網(wǎng)吧,,,連data2都帶不起。。。。。。。tmd我又重新開(kāi)機(jī)了。。。。。。。。。。。。。這回我不弄其他的了,我等你下完。。。vs2013,,,,,,編個(gè)程好難呀。。。。終于下完了,,,啦啦啦,,,,安裝ing ,安裝完成請(qǐng)重新啟動(dòng)計(jì)算機(jī)讓vs2013生效。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 我去年買(mǎi)了個(gè)表。我TMD不用ide了。我們用記事本編程吧。 教大家一個(gè)小技巧哦。win+R 然后輸入notepad就可以打開(kāi)記事本哦。 好了,我們?cè)谟浭卤纠镙斎胍韵麓a: 我們保存為1.c 然后打開(kāi) 我們進(jìn)入我們開(kāi)始的1.c所在路徑 我們輸入cl 1.c
我們就可以得到編譯后的文件。等同與ide里的編譯運(yùn)行。我們輸入1.exe,我們可以看到效果
我們剛才是手動(dòng)打開(kāi)記事本的,好麻煩呀,我們能不能自己寫(xiě)個(gè)程序自動(dòng)打開(kāi)記事本了? 答案是可以的。 我們來(lái)試試: 我們輸入以下代碼。我們?cè)趤?lái)cl一下。。。。
我們可以得到以下結(jié)果
我們可以看到我們輸出了blueshell1949真幽默,我要給他生猴子。并且打開(kāi)了一個(gè)記事本。 我門(mén)比較下,我們與上面的代碼有哪些差異。多了兩行代碼 #include 《stdlib.h》 System(“notepad”); 我在這里解釋下概念,stdlib是C語(yǔ)言的標(biāo)準(zhǔn)庫(kù)。System是個(gè)函數(shù)可以調(diào)用其它功能。比如notepad就是記事本,calc就是計(jì)算器。。。如此總總。 在這里我們只學(xué)習(xí)了兩三個(gè)函數(shù)就可以做出很多東西來(lái)了。那么大家還對(duì)C入門(mén)感覺(jué)困難么? 想要更深入學(xué)習(xí)的可以+
|
|
|