C++变量与基本类型

来源:互联网 发布:算法与程序结合 编辑:程序博客网 时间:2024/04/29 05:39

C++变量与基本类型

---学习笔记

 

一、    从键盘输入文件结束符

Windows系统:control+Z

UnixOS-XMaccontrol+D

 

二、    基本内置类型

算数类型表

 

类型

含义

最小存储空间

取值范围

bool

布尔型

-

 

char

字符型

8

-2^7 ~ 2^7-1

wchar_t

宽字符型

16

 

short

短整型

16

-2^15 ~ 2^15-1

int

整型

16

-2^31 ~ 2^31-1

long

长整型

32

-2^31 ~ 2^31-1

float

单精度浮点数

6位有效数字

+/- 3.40282e+038

double

双精度浮点数

10位有效数字

+/- 1.79769e+308

long  double

扩双精度浮点数

10位有效数字

+/- 1.79769e+308

 

整数型:

Shortintlong:

Short类型表示半个机器字(word)长,int类型表示一个机器字长,而long类型为一个或两个机器字长(在32位机器中,int类型和long类型通常字长是相同的)。

 

 

 

三、    字面值常量

1、字面值规则

0(零)开头的字面值整数产量表示八进制;

0x0X开头的表示十六进制;

通过在数值后面加Ll指定常量为long类型;

通过在数值后面加Uu指定常量为unsigned类型;

通过在数值后面加Ff指定常量为float类型;

使用科学计数法时,指数用Ee表示;

默认的浮点字面值常量位double类型;

在字符字面值前面加L就能得到wchar_t类型的宽字符字面值;如:L’a’;

 

注意:以上提倡用大写,小写容易引起混淆;

 

2、多行字面值:

连接多行字面值的方法:在一行的末尾加反斜线符号(”\”),可将此行和下一行当作同一行处理。

 

四、     变量

1、初始化:直接初始化,复制初始化

int ival(1024);//直接初始化

int ival(1024);//复制初始化

 

注意:“初始化不是赋值”。

初始化:指创建变量,并给它赋予初始值;

赋值:指擦除对象的当前值,并用新值代替;

2、声明和定义

定义:用于为变量分配存储空间,还为变量在hiding初始值。在一个程序中,变量有且仅有一个定义。

声明:用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字来声明变量名而不定义它。

Extern声明不是定义,也不分配存储空间。事实上,它只是说明变量在程序的其他地方。程序中的变量可以声明多次,但只能定义一次。

 

注:只有当声明也是定义时,声明才可以有初始化式,因为只有定义才能分配空间。初始化式必须要有存储空间来进行初始化。如果声明有初始化式,那么它可以当作是定义,即使声明中标记为extern

 

五、     const限定符

1、定义const对象

定义格式:const int bufsize=10;

2、const对象默认为文件的局部变量

与其他变量不同,除非特别说明,在全局作用域声明的const变量是定义该对象的文件的局部变量。此变量只存在于那个文件中,不能被其他文件访问。

通过指定const变量为extern就可以在整个程序中访问const对象。

例:

//file_1.cpp

externconst int bufSize =fun();

//file_2.cpp

externconst int bufSize;

//usebufSize

for(intindex=0; index!=bufSize; ++index)

六、     引用

1、引用的格式:int i;

              int &m=i;

其中:引用名类型必须与原对象的类型相同。

2、引用是别名:因为引用只是绑定的对象的另一名字,作用在引用上的所有操作事实上都是作用在该引用绑定的对象上。

3、const对象的引用必须为const

4、const可以引用非const对象;

 

七、typedef名字

     typedef用来定义类型的同义词

如:

typedef int num

num value//定义valueint类型

 

八、枚举(enum

1、定义枚举和初始化枚举

enum openModes {input,output,append};

注:默认的,第一个枚举成员赋值为0,后面每个枚举成员附的值比前面的值大1

2、枚举成员是常量

给枚举常量赋值,例:

//shape is 1,sphere is 2,cylinder is 3,polygon is 4

enum Forms {shape=1,sphere,cylinder,polygon};

在枚举类型Forms中,显示的将shape赋值为1,其他成员隐式初始化。

枚举成员值可以不是唯一的,如:

//x=2,y=3,m=3,n=4

enum Point{x=2,y,m=3,z};

3、每个enum都定义一种唯一的类型

Point x=shape;

x=shape;

x=1;//非法,即使3与相应的枚举成员关联

 

原创粉丝点击