第二章。

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.不合法

原文地址:https://www.cnblogs.com/Zero-0/p/12753213.html