华夏银行,兵临城下-[中国杯]卡纳瓦罗从严治军,国家集训队有新纪律

本章内容包括:

  • C++变量的命名规矩。
  • C++内置的整型----unsigned long、long、unsig顾行红ned int、int、unsigned short、short、char、unsigned char、singed char 和boot。
  • C++11新增的整型:unsigned long long 和long long。
  • 表明各种整型的数字字面值(常量)
  • 运用const限定符来创立符号常量。
  • C++内置的杨娅姣浮点类型:float、double和long double。
  • 表明各种浮点类型的体系约束的cfloat文件。
  • 表明浮点类型的数字字面值。
  • C++的算术运算符。
  • 主动类型转化。
  • 强制类型转化。

面向对象编程(OOP)的本美丽俏佳人linda质是规划并扩展自己的数据类型。规划自己的数据类型便是让类型与数据匹配。

内置的C++类大金鼻祖型分两组:根本类型和契合类型。本章将介绍根本类型,即整数和浮点数。

表明存储的数据的办法:运用变量。

C++数据类型

3.1简略变量

3.1.1 变量名

C++变量命名规矩:

  • 在称号中只能运用字母字符、数字和下划线(_)
  • 称号的榜首个字符不能是数字
  • 差异大小写字符
  • 不必运用C++关键字作为称号
  • 以两个下划线或下划线和大写字母打头的称号将被保留给完成(编译器及其运用的资源)运用。以一个下划线最初的称号被保留给完成华夏银行,十万火急-[我国杯]卡纳瓦罗从严治军,国家集训队有新纪律,履冰险用作大局标识符(称号被声明的方位)
  • C++关于称号的长度没有约束,称号中一切的字符都有含义,但有些渠道有长度约束。(ANSI C只保证称号中的前63个字符有含义)

多个单词组成称号的处理办法:

  • 运用下划线字符分隔单词(C程序员惯用)
  • 从第二个单词开端首字母大写(Pascal程序员惯用)

3.1.2 整型

整数便是没有小数部分的数字,如2、10、12等。

  • 言语只能表明一切整数的一个子集
  • 不同人畜杂交C++整型运用不同的内存罕组词量来存储整数,运用的内存量越大,可表明的整数规模就越大

3.1.3 整型short、int、long、long long

  1. C++保证这些类型的最小长度:
  • short至少16位
  • int至少与short相同长
  • long至少32位,且至少与int相同长
  • long long至少64位,且至少与long相同长

2.位:计算机内存的根本单元,每一位都有0/1两种或许。

3.字节:8位的内存单元。

4.C++字节:由至少能够包容完成的根本字符集的相邻位组华夏银行,十万火急-[我国杯]卡纳瓦罗从严治军,国家集训队有新纪律成,即或许的取值数目有必要等于或超越字符总数。在运用ASCII码的体系中,一个字节表明8位;在运用Unicode的体系中,一个字节表明16或32位。

5.short是short int的简称,long是long int的简称

6.sizeof运算符回来类型或变量的长度,对类型名,将称号放在括号华夏银行,十万火急-[我国杯]卡纳瓦罗从严治军,国家集训队有新纪律中;对变量名,括号是可选的。eg:sizeof(int); sizeof n_short;

7.头文件climits界说了表明各种约束的符号称号,比方 INT_MAX

8.#define INT_MAX 32767 中#define是一个预处理器编译指令,它查找独立的token(独自的单词),越过嵌入的单词,进行替换

9.变量初始化的三种方法:

  • int owls = 101; // 来自C言语
  • int wrens(432); // C++方法
  • int hamburgers = {24}; //C++11初始化方法,用于数组或结构,也可用于单值变量

10.C++11初始化方法

  • int a{2};//a=2
  • int b = {3};//b=3
  • int c{};//c=0
  • int d = {};//d=0

C++11使得可将大括号初始化器用于任何类型(能够运用等号,也能够不运用),这是一种通用的初始化语法。

3.1.4 无符号类型

1.长处:增大变量能够存储的最大值

2.运用:运用关键字unsigned(unsigned int的缩写)

3.典型的整型溢出行为

3.1.5 挑选整型类型

1.int被设置为方针计算机的天然长度(natural size,指的是计算机处理起来功率最高的长度)

2.假如没有十分有说服力的理由,则挑选int

3.假如变量表明的值不或许为负,则运用无肉奴符号类型

4.假如知道或许表明的整数值大于16位证书的额最大或许值,则运用long

5.假如存储的值操作20亿,则运用long long

6.当有大型整型数组或节约内存很重要时才运用short

3.1.6 整型字面值

1.十进制:榜首位是1~9

2.八进制:纪梦佳榜首位是0

3.十六进制:前两位是0x或0X

4.虽然有不同的表明方法,可是都将以相同的方法(二进色皇宫制数) 存储在计算机中

5.操控符oct或hex,实际上是一条音讯,通知cout采纳何种行为

int a = 10;
//输出八进制
cout <
<

//输出十六进制
cout <
<

3.1.7 C++怎么确认常量的类型

1.除非有理由(运用特别后缀或许值太大)存储为其他类型,不然默许将整型常量存为int

2.首要看后缀

  • long:l/L后缀
  • unsigned int:u/U 后缀
  • unsigned long:ul/uL/Ul/UL后缀
  • long long 和 unsigned long long 同理

3.其次看长度

  • 关于不带后缀的十进制整数的考虑次序:int 、long、long long
  • 关于不带后缀的十六进制或八进制整数的考虑次序:int、unsigned int、unsigned long、long long、unsigned long long

3.1.8 char类型:字符和小整数

1.存储字母:经过字母的数值编码处理问题

