c语言数据类型

本文介绍了编程中数据的基本类别,包括常量和变量。常量分为整型、浮点型、字符型和字符串等,而变量则涉及整型、浮点型、字符型的定义、初始化、赋值和存储方式。此外,文章还讨论了数据类型的转换,包括隐式和强制类型转换。
摘要由CSDN通过智能技术生成

按照数据在程序运行过程中是否能够被修改,将数据分为两大类:

常量数据类型:

        在程序运行过程中,不能被修改的数据,称为常量数据,简称常量,常量可以直接在程序中使用的。

变量数据:

        在程序运行过程中,可以被修改的数据,成为变量数据,简称变量,变量必须先定义,然后才能使用。

常量数据类型还分为:

        1.整型常量

                1.1 整型常量在程序中表示方式

                        整型常量:指的是整数,平时生活中或数学所说的整数都是十进制的整数。

                        十进制:每一位数字只能取0~9中的某一个值,大于9就要进位。例:123 456

                        八进制:每一位数字只能取0~7中的某一个值,大于7就要进位。例:012  045

                        十六进制:每一位数字只能取0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F中的某一个值,大于F就要进位。 例:0x12   0x79  0x4E

                        二进制:逢二进一   

                1.2 不同进制之间的转化

                        十进制转二进制:除2取余

                        二进制转十进制:二进制转为十进制要从右到左用二进制的每个数去乘以2的相应次方

                        八进制转二进制:八进制的一位是二进制的三位

                        十六进制转二进制:十六进制的一位是二进制的四位

        2.浮点型常量

                2.1 浮点表示

                            例如:3.14    2.57

                2.2  e计数表示

                            例如:2.13e2    2.13E2     1.13e-3

        3.字符型常量

                在c语言中用'   '作为字符常量的标志

                        'A'        'F'        'O'        ----可见字符:当打印字符时,可以在屏幕上看到该字符

                        '\a'        '\b'        '\n'        ----不可见字符:当打印字符时,在屏幕上看不到字符本身,属于功能性字符        在表示不可见字符时,可以使用字符的编码表示。

        4.字符串型常量

                在c语言中字符串用"  "表示,例如:"abc"       "hello"

        5.符号常量

                用#define定义的符号,可以用来表示一些常量

                例如:#define PI 3.14         -----在程序中,可以使用PI表示3.14常量

变量数据分为:

        1.整型常量

                1.1 定义

                          int a;//定义一个变量a         int a,b,c;//定义三个变量a,b,c

                1.2 初始化        ---在定义的同时赋值

                          int a = 100;

                1.3 赋值

                        value = 200;
                        a = val;
                        b = a + val;
                        c = a+b;

                1.4 取值打印

                        printf("%d\n",value);
                        printf("%d\n",val);
                        printf("%d\n",a);

                1.5 存储

                        整型数据在计算机内存中以二进制补码存储的。

                        对于正数:二进制补码是:将他直接转化为二进制就是补码

                        例如:34        ------   00000000 00000000 00000000 00100010

                        对于负数:二进制补码是:负数对应的整数的二进制补码取反加1

                        例如:-17        ------    11111111 11111111 11111111 11101111

                                   先找到17的补码:00000000 00000000 00000000 00010001

        2.浮点型变量

                2.1 定义

                        float a;//定义一个变量a        float a,b,c;//定义三个变量a,b,c

                2.2 初始化        ---在定义的同时赋值

                        float a = 12.56;

                2.3 赋值

                         value = 34.21;
                         a = val;
                         b = a + val;
                         c = a+b;

                2.4 取值打印

                        printf("%f\n",value);
                        printf("%f\n",val);
                        printf("%f\n",a);

                2.5  存储

                        浮点数存储,按符号位+指数位+小数位

        3.字符型变量

                3.1  定义

                        char a;//定义一个字符变量a         char a,b,c;//定义三个字符变量a,b,c

                3.2  初始化         ---在定义的同时赋值

                        char val = 'J';

                3.3  赋值

                        value = 'K';
                        a = val;
                        b = a + val;
                        c = a+b;

                3.4 取值打印

                        printf("%c\n",value);
                        printf("%c\n",val);
                        printf("%c\n",a);

                3.5 存储

                        字符在计算机中以ASCII码的二进制形式存储

                  //注意:因为字符的编码范围是0~127,最大的字符编码在内存中只占7位,而char型一个字节8位,所以最高位会浪费

                    在c语言中为了不浪费空间,char通常可以当做一个字节长度的整型使用,当定义一个char的变量,里面既可以放字符,也可以放整数 比如:  char a;  a='Y';  a='123';

                4.布尔型变量

                        布尔型表示真假        用关键字_Bool表示,如果用bool表示,则需要加头文件:#include<stdbool.h>        在计算机中        真----1        假----0

数据类型转换

         在编程时,有时候不同类型的数据可能会在一起运算,这时,c语言需要把不同类型先转换为相同类型,然后再运算。
类型转换分为:隐式类型转换和强制类型转换

        1.隐式类型转换

                由系统自动转换:当两个不同类型数据运算时,系统会自动把小类型转换为大类型

                将所有类型按长度排列:

                                char  ----> short  -----> int  -----> long  ---> float ----> double 

                int a = 12;                 float b = 3.4;
                a + b   --- 系统会自动把a中的数据转换float,再和b相加,运算结果为:15.4

        2.强制类型转换

                在程序中显式的转换:如果不同类型数据在一起运算,希望将大类型转换为小类型运算,可以强制转换        例如:

                int a = 12; 
                float b = 3.4;
                a + (int)b   --- 先把b中的数据转换int,再和a相加,运算结果为:15

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值