数据类型及其分类1——字符与整型

本文深入探讨了C语言中的基本数据类型,包括int、char、short、long和long long等,详细解释了每种类型的字节占用、表示范围及占位符使用,并通过实例演示了不同类型数据的表示和打印。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

int类型

int类型的数据是最常用的数据类型,属于整型数据,同时int也可以添加前缀修饰int,表示int是有符号的整型数据还是无符号的整型数据,一般有符号的整型数据表示为signed int,无符号的整型数据表示为unsigned int或者直接int省略前缀的修饰默认为无符号的整型数据。Int类型的数据不管有符号还是无符号字节数都是4,有符号的整数表示范围是-2147483648到2147483647,占位符是%d;无符号的整数表示范围是0~4294967295,占位符是%u。以下程序运行结果为9,-6,-8。

#include <stdio.h>

int main()
{
    unsigned int a=9;
    signed int b=-6;
    int c=-8;
    printf("%u,%d,%d",a,b,c);
}

char类型

char类型的数据只占1个字节,可以用来表示字符也可以用来表示数据。当它用来表示字符时,表示范围是-128127,占位符是%c,但在赋值时不同图形对应ASCll表上的值赋值。当用来表示数据时,当然它也可分为无符号和有符号两种,表示无符号数据时用unsigned修饰char,数据的表示范围是0255,占位符用%hhu;表示有符号数据时可用signed修饰char,表示范围时-128~127,占位符用%hhd。以下代码的执行结果为a=R,b=56,c=-6。

#include <stdio.h>

int main()
{
    char a = 82;
    unsigned char b = 56;
    signed char c = -6;
    printf ("a=%c,b=%hhu,c=%hhd",a,b,c);

}

short类型

short类型数据用来存储较小范围内的数,同样可分为有符号和无符号用signed和unsigned分别来修饰,都只占2个字节,无符号short类型数据的表示范围是0到65535,占位符用%hu;有符号short类型数据的表示范围是-32768~32767,占位符用%hd。以下程序的输出结果为a=65535,b=-32768。

#include <stdio.h>

int main()
{
    unsigned short a = 65535;
    signed short b = -32768;
    printf("a=%hu,b=%hd",a,b);
}

long类型

long类型数据用来存储较大范围内的数,同样可分为有符号和无符号用signed和unsigned分别来修饰,都占4或8个字节,无符号long类型数据的占位符用%lu;有符号long类型数据的占位符用%ld。以下程序的输出结果为a=65536,b=-32769。

#include <stdio.h>

int main()
{
    unsigned long a = 65536;
    signed long b = -32769;
    printf("a=%lu,b=%ld",a,b);
}

long long类型

long long类型数据用来存储大范围内的数,同样可分为有符号和无符号用signed和unsigned分别来修饰,都占8个字节,无符号long long类型数据的表示范围是0到18446744073709551615(以18开头的20位数),占位符用%llu;有符号long long类型数据的表示范围是-9223372036854775808~9223372036854775807(以9开头的19位数),占位符用%lld。以下程序的输出结果为a=18445,b=-9223372036854775808。

#include <stdio.h>

int main()
{
    unsigned long long a = 18445;
    signed long long b = -9223372036854775808;
    printf("a=%llu,b=%lld",a,b);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值