c++primer第二章习题

习题2.1 int,long和short类型之间有什么差别?
答:
 short,int和long类型都表示整型值,存储空间的大小不同.一般,short类型为半个机器字长,int类型为一个机器字长,而long类型为一个或两个机器字长(在32位机器中int类型和long类型通常字长是相同的).用sizeof可以看.
习题2.2 unsigned和signed类型有什么差别?
答:
unsigned表示无符号型,可以为只能表示非负数,signed为带符号型可以表示正数,负数,0.
习题2.3 如果在某机器上short类型占16位,那么可以赋给short类型的最大数是多少?unsigned short类型的最大数又是什么?
答:
short最大为2^15-1,unsigned short为2^16-1.
习题2.4 当给16位的unsigned short对型赋值100000时,赋的值是什么?
答:
ungsinged short 表示最大为2^16-1,2^16为全0,从这个全0算起到100000,所以为100000-2^16.
习题2.5 float类型和double类型有什么差别?
答:
flaot类型用一个字表示,double用两个字表示.
习题2.11 编写程序,要求用户输入两个数----底数(base)和指数(exponent),输出底数的指数次方的结果.
#include<iostream>
int main()//此只能计算底数为整数,指数为非负整数,计算范围也又限
{
    int base,exponent,result=1;
    std::cin>>base>>exponent;
    if(exponent==0)
    {
        if(base==0)
        {
            std::cout<<"输入有误"<<std::endl;
            return -1;
        }
        else
        {
            result=1;
        }
    }
    else if(exponent>0)
    {
        for(int i=0;i<exponent;++i)
        {
            result*=base;
        }
    }
    std::cout<<base<<"的"<<exponent<<"次方为: "<<result<<std::endl;
    return 0;
}

习题2.19 下列程序中j的值是多少?
答:j的值为100.

习题2.20下列程序段将会输出什么?
答:
输出:100   45.

习题2.21 下列程序合法吗?
答: 不合法,i在for中定义,在for外使用超出作用域.

习题2.22(题目看书吧~_~)
答:最好是定义一个const变量的值为100,阅读维护起来都好点.

习题2.23
答:不合法:(a)定义const对象时必须初始化.(b)定义const对象时不能初始化为变量(c)const定义后不能修改.

习题2.24
答:(a)不合法,将double型转为int,丢失精度,改为 double ival=1.01;
(b)对引用赋值用对象赋值
(c)合法
(d)合法,非const引用只能帮定到与该引用同类型的对象,const引用则可以绑定到不同但相关类型的对象或绑定到右值
(待续)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值