C++基础<02>—变量和基本类型
来源:互联网 发布:知乎女神芈十四真名 编辑:程序博客网 时间:2024/05/19 23:25
(待完善...)
一、基本内置类型
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: 欢迎关注微信公众号:开发者小黑屋,分享优质技术干货。
0 0
- 基本类型变量和类型变量+基础
- C++基础<02>—变量和基本类型
- [C++][基础]1_变量、常量和基本类型
- C++:基本类型和变量
- JAVA基础 引用类型变量和基本类型变量
- Java基础-基本类型变量和引用类型变量
- 变量和基本类型---C++ 基础
- C++primer——第二章 变量和基本类型
- C++Primer读书笔记——变量和基本类型补充
- C++Primer 变量和基本类型
- c++Primer,二,变量和基本类型
- c++primer 要点-变量和基本类型
- 2.变量和基本类型(c++)
- C++Primer笔记--变量和基本类型
- 变量和基本类型
- 变量和基本类型
- 变量和基本类型
- 变量和基本类型
- 迭代器,生成器及内置函数补充
- 006 Android应用开发的9个组件
- 利用搜索引擎来搜索特定网站中的关键词
- ReactNative(六)——利用RN状态机管理组件状态
- Masonry详解
- C++基础<02>—变量和基本类型
- 24. Swap Nodes in Pairs [easy] (Python)
- 中国计算机学会推荐投稿期刊和学术会议截稿汇总 - 五月版
- PAT (Advanced Level) Practise 1003. Emergency (25) Dijstra扩展应用
- linux echo 用法
- iOS 网络篇1—网络编程基础
- 9.Tornado的核心web框架tornado.web小结---RequestHandler和Application
- 数字电路的模拟
- 视频编码与封装