C++中的数据类型、运算符和表达式

C语言中的数据类型能分为四种:基本数据类型、构造数据类型、指针数据类型和空类型。

1、基本数据类型

     基本数据类型可以分为三种:整型、字符型、浮点型

整形:短整型、基本整型、长整型、长长整型。

    一般情况下在不同的编译器中相同的数据类型占用的字节数也不同。一下介绍在CodeBlock编译器中的统计。

          类型名称    字节数

          short[int]    2

          int         4

          long[int]     4

          long long[int]       8

   在C++中提供了可以计算字节数的方法sizeof(),如下例子:

    

 //sizeof(i)求字节数运算符
    short sh = 2;
    printf("short的字节数为:%d\n",sizeof(sh));
    int i = 1;
    printf("int的字节数为:%d\n",sizeof(i));
    long l = 1;
    printf("long的字节数为:%d\n",sizeof(l));
    long long ll = 24;
    printf("long long的字节数为:%d\n",sizeof(ll));
    float fl = 2.1111;
    printf("float的字节数为:%d\n",sizeof(fl));
    double dou = 2.333;
    printf("double的字节数为:%d\n",sizeof(dou));
    long double ld = 2.333;
    printf("long double的字节数为:%d\n",sizeof(ld));
    char ch = "A";
    printf("char的字节数为:%d\n",sizeof(ch));

运算结果如下:

 此外整型数据在内存中存储的方式是以二进制的形式存储的。实际上数值是以补码的形式表示的。正数的补码和原码一致,如果该数是负数,它的补码计算方式为:该数的绝对值的二进制、各位取反再加一得到补码。

比如:

short s = 10;

变量s在内存中存放的方式:

0000 0000 0000 1010

short s = -10;

变量s在内存中存放的方式:

1111 1111 1111 0110

从上面可以看出第一个比特位为0表示正数,1表示负数。

字符型

字符型在C语言中只占用一个字节,而且在内存中是以对应的ASCII码形式存放的,因此和整型的存储形式是一样的。

在C语言中也有转义字符,这些转义字符的特性是当从键盘上输入这个字符时,显示器上就会显示这个字符,比如a、b、c、$、+和空格符都是可显示字符。

在C语言中也有‘\’的用法比如‘\n’是换行等等... ...

下面是C语言中转义字符的一个收集表:

 浮点型:单精度浮点型,双精度浮点型,和长双精度浮点型

浮点型的表示形式:十进制小数形式和指数形式。

十进制:123.123

指数形式:123e23

    注意:指数形式表示e(E)前后必须有数字,并且e(E)后面必须是整数。

浮点型各类型占用的字节数大小:

在上面也有用sizeof测试字节数大小的例子,这里就不再叙述了。

浮点型在内存中存放的形式

与整型数据的存放形式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分分别存储,即符号位+小数部分+指数部分。

例如:float f = 123.456的存储;

 

运算符

C语言中运算符有多种,算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符、强制类型转化运算符、分量运算符、下边运算符等。我们这里介绍下逗号指针求字节运算符。

逗号运算符

在C语言中提供一种特殊的运算符--逗号运算符,它能将两个表达式连接起来比如:

3+5,6+9

称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为

表达式1,表达式2

求解过程是先求解表达式1,再依次求解表达式2,3。整个逗号表达式的值是最后一个表达式的输出

比如:b=(a= 3*5,a*4);

最后的结果是60

main(){
    int a;
    int b = (a=3*5,a*4);
    printf("%d",b);
}

逗号不止是能作为运算符号也能作为分隔符号出现的,比如:

printf("%d %d",a,b)

 指针运算符

*符号跟&符号

求字节运算符

作用:用来计算变量或者常量或者是一种数据类型占用的内存字节数。

基本形式:sizeof(变量名|常数|数据类型),完成之后返回一个整数值

表达式的形式跟Java基本一致

 

posted @ 2019-07-18 22:50  Limor宸  阅读(2084)  评论(0编辑  收藏  举报