@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
前言:
選擇自己心中最新歡的事情去做,畢竟之前計(jì)算機(jī)基礎(chǔ)課程基礎(chǔ)也打得不錯(cuò),深入的學(xué)習(xí)C++。我一直相信母親說(shuō)過(guò)的一句話:“不要認(rèn)為你做不到,只要你想去做,就一定能做得到”。自我勉勵(lì)之。同時(shí)開(kāi)博是為了總結(jié)自己學(xué)習(xí),希望能對(duì)有些人有所幫助。
由very simple的小程序包含的許多C++基礎(chǔ)知識(shí)。
1 //a small C++ program
2 #include <iostream>
3
4 int main()
5 {
6 std::cout << "Hello, world!" << std::endl;
7 return 0;
8 }
#程序的第一行為注釋,//是行注釋。
#std是一個(gè)命名空間(名字空間)namespace
#對(duì)于return語(yǔ)句,return 0表示程序正常退出。
#對(duì)于return語(yǔ)句,如果是函數(shù)的定義要求返回某種特殊類型的值,那么這個(gè)函數(shù)中所有的return語(yǔ)句都必須返回相應(yīng)類型的值。
#剖析“Hello world!程序的總結(jié)”如下
#該程序中有兩個(gè)貫穿C++的概念,表達(dá)式和生存空間(scope)
#表達(dá)式
#表達(dá)式的作用是請(qǐng)求系統(tǒng)進(jìn)行計(jì)算。計(jì)算后會(huì)生成一個(gè)結(jié)果,同時(shí)也可能會(huì)有一些副作用。(所謂的副作用就是它會(huì)影響程序或者系統(tǒng)的狀態(tài))。行6也是個(gè)表達(dá)式
,它的副作用是在標(biāo)準(zhǔn)輸出流輸出“Hello, world!”并且當(dāng)行結(jié)束。
#表達(dá)式由操作符和操作數(shù)(operand)構(gòu)成。如行6,兩個(gè)<<符號(hào)都是操作符,而剩下的std::cout、“Hello world”、std::endl則是操作數(shù)。
#操作數(shù):每個(gè)操作數(shù)都是一種類型。(即都表示一種數(shù)據(jù)結(jié)構(gòu)和它適合的操作,它決定了操作符的脾氣(產(chǎn)生的結(jié)果),總而言之只要記住操作數(shù)決定了操作符的 脾氣。)(int表示整數(shù)類型,std::ostream定義為流輸出,std::cout的類型是std::ostream)
#操作符:<<操作符有左結(jié)合性(left-assocoative)左結(jié)合性是一種貪心思想,當(dāng)表達(dá)式出現(xiàn)兩個(gè)以上的<<,左結(jié)合性總是貪心左邊的操作數(shù)。
#分析:第一個(gè)<<是以std::cout作為它的左操作數(shù),而以"Hello, world"作為右操作數(shù)。
第二個(gè)<<的左操作數(shù)是一個(gè)(生成std::cout結(jié)果)的表達(dá)式,其類型是std::ostream.右操作數(shù)是std::endl,是一個(gè)mainpulator(控制符)。當(dāng)<<
左操作符是std::ostream,而右操作數(shù)是mainpulator時(shí),<<會(huì)根mainpulator的語(yǔ)義來(lái)控制流輸出,并且返回流作為它的結(jié)果。如:當(dāng)mainpulator是
std::endl時(shí),它結(jié)束當(dāng)前輸出行。
#scope
#namespace:命名空間機(jī)制,相當(dāng)于java中的包機(jī)制。
#scope,中文稱為生存空間,::是生存空間操作符,::左邊是生存空間的表示符std,而右邊就是定義在命名空間中的名字。
#“Hello,world”稱為字符串直接量,字符串直接量中,一些字符前面加上(\)后具有特殊的意義。