今天和大家分享一下我自己的C語言學(xué)習(xí)的過程抚垄,與大家共勉蜕窿。嗯,由于我本人水平有限呆馁,出現(xiàn)錯誤在所難免桐经,希望大家看到后能夠指出來,以便大家共同進(jìn)步浙滤。
C語言是面向過程的阴挣,而C++是面向?qū)ο蟮?/p>
這些是C/C++能做的
服務(wù)器開發(fā)工程師、人工智能纺腊、云計算工程師畔咧、信息安全(黑客反黑客)、大數(shù)據(jù) 揖膜、數(shù)據(jù)平臺誓沸、嵌入式工程師、流媒體服務(wù)器壹粟、數(shù)據(jù)控解拜隧、圖像處理、音頻視頻開發(fā)工程師、游戲服務(wù)器洪添、分布式系統(tǒng)垦页、游戲輔助等
首先我來講講為什么要學(xué)c語言:
第一C語言是一門基礎(chǔ)語言,是學(xué)習(xí)其他語言的基礎(chǔ)薇组。據(jù)說java和.Net的底層都是用C語言來編寫的外臂,windows和linux內(nèi)核也是C語言來編寫的坐儿。
第二C語言功能強(qiáng)大律胀。因為C語言擁有指針這一強(qiáng)大的工具,所以有著更高的權(quán)限可以讓我們使用更多的功能貌矿,像java就不能操作其他程序炭菌,不能用于寫外掛,寫一些黑客工具什么的逛漫。
第三C語言程序員的薪水比較高黑低。(^-^)也是樓主學(xué)習(xí)的動力哦。啦啦啦啦酌毡。
C和C++的區(qū)別:
C是一個結(jié)構(gòu)化語言克握,它的重點在于算法和數(shù)據(jù)結(jié)構(gòu)。C程序的設(shè)計首要考慮的是如何通過一個過程枷踏,對輸入(或環(huán)境條件)進(jìn)行運算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制)菩暗。
C++,首要考慮的是如何構(gòu)造一個對象模型旭蠕,讓這個模型能夠契合與之對應(yīng)的問題域停团,這樣就可以通過獲取對象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務(wù))控制。 所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣掏熬。之所以說C++比C更先進(jìn)佑稠,是因為“ 設(shè)計這個概念已經(jīng)被融入到C++之中 ”。
C與C++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣旗芬。之所以說C++比C更先進(jìn)舌胶,是因為“ 設(shè)計這個概念已經(jīng)被融入到C++之中 ”,而就語言本身而言疮丛,在C中更多的是算法的概念幔嫂。那么是不是C就不重要了,錯这刷!算法是程序設(shè)計的基礎(chǔ)婉烟,好的設(shè)計如果沒有好的算法,一樣不行暇屋。而且似袁,“C加上好的設(shè)計”也能寫出非常好的東西。
下面介紹下學(xué)C語言的基本要求:
學(xué)習(xí)C語言,不需要多少英語昙衅。你只需要記得32個關(guān)鍵字扬霜。一天10個,也就3天學(xué)完而涉。
auto 局部變量(自動儲存)
break無條件退出程序最內(nèi)層循環(huán)
case switch語句中選擇項
char單字節(jié)整型數(shù)據(jù)
const定義不可更改的常量值
continue中斷本次循環(huán)著瓶,并轉(zhuǎn)向下一次循環(huán)
default switch語句中的默認(rèn)選擇項
do 用于構(gòu)成do.....while循環(huán)語句
double定義雙精度浮點型數(shù)據(jù)
else構(gòu)成if.....else選擇程序結(jié)構(gòu)
enum枚舉extern在其它程序模塊中說明了全局變量
float定義單精度浮點型數(shù)據(jù)
for構(gòu)成for循環(huán)語句
goto構(gòu)成goto轉(zhuǎn)移結(jié)構(gòu)
if構(gòu)成if....else選擇結(jié)構(gòu)
int基本整型數(shù)據(jù)
long長整型數(shù)據(jù)
registerCPU內(nèi)部寄存的變量
return用于返回函數(shù)的返回值
short短整型數(shù)據(jù)
signed有符號數(shù)
sizoef計算表達(dá)式或數(shù)據(jù)類型的占用字節(jié)數(shù)
static定義靜態(tài)變量
struct定義結(jié)構(gòu)類型數(shù)據(jù)
switch構(gòu)成switch選擇結(jié)構(gòu)
typedef重新定義數(shù)據(jù)類型
union聯(lián)合類型數(shù)據(jù)
unsigned定義無符號數(shù)據(jù)
void定義無類型數(shù)據(jù)
volatile該變量在程序中執(zhí)行中可被隱含地改變
while用于構(gòu)成do...while或while循環(huán)結(jié)構(gòu)
然后你在記住9種控制結(jié)構(gòu)就OK。
goto語句:無條件轉(zhuǎn)向;
if語句:判斷語句;
while循環(huán)語句;
do-while語句:先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立. 之后繼續(xù)循環(huán);
for語句:循環(huán),可替代while語句; 只是用法不同;
break語句跳出本層的循環(huán);(只跳出包含此語句的循環(huán))
continue語句:繼續(xù)(一般放到循環(huán)語句里,不在執(zhí)行它下面的語句,直接跳到判斷語句例:
for語句,就直接跳到第二個分號處,
while語句,就直接跳到while()的括號里;
switch語句:多相選擇;
return語句:返回;
數(shù)學(xué)要不要多好啼县?
不要材原,你只要初二畢業(yè),會用+加 -減 *乘 /除 %取余即可季眷。
正式進(jìn)入C語言學(xué)習(xí)余蟹。小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 二六三,六八八子刮,二七六 】威酒,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)挺峡!裙內(nèi)有開發(fā)工具葵孤,很多干貨和技術(shù)資料分享!
俗話說得好學(xué)C不學(xué)hello blueshell1949橱赠,學(xué)C也白學(xué)了尤仍。所以我們的第一個也是學(xué)習(xí)的東西也是一個簡單的hello程序。你可能會說:天呀病线,樓主又在講這么乏味的東西了吓著,這個東西我TMD早就從老譚的爛書上學(xué)會了,還屁用沒有送挑,不就是用個printf么绑莺?我TMD連printf的中文意思是打印都知道了還要你教,這樓主肯定是個坑貨惕耕,盡教點沒用的東西纺裁,我要走了。
看官且慢司澎,我今天要講hello blueshell1949 我肯定要帶大家玩出個新意啦欺缘,才能不負(fù)大家的看帖功夫呀,下面且看看慢慢道來:
第一個呀挤安,我們先用vs2013玩玩谚殊,先看一個
這就是我們的第一個hello blueshell1949.怎么樣很神奇吧。擺脫了黑窗口哦蛤铜。
下面我們貼出代碼嫩絮。
int main()
{
MessageBoxA(0, "HELLO blueshell1949", "First C", 0);
return 0;
}
我們來看看是怎么實現(xiàn)的在這里我們使用了一個windows庫丛肢,這里面是window系統(tǒng)函數(shù)。在第一課里我們不需要知道這里面有什么剿干,怎么用的蜂怎,按我寫的就行了。我們使用messageboxA這個函數(shù)置尔,作用是彈出一個系統(tǒng)對話框杠步,第一個參數(shù)是0由系統(tǒng)彈出,第二個參數(shù)是文本內(nèi)容榜轿,第三個參數(shù)是標(biāo)題幽歼,第四個參數(shù)嗎,嘿嘿差导,我來給大家演示一下试躏。
我改動了一個參數(shù)猪勇,大家發(fā)現(xiàn)有什么差異了么设褐?
是彈出的對話框的選項差異。大家還可以自己改一改泣刹,看看能有多少種變化哦助析!嘿嘿。
下面我們對著這個基礎(chǔ)上我們加一點東東椅您,我們先來看一看效果:
是不是在左上角看到一個hello blueshell1949呀外冀。我們是怎么做到的了?
下面我們來看代碼
#include
#include
int main()
{
printf("Hello blueshell1949");
MessageBoxA(0, "HELLO blueshell1949", "First C", 1);
return 0;
}
我們與上面代碼的區(qū)別是什么了掀泳?
是不是只是多了一行printf(“hello blueshell1949”)雪隧;
Printf()函數(shù)的功能就是打印出來。
好了玩玩這個以后我們在換一個玩员舵,在longlongago以前脑沿,大神們還買不起電腦,怎么辦了马僻,我們還是要學(xué)習(xí)編程的庄拇,于是乎我們左思又想,終于我們想到了韭邓,我們可以去網(wǎng)吧呀措近。那里有機(jī)子可以用的。于是咱們就興高采烈的跑到旁邊XXX網(wǎng)絡(luò)會所女淑。誒呀瞭郑,為了學(xué)編程,怎么不能不下ide了鸭你,于是咱么就去msdn下了一個vs2013屈张,我嚓嘞我抠,這貨竟然有7個g,怎么辦了袜茧,只有等唄菜拓,哎,等待的時間是漫長的笛厦,還有78%沒下纳鼎,我們干什么去消磨下時間了。聽說麻生希老師又出新片了裳凸。贱鄙。。姨谷《耗口水。梦湘。瞎颗。。我們?nèi)フ艺野砂埔椤:甙巍!0曷>胫稹!9埂C世选!eaching粉怕。欸健民,這個網(wǎng)站有片,斋荞,嗯荞雏?要下載播放器,那就下吧平酿,凤优,,蜈彼,筑辨,,下載ing幸逆,棍辕,暮现,,楚昭,栖袋,,抚太,安裝塘幅,,尿贫,电媳,麻生希老師你等我,庆亡,匾乓,口水,又谋,拼缝,我擦勒,搂根,珍促,,剩愧,病毒勾邦,鸟廓,,邀窃,重啟了犬第。锦积。。歉嗓。丰介。。鉴分。哮幢。。志珍。橙垢。馬丹,老子下的ide 伦糯。柜某。嗽元。。喂击。剂癌。。翰绊。珍手。。辞做。琳要。。秤茅。稚补。。框喳。開機(jī)重新下课幕,這回咱不看了,五垮,乍惊,,時間總是漫長的放仗,润绎,,诞挨,莉撇,我門去打一盤dota2吧。惶傻。棍郎。。银室。涂佃。。蜈敢。辜荠。嘿嘿嘿,扶认,侨拦,我要超神了。辐宾。狱从。膨蛮。臥槽,季研,敞葛,黑屏了。与涡。惹谐。。驼卖。什么破網(wǎng)吧氨肌,,酌畜,連data2都帶不起怎囚。。桥胞。恳守。。贩虾。催烘。tmd我又重新開機(jī)了。缎罢。伊群。。屁使。在岂。。蛮寂。。易茬。酬蹋。。抽莱。這回我不弄其他的了范抓,我等你下完。食铐。匕垫。vs2013,虐呻,象泵,寞秃,,偶惠,編個程好難呀春寿。。忽孽。绑改。終于下完了,兄一,厘线,啦啦啦,出革,造壮,,安裝ing 蹋盆,安裝完成請重新啟動計算機(jī)讓vs2013生效费薄。。栖雾。楞抡。。析藕。召廷。。账胧。竞慢。。治泥。筹煮。。居夹。败潦。。准脂。劫扒。。狸膏。沟饥。。。贤旷。广料。。遮晚。性昭。。县遣。糜颠。。萧求。其兴。。夸政。元旬。。守问。匀归。。耗帕。穆端。。仿便。体啰。。嗽仪。荒勇。。闻坚。沽翔。。窿凤。搀擂。。卷玉。。喷市。相种。。。寝并。箫措。。衬潦。斤蔓。。镀岛。弦牡。。漂羊。驾锰。。走越。椭豫。。旨指。赏酥。。谆构。裸扶。。低淡。姓言。。蔗蹋。何荚。。猪杭。餐塘。。皂吮。戒傻。。蜂筹。需纳。。艺挪。不翩。。。口蝠。器钟。。妙蔗。傲霸。。眉反。昙啄。。禁漓。跟衅。。播歼。伶跷。。秘狞。叭莫。。烁试。雇初。。减响。靖诗。。支示。刊橘。。颂鸿。促绵。。嘴纺。败晴。。栽渴。尖坤。。闲擦。糖驴。
我去年買了個表僚祷。我TMD不用ide了。我們用記事本編程吧贮缕。
教大家一個小技巧哦。win+R 然后輸入notepad就可以打開記事本哦俺榆。
好了感昼,我們在記事本里輸入以下代碼:
我們保存為1.c
然后打開
我們進(jìn)入我們開始的1.c所在路徑
我們輸入cl 1.c
我們就可以得到編譯后的文件。等同與ide里的編譯運行罐脊。我們輸入1.exe定嗓,我們可以看到效果
我們剛才是手動打開記事本的,好麻煩呀萍桌,我們能不能自己寫個程序自動打開記事本了宵溅?
答案是可以的。
我們來試試:
我們輸入以下代碼上炎。我們在來cl一下恃逻。。藕施。寇损。
我們可以得到以下結(jié)果
我們可以看到我們輸出了blueshell1949真幽默,我要給他生猴子裳食。并且打開了一個記事本矛市。
我門比較下,我們與上面的代碼有哪些差異诲祸。多了兩行代碼
#include 《stdlib.h》
System(“notepad”)浊吏;
我在這里解釋下概念,stdlib是C語言的標(biāo)準(zhǔn)庫救氯。System是個函數(shù)可以調(diào)用其它功能找田。比如notepad就是記事本,calc就是計算器径密。午阵。。如此總總享扔。
在這里我們只學(xué)習(xí)了兩三個函數(shù)就可以做出很多東西來了底桂。那么大家還對C入門感覺困難么?