C++基础<02>—变量和基本类型

(待完善...)
一、基本内置类型
          C++定义了一组表示整数浮点数单个字符布尔值算术类型(arithmetic type)。另外,还定义了一种称为void的特殊类型。
C++:算术类型
类型 含义 最小存储空间
bool 布尔型
char 字符型 8位
wchar_t 宽字符型 16位
short 短整型 16位
int 整型 16位
long 长整型 32位
float 单精度浮点型 6位有效数字
double 双精度浮点型 10位有效数字
long long 扩展精度浮点型 10位有效数字

1. 整型
表示 整数字符布尔值的算术类型合称为整型。
字符类型有两种: char 和  wchar_t
1.1 带符号和无符号类型
除了bool类型外,整型值可以是 带符号的(signed),也可以是 无符号的(unsigned)
带符号类型可以表示正数也可以表示负数(包括0),而无符号的只能表示大于或等于0的数。

1.2 整型值的表示
无符号(unsigned)类型中,所有的位都表示数值;有符号(signed)类型的表示一般由灭个编译器决定,但通常是将最高位作为符号位,符号位为1,值就为负数,符号位为0,值就为0或正数。

1.3 整型的赋值
注:超出取值范围的赋值,通常是对该类型的可能取值数目求模,然后取所得值。

2. 浮点型
float、double和long long


二、字符值常量
字面值常量(literal constant)指的是只能它的值来称呼它,并且它的值不能被修改的一类常量。
*只有内置类型存在字面值,没有类类型的字面值。
1. 整型值字面值
    整型字面值常量可以用十进制、八进制和十六进制表示。
    以0(零)开头的表示八进制,以0x或0X开头的表示十六进制。
*通常在数值后面加上l(字母"L"大写或小写)指定常量为long类型,数值后面添加U或u定义unsigned类型。没有short类型的字面值常量。

2. 浮点字面值
    默认的浮点字面值常量为double类型。

3. 布尔字面值
     单词  true     false  是布尔型的字面值。

4. 字符字面值
    可打印的字符型字面值通常用一对 单引号来定义,eg:'a'
    在字符字面值前面加L就能够得到wchart_t类型的宽字符字面值。

5. 非打印字符的转义序列
    不可打印的实际上是不可显示的字符,即转移字符:
换行符 \n         
纵向制表符 \v
回车符 \r
报警(响铃)符 \a
疑问号 \?
双引号 \"
水平制表符 \t
退格符 \b
进纸符 \f
反斜线 \\
单引号 \'

6. 字符串字面值
字符串字面值常量用双引号括起来的零个或多个字符表示。
*为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符。
两个相邻的仅由空格、制表符和换行符分开的字符串字面值(或宽字符串字面值),可连接成一个新字符串字面值。

7. 多行字面值
在一行的末尾加一反斜线符号可将此行和下一行当作同一行处理。
*反斜线符号必须是该行的尾符号—不允许其后面有注释或空格

三、变量
变量提供了程序可以操作的有名字的存储区。

变量名,即变量的标识符(identifier),可以由字母、数字和下划线组成。变量名必须以字母或下划线开头,并且区分大小写。
*关键字不能用作程序的标识符。除了关键字,C++标准还保留了一组标识符用于标准库。标识符不能包含两个连续的下划线,也不能以下划线开头后面紧跟一个大写字母。


四、const限定符

五、引用

六、typedef名字
作用:①用来定义类型的同义词;②名字可以用作类型说明符
应用目的:①为了隐藏特定类型的实现,强调使用类型的目的;②简化复杂的类型定义;③允许一个类型用于多个目的,同时使得每次使用该类型的目的明确。

七、枚举(enumeration)

八、类类型
每个类都定义了一个 接口(interface) 和一个 实现(implementation)
接口由使用该类的代码需要执行的操作组成;实现一般包括该类所需要的数据。

类定义了组成该类型的 数据操作。操作称为成员函数,数据称作数据成员。

访问标号( public、protected、private)控制类的成员在类外是否可访问。

定义变量和定义数据成员的重要区别:一般不能把类成员的初始化作为其定义的一部分。当定义数据成员时,只能指定该数据成员的类型和名字。类通过构造函数控制初始化

struct和class区别
使用class还是struct关键字定义类,仅仅影响默认的初始访问级别。默认情况下,struct的成员为public,而class的成员为private。

头文件用于声明而不是用于定义。
头文件不应该包含定义的意外情况:
①头文件可以定义类;②头文件可以定义值在编译时就已知道的const对象;③inline函数

预处理器(preprocessor)
预处理器变量两种状态:已定义和未定义。#define指示接受一个名字并定义该名字为预处理器变量。#ifndef指示检测指定的预处理器变量是否未定义。例如:
    
    
    
    
#ifndef SALESITEM_H
#define SALESITEM_H
// ....
#endif


PS: 关注公众号,技术分享,学习交流 




你可能感兴趣的:(编程,C++)