C++primer第五版第二章练习题

2.1.3节练习

练习2.8

请利用转义序列编写一段程序,要求先输出2M,然后转到新的一行。修改程序使其先输出2,然后输出制表符,再输出M,最后转到新的一行

#include 
using namespace std;

int main()
{
    cout<<"2"<<"\n"<<"M"<<endl;
}

输出结果:
输出结果

2.2.4节练习

练习2.13

下面程序中j的值是多少?

#include 
using namespace std;
int i=42;
int main()
{
    int i=100;
    int j=i;
    cout<<" "<<j<<endl;
}

输出结果:
输出结果

练习2.14

下面程序合法吗?如果合法,它将输出什么?

#include 
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 
using namespace std;

int main()
{
    int i,&ri=i;
    i=5;ri=10;
    cout<<i<<" "<<ri<<endl;
}

输出结果:
输出结果

2.5.2节练习

练习2.35

判断下列定义推断出的类型是什么,然后编写程序进行验证

#include 
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;
}

输出结果:
输出结果

你可能感兴趣的:(C++Primer(第五版),c++)