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