c++primer第二章习题
来源:互联网 发布:网站cms 编辑:程序博客网 时间:2024/04/29 09:28
习题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引用则可以绑定到不同但相关类型的对象或绑定到右值
(待续)
答:
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引用则可以绑定到不同但相关类型的对象或绑定到右值
(待续)
- c++primer第二章习题
- C++primer 第二章习题
- C++primer第二章习题
- c primer plus 第二章习题摘录
- C++primer[习题][第二章][1-10]
- C++primer[习题][第二章][11-20]
- C++primer[习题][第二章][21-30]
- C++primer[习题][第二章][21-30]
- C++primer[习题][第二章][31-42]
- 《C Primer Plus》第二章 C语言概述 课后习题
- 【C Primer Plus】【课后习题】第二章C语言概述
- c++Primer学习笔记之七:第二章课后习题
- C++Primer 中文版 第五版 第二章课后习题答案
- 《C Primer Plus 》第六版 习题 第二章
- C++ primer 第二章习题
- C++Primer第三章习题
- C++Primer第五章习题
- c++primer 第十章习题
- 有关oracle data block的英文解读
- 为什么要学习SOAP/WebService?
- ddfg
- sequence与会话有关--oracle一个比较烂的特性
- select 中的union 和union all用法
- c++primer第二章习题
- JTable列拷贝的实现
- [C语言]基于UDP的基本C/S模型
- 实现浏览器全屏窗口的几种方法
- 求职经历--ThoughtWorks
- 关于算命
- 中缀到后缀表达式的转换
- [转帖]IT人不可不听的10个故事
- 老友记-I'll Be There For You