由于工作與視頻編輯相關(guān),所以想補(bǔ)充一下OpenGL和C++相關(guān)的知識(shí),之后可能會(huì)通過(guò)兩個(gè)系列來(lái)記錄下自己的學(xué)習(xí)內(nèi)容,如果能夠幫助到同樣有需要的人自然再好不過(guò)。
前言
自這篇文章我們即將開始C++的奇幻之旅,其內(nèi)容主要是讀C++ Primer的總結(jié)和筆記,有興趣可以找原版書看看,對(duì)于學(xué)習(xí)C++還是有很大幫助的。這篇文章將從一個(gè)經(jīng)典的程序開始介紹C++的類型、變量、表達(dá)式、語(yǔ)句、控制流和函數(shù)的相關(guān)內(nèi)容,由此可以建立起對(duì)于C++總體上的認(rèn)識(shí)。
一個(gè)簡(jiǎn)單的程序
每一個(gè)C++程序都包含了一個(gè)或多個(gè)函數(shù),其中main函數(shù)是必須的,所以一個(gè)C++程序至少含有一個(gè)main函數(shù),操作系統(tǒng)通過(guò)調(diào)用main函數(shù)來(lái)執(zhí)行你寫的C++程序。下面就是一個(gè)簡(jiǎn)單的C++程序,只包含了一main函數(shù)。如代碼所示,一個(gè)函數(shù)至少包含四個(gè)部分,返回類型、函數(shù)名、參數(shù)列表和函數(shù)體。這個(gè)main函數(shù)返回值是int,這是C++的內(nèi)置類型(是由語(yǔ)言本身定義的), main是函數(shù)名,()中是參數(shù)列表(可以為空), 最后{}中的是函數(shù)體,是函數(shù)執(zhí)行的具體過(guò)程。在例子中只包含了一個(gè)語(yǔ)句,return會(huì)終止函數(shù)執(zhí)行并返回一個(gè)值(0)給函數(shù)調(diào)用者,0是int類型,也就是整數(shù)。函數(shù)的返回值要與函數(shù)定義的返回類型相同,否則會(huì)產(chǎn)生錯(cuò)誤,無(wú)法編譯通過(guò)。
int main()
{
return 0;
}
?在大多數(shù)情況下main函數(shù)的返回值是一個(gè)標(biāo)志位,如果是0表示程序執(zhí)行成功,如果返回非0則表述程序執(zhí)行失敗
?
輸入輸出
在程序執(zhí)行過(guò)程中需要與外部進(jìn)行交互,但是C++并未為輸入輸出提供專門的語(yǔ)句,而是提供了擴(kuò)展庫(kù)iostream來(lái)實(shí)現(xiàn)輸入輸出。該庫(kù)提供了兩個(gè)基類,一個(gè)是ostream用于輸出流,istream用于輸入流,并且提供了四種IO對(duì)象,分別是cin,cout, cerr和clog,cin是用于處理標(biāo)準(zhǔn)輸入,其發(fā)音類似于see in,cout用于處理標(biāo)準(zhǔn)輸出,發(fā)音類似see out,cerr是用于輸出erro和warning,clog則是用于輸出程序執(zhí)行過(guò)程中的重要信息。以下就是一個(gè)簡(jiǎn)單卻簡(jiǎn)單的程序,會(huì)在屏幕上打印“hello w orld”。其中std::cout<<"hello world"<
<<
是輸出操作符,用于標(biāo)準(zhǔn)輸出,輸出操作符需要包含兩個(gè)操作數(shù),在輸出操作符的左側(cè)必須是ostream對(duì)象,右側(cè)則是需要輸出的值。可以看到連續(xù)使用了兩次輸出操作符,那是因?yàn)檩敵霾僮鞣姆祷刂禐閛stream對(duì)象。
`
# include
int main() {
std::cout<<"hello world"<return 0;
}
;>
從下面例子可以看出cin和cout用法類似,需要用>>
輸入標(biāo)識(shí)符。
?可以注意到,我們使用的是
std::cout
而不是cout
,std是命名空間,命名空間是為了我們定義的函數(shù)與變量與庫(kù)中的函數(shù)與變量命名沖突,std是標(biāo)準(zhǔn)庫(kù)的命名空間。::是范圍操作符,``std::cout```代表著我們使用的cout是定義在std的命名空間中。?
# include
int main() {
std::cout<<"please enter two numbers:"<int v1, v2;
std::cin>>v1>>v2;
std::cout<<"The sum of v1 and v2 is "<return 0;
}
;>
運(yùn)行結(jié)果如下
please enter two numbers:
3 4
The sum of v1 and v2 is7
注釋
我們寫的例子都是極其簡(jiǎn)單的程序,在實(shí)際的生產(chǎn)環(huán)境中,程序會(huì)十分的復(fù)雜,必】注釋是比不可少的,C++的注釋分為單行注釋和多行注釋。C++使用//進(jìn)行單行注釋,/**/實(shí)現(xiàn)多行注釋,注釋最好不要嵌套。
控制流
C++的控制流于C語(yǔ)言和Java的控制流并沒有多大的差別,while和for循環(huán),if判斷語(yǔ)句。
while語(yǔ)句
當(dāng)while中的判斷條件為true是會(huì)循環(huán)執(zhí)行while內(nèi)的語(yǔ)句
# include
int main() {
int sum = 0;
while(i <= 10) {
sum = sum + i;
i++;
}
std::cout<return 0;
}
<
for 循環(huán)
# include
int main() {
int sum = 0;
for(int i = 0; i <= 10; ++i) {
sum = sum + i;
}
std::cout<return 0;
}
<
if語(yǔ)句
# include
int main() {
int value;
int curValue;
int sum = 0;
if(std::cin>>value){
while (std::cin>>curValue)
{
if (value == curValue) {
sum = sum + 1;
} else {
std::cout<return 0;
}
}
}
return 0;
}
<
最后
通過(guò)這篇文章,我們已經(jīng)對(duì)C++有了基本的認(rèn)識(shí),初步了解了一個(gè)C++程序的基本組成,了解了輸入輸出,命名空間,注釋,控制流。更多文章可以關(guān)注微信公眾號(hào)QStack。
`-
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
62967 -
C++
+關(guān)注
關(guān)注
22文章
2114瀏覽量
73854 -
primer
+關(guān)注
關(guān)注
0文章
23瀏覽量
10046
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論