c++primer 学习笔记(1.0)快速入门

来源:互联网 发布:大数据算法模型 编辑:程序博客网 时间:2024/05/21 09:24

第一章 快速入门

一个使用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; }


原创粉丝点击