您的位置:首页 > 编程语言 > C语言/C++

C++Primer 中文版 第五版 第四章课后习题答案

2016-06-03 18:24 501 查看
前言:自己做的,如果有错误,要提出来哟...

//4.1

105

//4.2

*(vec.begin());

*(vec.begin())+1;

//4.3

可以接受..利大于弊嘛..

//4.4

(((12/3)*4+(5*15))+((24%4)/2);

//4.5

-86

-18

0

-2

//4.6

%2即可。

//4.7

1000000000*1000000000 2^1000+1;1231556*413514

//4.8



//4.9

不是空指针,并且指向的不是空字符

//4.10

While(cin>>a)

{

   If(a==42)

     Break;

}

//4.11

a>    b&&b>c&&c>d

//4.12

i!=(i<k)

//4.13

d=i=3

i=3,d=3.5

这道题很重要,看看,是从后往前来。

//4.14

第一个非法,第二个永远成立

//4.15

虽然可以给指针赋值0,但是不能连等!

//4.16

第一个打括号

第二个再加一个=

//4.17

i++比++i多了一个赋值过程

//4.18

第一个没有输出,并且可能输出未定义的部分,引发错误

//4.19

Ptr指针不为空指针且*ptr++为真

错,应该互换位置

错,没意义

 

 

//4.20

a 合法

b 合法

c (*iter).empty();

d 合法

e 合法

f 合法

//4.21

#include <iostream>

#include<vector>

using namespace std;

 

int main()

{

 

   int i;

   vector<int>ivec;

   for(i=0;i<10;i++)

       ivec.push_back(i);

   vector<int>::iterator it=ivec.begin();

   for(it=ivec.begin();it!=ivec.end();++it)

    {

        if(*it%2!=0)

           *it=*it*2;

    }

    for(it=ivec.begin();it!=ivec.end();++it)

    {

        cout<<*it<<endl;

    }

}

//4.22

#include <iostream>

#include<vector>

using namespace std;

 

int main()

{

 

   vector<unsigned>grades;

   unsigned i;

   while(cin>>i)

       grades.push_back(i);

   for(vector<unsigned>::const_iterator grade=grades.begin();

   grade!=grades.end();++grade)

    {

       string finalgrade=(*grade<60)?"fail":"pass";

       finalgrade=(*grade>90)?"highpass":(*grade<60)?"fail":"pass";

       cout<<*grade<<""+finalgrade<<endl;

    }

}

//4.23

String p1=s+((s[s.size()-1]==’s’?””:”s”);

//4.24

先判断是否小于60,在判断是否大于90

//4.25 4.26 4.27不会

4.28

#include <iostream>

#include<vector>

using namespace std;

 

int main()

{

 

   cout<<sizeof(char)<<endl;

   cout<<sizeof(int)<<endl;

}

4.29

#include <iostream>

#include<vector>

using namespace std;

 

int main()

{

   int x[10];

   int *p;

   cout<<sizeof(x)<<""<<sizeof(*x)<<endl;

   cout<<sizeof(p)<<""<<sizeof(*p)<<endl;

}

4.30

Sizeof(x+y);

Sizeof(p->men[i])

Sizeof(a)<b

Sizeof(f())

4.31



/4.32

用指针和下标来操作数组的元素

//4.33

(someVal?++x),(++y,x),(-y)

//4.34

a:fval是否为0

b:求和赋值

c:先乘再加

//3.35

都可以

//4.36

int i*=static_case<int>(d)

//4.37

Pv=cosnt_casr<void*>(ps)

I=statuc_case<int>(*pc)

Pv=static_case<double *>(&d);

Pc=reinterpret_cast<char *>(pv);

 

//4.38

把j/i的值强制转换成double型,给slope
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: