《C++ primer 读书笔记》:常量与变量

C++预定义数值数据类型:(用来表示整数、浮点数和单个字符)

  1. 字符型 char 通常用来表示单个字符和小整数,它可以用一个机器字节来表示。
  2.  整型 int、 短整型 short 、长整型 long,它们分别代表不同长度的整数值。典型情况下,short 以半个字表示,int 以一个机器字表, 而 long 为一个或两个机器字 。(在32 位机器中 int 和 long 通常长度相同)
  3. 浮点型 float、双精度 double 和长双精度 long double 分别表示单精度浮点数、双精度浮点数和扩展精度的浮点数值。典型情况下,float 为一个字,double 是两个字,long double 为三个或四个字。

      前两类被称为整值类型,可以有符号也可以无符号。

 

  • 文字常量

文字:只能以它的值的形式指代它      常量:值不能被改变。

每个文字都有相应的类型。文字常量是不可寻址的。

1.数值常量

             当一个数值出现在程序中时,它被称为文字常量。

在缺省情况下,整型文字常量被当作是一个 int 型的有符号值 ,浮点型文字常量在缺省情况下被认为是 double 型 。可以在文字常量后面加一个 L 或 l (字母 L 的大写形式或者小写形式)将其指定为 long 类型(一般情况下 我们应该避免使用小写字母 ,因为它很容易被误当作数字 1 );在整型文字常量的后面加上 u 或 U 将其指定为一个无符号数 。单精度文字常量由值后面的 f 或 F 来标示。扩展精度中值后面跟的 l 或 L 来指示 。

在整型文字常量前面加一个 0,该值将被解释成一个八进制数。而在前面加一个 0x 或 0X则会使一个整型文字常量被解释十六进制数 。

2.bool常量(无需加单引号)

单词 true 和 false 是 bool 型的文字常量。

3.字符常量

可打印的文字字符常量可以写成用单引号括起来的形式 。

一部分不可打印的字符、单引号、双引号以及反斜杠可以转义序列来表示。(以反斜杠开头)

字符文字前面可以加 L,例如L'a',称为宽字符文字,类型为 wchar_t 。宽字符常量用来支持某些语言的字符集合,如汉语、日语,这些语言中的某些字符不能用单个字符来表示。

4.字符串常量

字符串文字常量由零个或多个用双引号括起来的字符组成,不可打印字符可以由相应的转义序列来表示 ,而一个字符串文字可以扩展到多行,在一行的最后加上一个反斜杠,表明字符串文字在下一行继续 。

字符串文字的类型是常量字符数组,它由字符串文字本身以及编译器加上的表示结束的空 null 字符构成 。

如果两个字符串或宽字符串在程序中相邻,C++就会把它们连接在一起,并在最后加上一个空字符 。

 



  • 变量

变量提供了一个有名字的内存存储区,可以通过程序对其进行读、写和处理。C++中的每个符号变量都与一个特定的数据类型相关联,这个类型决定了相关内存的大小、布局、能够存储在该内存区的值的范围以及可以应用其上的操作集。我们也可以把变量说成对象。

变量是可寻址的。

对于每一个变量 都有两个值与其相关联:数据值(右值)和地址值(左值)。

如果一个变量是在全局域内定义的,那么系统会保证给它提供初始值 0 。如果变量是在局部域内定义的,或是通过 new 表达式动态分配的,则系统不会向它提供初始值 0, 这些对象被称为是未初始化的。未初始化的对象不是没有值,而是它的值是未定义的。

C++支持两种形式的初始化 

//使用赋值操作符的显式语法形式
int ival=1024;
//隐式形式,初时只被放在括号中
int inval(1024);
//每种内置数据类型都支持一种特殊的构造函数语法 可将对象初始化为 0
int ival=int(); //ival=0
double dval=double(); //double=0.0

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值