C++处理数据

1 简单变量

  C++内置类型:

    基本类型/算术类型:整型(bool、char、wchar_t、符号整型(signed char、 short、 int、long、long long)、无符号整型(unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long)、char16_t,char32_t)、浮点型(float、double、long double)

    复合类型:数组、字符串、指针和结构

  标识数据的方法:

    使用&运算符检索变量名的内存地址。

    使用指针标识。

  变量名:

    区分大小写

    一个下划线开头的名称被保留给实现,用作全局标识符

    变量命名和函数命名一样

  整型:

    最小长度:

    char 8位;  short 16位;  int 16位;  long 32位;  long long 64位;

    有无符号;

    sizeof返回类型或者变量的长度,单位为字节

    头文件climits中包含了整数限制的信息:最大取值,字节位数

    预处理编译命令:#define 和 #include 一样

    为提高可移植性,int可用long

climits中的符号常量

  无符号类型:

      short:[0,65535]

      默认是有符号

      signed MAX_SHORT + 1 = signed MIN_SHORT

      unsigned MIN_SHORT - 1 = unsigned MAX_SHORT

      

整数溢出

  整型字面值:

    十进制

    十六进制:常用来表示内存地址,而内存地址没有符号

    八进制

    注意:endl为控制符;其他控制符:dec、hex、oct;标识符hex位于名称空间std中;

    防止溢出:使用long或者long long

  char类型:

    存储字符

    cout会自动识别数据类型,是智能对象的一个例子。

    成员函数cout.put():

      类ostream;cout对象;put()成员函数;

    转义序列的编码:

    通用字符名的用法类似于转义序列:

      以\u(后接8个十六进制位)或者\U(后接16个十六进制位)开头。

    处理日文汉字系统:

      1是编译器厂商可以将char定义为一个16位的字节或更长的字节。

      2是wchar_t(宽字符类型)可以表示扩展字符集。

        其中,wcin和wcout可以处理wchar_t流

    C++11中新增:

      char16_t:无符号,16位,前缀u表示字符常量和字符串常量

      char32_t:无符号,32位,前缀U表示常

      都有底层类型-内置的整型。

  bool类型:

    bool类型可以转换为int类型,也可以将数字值或者指针值转换为bool值。

2 const限定符

  名称的首字母大写,以提醒该名称是常量;

  另一种是以字母k开头;

  如果在声明常量时没有提供值,则该常量的值不确定,且无法修改。

  #define创建常量时可以将整个名称都大写;const相对于#define的好处:可以指定类型,作用域可以为特定函数中。

3 浮点数

  能够表示带小数部分的数字;提供的值范围更大,可以表示整数之间的值;使用缩放因子移动小数点的位置;

  浮点数的表示方法:

    1是使用小数点。

    2是使用E表示法。适合非常大和非常小的数。指数为负数时,除以10的乘方。

    

E表示法

  浮点类型:  

    3种:float,double,long double;

    至少有效位数要求:32位,  48位,  ==long double;

    通常:32位,64位,80/96/128位;

    指数范围至少:[-37,37]

    通常:cout会删除结尾的零,而cout.setf()会覆盖这种行为;

    cout.setf()迫使输出使用定点表示法,以便更好地了解精度,防止程序把较大的值切换为表示法,并使程序显示到小数点后6位。

    float类型只能表示数字中的前6位(四舍五入后的有效位,保证精度下的正确值)或者前7位,后面的数发生改变时不影响值。    

  浮点常量:

    系统默认将浮点数存为double类型,若使用float时,使用f或者F后缀;使用long double时,使用l或L后缀;

  优缺点:

    优点:表示整数之间的值;缩放因子可以使表示的范围大得多;

    缺点:运算速度通常整数运算慢,且精度降低;  

4 算术运算符

  优先级和结合性

  除法:

   各种除法

  类型转换:

    潜在的数值转换问题:

    以{}初始化时转化:

      常用于给复杂的数据类型提供值列表,条件是编译器知道目标变量能正确地存储赋给它的值;

      非常量不允许转换;

    表达式中转换:

      C++11的校验表,编译器将以此查阅该列表:

 

    传递参数时转换

    强制类型转换        

      通用格式:(typeName) value;

           typeName(value):类似于函数调用

        

        

猜你喜欢

转载自www.cnblogs.com/Z-D-/p/12363961.html