一、数据类型与表达式

1、C++的数据类型

1.数据和类型**

  • 计算机处理的对象是**数据,而数据是以某种特定的形式存在的(例如整数 浮点数 字符等形式)**

  • 不同的数据之间往往还存在某些**联系**(例如由若干个整数组成 个整数数组)。

  • 数据结构指的是数据的组织形式**。例如,数组就是一种数据结构。**



* 寸草不生C - 图1 | 类型 | 类型标识符 | 字节 | 数值范围 | | | —- | —- | —- | —- | —- | | 整型 | [signed] int | 4 | -2147483648 ~ +2147483647 | | | 无符号整型 | unsigned [int] | 4 | 0 ~ 4294967295 | | | 短整型 | short [int] | 2 | -32768 ~ +32767 | | | 无符号短整型 | unsigned short [int] | 2 | 0 ~ 65535 | | | 长整型 | long [int] | 4 | -2147483648 ~ +2147483647 | | | 无符号长整型 | unsigned long [int] | 4 | 0 ~ 4294967295 | | | 字符型 | [signed] char | 1 | -128 ~ +127 | | | 无符号字符型 | unsigned char | 1 | 0 ~ 255 | | | 单精度 | float | 4 | 3.410~3.410 | | | 双精度型 | double | 8 | 1.710~1.710 | | | 长双精度型 | long double | 8 | 1.710~1.7*10 | |

2.常量与变量

  • 常量:在程序运行过程中,其值一直保持不变的量为常量

    1. 常量也区分不同的类型:3040 为整型,30.040.0为实型,<br /> 编辑器只是根据其表面形式来判断其类型。
  • 变量:在程序运行过程中 其值可以改变的量为变量 在程序运行过程中

变量在程序执行中能够赋值,发生变化。变量有一个名字,并在使用之前要说
明其类型,一经说明,就在内存中占据与其类型相应的存储单元

  • 变量的存储类型

    • auto存储类

      1. 属于一时性存储,其存储空间可以被若变量多次覆盖使用
    • register存储类

      1. 存放在通用寄存器中。
    • extern存储类

      1. 在所有函数和程序段中都可引用。
    • static存储类

      1. 在内存中是以固定地址存放的,在整个程序运行期间都有效。
  • 变量名的命名方法

    • 变量名、数组名、函数名、数组名、函数名…称为标识符。
    • 标识符只能由字母、数字、下划线这三种字符组成,且第一个字符必须为字母或下划线,长度不大于247个字符,大小写不通用。
    • 关键字不能作为标识符,关键字即是VC++的语法要求中使用的字, 如int if while 等。

      1. 正确的标识符:INT, sum , de12, SUM等。
    • 变量必须使用前定义,以分配空间

    • 命名方式

一般变量都是用匈牙利命名法命名的:
** 匈牙利**命名法是种一编程时的命名规范
基本原则是:变量名=属性+类型+对象描述


3、整型数据

  • 整型常量
    • 整形量是没有小数点的整数。
    • 范围: -2的31次方 ~ 2的31次方 - 1
    • 三种形式: (1)十进制 (默认) 例: 43、 1345 、87654

(2)八进制 (以0开头) 例: 053、02501、0253146
(3)十六制 (以0x开头) 例: 0x2B、0x541、0x15666

  • 整形变量
    • 有符号型:short 在内存中占两字节 范围为 -2的15次方 ~ 2的15次方 - 1

int 在内存中占四字节 范围为 -2的-31次方 ~ 2的31次方 - 1
long 在内存中占四字节 范围为 -2的-31次方 ~ 2的31次方 - 1

  • 无符号型:最高位不表示符号位

unsigned short 在内存中占两字节 范围为 0 ~ 2的16次方 - 1
unsigned int 在内存中占四字节 范围为 0 ~ 2的32次方 - 1
unsigned long 在内存中占四字节 范围为 0 ~ 2的32次方 - 1

  • 说明

(1)整型常量也有长短之分,常量无unsigned型,但一个非负的整形常量可赋给 unsigned型的变量
(2)若一个常量定义为长整形数,则在其后家l或L进行区分。
如:32L 、 564 l

  • 整型数据在内存中的存储方式

一个数在内存中为:
批注 2020-08-06 170947.png
当这个数是有符号数时,为-1;为无符号数时,为2-1
内存中的数以补码的形式存放
例:

  1. #include<iostream.h>
  2. void main()
  3. {
  4. unsigned short a;
  5. short int b = -1;
  6. a=b;
  7. cout<<"a="<<a<<endl;
  8. }

运行结果: a=65535
解析: