zoukankan      html  css  js  c++  java
  • 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):类似于函数调用

            

            

  • 相关阅读:
    java降序排列
    冒泡排序-java
    redis-并发竞争问题
    超卖问题
    算法-题目汇总-6
    算法-题目汇总-4
    算法-题目汇总-1
    算法-二分查找-1
    算法-bst-平衡搜索二叉树-1
    算法-位运算-1
  • 原文地址:https://www.cnblogs.com/Z-D-/p/12363961.html
Copyright © 2011-2022 走看看