本人是初中生,原用Pascal語言,現轉c++,所以寫幾篇博客,分享一下。
補一句,我是一邊轉c++一邊寫博客,所以可能會有錯誤,望過路大神能指出。
參考書籍:《信息學奧賽一本通》《趣學算法》
個人認為c++與Pascal比較,最大特點是它的方便性,各種變量之間轉換與定義都十分方便,十分隨意。
這篇就主要說明c++的基本程序結構吧。
上代碼:
#include<cstdio> #incldde<iostream> using namespace std; int main() { int a,b; cin>>a; scanf("%d",&b); int c=a+b; cout<<c; //或使用printf("%d",c);
return 0; }
最簡單的a+b,想必學過編程的同學都不會陌生,下面就由這個程序做樣例,講一下c++的基本結構:
首先是程序頭(個人叫法),這里主要是調用庫,使用#include與<>(""),中間加上庫的名稱。這是要記背的。初學者可能不知道庫是什么,別急,往下看。
然后是using namespace std; 這句是定義命名空間,我的書里還有一大堆說明,這里省略(其實是懶得打),只要記住每個程序都要打一句就行了。
接着int main()即主函數(主程序)。一個c++程序由若干個函數組成,必須有且僅有一個主函數main。程序由主函數開始執行與結束,子函數要在主函數中調用。可以理解為主函數為boss,子函數為員工。
一對{}(書上稱作花括號,我習慣稱之大括號)相當於Pascal中的begin與end,標志一段語句的開始與結束,學過Pascal的同學都理解吧。
然后int a,b; 是定義語句,意為定義兩個名為a與b的int型變量。c++中的int即是Pascal中的longint類型,范圍是-2147483648~2147483647,具體的類型會在以后說。
還有:程序中除循環語句外的每一條語句都以分號結尾,這點切記!
cin>>a;這句有點麻煩,大意是從鍵盤讀入一個數,儲存到a這個變量里。(我書上也有一大堆說明,這里不細說)cin這個函數需要調用iostream庫,即程序頭中調用的庫。如果不調用程序是會報錯的,切記!
下一句scanf("%d",&b);也是一樣,不同的是這句有一個變量類型的說明(雙引號中的內容,%d表示整型變量)。
其實這兩句話可以合並到一起,變成cin>>a>>b; 或scanf("%d%d",a,b); 這里為了更好的說明,特此分開。
cin與scanf的區別在后面講cout與printf時會說明。
讓我們繼續:后面又是一句定義int c=a+b;,不同的是后面加上了一句=a+b。這是起賦初值的作用,相當於定義一個值為a+b的變量。“=”符號是賦值的意思,而我們通常說的等號是“==”。
cout<<c; 這句跟cin相反,是輸出一個名為c的變量到屏幕。(in與out在英文中一個是進入一個是出去)這還有一個“流”的概念引入,好奇者請自行百度(反正我看了半天沒看懂)。需要注意的是這一對函數在作用到量時要用兩個“>”或“<”連接。
cin、cout與scanf、printf的區別在於:cin及cout方便,但速度較慢,且沒有格式的說明;scanf與printf速度快,有格式控制,但不方便,不適合初學者使用。(有一大堆格式符要記)
大概就是這樣,如果幫到你,別忘了點個推薦。講義不定期更新(盡量定期),要催更的隨意
