《C++primer》v5 第1章 開始 讀書筆記 習題答案

來源:互聯網
上載者:User

標籤:style   blog   color   使用   os   io   for   div   

從今天開始在部落格裡寫C++primer的文字。主要以後面的習題作業為主,會有必要的知識點補充。

本人也是菜鳥,可能有不對之處,還望指出。

前期內容可能會比較水。

1.1略

1.2略

1.3

cin和cout分別是istream和ostream的對象。

#include<iostream>using namespace std;int main(){    cout<<"Hello,world"<<endl;    return 0;}

1.4

#include<iostream>using namespace std;int main(){    int a,b;    cin>>a>>b;    cout<<a*b<<endl;    return 0;}

1.5

#include<iostream>using namespace std;int main(){    int a,b;    cin>>a>>b;    cout<<a<<endl<<b<<endl;    return 0;}

1.6

這段代碼當然是不正確的。>>、<<本身是移位元運算符,被重載以後才被cin和cout使用。“;”表示語句結束,所以下面第7和8行的代碼中,<<缺少了調用了它的對象,這裡的寫法也不符合移位元運算符的用法,所以會報錯。

 1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5     int v1=1,v2=2; 6     cout<<"The sum of "<<v1; 7         <<" and "<<v2; 8         <<" is "<<v1+v2<<endl; 9     return 0;10 }

正確寫法是去掉第6和7行的分號。

#include<iostream>using namespace std;int main(){    int v1=1,v2=2;    cout<<"The sum of "<<v1        <<" and "<<v2        <<" is "<<v1+v2<<endl;    return 0;}

1.7略

1.8

/* */這樣的注釋不能嵌套;

//會注釋掉從出現以後的一整行

如果是在雙引號內,會是這兩種注釋功能都失效。

#include<iostream>using namespace std;int main(){    cout<<"/*"<<endl;//輸出 /*    cout<<"*/"<<endl;//輸出 */    cout<</* "*/" */<<endl;//編譯錯誤    cout<</* "*/"/* "/*" */<<endl;//輸出 /* 同第1個    return 0;}

1.9

#include<iostream>using namespace std;int main(){    int i=50,sum=0;    while(i<=100)    {        sum+=i;        ++i;    }    cout<<sum<<endl;    return 0;}

1.10

#include<iostream>using namespace std;int main(){    int i=10;    while(i>=0)    {        cout<<i<<endl;        --i;    }    return 0;}

1.11

#include<iostream>using namespace std;int main(){    int beg,end;    cin>>beg>>end;    for(int i=beg;i<=end;++i)        cout<<i<<endl;    return 0;}

1.12

將[-100,100]之間的數字相加,最終結果是0

1.13略

1.14

for適用於迴圈起點和終點比較明確的時候

while適用於終止條件比較複雜的時候

1.15略

1.16

#include<iostream>using namespace std;int main(){    int val,sum=0;    while(cin>>val)        sum+=val;    cout<<sum<<endl;    return 0;}

1.17

如果全部都相等:number occurs n times

如果沒有重複:每個數字都輸出 ai occurs 1 times

1.18略

1.19

以下代碼將忽略輸入順序的影響。

#include<iostream>using namespace std;int main(){    int beg,end;    cin>>beg>>end;    if(beg>end)    {        int temp=beg;        beg=end;        end=temp;    }    for(int i=beg;i<=end;++i)        cout<<i<<endl;    return 0;}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.