2.1
不同的类型占的比特数不同,int占16位,long占32位,long long 占64位,short占6位。
符号型与无符号型的区别是,带符号型可以表示正数,负数,或0.无符号类型仅能表示大于0的值。
double表示双精度,而float表示单精度。double以2个字来表示float以一个字来表示。
2.2
计算按揭贷款时,利率用双精度浮点数表示。
本金用unsigned long表示
2.5
字符 宽字符 字符串 宽字符串
数字 无符号数 长整数 无符号长整数 6
浮点数 浮点数 长型浮点数
2.6
第一组定义是10进制,第二组是8进制
2.7
145和012分别表示转移字符
LONG DOUBLE
2.8
cout<<"2M12"<<"hello"<<endl;
cout<<"2 M "<<"hello"<<endl;
2.9
a.不能在输入语句处定义变量
b.该变量应为浮点数型定义。
c.方法定义错误
d.有警告,隐式转换,应为3
2.10
int 初始化 0 string 初始化为一个空串
2.11
a.定义 b.定义 c.声明
2.12
a.非法 b.非法 c.非法 d.非法 e.合理
2.13
j=100
2.14
在for循环中定义的变量只在该循环有用
2.15
a.警告信息,使用int类型初始化float对象
b.左值引用后面必须是变量,而不应常量值
c.正确
d.引用必须初始化,不可以单独定义
2.16
a.正确
b.正确
c.隐式转换
d.正确
2.17
10 10
2.18
int i=1,j=2; int *p=&i,*p1; p1=p; *p=2; cout<<i<<endl;
2.19
引用必须初始化,而指针不用
引用在声明周期内只能指向一个变量,而指针可以改变指向的对象
指针本身就是一个对象,允许拷贝和赋值
2.20
p1指向i的地址
返回i的平方和
2.21
(a)类型定义错误 (b)类型错误 (c)正确
2.22
if(p)判断p是否为空指针
if(*p)判断p指向的变量是否为0
2.23
不能,无法判断一个指针是否指向了非法的对象或者内存,只能在使用过程中发现。
2.24
void*型指针可以保存所有变量的地址,但是不能对变量进行操作。
long型指针只能存储long型变量。
2.25
(a)ip int型指针 i int型变量 r int型别名
(b)ip为int型指针,初始化为0
2.26
(a)buf未经初始化
(c)const 变量的值不能改变
2.27
(a)引用的初始化应该指向一个变量而不是值。
(b)int*const p 为常量指针,p地址无法改变
(c)正确
(d)正确
(e)正确
(f)引用不能是const
(g)正确
2.28
(a)cp为常量指针 cp保存的值不能改变
(b)p1为普通指针 p2为常量指针
(c)ic 为const变量 r为const引用 无法改变指向的变量的值
(d)p3为指向const变量的const 指针 仅提供访问功能 且地址不能变化
(e)p指向const变量
以上除了e均不合法 未初始化
2.29
1.合法 2.不合法 3.不合法 4.不合法 5.不合法 6.不合法