[编程语言][C语言]C语言的基本数据类型

    IT,即为Information Technology,中文含义为信息技术。在当今这个信息时代,信息就是财富,信息就是社会发展的动力。信息离不开数据,银行往来的金额账目,娱乐时听到的好听的音乐,甚至是远程医疗时病人的血压,这些都是数据。程序离不开数据,如果没有了数据,程序设计无从谈起。

    这里,我们用一个实际的程序来开始对C语言中基本数据类型的了解。

====================================================================================================

/* savemoney.c -- 银行存钱 */

#include <stdio.h>

int main(void)

{

    float amount;// 存入的金额

    int years;// 保存时间


    printf("你要存入多少钱?\n");

    scanf("%f", &amount);

    printf("你要保存多少年?\n");

    scanf("%d", &years);

    printf("您好,这笔钱总共%f元,您要存%d年。\n", amount, years);


    return 0;

}

====================================================================================================

    在这个程序中,我们主要用到了两种基本数据类型:float和int。前者是单精度浮点类型,后者是整型。


    在程序设计中经常会提到属于常量变量和变量。常量,顾名思义就是值为恒定的量,比如圆周率π,还有一年中月份的数量;变量,就是说这个值是发生变化的,比如每年的降水量,北京市空气质量优秀的天数。


    要想告诉程序我们想用哪种数据类型,这个时候我们就需要用到数据类型关键字了。下面是C语言中的数据类型关键字

C语言中的数据类型关键字
K&R关键字C90关键字C99关键字
intsigned_Bool
longvoid_Complex
short
_Imaginary
unsigned

char

float

double
 

    K&R C中提到的数据类型有int、long、short、char、float、double。这些类型可以分为两类,一类是整数类型,另一类时浮点类型。CPU对这两大类型的处理方式是不同的,数据在内存中的表示方式也是不同的。

    

    整数类型包括int、long、short、char,他们之前的区别在于表示数据的范围是不同的。

    char类型一般表示由1个字节表示的数据,范围是-128到127,共256个数。另外,char类型还表示字符类型。

    short类型一般表示由2个字节表示的数据,范围-32768到32767,共65536个数。

    int类型一般表示由4个字节表示的数据,范围是-2147483648到2147483647,共4294967296个数。

    long类型一般表示为由8个字节表示的数据,范围是-9223372036854775808到9223372036854775807,共18446744073709551616个数。

    需要注意的是,C语言是个可移植的程序设计语言。其可移植性表现的一个方面是,其基本数据类型表示的数的范围是随着环境的变化而变化的。比如说,在现在的机器上int类型表示由4个字节表示的数据,但在以前的机器上int类型可能是表示由2个字节表示的数据。虽然C语言标准并没有明确定义类型范围,但它却规定short类型的范围大于等于char类型,小于等于int类型;long类型大于等于int类型。而int类型的字节数一般为计算机的字长的字节数。在某个具体实现上,整数数据类型的范围是确定的,它定义在头文件<limits.h>中。

    关键字unsigned说明所表示的数是个无符号整数类型。比如,如果int类型表示从-21474836482147483647的数,那么unsignedint表示从0到4294967295的数。


    浮点类型包括float类型和double类型,他们之间的区别主要是表示数据的精度不同。

    float类型必须至少能表示6位有效数字,取值范围至少10的-37次方到10的+37次方。

    double类型表示的数的范围大于或等于float类型,但它必须至少表示10位有效数字。


    在C90中又定义了signed和void类型。signed表示整数是个有符号整数类型。其实在默认情况下,整数类型都指的是有符号整数类型。也就是说,在编写程序的时候,signed是可以省略的。void表示数据是个空类型,void类型一般用在函数的无返回值的情况下。


    在C99中又定义了_Bool类型、_Complex类型和_Imaginary类型。

    _Bool类型是一种无符号类型,它只包含两个值0和1,对应于false(假)和true(真)。

    _Complex类型和_Imaginary类型分别提供了对复数和虚数的支持。


    总结一下,我们现在可以用C提供的数据类型表示一般情况下使用到的数据。

    整数类型范围从小到大,依次为char、short、int、long。(最新的C标准支持的整数类型不仅仅为这4个,其他的为多个long与int之间的组合,比较复杂不在此说明。)

    浮点类型范围从笑道大,依次为float、double。(最新的C标准支持的整数类型不仅仅为这2个,比较复杂不在此说明。)

    布尔类型为_Bool。

    复数类型为_Complex。

    虚数类型为_Imaginary。

    需要注意的是,各个编译器对C标准的支持情况有所不同,后三者某些编译器可能仍然不支持。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值