C语言数据类型和操作符

目录

1.常见数据类型

2.singned和unsinged

3.各类数据类型的取值范围

4.各数据类型在内存中所占据的空间

5.操作符

6.强制类型转换


1.常见数据类型

字符型:1.char      2.signed char  //有符号字符型       3.unsigned char //无符号字符型 

整形:1.short int //短整型    2. signed short int//有符号短整型        3.unsigned short int  //无符号短整型        4.int  //整型     5.signed int //有符号整型    6.unsighed int //无符号整型           7.long int   //长整型        8.signed long int //有符号长整型      9. unsigned long int//无符号长整形   10.long long int//长长整型      11.signed long long int  //有符号长长整型      12.unsigned long long int//无符号长长整形

浮点型:1.float//单精度浮点型       2.double//双精度浮点型         3.long double//长精度浮点类型

布尔类型:_Bool  

2.singned和unsinged

可以看到对于同一个大的类型char,int也有的分成unsigned和signed,那么singned和unsigned代表什么意思呢?又有什么作用呢?

        signed 关键字,表⽰⼀个类型带有正负号,包含负值; unsigned 关键字,表⽰该类型不带有正负号,只能表⽰零和正整数。

3.各类数据类型的取值范围

signed char c; // 范围为 -128 到 127

unsigned char c; // 范围为 0 到 255 

        注意,C 语⾔规定 char 类型默认是否带有正负号,由当前系统决定。 这就是说, char 不等同于 signed char ,它有可能是 signed char ,也有可能是unsigned char

unsigned int // 范围为-32768到 32767

int  // 范围为0 到0xffff(65535)

signed int  // 范围为0 到0xffff(65535)

_Bool类型只有ture和flase两种

这是使用中常需要考虑的几种数据类型的取值范围

其他数据类型的取值范围可参考limits.h ⽂件(说明了整型类型的取值范围)float.h ⽂件(说明浮点型类型的取值范围)

可在文件资源管理器中查询打开参考

4.各数据类型在内存中所占据的空间

  1. 基本数据类型

    • char:通常占 1 个字节(8 位)。
    • int:通常占 4 个字节(32 位),不过在不同系统上可能会有所不同。
    • float:通常占 4 个字节,用于存储单精度浮点数。
    • double:通常占 8 个字节,用于存储双精度浮点数。
  2. 衍生数据类型

    • short 或者 short int:通常占 2 个字节。
    • long 或者 long int:通常占 4 个字节,但在一些系统上可能是 8 个字节。
    • long long 或者 long long int:通常占 8 个字节,用于存储长长整数。
  3. 指针类型

    • 所有指针类型(如 char*、int*)在不同系统上通常占据 4 或 8 个字节,取决于系统的位数和内存寻址能力。

5.操作符

算术操作符(双目操作符):+、-、*、/、%

       对应数学中的加,减,乘,除,取余

       特别说明:

        / 在两个整型运算时只会返回商

        eg:int a=5,b=2;

        a/b结果返回为2,而不是2.5;

        要想得到2.5,需其中一个为浮点型

        (float)a/b结果为2.5;

 赋值操作符:=

         给变量赋值

单⽬操作符:++、--、+、-

        1.前置++

                int a = 10;

                int b = ++a;//++的操作数是a,是放在a的前⾯的,就是前置++

                计算⼝诀:先+1,后使⽤;

a原来是10,先+1,后a变成了11,再使⽤就是赋值给b,b得到的也是11,所以计算技术后,a和b都 是11,相当于这样的代码:

                int a = 10;

                a = a+1;

                b = a;

        2.后置++

                int a = 10;

                int b = a++;//++的操作数是a,是放在a的后⾯的,就是后置++

        计算⼝诀:先使⽤,后+1

a原来是10,先使⽤,就是先赋值给b,b得到了10,然后再+1,然后a变成了11,所以直接结束后a是 11,b是10,相当于这样的代码:

                int a = 10;

                int b = a;

                a = a+1;

--于上同理只不过加变成减

6.强制类型转换

        我们在使用各中数据类型时,有时可能进行类型之间的转换

        像我们创建了一个float类型:float a = 3.14 ;int b;当我们想把a的值赋予b就需要强制类型转换,转换格式:(想要转换的数据类型)即 b=(int)a;

        注意:强制类型转换可能会损失数据,像float转换为int会损失小数部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值