热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

(待完善)一、基本内置类型C++定义了一组表示整数、浮点数、单个字符和布尔值的算术类型(arithmetictype)。另外,还定义了一种称为vo
(待完善...) 一、基本内置类型
        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: 欢迎关注微信公众号:开发者小黑屋,分享优质技术干货。 
这里写图片描述




推荐阅读
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
author-avatar
beitianmolang
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有