C++ primer 学习笔记(第二章:变量和基本类型)
来源:互联网 发布:盗贼源码解压密码 编辑:程序博客网 时间:2024/05/29 17:36
2.1基本内置类型
C++定义了一套包括算术类型和空类型在内的基本数据类型。
2.1.1、算术类型
算术类型分为两类:整型(integer type,包括字符和布尔类型在内)和浮点型。
基本字符是char,扩展字符集有:wchar_t,char16_t,char32_t,wchar_t。
C++规定一个int至少和一个short一样大,一个long至少和一个int一样大,一个long long至少和一个long一样大。long long是C++11中的最新特性。
浮点型可以表示单精度、双精度和扩展精度值。C++标准指定了一个浮点数有效位数的最小值,然而大多数编译器都实现了更高的精度。
带符号类型和无符号类型:
出去布尔型和扩展的字符型之外,其他整型可以划分为带符号的(signed)和无符号的(unsigned)两种。
带符号类型可以表示正数、负数或0,类型int、short、long和long long都是带符号的;无符号类型则仅能表示大于等于0的值,通常是在类型的前面加上unsigned,这样就可以得到无符号类型的值。
与其他类型不一样的是char型,被分为三种:char、signed char、unsigned char。特别值得注意的是:char和signed char并不一样。尽管是字符的表现形式却只有两种:带符号和无符号。具体使用哪种形式有编译器决定。
2.1.2、类型转换
当程序的某处我们使用了一种类型而其实对象应该取另一种类型时,程序会自动进行类型转换。
类型所能表示的值的范围决定了转换的过程:
1、当我们把一个非布尔类型的算术值赋值给布尔类型时,初始值为0则结果为false,否则结果为true。
2、当我们把一个布尔类型的赋给非布尔类型时,初识值为false则结果为0,初始值为true则结果为1.
3、当我们把一个浮点数赋给整数类型时,进行近似处理。结果值将仅保留浮点数中小数点之前的部分。
4、当我们把一个整数赋给浮点类型时,小数部分记为0。如果该整数所占的空间超过了浮点类型的容量,精度可能有损失。
5、当我们赋给无符号类型一个超出它表示的范围的值时,结果是初识值对无符号类型表示数值总数取模后的余数。
6、当我们赋给带符号类型一个超出它表示的值时,结果是未定义的(undefined)。此时程序可能继续工作、可能崩溃、可能生成垃圾数据。
2.1.3、字面值常量
一个形如42的值被称作字面值常量。
整型和浮点型的字面值常量
以0开头的代表八进制数,以0X开头的带表十六进制数,例如:以下几种形式都表示数值是20
20 十进制数 024 八进制数 0x14 十六进制数
如果我们使用一个形如-42的负十进制字面值,那个负号并不在字面值之内,它的作用仅仅是对字面值取负值而已。
浮点型字面值表现为一个小数或以科学计数法表示的指数,其中指数部分用E或e标识:
3.14159 3.14159E0 0. 0e0 .001
字符和字符串字面值
单引号括起来的一个字符称为char型字面值,双引号括起来的零个或多个字符则构成字符串类型字面值。
编译器在每个字符串的结尾处添加了一个空字符(‘\0’)
转义序列
C++转义序列包括:
换行符 \n 横向制表符 \t 报警(响铃)符 \a 纵向制表符 \v 退格符 \b 双引号 \"
反斜线 \\ 问号 \? 单引号 \' 回车符 \r 进纸符 \f
指定字面值的类型
L‘a’ u8“hi!” 42ULL 1E-3F 3.14158L
- long double ld = 3.1415926536;
- int a{ld}, b = {ld}; //出错,不允许出现精度的丢失
- int c(ld), d = ld; // 非列表初始化,但是会出现精度的丢失
- C++Primer第二章(变量和基本类型)笔记
- C++primer学习笔记(一):第二章.变量和基本类型
- C++Primer笔记 第二章 变量和基本类型
- c++ primer 学习笔记,第二章变量和基本类型
- c++ primer 学习笔记 第二章 变量和基本类型
- C++Primer学习笔记第二章(2/18) 变量和基本类型
- c++primer 学习笔记(2.0)变量和基本类型
- C++ primer 学习笔记(第二章:变量和基本类型)
- 《C++ Primer》学习笔记 第二章 变量与基本类型
- C++Primer 学习笔记 第二章(变量和基本数据类型)
- 《C++Primer》 第二章 变量和基本类型
- C++Primer 4 第二章 变量和基本类型
- 第二章 变量和基本类型 《C++Primer》
- [C++Primer] 第二章 变量和基本类型
- C++primer——第二章 变量和基本类型
- 《C++primer》第二章--变量和基本内置类型
- C++ Primer 第二章 变量和基本类型 笔记
- (笔记)C++ Primer/第二章 变量和基本类型
- 腾讯防刷负责人:基于用户画像大数据的电商防刷架构 - 本文出自BI168大数据社区,更多精彩请点击 原文地址:http://www.bi168.cn/>>http://www.bi168.cn/th
- selenium调用chrome
- git工作流
- C++实现停车场管理系统
- 常用Android开发组件之列表类组件
- C++ primer 学习笔记(第二章:变量和基本类型)
- Spring task @Async执行失败原因分析
- 设计模式之单例模式的7种写法
- iOS 在cell上面设置登陆账号密码
- jsp:include 导入一个action
- MySQL查询优化
- Android四大组件之Activity--启动模式
- 微信摇一摇功能
- 多线程初探(三)