热门标签 | 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: 欢迎关注微信公众号:开发者小黑屋,分享优质技术干货。 
这里写图片描述




推荐阅读
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 本文档旨在提供C语言的基础知识概述,涵盖常量、变量、数据类型、控制结构及函数定义等内容。特别强调了常量的不同类型及其在程序中的应用,以及如何正确声明和使用函数。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 宝塔面板下启用HTTPS的详细指南
    本文提供了在宝塔面板环境中配置HTTPS的具体步骤,确保您的网站通信更加安全可靠。 ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • 通过命令行执行Robot Framework测试用例的方法
    本文介绍如何利用命令行工具来运行Robot Framework中的测试文件及用例,解决常见的模块未找到错误。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • 本文深入探讨了MySQL中的高级特性,包括索引机制、锁的使用及管理、以及如何利用慢查询日志优化性能。适合有一定MySQL基础的读者进一步提升技能。 ... [详细]
  • STM32代码编写STM32端不需要写关于连接MQTT服务器的代码,连接的工作交给ESP8266来做,STM32只需要通过串口接收和发送数据,间接的与服务器交互。串口三配置串口一已 ... [详细]
  • 将XML数据迁移至Oracle Autonomous Data Warehouse (ADW)
    随着Oracle ADW的推出,数据迁移至ADW成为业界关注的焦点。特别是XML和JSON这类结构化数据的迁移需求日益增长。本文将通过一个实际案例,探讨如何高效地将XML数据迁移至ADW。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文总结了 #define 在 C/C++ 编程中的多种用途和技巧,包括定义常量、函数、宏以及条件编译等,并提供了详细的示例和注意事项。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
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社区 版权所有