2.1.3节练习
练习2.8
请利用转义序列编写一段程序,要求先输出2M,然后转到新的一行。修改程序使其先输出2,然后输出制表符,再输出M,最后转到新的一行
#include <iostream>
using namespace std;
int main()
{
cout<<"2"<<"\n"<<"M"<<endl;
}
输出结果:
2.2.4节练习
练习2.13
下面程序中j的值是多少?
#include <iostream>
using namespace std;
int i=42;
int main()
{
int i=100;
int j=i;
cout<<" "<<j<<endl;
}
输出结果:
练习2.14
下面程序合法吗?如果合法,它将输出什么?
#include <iostream>
using namespace std;
int main()
{
int i=100,sum=0;
for(int i=0;i!=10;++i)
sum+=i;
cout<<i<<" "<<sum<<endl;
}
输出结果:
2.3.1节练习
练习2.17
执行下面的代码段将输出什么结果?
#include <iostream>
using namespace std;
int main()
{
int i,&ri=i;
i=5;ri=10;
cout<<i<<" "<<ri<<endl;
}
输出结果:
2.5.2节练习
练习2.35
判断下列定义推断出的类型是什么,然后编写程序进行验证
#include <iostream>
using namespace std;
int main()
{
const int i=42;
auto j=i;
const auto &k=i;
auto *p=&i;
const auto j2 =i,&k2=i;
cout<<" j"<<j<<" k"<<&k<<" p"<<*p<<" j2"<<j2<<" k2"<<&k2<<endl;
}
输出结果: