1基础知识:变量及标识符

  • 变量及标识符
  • 变量:程序运行时其值可以改变的量,且在使用之前一定要先声明
    • 声明的一般格式:[修饰符]+类型+标识符
    • 多个同类型的变量可以在一行中声明,不同变量用逗号隔开
    • 分类:整型变量、实型变量、字符变量
  • 标识符:用来对C++程序中的常量、变量以及用户自定义函数的名称进行标号的符号
  • 标识符命名规则
    • 在名称中只能使用字母、数字、下划线:其中三个 或两个或一个均可 只有单独数字不可以
    • 名称的第一个字符不能是数字
    • 区分大写字符与小写字符
    • 不能将C++关键字用作名称
  • #include<iostream>
    using namespace std;
    int main()
    {
    	int i; //声明变量:基本整型+变量名   整型变量只能放整型常量  有符号无符号均可
    	unsigned int j;// unsigned无符号修饰符 只能放无符号常量 因此只能放正数 不能放负数 
    	i=-1;
    	j=2; //-2 系统不会出错 会出现一组非常大的随机数  
    	cout<<i<<endl;
    	cout<<j<<endl;
    return 0;
    }

      

  • 整型变量:短整型(short)、基本整型(int)、长整型(long)

    • 所占内存:

      • 对于16位系统 所占用内存单元(2 2 4)
      • 对于32位系统 所占用内存单元(2 4 4)

      • 对于64位系统 所占用内存单元(2 4 4)
      • #include<iostream>
        using namespace std;
        int main() 
        {
        	cout<<sizeof(short)<<endl; // sizeof 变量占用内存单元 输出2  
        	cout<<sizeof(int)<<endl; // 输出4 
        	cout<<sizeof(long)<<endl;// 输出4 
                return 0;
        } 
    • 取值范围:

      • short 占用2个字节  一个字节8个位,以最高位进行正负之分,0为正,1为负

        • 取值范围为:1000000000000000~0111111111111111=-32768~32767
        • 0111111111111111+1-1=10000000000000000-1=1*2^15-1 =32767
        • 1000000000000000=-2^15=-32768
      • unsigned short的取值范围 0000000000000000~1111111111111111=0~65535

        • 1111111111111111+1-1=10000000000000000-1=2^16-1*2^0= 65535
  •  实型变量:又称为浮点型变量 单精度(float)提供7位有效数字;双精度(double)提供15位有效数字

    • 浮点数由三部分组成:
      • float:所占内存为4个字节,32位
        • 符号位S:1位  决定正负数
        • 指数部分E(阶码):8位
        • 尾数部分M:23位
      • double:所占内存为8个字节,64位
        • 符号位S:1位  
        • 指数部分E(阶码):11位
        • 尾数部分M:52位
    • 浮点数精度取决于尾数部分,尾数部分的位数越多,能够表示的有效数字越多
      • float:23位存储,加上默认的符号位的1位,2^(23+1)=16777216            10^7<16777216<10^8  所以说float的有效位数是7位。
      • double:52+1   2^(52+1)=9007199254740992    10^15<9007199254740992<10^16 double的有效位数为15
    • 取值范围 :

      • float: -3.4e38~3.4e38

      • double:-1.7e308~1.7e308

      • #include<iostream>
        using namespace std;
        int main() 
        {
                float a;
         	a=3.4e38;//3.4e39 超出范围 输出inf  	
        	cout<<a<<endl;
        	double b;
        	b=1.7e308;//1.7e3.9 inf
        	cout<<b<<endl;
        	return 0;
        } 
  • char 字符变量

    • #include<iostream> 
      using namespace std;
      int main()
      {
      	char ch1;//被类型说明符(char) 声明的变量 开辟的内存单元为 一个字节的内存单元 (8个位) 
      	ch1='a';//字符常量 每个字符对应一个 ASCII码 97(无符号整型常量) 
      	return 0; 
       } 
      

       

posted @ 2020-03-25 16:58  binglingtime  阅读(1333)  评论(0)    收藏  举报