c++primer 學習筆記(1.0)快速入門

來源:互聯網
上載者:User

第一章 快速入門

一個使用IO庫的程式

#include <iostream>int main(){std::cout<<"Enter two numbers:"<<std::endl;int v1,v2;std::cin>>v1>>v2;std::cout<<"The sum of "<<v1<<" and "<<v2<<" is "<<v1+v2<<std::endl;return 0;}

Std::cout等等的應用是一個亮點,不用在預先處理之後加上using namespace std;d的說明,程式簡單的話很好用。

除了cout,還有ceer,clog等輸出用法;

另外putchar也可以哦,例如“putchar('a\n')”標頭檔依舊是#include<iostream>;

Endl可以重新整理與裝置關聯的緩衝區buffer。經常重新整理buffer是個好習慣!

習題1.3

列印Hello world!

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

習題1.4:

求兩數之積

#include <iostream>int main(){std::cout<<"Enter two numbers:"<<std::endl;int v1,v2;std::cin>>v1>>v2;std::cout<<"The product of "<<v1<<" and "<<v2<<" is "<<v1*v2<<std::endl;return 0;}

習題1.5

使用單獨語句列印

#include <iostream>int main(){std::cout<<"Enter two numbers:"<<std::endl;int v1,v2;std::cin>>v1>>v2;std::cout<<"The product of ";std::cout<<v1;std::cout<<" and ";std::cout<<v2;std::cout<<" is ";std::cout<<v1*v2;std::cout<<std::endl;return 0;}

1.3關於注釋

有兩種 單行注釋 // 和多行注釋/**/

注釋不可嵌套!!

注釋是忽略一大段代碼的好方法,在每一行上加一個//而不是在首尾處加上多行注釋(可能有注釋嵌套,造成erro)

#include <iostream>int main(){std::cout<<"/*";std::cout<<"*/";std::cout<</*"*/"*/";   //小心注釋 return 0;}

While語句運用,從1加到n;

#include <iostream>int main(){int sum=0,i,;std::cout<<"Enter a postive number:"<<std::endl;std::cin>>i;int j=i; while(i) {sum+=i;i--;} std::cout<<"sum of "<<1<<" to "<<j<<" is "<<sum<<std::endl ;return 0;}

For語句的運用,將剛才的程式改變一下:

#include <iostream>int main(){int sum=0,i,;std::cout<<"Enter a postive number:"<<std::endl;std::cin>>i;int j=i; for(;i!=0;i--) {sum+=i;} std::cout<<"sum of "<<1<<" to "<<j<<" is "<<sum<<std::endl ;return 0;}

習題1.10

#include <iostream>int main(){int sum=0; for(int val=50;val!=101;val++) {sum+=val;} std::cout<<"sum of "<<50<<" to "<<500<<" is "<<sum<<std::endl ;return 0;}

用while改變

#include <iostream>int main(){int sum=0,val=50; while(val<=100) {sum+=val;val++;}std::cout<<"sum of "<<50<<" to "<<500<<" is "<<sum<<std::endl ;return 0;}

習題1.11

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

用for迴圈改編

#include <iostream>int main(){int val=10; for(;val>=0;val--) {std::cout<<val<<std::endl;}return 0;}

求某兩個數的和

If語句 

#include <iostream>using namespace std;int main(){int v1,v2,lower,upper,sum=0;cout<<"Enter two numbers"<<endl;cin>>v1>>v2;if(v1>v2) {upper=v1;lower=v2;}else {upper=v2;lower=v1;}for(int val=lower;val<=upper;val++) {sum+=val;}cout<<"The sum between "<<lower<<" and "<<upper<<" is "<<sum<<endl;return 0;}

習題1.16

#include <iostream>using namespace std;int main(){cout<<"enter two numbers to find the bigger one:";int v1,max;cin>>v1>>max;if(v1>max) {max=v1;}cout<<"the bigger one is "<<max<<endl;return 0;}

習題1.17

#include <iostream>using namespace std;int main(){cout<<"enter lots of numbers to find how many positive numbers in them:"<<endl<<"press ctrl+z to stop entering"<<endl;int val,count=0;while(cin>>val)if(val>0) count++;cout<<"There are "<<count<<" positive numbers in them."<<endl;return 0;}

讀入未知數目數字求和

#include <iostream>using namespace std;int main(){cout<<"enter lots of numbers to calculate the sum of them:"<<endl<<"press ctrl+z to stop entering"<<endl;int val,sum=0;while(cin>>val)if(val>0){sum+=val;}cout<<"The sum of them is"<<sum<<endl;return 0;}

習題1.18

#include <iostream>using namespace std;int main(){cout<<"enter two numbers :"<<endl;int v1,v2,upper,lower;cin>>v1>>v2;if(v1>v2) {upper=v1;lower=v2;}else {upper=v2;lower=v1;}int val;    for(val=lower;val<=upper;val++)    cout<<val<<endl;return 0;}

習題1.19

#include <iostream>#include <iomanip>using namespace std;int main(){cout<<"enter two numbers :"<<endl;int v1,v2,upper,lower;cin>>v1>>v2;if(v1>v2) {upper=v1;lower=v2;}else {upper=v2;lower=v1;}int val,amount=0;    for(val=lower;val<=upper;val++) {        cout<<setw(2)<<val<<" ";amount++;if(amount==10) {    cout<<endl;    amount=0;    }    }    return 0;}

習題1.20

#include <iostream>using namespace std;int main(){int v1,v2,amount,sum=0;cout<<"Enter two numbers"<<endl;cin>>v1>>v2;amount=v1-v2;if(amount<0) amount=-amount+1;else amount+=1; sum=(v1+v2)*(amount)/2;cout<<"The sum between "<<v1<<" and "<<v2<<" is "<<sum<<endl;return 0;}

標準庫的標頭檔用<>;非標準庫的標頭檔用""

#include <iostream>#include"Sales_item.h" using namespace std;int main(){   Sales_item item1,item2;   cin>>item1>>item2;   cout<<item1+item2<<endl;   return 0;  }

習題1.21

#include <iostream>#include"Sales_item.h" using namespace std;int main(){   Sales_item book;   while(cin>>book) {   cout<<"ISBN,numbers of copies sold,total revenur,and average price are:"   <<endl<<book<<endl;   }    return 0; }

習題1.22

#include <iostream>#include"Sales_item.h" using namespace std;int main(){   Sales_item item1,item2,item;   cout<<"Enter two objects:\n";   cin>>item1>>item2;   if(item1.same_isbn(item2))   cout<<"ISBN,numbers of copies sold,total revenur,and average price are:"   <<endl<<item1+item2<<endl;   else    cout<<"The two objects have different ISBN"<<endl;    return 0; }

習題1.23

#include <iostream>#include"Sales_item.h" using namespace std;int main(){   Sales_item item,book;   cout<<"Enter many objects:\n";   cin>>book;   while(cin>>item)   if(book.same_isbn(item)) {   book+=item;   }      else {     cout<<"The objects have different ISBN"<<endl;        return -1;   }   cout<<"ISBN,numbers of copies sold,total revenur,and average price are:"   <<endl<<book<<endl;    return 0; }

習題1.24

#include <iostream>#include"Sales_item.h" using namespace std;int main(){   Sales_item item1,item2;   int amount=1;   cout<<"Enter many objects:\n";   cin>>item1;//讀入第一筆交易,即初始交易。    while(cin>>item2)   if(item1.same_isbn(item2)) {   ++amount;   }    //ISBN不同時首先計算之前ISBN的總和,然後再將amount賦值為1     else {      cout<<"transaction amount of previous ISBN:"   <<endl<<amount<<endl;      amount=1;      item1=item2;         }     cout<<"transaction amount of the last ISBN :"<<amount<<endl;    return 0; }

習題1.25

#include <iostream>#include"Sales_item.h" using namespace std;int main(){   Sales_item total,trans;   cout<<"Enter some objects:\n(press ctrl+z to stop entering)\n";   if(cin>>total) {   while(cin>>trans)   if(total.same_isbn(trans))     total+=trans;   else {   cout<<"transaction of previous :"<<total<<endl;    total=trans;   }     }   else {   cout<<"no input!  no data!"<<endl;     return -1;   }      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.