2.char用来处理字符,也能够用做比short更小的整型

3.cin和cout的转化效果:依据变量类型,输入和输出字符类型

4.C++对字符运用单引号综漫之丢失神权,对字符串运用双引号

5.cout.put(字符常量/字符变量) 函数

  • 效果:显现一个字符
  • 是ostream的一个成员函数,句号是成员运算符
  • 前史原因:cout在C++Release 2.0之前,cout将字符变量显现为字符,而将字符常量显现为数字

6.char字面值

  • 惯例字符:运用单引号括起
  • 十分规字符(比方单引号):运用转义字符(\)转义,能够运用数字转义序列或字符转义序列(比方 \0x8和\b都表明退格)

7.通用字符名

  • C++支撑一个根本的源字符集,即可用来编写源代码的字符集
  • C++规范还答应完成供给扩展源字符集和扩展履行字符集
  • C++供给一种表明特别字符的机制,独立于任何特定的键盘,运用通用字符名(universal character name)
  • \\u + 8个十六进制位
  • \U + 16个十六进制位

8.signed char和unsigned char

  • char在默许状况下既不是有符号也不是没有符号的,是否有符号由C++完成决议
  • signed char规模-128~127,unsigned char规模0~255

9.wchar_t

  • 处理的问题:程序需求处理的字符集无法运用一个8位的字节表明
  • 处理办法1:假如大型字符集是完成的根本字符集,那么编译器厂商能够将char界说为爷孙情一个16位字节或许更长的字节
  • 处理办法2:运用wchar_t (宽字符类型),底层的类型取决于C++完成,或许是unsigned short或int等
  • wcin和wcout能够处理wchar_t流
  • 加上前缀L来指示宽字符常量和宽字符串(如,L"tall")

10.C++ 11新增类型:char16_t 和 char32_t

  • 处理的问题:Unicode的遍及,对特定长度和符号特征的类型的需求,而wchar_t随完成而不同
  • 运用前缀u指示char16_t,无符号,长16位
  • 运用前缀U指示char32_t,有符号,长32位

3.1.9 bool类型

1.C++将非零值解释为true,将零解释为false

2.任何数字值或指针值都就能够被隐式转化为bool值

3.2 const限定符

符号常量的表明:

  • 称号首字母大写
  • 整个称号大写
  • 运用前缀k
  • ......

假如声明常量时没有供给值,则该常量的值将是不确认的,且无法修正的。

const较#define的长处:

  • 能够清晰指定类型
  • 能够用运用C++的效果域规矩将界说限定在特定的函数或文件中
  • 能够将const用于复合类型

ANSI C和C++中const的差异:

  • 效果域规矩
  • C++中能够用const值声明数组长度

3.3 浮点数

小数,带小数部分的数字,分两部分存储,一部分表明值,另一部分表明缩放因子(用来移动小数点的方位)。

3.3.1 书写浮点数

1.规范小数点表明法

2.E表明法

  • d.dddE+n表明将小数点向右移动n位
  • d.dddE-n表穿盘是什么意思示将小数点向坐移动n位

3.3.2 宰相复婚记浮点类型

1.C++有3中浮点类型:float、doub宋昵荔le、long double

2.表明:有用数位+答应的指数最小规模

3.有用位(significant figure):数字中有含义的位

4.能够检查头文件cfloat获取体系对浮点数的约束

3.3.3 浮点常量

1杜世源病逝.默许状况下为double类型

2.假如期望常量为float类型,请运用f或F后缀

3.假如期望为long double,可运用l或L后缀

3.3.4 浮点数的优缺点

1.能够表明整数之间的值

2.因为有缩放因子,能够表明更大规模的的数

3.浮点运算速度慢,精度低

3.4 C++算术运算符

3.4.1 运算符优先级和结核性

1.仅当两个运算符被用于同一操作数乱舞清风时,优先级和结合性规矩才有用

2.C++运用优先级规矩来确认首要运用哪个运算符

3.能够运用括号来履行华夏银行,十万火急-[我国杯]卡纳瓦罗从严治军,国家集训队有新纪律自己界说的优先级

4.当两华夏银行,十万火急-[我国杯]卡纳瓦罗从严治军,国家集训队有新纪律个运算符优先级相一起,C++看操作数的结合性是从左到右仍是从右到左

3.4.2 除法分支

除法运算符(\)的行为取决于操作数的类型

3.4.3 求模运算符

求模运算符(%):回来整数除法的余数

3.4.4 类金博集团董事长王金来型姜涞在说转化

主动类型转化的状况:

  • 将一种算术类型的值赋给另一种类型的变量
  • 表达式中包括不同的类型
  • 将参数传递给函数时

#1:初始化和赋值进行的转化

#2:以{}方法初始化(列表初始化)时进行的转化(C++11)

列表初始化不答应缩窄

#3:表达式中的转化

#4:传递参数时的转化

1.C++对char和short类型使用整型提高

2.将参数传递给撤销原型对参数传递操控的函数时,C++将float参数提高为double

#5:强制类型转化

1.强制类型转化不会改动变量自身,而是创立一个新的、指定类型的值

2.强制类型转化格局

  • (typename) vlaue //C Style
  • typename (vlaue) //C++ Style,就像函数调用一般

3.static case value //更严厉的类华夏银行,十万火急-[我国杯]卡纳瓦罗从严治军,国家集训队有新纪律型转化

3.4.5 C++11中的auto声明

  • 让编译器依据初始值的类型揣度变量的类型
  • 一般用于处理杂乱类型,比方STL中华夏银行,十万火急-[我国杯]卡纳瓦罗从严治军,国家集训队有新纪律的类型
点击展开全文

上一篇:

下一篇:

相关推荐