灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2907回复:0

[C++技术]【C++ Primer】三章学习笔记 (处理数据)

楼主#
更多 发布于:2012-09-06 11:32


处理数据
一,分类
       基本类型+复合类型
               基本类型包括:整数和浮点数
               复合类型包括:结构(struct)
       整数分类
               整型:char  short  int  long  及unsigned  八种
               浮点型:float  double  long double
               布尔型:boole 有时候也算整数
二,整型讲解
    1,表达
          short=short int
          long =long int
    2,函数使用
          sizeof()//返回类型的长度 字节
          sizeof 变量  //就是 括号可以省略
     3,无穷值的使用
          要想获取每种类型的极值。可以在头部添加
           #include "limits.h"
           INT_MAX,INT_MIN//分别表示整型数最大、最小值
     4,无符号跟有符号数差别
            -128-127   0-255  short型;无符号数最高位可以当做数值
     5,极值加减法:
           1> 有符号数:int max=INT_MAX;
                无符号数:unsigned  int un_max=INT_MAX;
                  max++
                  un_max++

                  max=-2^31
                  un_max=2^32+1
           2>有符号数:short sam=0;
                无符号数:unsigned  short un_sam=0;
                  sam--;
                  un_sam--;
                  sam=-1;
                  un_sam=255;
     6,long long ;unsigned  long long:至少是64位
     7,优化考虑,如果没有大型整数,尽量选用 short(如果可以满足的话)
           char 也可以
     8,int  a=42; //十进制  decimal
           int  b=042;//八进制   hex
           int  c=0x42;//十六进制  octal

           cout<<"a="<<a<<endl;//十进制格式输出
           cout<<"b="<<b<<endl;//八进制格式输出
           cout<<hex;
           cout<<"c="<<c<<endl;//十六进制格式输出
           cout<<oct;
     9,名空间
           如果cout这样用
           std::cout<<
           std::endl
           std::hex
           std::oct
        则上述关键字(cout,endl,hex,oct;比如  int  cout;)都可以用作变量名
           std::cout.put('d');//输出函数
    10,const 只读
               const  int a;
               a=9;
               //这是不正确的,定义完后就不允许更改变量值了
           const比define好处
                1>明确指定类型
                2>可以使用作用域,将const 定义的变量范围限制在某个文件或者函数中
三,浮点数
          1,通常float 32位   有效位数
                    double 64位
                    long double 80 96 128
             float 只能表示数值中的前六位
           2,强制类型转换不会改变 变量本身值
                   int b=(int) a
                  不会改变 a 的值,仅仅改变b 的值。


喜欢0 评分0
游客

返回顶部