初識C++,向大家介紹幾個我用來做練習編寫的幾道小程式,都是C++Primer上面的練習題,分享給大家。
eg1:編寫程式,使用遞減運算子在迴圈中按遞減順序列印出10到1之間的整數。
代碼如下:
#include<iostream>#include<cstdlib>using namespace std;int main(){int i=10;while(i){cout<<i;--i;}system("pause");return 0;}
運行結果:10 9 8 7 6 5 4 3 2 1
公子小貼士:由於我在main函數前添加了using namespace std;這句話,所以直接用到了cout。大家在沒有添加之前,要記得寫成std::cout<<"i="<<endl;這樣子。因為首碼std::指出cout和endl是定義在名為std的命名空間(namespace)中的。命名空間可以協助我們避免不經意間的名字衝突,以及使用庫中相同名字導致的衝突。標準庫定義的所有名字都在命名空間std中。這是C語言中所沒有的。通過命名空間使用標準庫有一個副作用,當我們使用時必須顯式的說明我們想使用來自命名空間的名字,例如std::cout.using對命名空間聲明之後就可以不再顯式說明了。兩種方法都可,不過還是推薦大家聲明,因為這樣可以少寫許多東西哦。
eg2:編寫程式,提示使用者輸入兩個整數,列印出這兩個整數所指定的範圍內的所有整數。
代碼如下:
#include<iostream>#include<cstdlib>using namespace std;int main(){int num1=0;int num2=0;int ret=0;cin>>num1>>num2;while(num1<=num2){cout<<num1<<' ';num1++;}system("pause");return 0;}
運行結果:3 8
3 4 5 6 7 8
公子小貼士:我們在上述的程式中都用到了輸出運算子(<<)在標準輸出上列印資訊。<<運算子要接收兩個運算對象:左側的運算對象必須是一個ostream對象,右側的運算對象是要列印的值。這個例子中我們的輸出語句使用了兩次<<。因為此運算子返回其左側的運算對象,因此第一個運算子的結果成為了第二個運算子左側的運算對象,這樣,我們就可以將輸出請求串連起來。
eg3:編寫程式,從cin讀取一組數字,輸出其和。
代碼如下:
#include<iostream>#include<cstdlib>using namespace std;int main(){int sum=0;int val=0;while(cin>>val){sum+=val;}cout<<"sum="<<sum;cout<<endl;system("pause");return 0;}
運行結果:1 2 3 4 5 6 7 8 9 10
sum=55
上面的例子雖然很簡單,大多數我們學習C語言時已經掌握,但卻可以起到一個很好的練習作用,使我們熟悉C++的操作符、運算子以及輸入輸出資料流,體會到兩者的不同。