您的位置:首页 > 编程语言 > C语言/C++

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

2016-05-29 15:09 302 查看
(待完善...)

一、基本内置类型

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. 整型

表示整数字符布尔值的算术类型合称为整型。

字符类型有两种:charwchar_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. 布尔字面值

单词 truefalse 是布尔型的字面值。

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: 关注公众号,技术分享,学习交流

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: