《C++primer》v5 第1章 开始 读书笔记 习题答案
从今天开始在博客里写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; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。